Create new virtual host site, nginx

This is sample how I create mp4.catonrug.net which hosts over HTTP only (port 80).
All comments are in the code:
#list existing sites
ls -l /etc/nginx/sites-available

#set configuration file
cat > /etc/nginx/sites-available/mp4.catonrug.net << EOF
server {
server_name mp4.catonrug.net;
listen 80;
root /var/www/mp4.catonrug.net/;
access_log /var/log/nginx/mp4.catonrug.net-access.log;
error_log /var/log/nginx/mp4.catonrug.net-error.log;
index index.php index.html index.htm;
location ~ \.php {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi.conf;
}
}
EOF

#create symbolic link
ln -s /etc/nginx/sites-available/mp4.catonrug.net /etc/nginx/sites-enabled/mp4.catonrug.net

#make directory for hosting
mkdir -p /var/www/mp4.catonrug.net

#let nginx operate with this content
chown -R www-data:www-data /var/www

#https://www.cyberciti.biz/faq/howto-linux-add-user-to-group/
#add user pi to group www-data. This will allow copy files via WinSCP
#usermod -a -G www-data pi

#add user pi to primary group www-data
usermod -g www-data pi

#inherit owner permissions from parent linux shell
chmod g+s -R /var/www


#let www-data group members write to /var/www
chmod g+w -R /var/www

#restart service
/etc/init.d/php5-fpm reload && /etc/init.d/nginx reload

No comments: