# example of configuration for Apache
# exemple de configuration pour Apache

## http port 80 (/etc/apache2/sites-available/online-dating.local.conf)
<VirtualHost *:80>
        ServerName online-dating.local
        ServerAlias www.online-dating.local

        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/online-dating

        ErrorLog ${APACHE_LOG_DIR}/online-dating.local.error.log
        CustomLog ${APACHE_LOG_DIR}/online-dating.local.access.log combined

	<Directory "/var/www/online-dating">
		AllowOverride All
	</Directory>
</VirtualHost>

## https port 443 (/etc/apache2/sites-available/online-dating.local-ssl.conf)
<IfModule mod_ssl.c>
        <VirtualHost _default_:443>
                ServerName online-dating.local
                ServerAlias www.online-dating.local

                ServerAdmin webmaster@localhost
                DocumentRoot /var/www/online-dating

                ErrorLog ${APACHE_LOG_DIR}/online-dating.local-ssl.error.log
                CustomLog ${APACHE_LOG_DIR}/online-dating.local-ssl.access.log combined

                SSLEngine on

                SSLCertificateFile      /etc/letsencrypt/live/online-dating.local/cert.pem
                SSLCertificateKeyFile   /etc/letsencrypt/live/online-dating.local/privkey.pem

                SSLCertificateChainFile /etc/letsencrypt/live/online-dating.local/chain.pem

                <FilesMatch "\.(cgi|shtml|phtml|php)$">
                                SSLOptions +StdEnvVars
                </FilesMatch>
                <Directory /usr/lib/cgi-bin>
                                SSLOptions +StdEnvVars
                </Directory>
		<Directory "/var/www/online-dating">
			AllowOverride All
		</Directory>
        </VirtualHost>
</IfModule>

a2ensite online-dating.local.conf online-dating.local-ssl.conf

a2enmod rewrite ssl

apache2ctl graceful



# example of configuration for Nginx
# exemple de configuration pour Nginx

## http port 80 (/etc/nginx/sites-available/online-dating.local.conf)
server {
	listen 80;
	listen [::]:80;

	server_name www.online-dating.local;

	location /sitemap.xml {
		root /var/www/online-dating;
        }

	location / {
		return https://online-dating.local$request_uri;
	}
}

server {
        listen 80;
        listen [::]:80;

        server_name online-dating.local;

	location /sitemap.xml {
		root /var/www/online-dating;
        }

	location / {
		return https://online-dating.local$request_uri;
	}
}

## https port 443 (/etc/nginx/sites-available/online-dating.local-ssl.conf)
server {
	listen 443 ssl;
	listen [::]:443 ssl;

	ssl_certificate /etc/letsencrypt/live/online-dating.local/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/online-dating.local/privkey.pem;

	server_name www.online-dating.local;

	return https://online-dating.local$request_uri;
}

server {
	listen 443 ssl;
	listen [::]:443 ssl;

	ssl_certificate /etc/letsencrypt/live/online-dating.local/fullchain.pem;
	ssl_certificate_key /etc/letsencrypt/live/online-dating.local/privkey.pem;

	server_name online-dating.local;

	root /var/www/online-dating;

	index index.php;

	location / {
		try_files $uri $uri/ /index.php;

		location = /index.php {
			include snippets/fastcgi-php.conf;
			fastcgi_param SCRIPT_FILENAME /var/www/online-dating$fastcgi_script_name;
			include fastcgi_params;
			fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
		}
	}

	location ~ \.php$ {
		return 444;
        }

	location ~ /\.ht {
		deny all;
	}
}

cd /etc/nginx/sites-enabled
ln -s ../sites-available/online-dating.local.conf online-dating.local.conf
ln -s ../sites-available/online-dating.local-ssl.conf online-dating.local-ssl.conf

apt install php-fpm
mkdir /run/php
/etc/init.d/php7.0-fpm restart

nginx -s quit
nginx



Copyright (C) 2015, 2017 David MAURER david-maurer@netdefi.com

This file is part of "Online dating web site" documentation.

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3
or any later version published by the Free Software Foundation;
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
A copy of the license is included in the file COPYING.GFDL.
