Ravindra BagaleCourses & study guides

Chapter 7: Static Website Hosting (3 OSes × 2 Web Servers)

7.9 Combination 4 — Ubuntu + Apache

sudo service nginx stop 2>/dev/null
sudo systemctl disable nginx 2>/dev/null
sudo apt update && sudo apt install -y apache2

sudo tee /etc/apache2/sites-available/mysite.conf > /dev/null <<'EOF'
<VirtualHost *:80>
    ServerName mysite.local
    DocumentRoot /var/www/mysite
    <Directory /var/www/mysite>
        Options -Indexes +FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
    ErrorDocument 404 /404.html
    ErrorLog  ${APACHE_LOG_DIR}/mysite_error.log
    CustomLog ${APACHE_LOG_DIR}/mysite_access.log combined
</VirtualHost>
EOF

sudo a2ensite mysite.conf
sudo a2dissite 000-default.conf
sudo a2enmod rewrite                 # useful for .htaccess rules later
sudo apache2ctl configtest && sudo service apache2 reload
curl -s http://localhost | head -5