Project Description

26 Flares 26 Flares ×

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.

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
    Apache is our web-server, the actual software which handles incoming connections and serves requested web pages.
    To install it: 

    To make sure the access rights are correct type:
  • PHP5
    PHP5 is the php interpreter, this serves up php code to the Apache server
    To install it: 
  • MySql-Server
    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: 
  • 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: 

    After the installation has completed, add phpmyadmin to the apache configuration. So, edit Apache configuration with:

    And paste the phpmyadmin apache configuration string to the bottom of the file

    Then restart apache, to allow our modifications to take place:
  • Done!

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:

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!