diff --git a/pillar/webserver/wwwroot51.sls b/pillar/webserver/wwwroot51.sls --- a/pillar/webserver/wwwroot51.sls +++ b/pillar/webserver/wwwroot51.sls @@ -13,6 +13,11 @@ group: dereckson repository: ssh://vcs@devcentral.nasqueron.org:5022/source/api.git + dereckson-www: + user: dereckson + group: dereckson + repository: git@bitbucket.org:dereckson/www.dereckson.be.git + mediawiki-dereckson: user: dereckson group: dereckson diff --git a/roles/webserver-legacy/nginx/files/vhosts/dereckson.be/www.conf b/roles/webserver-legacy/nginx/files/vhosts/dereckson.be/www.conf new file mode 100644 --- /dev/null +++ b/roles/webserver-legacy/nginx/files/vhosts/dereckson.be/www.conf @@ -0,0 +1,154 @@ +# ------------------------------------------------------------- +# Webserver +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +# Project: Nasqueron +# Site: www.dereckson.be +# License: Trivial work, not eligible to copyright +# Source file: roles/webserver-legacy/nginx/files/vhosts/dereckson.be/www.conf +# ------------------------------------------------------------- +# +# +# This file is managed by our rOPS SaltStack repository. +# +# Changes to this file may cause incorrect behavior +# and will be lost if the state is redeployed. +# + +server { + listen 80; + listen [::]:80; + server_name www.dereckson.be; + + include includes/tls; + ssl_certificate /usr/local/etc/letsencrypt/live/dereckson.be/fullchain.pem; + ssl_certificate_key /usr/local/etc/letsencrypt/live/dereckson.be/privkey.pem; + + error_log /var/log/www/dereckson.be/www-error.log; + access_log /var/log/www/dereckson.be/www-access.log; + + root /var/wwwroot/dereckson.be/www; + + include includes/letsencrypt; + + location = /maintenance.html { } + error_page 503 /maintenance.html; + + location ~ ^/photos/(?([0-9]*)).html$ { + # If there is no gallery file prepared + # the main photo handler is happy to + # include the JPEG with metadata from db + try_files @app /photos/?date=$date; + } + + # Legacy tool URL + location /tools/SourceTemplatesGenerator { + return 301 https://tools.nasqueron.org/wikimedia/write/sourcetemplatesgenerator/; + } + + # Wordpress + location /blog { + alias /srv/wordpress; + try_files $uri $uri/ @blog; + } + + location @blog { + fastcgi_pass unix:/var/run/web/www.dereckson.be/php-fpm.sock; + include fastcgi_params; + fastcgi_index index.php; + fastcgi_param SCRIPT_FILENAME /srv/wordpress/index.php; + } + + location ~ /blog/(.*)\.php { + root /srv/wordpress; + fastcgi_split_path_info ^(.+\.php)(/.+)$; + fastcgi_pass unix:/var/run/web/www.dereckson.be/php-fpm.sock; + include fastcgi_params; + fastcgi_index index.php; + fastcgi_param SCRIPT_FILENAME /srv/wordpress/$1.php; + } + + location /Blog { return 503; } + + include includes/pluton; +} + +# ------------------------------------------------------------- +# Domain and protocol redirections +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +server { + listen 80; + listen [::]:80; + server_name dereckson.be; + + include includes/tls; + ssl_certificate /usr/local/etc/letsencrypt/live/dereckson.be/fullchain.pem; + ssl_certificate_key /usr/local/etc/letsencrypt/live/dereckson.be/privkey.pem; + + include includes/letsencrypt; + + location / { + return 301 https://www.dereckson.be$request_uri; + } +} + +server { + listen 80; + listen [::]:80; + server_name blog.dereckson.be; + + include includes/tls; + ssl_certificate /usr/local/etc/letsencrypt/live/blog.dereckson.be/fullchain.pem; + ssl_certificate_key /usr/local/etc/letsencrypt/live/blog.dereckson.be/privkey.pem; + + include includes/letsencrypt; + + location / { + return 301 https://www.dereckson.be/blog/$request_uri; + } +} + +# ------------------------------------------------------------- +# Staging area +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +server { + listen 80; + listen [::]:80; + server_name www51.dereckson.be; + + #include includes/tls; + #ssl_certificate /usr/local/etc/letsencrypt/live/www51.dereckson.be/fullchain.pem; + #ssl_certificate_key /usr/local/etc/letsencrypt/live/www51.dereckson.be/privkey.pem; + + error_log /var/log/www/dereckson.be/www51-error.log; + access_log /var/log/www/dereckson.be/www51-access.log; + + root /var/51-wwwroot/dereckson-www; + + include includes/letsencrypt; + + location = /maintenance.html { } + error_page 503 /maintenance.html; + + location ~ ^/photos/(?([0-9]*)).html$ { + # If there is no gallery file prepared + # the main photo handler is happy to + # include the JPEG with metadata from db + try_files @app /photos/?date=$date; + } + + # Legacy tool URL + location /tools/SourceTemplatesGenerator { + return 301 https://tools.nasqueron.org/wikimedia/write/sourcetemplatesgenerator/; + } + + # Wordpress isn't staged + location /blog { + return 301 https://www.dereckson.be$request_uri; + } + + location /Blog { return 503; } + + include includes/pluton; +}