8. Hosting a Static Website and Changing the Configuration
8.5 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
Ravindra Bagale's Tip
If you ran a2ensite but didn't disable 000-default.conf, Ubuntu's default page keeps showing. Run sudo a2dissite 000-default.conf, then configtest + reload. Check which sites are enabled with ls /etc/apache2/sites-enabled.
Ravindra Bagale's Tip – मराठी
a2ensite केलं पण 000-default.conf disable केलं नाही, तर Ubuntu चं default page दिसत राहतं. sudo a2dissite 000-default.conf आणि मग configtest + reload. कोणत्या sites enabled आहेत ते ls /etc/apache2/sites-enabled ने बघा.
Ravindra Bagale's Tip – हिंदी
a2ensite किया पर 000-default.conf disable नहीं किया, तो Ubuntu का default page दिखता रहता है. sudo a2dissite 000-default.conf और फिर configtest + reload. कौन सी sites enabled हैं यह ls /etc/apache2/sites-enabled से देखो.
Lab
Host mysite with Apache on Ubuntu and list enabled sites and modules (apache2ctl -M | grep rewrite).