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.