forked from infra/ansible
new host: magnesium (partdb/partkeepr)
This commit is contained in:
parent
7f59fa64a6
commit
3425fdeac9
1
hosts
1
hosts
@ -20,3 +20,4 @@ oxygen.binary-kitchen.net
|
|||||||
fluorine.binary-kitchen.net
|
fluorine.binary-kitchen.net
|
||||||
neon.binary-kitchen.net
|
neon.binary-kitchen.net
|
||||||
sodium.binary-kitchen.net
|
sodium.binary-kitchen.net
|
||||||
|
magnesium.binary-kitchen.net
|
||||||
|
14
roles/partdb/files/certs
Normal file
14
roles/partdb/files/certs
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
---
|
||||||
|
partdb.binary-kitchen.de:
|
||||||
|
- path: /etc/nginx/ssl/partdb.binary-kitchen.de.crt
|
||||||
|
user: root
|
||||||
|
group: root
|
||||||
|
perm: '400'
|
||||||
|
format: crt,ca
|
||||||
|
action: '/usr/sbin/service nginx restart'
|
||||||
|
- path: /etc/nginx/ssl/partdb.binary-kitchen.de.key
|
||||||
|
user: root
|
||||||
|
group: root
|
||||||
|
perm: '400'
|
||||||
|
format: key
|
||||||
|
action: '/usr/sbin/service nginx restart'
|
40
roles/partdb/files/vhost
Normal file
40
roles/partdb/files/vhost
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
server {
|
||||||
|
listen 80;
|
||||||
|
listen [::]:80;
|
||||||
|
|
||||||
|
server_name partdb.binary-kitchen.de;
|
||||||
|
|
||||||
|
location /.well-known/acme-challenge {
|
||||||
|
default_type "text/plain";
|
||||||
|
alias /var/www/acme-challenge;
|
||||||
|
}
|
||||||
|
|
||||||
|
location / {
|
||||||
|
return 301 https://partdb.binary-kitchen.de$request_uri;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
server {
|
||||||
|
listen 443 ssl http2;
|
||||||
|
listen [::]:443 ssl http2;
|
||||||
|
|
||||||
|
server_name partdb.binary-kitchen.de;
|
||||||
|
|
||||||
|
ssl_certificate_key /etc/nginx/ssl/partdb.binary-kitchen.de.key;
|
||||||
|
ssl_certificate /etc/nginx/ssl/partdb.binary-kitchen.de.crt;
|
||||||
|
|
||||||
|
root /var/www/partdb;
|
||||||
|
|
||||||
|
client_max_body_size 32M;
|
||||||
|
|
||||||
|
index index.php;
|
||||||
|
|
||||||
|
location ~ \.php(?:$|/) {
|
||||||
|
fastcgi_split_path_info ^(.+\.php)(/.+)$;
|
||||||
|
include fastcgi_params;
|
||||||
|
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||||
|
fastcgi_param PATH_INFO $fastcgi_path_info;
|
||||||
|
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
|
||||||
|
fastcgi_intercept_errors on;
|
||||||
|
}
|
||||||
|
}
|
7
roles/partdb/handlers/main.yml
Normal file
7
roles/partdb/handlers/main.yml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
---
|
||||||
|
|
||||||
|
- name: Restart nginx
|
||||||
|
service: name=nginx state=restarted
|
||||||
|
|
||||||
|
- name: Run certmgr
|
||||||
|
command: /opt/acertmgr/acertmgr.py
|
5
roles/partdb/meta/main.yml
Normal file
5
roles/partdb/meta/main.yml
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
|
||||||
|
dependencies:
|
||||||
|
- { role: certmgr }
|
||||||
|
- { role: nginx, nginx_ssl: True }
|
31
roles/partdb/tasks/main.yml
Normal file
31
roles/partdb/tasks/main.yml
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
---
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
apt: name={{ item }}
|
||||||
|
with_items:
|
||||||
|
- php7.0-fpm
|
||||||
|
- php7.0-ldap
|
||||||
|
- php7.0-sqlite3
|
||||||
|
- php7.0-xml
|
||||||
|
|
||||||
|
- name: Create vhost directory
|
||||||
|
file: path=/var/www/partdb state=directory owner=www-data group=www-data
|
||||||
|
|
||||||
|
- name: Ensure partdb certificates are available
|
||||||
|
command: openssl req -x509 -nodes -newkey rsa:2048 -keyout /etc/nginx/ssl/partdb.binary-kitchen.de.key -out /etc/nginx/ssl/partdb.binary-kitchen.de.crt -days 730 -subj "/CN=partdb.binary-kitchen.de" creates=/etc/nginx/ssl/partdb.binary-kitchen.de.crt
|
||||||
|
notify: Restart nginx
|
||||||
|
|
||||||
|
- name: Configure certificate manager
|
||||||
|
copy: src=certs dest=/etc/acme/domains.d/partdb.binary-kitchen.de.conf
|
||||||
|
notify: Run certmgr
|
||||||
|
|
||||||
|
- name: Configure vhosts
|
||||||
|
copy: src=vhost dest=/etc/nginx/sites-available/www
|
||||||
|
notify: Restart nginx
|
||||||
|
|
||||||
|
- name: Enable vhosts
|
||||||
|
file: src=/etc/nginx/sites-available/www dest=/etc/nginx/sites-enabled/www state=link
|
||||||
|
notify: Restart nginx
|
||||||
|
|
||||||
|
- name: Start php7.0-fpm
|
||||||
|
service: name=php7.0-fpm state=started enabled=yes
|
Loading…
Reference in New Issue
Block a user