# Amazon Linux 2023 वर Apache मधून site host करा

Source: https://ravindrabagale.com/mr/cyber/part-03/ch08-hosting-a-static-website-and-changing-the/8-3-amazon-linux-2023-apache.html
Language: mr (Marathi with English technical terms)

याच lab server वर Nginx असेल तर त्याला stop/disable करून port 80 मोकळा करतो. Production मधली दुसरी site थांबवण्यासाठी हा block आंधळेपणाने वापरू नका.

sudo service nginx stop 2>/dev/null     # free port 80 if Nginx was installed
sudo systemctl disable nginx 2>/dev/null
sudo yum install -y httpd
sudo service httpd start
sudo systemctl enable httpd

sudo tee /etc/httpd/conf.d/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  /var/log/httpd/mysite_error.log
    CustomLog /var/log/httpd/mysite_access.log combined
</VirtualHost>
EOF

sudo apachectl configtest && sudo service httpd reload
curl -s http://localhost | head -5

VirtualHost /var/www/mysite serve करतो. Directory listing बंद, custom 404 आणि site-specific logs दिल्या आहेत. Source example मध्ये AllowOverride All आहे; या static site ला .htaccess नको असल्यास पुढच्या hardening वेळी AllowOverride None निवडता येतो.

Public IP request आपल्या site ला का येते?

या lab मध्ये हा एकच/पहिला VirtualHost असेल तर unmatched Host साठी तो fallback असतो. म्हणून ServerName mysite.local असूनही public IP ने request केल्यावर site येऊ शकते. इतर vhosts असतील तर apachectl -S ने actual order पहा. Domain जोडल्यावर योग्य ServerName/ServerAlias द्या; उदा. www.example.com.

Lab

Instance Apache वर switch करून mysite पाहा. /var/www/mysite/test नावाचा रिकामा lab folder तयार करा. /test/ मागवल्यावर directory listing दिसू नये; या setup मध्ये 403 अपेक्षित आहे. Custom rules असल्यास status/context तपासा.

रवींद्र बागले यांची tip

Apache start होत नसेल तर sudo ss -tlnp | grep :80 पाहा. त्याच address:port वर दुसरा process असू शकतो. कोणती service बंद करायची ते आधी ओळखा.
