NovaCloud-Hosting Docs

Apache2 Installation

Step 1: Update the system

Before installing new software, it's a good idea to update your system.

sudo apt update
sudo apt upgrade -y

Step 2: Install Apache2

Install the Apache2 package with the following command:

sudo apt install apache2 -y

Step 3: Manage the Apache2 service

Start the Apache2 service and make sure it starts automatically on boot:

sudo systemctl start apache2
sudo systemctl enable apache2

To check the status of the Apache2 service, use:

sudo systemctl status apache2

Step 4: Configure the firewall (optional)

If a firewall is enabled, you have to allow HTTP and HTTPS traffic:

sudo ufw allow 'Apache'

To check the firewall status, use:

sudo ufw status

Step 5: Verify the installation

Open a web browser and enter your server's IP address. You should see the default Apache2 start page, which says: "It works!"

Alternatively, you can use the local address if you installed Apache on your local machine:

http://<your ip or domain>

Step 6: Configure Apache2

Apache's main configuration file is located at:

/etc/apache2/apache2.conf

Other important configuration directories and files are:

  • /etc/apache2/sites-available/: the configuration files for individual websites.
  • /etc/apache2/sites-enabled/: symlinks to the enabled website configuration files.
  • /etc/apache2/mods-available/: the configuration files for available modules.
  • /etc/apache2/mods-enabled/: symlinks to the enabled module configuration files.

Step 7: Set up virtual hosts (optional)

To host multiple websites on the same server, you can set up virtual hosts. Create a new configuration file in /etc/apache2/sites-available/:

sudo nano /etc/apache2/sites-available/mysite.conf

Add the following example configuration:

<VirtualHost *:80>
    ServerAdmin webmaster@mysite.com
    ServerName mysite.com
    ServerAlias www.mysite.com
    DocumentRoot /var/www/mysite
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Create the document root directory and give it the correct permissions:

sudo mkdir -p /var/www/mysite
sudo chown -R $USER:$USER /var/www/mysite
sudo chmod -R 755 /var/www/mysite

Enable the new virtual host and restart Apache:

sudo a2ensite mysite.conf
sudo systemctl reload apache2

Step 8: Set up SSL/TLS (optional)

To enable HTTPS, you need an SSL certificate. For a free SSL certificate you can use Let's Encrypt. Install the Certbot tool:

sudo apt install certbot python3-certbot-apache -y

Request a certificate and configure Apache automatically:

sudo certbot --apache

Follow the instructions to obtain and install the certificate.

This is a basic tutorial for installing and configuring Apache2. There are many more options and modules you can explore to tailor Apache2 to your specific needs.

On this page