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