Cyber Security · मराठी आवृत्ती
Ubuntu वर Nginx मधून site host करा
Ubuntu मध्ये config sites-available मध्ये ठेवून sites-enabled मध्ये symlink करतो. खालील block lab चा default site बदलतो.
Permissions ची नोंद: Source मधली chown -R www-data:www-data line optional आहे. Public static files 644/755 आणि योग्य parent permissions असतील तर read साठी ती गरजेची नाही. Web-server user ला owner करून अनावश्यक write access देण्याऐवजी deploy user/root ownership ठेवणं योग्य ठरू शकतं.
sudo service apache2 stop 2>/dev/null
sudo systemctl disable apache2 2>/dev/null
sudo apt update && sudo apt install -y nginx
sudo tee /etc/nginx/sites-available/mysite > /dev/null <<'EOF'
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
root /var/www/mysite;
index index.html;
location / {
try_files $uri $uri/ =404;
}
error_page 404 /404.html;
access_log /var/log/nginx/mysite_access.log;
error_log /var/log/nginx/mysite_error.log;
}
EOF
sudo ln -s /etc/nginx/sites-available/mysite /etc/nginx/sites-enabled/mysite
sudo rm -f /etc/nginx/sites-enabled/default # disable the Ubuntu welcome site
sudo chown -R www-data:www-data /var/www/mysite # optional; 644/755 is enough to read
sudo nginx -t && sudo service nginx reload
curl -s http://localhost | head -5
Config मध्ये IPv4/IPv6 साठी default_server आहे. जुना default symlink काढल्याने एका endpoint वर duplicate default error टाळतो. rm -f /etc/nginx/sites-enabled/default हा enable link काढतो; sites-available मधली source file ठेवली जाते. Symlink आधीच असेल तर ln -s “File exists” सांगेल; existing target तपासा.
Nginx running नसेल तर config test करून service start करा; reload फक्त running service वर काम करतो. Browser आणि local curl दोन्ही तपासा.
Lab
Ubuntu Nginx वर mysite enable करा, जुना default disable करा आणि curl -s http://localhost | head -5 मध्ये तुमचा content येतो का पाहा.