+ non-www redirect nginx script (with todo)
+ domain_name & refactored nginx variables for resolve connect of www-domain logic and redirect to or from * some installs have error after login to non-privileged user with starship $-symbol - correct escaped function for that + use separate domain for pma nginx config based on new domain_name variable (defined in nginx vars file) * update database example vars (use inventory dir path and bz2 by default) #861m7vaer Шаблон операционной системы на Debian 10
This commit is contained in:
@ -9,7 +9,8 @@
|
|||||||
- import_playbook: debops/redis.yml
|
- import_playbook: debops/redis.yml
|
||||||
- import_playbook: own/var-www-set-ownerships.yml
|
- import_playbook: own/var-www-set-ownerships.yml
|
||||||
- import_playbook: own/phpmyadmin.yml
|
- import_playbook: own/phpmyadmin.yml
|
||||||
- import_playbook: own/libgd3-fix-for-php81.yml
|
- import_playbook: own/libgd3-fix-for-php81.yml # Need only for php8.1
|
||||||
|
- import_playbook: own/correct-paths-for-pct-enter.yml
|
||||||
|
|
||||||
# Import all other group playbooks in this file...
|
# Import all other group playbooks in this file...
|
||||||
|
|
||||||
|
@ -1,13 +1,16 @@
|
|||||||
server {
|
server {
|
||||||
listen 80;
|
listen 80;
|
||||||
|
listen 443 ssl;
|
||||||
|
ssl_certificate /etc/letsencrypt/tmp/domain/fullchain.pem;
|
||||||
|
ssl_certificate_key /etc/letsencrypt/tmp/domain/privkey.pem;
|
||||||
|
|
||||||
server_name domain;
|
server_name domain;
|
||||||
|
|
||||||
location / {
|
location / {
|
||||||
proxy_pass https://site_name;
|
proxy_pass https://lxc;
|
||||||
proxy_set_header Host $host;
|
proxy_set_header Host $host;
|
||||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
proxy_set_header X-Real-IP $remote_addr;
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
}
|
}
|
||||||
listen 443 ssl;
|
|
||||||
ssl_certificate /etc/letsencrypt/tmp/domain/fullchain.pem;
|
|
||||||
ssl_certificate_key /etc/letsencrypt/tmp/domain/privkey.pem;
|
|
||||||
}
|
}
|
||||||
|
# TODO: example site.auth.conf
|
17
playbooks/debops/files/etc/nginx/includes.d/non-www.conf
Normal file
17
playbooks/debops/files/etc/nginx/includes.d/non-www.conf
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
error_page 418 = @nonwww;
|
||||||
|
set $nonwww "";
|
||||||
|
if ( $http_host ~* "^www\.") {
|
||||||
|
set $nonwww "${nonwww}0";
|
||||||
|
}
|
||||||
|
if ( $nonwww ~* "^0+$" ) {
|
||||||
|
return 418;
|
||||||
|
}
|
||||||
|
# TODO: map need moved to conf.d
|
||||||
|
map $host $tld {
|
||||||
|
default $host;
|
||||||
|
'~^www\.(?<domain>.*)$' $domain;
|
||||||
|
}
|
||||||
|
location @nonwww {
|
||||||
|
rewrite ^ https://$tld$request_uri permanent;
|
||||||
|
}
|
||||||
|
|
@ -24,8 +24,10 @@
|
|||||||
# nginx_webroot_create: False
|
# nginx_webroot_create: False
|
||||||
nginx_ocsp: False
|
nginx_ocsp: False
|
||||||
nginx_worker_processes: auto
|
nginx_worker_processes: auto
|
||||||
|
nginx_manage_ipv6only: False
|
||||||
|
# TODO: Replace [::]:443 to 443 and [::]:80 to 80 in site nginx config
|
||||||
nginx__servers:
|
nginx__servers:
|
||||||
- name: '{{ site_name }}'
|
- name: '{{ domain_name }}'
|
||||||
|
|
||||||
type: php
|
type: php
|
||||||
|
|
||||||
@ -64,7 +66,8 @@
|
|||||||
nginx_includes_begin: "{{ (nginx_includes_begin | default([])) | union([item]) }}"
|
nginx_includes_begin: "{{ (nginx_includes_begin | default([])) | union([item]) }}"
|
||||||
when: item != omit
|
when: item != omit
|
||||||
loop:
|
loop:
|
||||||
- "{{ (nginx_www_redirect | default(False)) | ternary('includes.d/www.conf', omit) }}"
|
- "{{ (nginx_www_domain and nginx_www_redirect == 'www') | ternary('includes.d/www.conf', omit) }}"
|
||||||
|
- "{{ (nginx_www_domain and nginx_www_redirect == 'non-www') | ternary('includes.d/non-www.conf', omit) }}"
|
||||||
- includes.d/octobercms.conf
|
- includes.d/octobercms.conf
|
||||||
- includes.d/staticfiles.conf
|
- includes.d/staticfiles.conf
|
||||||
|
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
post_tasks:
|
post_tasks:
|
||||||
- name: Change starship character to dollar sign
|
- name: Change starship character to dollar sign
|
||||||
shell: |
|
shell: |
|
||||||
sed -i 's/#/\\\\$/g' /home/{{ site_name }}/.config/starship.toml
|
sed -i 's/#/\\$/g' /home/{{ site_name }}/.config/starship.toml
|
||||||
args:
|
args:
|
||||||
executable: /bin/bash
|
executable: /bin/bash
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
#- import_playbook: root-account.yml
|
- import_playbook: root-account.yml
|
||||||
- import_playbook: debops/dnsmasq.yml
|
- import_playbook: debops/dnsmasq.yml
|
||||||
#- import_playbook: own/correct-paths-for-pct-enter.yml
|
- import_playbook: own/correct-paths-for-pct-enter.yml
|
||||||
|
|
||||||
# Import all other group playbooks in this file...
|
# Import all other group playbooks in this file...
|
||||||
|
|
||||||
|
@ -6,12 +6,13 @@
|
|||||||
- import_playbook: debops/mariadb-custom-db.yml
|
- import_playbook: debops/mariadb-custom-db.yml
|
||||||
- import_playbook: debops/php-prod.yml
|
- import_playbook: debops/php-prod.yml
|
||||||
- import_playbook: debops/nginx.yml
|
- import_playbook: debops/nginx.yml
|
||||||
#- import_playbook: debops/nodejs.yml
|
|
||||||
- import_playbook: debops/redis.yml
|
- import_playbook: debops/redis.yml
|
||||||
- import_playbook: own/var-www-set-ownerships.yml
|
- import_playbook: own/var-www-set-ownerships.yml
|
||||||
- import_playbook: own/node-version-manager.yml
|
- import_playbook: own/node-version-manager.yml
|
||||||
- import_playbook: own/nginx-auth.yml
|
- import_playbook: own/nginx-auth.yml
|
||||||
- import_playbook: own/phpmyadmin.yml
|
- import_playbook: own/phpmyadmin.yml
|
||||||
|
- import_playbook: own/phpmyadmin-nginx-auth.yml
|
||||||
|
- import_playbook: own/correct-paths-for-pct-enter.yml
|
||||||
|
|
||||||
# Import all other group playbooks in this file...
|
# Import all other group playbooks in this file...
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
---
|
---
|
||||||
- name: Nerest bash PATH var with set true paths after pct enter into lxc container from proxmox host
|
- name: Nerest bash PATH var with set true paths after pct enter into lxc container from proxmox host
|
||||||
hosts: [ 'debian10' ]
|
hosts: [ 'debian10' ]
|
||||||
|
# TODO: Tmux create session not worked in pct enter - only work tmux attach (so..)
|
||||||
tasks:
|
tasks:
|
||||||
- name: Append .shell-env
|
- name: Append .shell-env
|
||||||
ansible.builtin.lineinfile:
|
ansible.builtin.lineinfile:
|
||||||
|
@ -8,6 +8,7 @@
|
|||||||
hosts: [ 'debian10' ]
|
hosts: [ 'debian10' ]
|
||||||
|
|
||||||
vars_files:
|
vars_files:
|
||||||
|
- ./../../vars/nginx.yml
|
||||||
- ./../../vars/php.yml
|
- ./../../vars/php.yml
|
||||||
|
|
||||||
tasks:
|
tasks:
|
||||||
@ -20,8 +21,11 @@
|
|||||||
dest: '/etc/nginx/sites-available/pma.conf'
|
dest: '/etc/nginx/sites-available/pma.conf'
|
||||||
content: |-
|
content: |-
|
||||||
server {
|
server {
|
||||||
listen 81;
|
listen 80;
|
||||||
server_name {{ site_name }};
|
listen 443;
|
||||||
|
ssl_certificate /etc/pki/realms/domain/default.crt;
|
||||||
|
ssl_certificate_key /etc/pki/realms/domain/default.key;
|
||||||
|
server_name pma.{{ domain_name }};
|
||||||
root /var/www/phpmyadmin;
|
root /var/www/phpmyadmin;
|
||||||
index index.php;
|
index index.php;
|
||||||
include auth.d/pma-auth.conf;
|
include auth.d/pma-auth.conf;
|
||||||
|
@ -10,6 +10,7 @@
|
|||||||
vars:
|
vars:
|
||||||
- phpmyadmin_version: 5.2.1
|
- phpmyadmin_version: 5.2.1
|
||||||
|
|
||||||
|
# Create phpmyadmin config for apache2
|
||||||
# TODO: Set blowfish_secret and make access rights for ./tmp directory
|
# TODO: Set blowfish_secret and make access rights for ./tmp directory
|
||||||
tasks:
|
tasks:
|
||||||
- name: 'Download phpMyAdmin {{ phpmyadmin_version }} into var/www dir and uncompress'
|
- name: 'Download phpMyAdmin {{ phpmyadmin_version }} into var/www dir and uncompress'
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
mariadb__databases:
|
mariadb__databases:
|
||||||
- name: '{{ site_name }}'
|
- name: '{{ site_name }}'
|
||||||
source: ./data/db-dumps/dump.sql
|
source: '{{ inventory_dir }}//data/db-dumps/{{ site_name }}.sql.bz2'
|
||||||
target: /tmp/dump.sql
|
target: '/tmp/{{ site_name }}.sql.bz2'
|
||||||
|
|
||||||
mariadb__users:
|
mariadb__users:
|
||||||
- name: '{{ site_name }}'
|
- name: '{{ site_name }}'
|
||||||
|
@ -1 +1,3 @@
|
|||||||
nginx_www_redirect: False
|
domain_name: site.com
|
||||||
|
nginx_www_domain: True
|
||||||
|
nginx_www_redirect: www
|
||||||
|
Reference in New Issue
Block a user