Configure Apache and public_html on Ubuntu

I was trying to do this Today at work for my local webserver. but i couldnt find a definite guide on how this could be achieved on Ubuntu. After some trial and errors i was able to figure it out, and thought to share in case anybody out there is trying to implement this

First we installed apache with LAMP ( The linux webserver stack stands for Linux Apache MySQL PHP)

sudo tasksel

choose LAMP and press enter (remember to use the spacebar to select)

during the installation you would be asked for password for mysql root user

once installed

you then need to enable the mod_userdir, so your server’s Apache httpd server will respond to requests like http://yourserver.com/~public_html

hence Apache will handle the contents of /home/[User Name]/public_html/

to enable the mod_userdir we run this command

sudo a2enmod userdir

next we run this

/etc/init.d/apache2 force-reload

once this is done we now edit apache.conf pointing to your public_html

gksudo gedit /etc/apache2/apache2.conf

and we add this at the end of the file

UserDir /home/*/public_html

save and close

don’t forget to create a public_html directory in your home directory

mkdir $HOME/public_html

now we restart Apache

sudo /etc/init.d/apache restart

Now any content you place inside the public_html directory can be view from a browser

Browse to http://localhost/~yourname/ and you will see your stuff.

hope this helps someone.

Published by

Bobby

Name is Adesuyan Bobby and i work as a Linux system admin. A Lawyer by training, Geek at heart with passion for music, Hiking, Podcasts, Photography, books and most especially Free and Open Source Software.