Install Apache Web Server on Ubuntu
This step-by-step howto shows a basic setup for Apache 2 web server. Apache is installed on Ubuntu 6.06 LTS Dapper, but instructions will probably work on any Ubuntu. This document is a work in progress, initially only required commands are listed without troughout explanations.
© 2006 Tero Karvinen. GNU General Public License, version 2.
Install Apache
$ sudo apt-get install apache2
Test it
Surf to your own server on your own local computer:
$ firefox "http://localhost"
Find out how your server is found on the net. Anyone can use your IP address or DNS name to connect to your server:
$ ip addr
Use your own IP address (eth0, first IP number, does not end .255)
$ firefox "http://1.2.3.4"
If DNS is working on your network, you can see your fully qualified domain name with:
$ host 1.2.3.4
User homepages
With user homepages, anything you put in public_html in your home directory is published on the web.
Enabling Userdir on Server
For newer Ubuntu such as 8.04 Hardy, you have to explicitly enable userdir module. On older ones such as 6.06 LTS Dapper, userdir is enabled by default.
$ sudo a2enmod userdir $ sudo /etc/init.d/apache2 restart
UPDATE 2016: On modern Linuxes such as Ubuntu 16.04, you can restart the server with:
$ sudo service apache2 restart
Test homepages
Go to your home directory
$ cd
Create a folder for public html files, note the underscore ‘_’
$ mkdir public_html
Check your name
$ whoami
Surf to ~yourname:
$ firefox "http://localhost/~tkarvine/"
You should see a directory listing of an empty directory. You can also try it using your IP address and a different machine.
If you see your homepage, well done. You have successfully installed a server with user homepages. You can create some web pages with OpenOffice and save them to your public_html directory.
the “$ mkdir public_html” command does not mention that it should be created under root… it took some time for me as a beginner to figure it out.
‘mkdir public_html’ should be run in user’s home directory. The previous command in the article is ‘cd’, which takes you to your home dir.
For example, your home page could be under /home/irina/public_html/.
You should never create public_html directly under root directory ‘/’.
In most modern distros, daemons are restarted with
$ sudo systemctl restart apache2.service