UDOO web server
Everyone has heard the word “Server” almost once in his life. A server basically is a machine which hosts something, could be a service, a web page, a database and so on. Servers are so ubiquitous because they allow lot of other devices, clients, to connect to them and rely on their serving capabilities to perform an endless range of operations.
UDOO can be both a Server and a client, thanks to its linux-based operating system. Today we are going to learn how to use UDOO as a Web Server. But why would we need to turn UDOO into such thing?
For many reasons, such as:
- We can use UDOO as a local web server, using it to host custom built web pages
- We can access UDOO from everywhere, all over the world
- We can control UDOO operations from a wide range of devices (both through internet or local network)
This will allow our projects to be as connected as we want them to be, for example remote controlling them via a web user interface. Or to check our project status thousands of kilometers away. We can also develop complex interactive systems, that will be connected to every device we want, through internet or local network. Ever heard about internet of things?
Sounds amazing, isn’t it?
So, lets start!
What we are going to need is a particular software environment, called LAMP. Lamp is the acronym of Linux, Apache, MySQL and PHP. Distinct utilities that combined constitute the basis of every Web Server (there are however some variants, but this is generally accepted to be the standard).
We basically have two pathways to get thigs done:
First, the pre-cooked way
We can use tasksel, an utility which can download and install groups of softwares for a particular use.
sudo apt-get install tasksel
Once launched we can use it to install the LAMP Server metapackage (aka group of softwares)
just select LAMP Server with spacebar and hit enter
Take a coffe while tasksel does the dirty work for you
Second, how real man do it
Cool people know what they are about to do. So we’ll take an in depth view of every software in the LAMP package, and their specific purpose. So you’ll have an idea of what does what, and why we need all of them:
Apache is our web-server, the actual software which handles incoming connections and serves requested web pages.
To install it:
sudo apt-get install apache2
To make sure the access rights are correct type:
sudo groupadd www-data sudo usermod -g www-data www-data sudo chown -R www-data:www-data /var/www
PHP5 is the php interpreter, this serves up php code to the Apache server
To install it:
sudo apt-get install php5 php5-cli
Mysql server is the database holder. We’ll use it to insert the data we need in a database, useful for creating web pages with the data we need.
They should have been installed along with Apache, in the previous steps. However, to be sure you can install them with:
sudo apt-get install mysql-server mysql-client
- PHP5-mysql and phpmyadmin
These are needed to integrate sql database with php interpreter. This will allow web pages to handle and interact our databases. Phpmyadmin is a handy tool to create and manage databases. You’ll be asked to set a root password, just to be sure, create a strong password (you should always take extra caution when root access is involved). Then, when you’ll be asked to choose from Apache or Httpd, choose Apache, since this is the web server we are using.
We are going to install them along with Nano, a useful text editor, with:
sudo apt-get install php5-mysql phpmyadmin php5-curl nano
After the installation has completed, add phpmyadmin to the apache configuration. So, edit Apache configuration with:
sudo nano /etc/apache2/apache2.conf
And paste the phpmyadmin apache configuration string to the bottom of the file
Then restart apache, to allow our modifications to take place:
sudo service apache2 restart
Time to see if everything is set up properly. To do so, open a web browser on Udoo and type
you should see the following:
That means that Apache is running correctly.
Now, let’s see if also phpmyadmin is properly set:
If all above works, that means that we can access locally our brand new LAMP server.
The root of your webserver, the path where your webpages are located, is
You can replace the default index.html page with your custom ones. If you wish you can also install WordPress, Joomla or the CMS you prefer here. Just copy the needed files into that folder.
After copying your custom pages on /var/www, remember to restart the apache service with:
sudo service apache2 restart
But, we’re only half way through it. Of course, what we need is to access it from our network, or from internet.
To check if our Udoo is visible from our network, just use the same commands as above, but typing UDOO’s IP instead of localhost. So:
If everything is all right, you did it!