Удалены старые роли
This commit is contained in:
parent
f5d705d40b
commit
d6bf719453
@ -1,19 +0,0 @@
|
|||||||
---
|
|
||||||
dependencies:
|
|
||||||
- role: blocks/ssl-certificate
|
|
||||||
cert_type: letsencrypt
|
|
||||||
cert_name: '{{ homepage_name }}'
|
|
||||||
cert_email: anwinged@ya.ru
|
|
||||||
cert_domains:
|
|
||||||
- '{{ homepage_domain }}'
|
|
||||||
- 'www.{{ homepage_domain }}'
|
|
||||||
tags:
|
|
||||||
- webserver
|
|
||||||
|
|
||||||
- role: blocks/static-site
|
|
||||||
static_site_name: '{{ homepage_name }}'
|
|
||||||
static_site_domain: '{{ homepage_domain }}'
|
|
||||||
static_site_dir: '{{ homepage_dir }}'
|
|
||||||
static_site_template: homepage.conf.j2
|
|
||||||
tags:
|
|
||||||
- webserver
|
|
@ -1,39 +0,0 @@
|
|||||||
server {
|
|
||||||
server_name www.{{ homepage_domain }};
|
|
||||||
return 301 $scheme://{{ homepage_domain }}$request_uri;
|
|
||||||
}
|
|
||||||
|
|
||||||
server {
|
|
||||||
listen 443 ssl http2;
|
|
||||||
server_name {{ homepage_domain }};
|
|
||||||
|
|
||||||
ssl on;
|
|
||||||
ssl_certificate {{ vars[homepage_name + "_ssl_certificate"] }};
|
|
||||||
ssl_certificate_key {{ vars[homepage_name + "_ssl_key"] }};
|
|
||||||
ssl_trusted_certificate {{ vars[homepage_name + "_ssl_certificate"] }};
|
|
||||||
|
|
||||||
ssl_session_cache shared:SSL:50m;
|
|
||||||
ssl_session_timeout 5m;
|
|
||||||
ssl_stapling on;
|
|
||||||
ssl_stapling_verify on;
|
|
||||||
|
|
||||||
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
|
|
||||||
ssl_ciphers "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4";
|
|
||||||
|
|
||||||
ssl_dhparam {{ vars[homepage_name + "_ssl_dhparam"] }};
|
|
||||||
ssl_prefer_server_ciphers on;
|
|
||||||
|
|
||||||
root {{ homepage_dir }}/current;
|
|
||||||
index index.html;
|
|
||||||
|
|
||||||
error_page 404 =404 @notfound;
|
|
||||||
|
|
||||||
location / {
|
|
||||||
try_files $uri $uri/ =404;
|
|
||||||
}
|
|
||||||
|
|
||||||
location @notfound {
|
|
||||||
try_files 404.html /404/index.html =404;
|
|
||||||
internal;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,4 +0,0 @@
|
|||||||
---
|
|
||||||
homepage_name: homepage
|
|
||||||
homepage_domain: vakhrushev.me
|
|
||||||
homepage_dir: /var/www/homepage
|
|
@ -1,9 +0,0 @@
|
|||||||
---
|
|
||||||
nginx_proxy_name: ''
|
|
||||||
nginx_proxy_template: ''
|
|
||||||
nginx_proxy_params: {}
|
|
||||||
|
|
||||||
nginx_ssl_type: ~
|
|
||||||
nginx_ssl_name: '{{ nginx_proxy_name }}'
|
|
||||||
nginx_ssl_email: ''
|
|
||||||
nginx_ssl_domains: []
|
|
@ -1,20 +0,0 @@
|
|||||||
---
|
|
||||||
- name: "Configure ssl certificate for {{ nginx_proxy_name }}"
|
|
||||||
include_role:
|
|
||||||
name: ssl-certificate
|
|
||||||
vars:
|
|
||||||
cert_type: '{{ nginx_ssl_type }}'
|
|
||||||
cert_name: '{{ nginx_ssl_name }}'
|
|
||||||
cert_email: '{{ nginx_ssl_email }}'
|
|
||||||
cert_domains: '{{ nginx_ssl_domains }}'
|
|
||||||
when: nginx_ssl_type is not none
|
|
||||||
tags:
|
|
||||||
- webserver
|
|
||||||
|
|
||||||
- name: "Create nginx config for {{ nginx_proxy_name }} from {{ nginx_proxy_template }}."
|
|
||||||
template:
|
|
||||||
src: '{{ nginx_proxy_template }}'
|
|
||||||
dest: "/etc/nginx/sites-enabled/{{ nginx_proxy_name }}.conf"
|
|
||||||
notify: restart nginx
|
|
||||||
tags:
|
|
||||||
- webserver
|
|
@ -1,39 +0,0 @@
|
|||||||
---
|
|
||||||
dependencies:
|
|
||||||
- role: geerlingguy.mysql
|
|
||||||
mysql_databases:
|
|
||||||
- name: '{{ notes_dbname }}'
|
|
||||||
- name: '{{ notes_search_dbname }}'
|
|
||||||
mysql_users:
|
|
||||||
- name: '{{ notes_dbuser }}'
|
|
||||||
host: 127.0.0.1
|
|
||||||
password: '{{ notes_dbpassword }}'
|
|
||||||
priv: '{{ notes_dbname }}.*:ALL'
|
|
||||||
- name: '{{ notes_search_dbuser }}'
|
|
||||||
host: 127.0.0.1
|
|
||||||
password: '{{ notes_search_dbpassword }}'
|
|
||||||
priv: '{{ notes_search_dbname }}.*:ALL'
|
|
||||||
|
|
||||||
- role: blocks/owner
|
|
||||||
owner_name: '{{ notes_owner }}'
|
|
||||||
owner_group: '{{ notes_owner }}'
|
|
||||||
owner_ssh_keys: ['{{ lookup("file", "av_id_rsa.pub") }}']
|
|
||||||
owner_envs: '{{ notes_env }}'
|
|
||||||
|
|
||||||
- role: blocks/ssl-certificate
|
|
||||||
cert_type: letsencrypt
|
|
||||||
cert_name: '{{ notes_name }}'
|
|
||||||
cert_email: anwinged@ya.ru
|
|
||||||
cert_domains:
|
|
||||||
- '{{ notes_domain }}'
|
|
||||||
|
|
||||||
- role: blocks/php-app
|
|
||||||
php_app_name: '{{ notes_name }}'
|
|
||||||
php_app_user: '{{ notes_owner }}'
|
|
||||||
php_app_group: '{{ notes_owner }}'
|
|
||||||
php_app_directory: '{{ notes_dir }}'
|
|
||||||
php_app_web_root: '{{ notes_web_root }}'
|
|
||||||
php_app_nginx_config: nginx.conf.j2
|
|
||||||
php_app_php_version: '7.1'
|
|
||||||
php_app_fpm_listen: '{{ notes_php_connection }}'
|
|
||||||
php_app_envs: '{{ notes_env }}'
|
|
@ -1,2 +0,0 @@
|
|||||||
---
|
|
||||||
|
|
@ -1,58 +0,0 @@
|
|||||||
server {
|
|
||||||
server_name {{ notes_domain }};
|
|
||||||
|
|
||||||
listen 443 ssl http2;
|
|
||||||
|
|
||||||
ssl on;
|
|
||||||
ssl_certificate {{ vars[notes_name + "_ssl_certificate"] }};
|
|
||||||
ssl_certificate_key {{ vars[notes_name + "_ssl_key"] }};
|
|
||||||
ssl_trusted_certificate {{ vars[notes_name + "_ssl_certificate"] }};
|
|
||||||
|
|
||||||
ssl_session_cache shared:SSL:50m;
|
|
||||||
ssl_session_timeout 5m;
|
|
||||||
ssl_stapling on;
|
|
||||||
ssl_stapling_verify on;
|
|
||||||
|
|
||||||
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
|
|
||||||
ssl_ciphers "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4";
|
|
||||||
|
|
||||||
ssl_dhparam {{ vars[notes_name + "_ssl_dhparam"] }};
|
|
||||||
ssl_prefer_server_ciphers on;
|
|
||||||
|
|
||||||
root {{ notes_web_root }};
|
|
||||||
|
|
||||||
location / {
|
|
||||||
# try to serve file directly, fallback to app.php
|
|
||||||
try_files $uri /app.php$is_args$args;
|
|
||||||
}
|
|
||||||
|
|
||||||
location ~ ^/app\.php(/|$) {
|
|
||||||
fastcgi_pass {{ notes_php_connection }};
|
|
||||||
fastcgi_split_path_info ^(.+\.php)(/.*)$;
|
|
||||||
include fastcgi_params;
|
|
||||||
|
|
||||||
# When you are using symlinks to link the document root to the
|
|
||||||
# current version of your application, you should pass the real
|
|
||||||
# application path instead of the path to the symlink to PHP
|
|
||||||
# FPM.
|
|
||||||
# Otherwise, PHP's OPcache may not properly detect changes to
|
|
||||||
# your PHP files (see https://github.com/zendtech/ZendOptimizerPlus/issues/126
|
|
||||||
# for more information).
|
|
||||||
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
|
|
||||||
fastcgi_param DOCUMENT_ROOT $realpath_root;
|
|
||||||
|
|
||||||
# Prevents URIs that include the front controller. This will 404:
|
|
||||||
# http://domain.tld/app.php/some-path
|
|
||||||
# Remove the internal directive to allow URIs like this
|
|
||||||
internal;
|
|
||||||
}
|
|
||||||
|
|
||||||
# return 404 for all other php files not matching the front controller
|
|
||||||
# this prevents access to other php files you don't want to be accessible.
|
|
||||||
location ~ \.php$ {
|
|
||||||
return 404;
|
|
||||||
}
|
|
||||||
|
|
||||||
error_log /var/log/nginx/{{ notes_name }}_error.log;
|
|
||||||
access_log /var/log/nginx/{{ notes_name }}_access.log;
|
|
||||||
}
|
|
@ -1,37 +0,0 @@
|
|||||||
---
|
|
||||||
notes_name: notes
|
|
||||||
notes_owner: notes_owner
|
|
||||||
notes_dir: /var/www/notes
|
|
||||||
notes_web_root: '{{ notes_dir }}/current/web'
|
|
||||||
notes_domain: 'notes.vakhrushev.me'
|
|
||||||
notes_cert_type: 'letsencrypt'
|
|
||||||
notes_dbname: notes_db
|
|
||||||
notes_dbuser: notes_db
|
|
||||||
notes_dbpassword: Sf6tp6LKeCyrjVZ2YGKYUd
|
|
||||||
notes_search_dbname: notes_search_db
|
|
||||||
notes_search_dbuser: notes_search_db
|
|
||||||
notes_search_dbpassword: 9k7cwKyWFGSSnEDn
|
|
||||||
notes_php_connection: '127.0.0.1:9010'
|
|
||||||
|
|
||||||
notes_env:
|
|
||||||
NOTES_DEPLOY_DIR: '{{ notes_dir }}'
|
|
||||||
NOTES_WORK_DIR: '{{ notes_dir }}/current'
|
|
||||||
NOTES_APP_PASSWORD: fiat282lux647
|
|
||||||
NOTES_SECRET_TOKEN: qJqFNP5B9RP2EfqgpTPyZe
|
|
||||||
NOTES_DATABASE_HOST: 127.0.0.1
|
|
||||||
NOTES_DATABASE_PORT: 3306
|
|
||||||
NOTES_DATABASE_NAME: '{{ notes_dbname }}'
|
|
||||||
NOTES_DATABASE_USER: '{{ notes_dbuser }}'
|
|
||||||
NOTES_DATABASE_PASSWORD: '{{ notes_dbpassword }}'
|
|
||||||
NOTES_DATABASE_SEARCH_HOST: 127.0.0.1
|
|
||||||
NOTES_DATABASE_SEARCH_PORT: 3306
|
|
||||||
NOTES_DATABASE_SEARCH_NAME: '{{ notes_search_dbname }}'
|
|
||||||
NOTES_DATABASE_SEARCH_USER: '{{ notes_search_dbuser }}'
|
|
||||||
NOTES_DATABASE_SEARCH_PASSWORD: '{{ notes_search_dbpassword }}'
|
|
||||||
NOTES_MAILER_HOST: smtp.timeweb.ru
|
|
||||||
NOTES_MAILER_PORT: 25
|
|
||||||
NOTES_MAILER_USER: noreply@anwinged.ru
|
|
||||||
NOTES_MAILER_PASSWORD: C5DkD5gs
|
|
||||||
NOTES_DROPBOX_TOKEN: jHFhAiEB1nAAAAAAAAAGjWXDoNrVLDWHo4aFZFoNtb-qV7Q5qsNjlMdKU-Y95lMw
|
|
||||||
SYMFONY_ENV: prod
|
|
||||||
APP_ENV: prod
|
|
@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
dependencies:
|
|
||||||
- role: blocks/static-site
|
|
||||||
static_site_name: s2photo
|
|
||||||
static_site_domain: s2photo.ru
|
|
@ -1,23 +0,0 @@
|
|||||||
---
|
|
||||||
# Required, allowed: self-signed, letsencrypt
|
|
||||||
cert_type: 'self-signed'
|
|
||||||
|
|
||||||
# Required, name for ssl-certificate configuration
|
|
||||||
cert_name: ''
|
|
||||||
|
|
||||||
# Required: domain owner email
|
|
||||||
cert_email: ''
|
|
||||||
|
|
||||||
# Required: domains for lets encrypt certificate creation
|
|
||||||
cert_domains: []
|
|
||||||
|
|
||||||
# Paths to store generated keys
|
|
||||||
cert_directory: '/opt/ssl-certificates/{{ cert_name }}'
|
|
||||||
cert_key: '{{ cert_directory }}/ssl.key'
|
|
||||||
cert_request: '{{ cert_directory }}/ssl.csr'
|
|
||||||
cert_certificate: '{{ cert_directory }}/ssl.crt'
|
|
||||||
cert_dhparam: '{{ cert_directory }}/dhparam.pem'
|
|
||||||
cert_dhparam_n: 2048
|
|
||||||
|
|
||||||
# lets encrypt well-known challenge folder
|
|
||||||
cert_le_webroot_path: /var/www/letsencrypt
|
|
@ -1,32 +0,0 @@
|
|||||||
---
|
|
||||||
- name: Check required parameters.
|
|
||||||
fail:
|
|
||||||
msg: You must set up domain and email.
|
|
||||||
when: not cert_domains or not cert_email
|
|
||||||
|
|
||||||
- name: Create letsencrypt web root directory.
|
|
||||||
file:
|
|
||||||
name: '{{ cert_le_webroot_path }}'
|
|
||||||
state: directory
|
|
||||||
|
|
||||||
- name: Copy notes acme server config.
|
|
||||||
template:
|
|
||||||
src: vhost.conf.j2
|
|
||||||
dest: "/etc/nginx/sites-enabled/{{ cert_name }}_letsencrypt.conf"
|
|
||||||
|
|
||||||
- name: Restart nginx.
|
|
||||||
service:
|
|
||||||
name: nginx
|
|
||||||
state: restarted
|
|
||||||
|
|
||||||
- name: Configure Lest Encrypt certificate.
|
|
||||||
include_role:
|
|
||||||
name: thefinn93.ansible-letsencrypt
|
|
||||||
private: yes
|
|
||||||
vars:
|
|
||||||
letsencrypt_webroot_path: '{{ cert_le_webroot_path }}'
|
|
||||||
letsencrypt_email: '{{ cert_email }}'
|
|
||||||
letsencrypt_cert_domains: '{{ cert_domains }}'
|
|
||||||
letsencrypt_renewal_command_args: '--renew-hook "systemctl restart nginx"'
|
|
||||||
ssl_certificate: '{{ cert_certificate }}'
|
|
||||||
ssl_certificate_key: '{{ cert_key }}'
|
|
@ -1,22 +0,0 @@
|
|||||||
---
|
|
||||||
- name: Ensure certificate storage exists.
|
|
||||||
file:
|
|
||||||
path: '{{ cert_directory }}'
|
|
||||||
state: directory
|
|
||||||
|
|
||||||
- include: self-signed.yml
|
|
||||||
when: cert_type == 'self-signed'
|
|
||||||
|
|
||||||
- include: letsencrypt.yml
|
|
||||||
when: cert_type == 'letsencrypt'
|
|
||||||
|
|
||||||
- name: Generate dhparams.
|
|
||||||
shell: 'openssl dhparam -out {{ cert_dhparam }} {{ cert_dhparam_n }}'
|
|
||||||
args:
|
|
||||||
creates: '{{ cert_dhparam }}'
|
|
||||||
|
|
||||||
- name: Set facts about generated files.
|
|
||||||
set_fact:
|
|
||||||
'{{ cert_name }}_ssl_key': '{{ cert_key }}'
|
|
||||||
'{{ cert_name }}_ssl_certificate': '{{ cert_certificate }}'
|
|
||||||
'{{ cert_name }}_ssl_dhparam': '{{ cert_dhparam }}'
|
|
@ -1,33 +0,0 @@
|
|||||||
---
|
|
||||||
- name: Check certificate params.
|
|
||||||
fail:
|
|
||||||
msg: You must setup certificate file params.
|
|
||||||
when: not cert_certificate or not cert_key
|
|
||||||
|
|
||||||
- name: Generate self signed ssl key.
|
|
||||||
shell: |
|
|
||||||
openssl genrsa \
|
|
||||||
-aes256 \
|
|
||||||
-passout pass:client11 \
|
|
||||||
-out {{ cert_directory }}/ssl.pass.key \
|
|
||||||
1024
|
|
||||||
|
|
||||||
openssl rsa \
|
|
||||||
-passin pass:client11 \
|
|
||||||
-in {{ cert_directory }}/ssl.pass.key \
|
|
||||||
-out {{ cert_key }}
|
|
||||||
|
|
||||||
openssl req \
|
|
||||||
-new \
|
|
||||||
-key {{ cert_key }} \
|
|
||||||
-out {{ cert_request }} \
|
|
||||||
-subj "/CN=localhost"
|
|
||||||
|
|
||||||
openssl x509 \
|
|
||||||
-req \
|
|
||||||
-days 365 \
|
|
||||||
-in {{ cert_request }} \
|
|
||||||
-signkey {{ cert_key }} \
|
|
||||||
-out {{ cert_certificate }}
|
|
||||||
args:
|
|
||||||
creates: '{{ cert_certificate }}'
|
|
@ -1,13 +0,0 @@
|
|||||||
server {
|
|
||||||
listen 80;
|
|
||||||
server_name {{ cert_domains|join(' ') }};
|
|
||||||
|
|
||||||
location /.well-known {
|
|
||||||
root {{ cert_le_webroot_path }};
|
|
||||||
try_files $uri $uri/ =404;
|
|
||||||
}
|
|
||||||
|
|
||||||
location / {
|
|
||||||
rewrite ^ https://$host$request_uri? permanent;
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user