Setting up a VPS for website hosting - Part 3
Apache2 Configuration
Apache2 is one open source type of HTTP server. It's essentially a software that will feed
specific files that you want to send to your users on your website. It typically does this
by designating a document root, or a folder on your server that is accessible to the outside world.
I have my folder with apache2 pointing to ~/www/html/cindybui.me
, so someone in a web browser would be
unable to access anything else in my home directory.
The default folder location for Apache2 is /var/www/html
. Personally, I've run into permission
issues with this folder directory where the website is inaccessible. So I changed mine to ~/www/html
To change this, there are a few files you need to edit.
The three files are:
/etc/apache2/apache2.conf
/etc/apache2/sites-available/000-default.conf
/etc/apache2/sites-enabled/000-default.conf
Look for DocumentRoot
and references to /var/www
or /var/www/html
.
In all cases, replace /var/www
to /home/cindy/www
and all references to /var/www/html
to /home/cindy/www/html
An easier way to do this is to run these lines of code, where $USER
is your username. Optionally, run
USER=cindy
before running these lines of code:
sudo sed -i "s|/var/www/|/home/$USER/www|g" /etc/apache2/apache2.conf
sudo sed -i "s|/var/www/html|/home/$USER/www/html|g" /etc/apache2/sites-available/000-default.conf
sudo sed -i "s|/var/www/html|/home/$USER/www/html|g" /etc/apache2/sites-enabled/000-default.conf
Next you have to create a configuration file for your website. You can do this with:
cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/$WEBSITE.conf
Where $WEBSITE
is your website name. Mine is obviously cindybui.me