dunqve, non ho voglia di mettermi li e fare virtual machines per testare se fail2ban+ipset configurato come ce l'ho andrebbe in un vps normale,sono abbastanza convinto di si ma prima di prendere uno o piu' kvm per potermi mettere il cuore in pace e bannare a volonta' i falliti voglio finire il playbook, che sta venendo piuttosto bene, da una centos 7 minimal devo solo accedere una volta, configurare un user con sudo e poi copiarci le mie chiavi dal laptop con ssh-copy-id, dopodiche' avvio il playbook e installa LEMP, fail2ban, firewall, etc.
queste sono le sezioni:
roles:
- common
- hardening
- mariadb
- nginx
- php-fpm
- wordpress
- mediawiki
vanno tutte, ho automatizzato pure l'installazione di mediawiki e quello che voglio ottenere e' un nginx che serva wordpress e mediawiki a questi indirizzi:
vpshostingip:port1
vpshostingip:port2
il playbook da cui sono partito conteneva installava php-fpm e wordpress configurando i socks cosi:
cat /etc/php-fpm.d/wordpress.conf
[wordpress]
listen = /var/run/php-fpm/wordpress.sock
listen.owner = nginx
listen.group = nginx
listen.mode = 0660
user = wordpress
group = wordpress
pm = dynamic
pm.max_children = 10
pm.start_servers = 1
pm.min_spare_servers = 1
pm.max_spare_servers = 3
pm.max_requests = 500
chdir = /srv/wordpress/
php_admin_value[open_basedir] = /srv/wordpress/:/tmp
il playbook ha questo aspetto qui:
- name: Disable default pool
command: mv /etc/php-fpm.d/www.conf /etc/php-fpm.d/www.disabled creates=/etc/php-fpm.d/www.disabled
notify: restart php-fpm
tags: php-fpm
- name: Config php-fpm UNIX socket for wordpress.conf in php-fpm.d
template: src=wordpress.conf dest=/etc/php-fpm.d/
notify: restart php-fpm
tags: php-fpm
che dite se replico tutto per mediawiki cambiando solo il nome? dovro farne uno anche per mediawiki no? anche non ho piu' i calzini di default per php-fpm. (il playbook da cui sono partito e' uno degli esempi completi che ti viene fornito nella documentazione, lo ho modificato un po ma questo coso installava wordpress cosi, e me ne sono accorto solo ora
[webserver@1024 ~]$ ls -la /var/run/php-fpm/
total 4
drwxr-xr-x 2 root root 80 29 lug 01.11 .
drwxr-xr-x 24 root root 580 30 lug 17.24 ..
-rw-r--r-- 1 root root 5 29 lug 01.11 php-fpm.pid
srw-rw---- 1 nginx nginx 0 29 lug 01.11 wordpress.sock
quindi dovrei farne uno anche per mediawiki?
l'installazine di mediawiki la ho fatto brutalmente cosi:
mediawiki role in playbook:
---
- name: Download Mediawiki
get_url:
url=https://releases.wikimedia.org/mediawiki/1.29/mediawiki-1.29.0.tar.gz
dest=/srv/
tags: mediawiki
- name: Extract archive
unarchive:
src=/srv/mediawiki-1.29.0.tar.gz
dest=/srv/mediawiki
remote_src=True
tags: mediawiki
- name: Add group "mediawiki"
group: name=mediawiki
tags: mediawiki
- name: Add user "mediawiki"
user: name=mediawiki group=mediawiki home=/srv/mediawiki/
tags: mediawiki
- name: Create MediaWiki database
mysql_db: name={{ mw_db_name }} state=present login_password=
tags: mediawiki
- name: Create Mediawiki database user
mysql_user:
name={{ mw_db_user }}
password={{ mw_db_password }}
priv={{ mw_db_name }}.*:ALL
host='localhost'
login_password=
state=present
tags: mediawiki
- name: Change ownership of MediaWiki installation path
file: path=/srv/mediawiki/ owner=mediawiki group=mediawiki state=directory recurse=yes
tags: mediawiki
- name: Start php-fpm Service
service: name=php-fpm state=started enabled=yes
tags: mediawiki
- name: Start NGINX Service
service: name=nginx state=started enabled=yes
tags: mediawikie se lancio il playbook completo il risultato e' buono, perche' wordpress va come dovrebbe, e' raggiungibile all'indirizzo
vpshostingip:port1
ma mediawiki invece al suo bell'indirizzo
vpshostingip:port2
mostra solo un 403 forbidden.
nginx.conf
conf.d/
wordpress.conf
mediawiki.confcat nginx.conf
# For more information on configuration, see:
# * Official English Documentation: http://nginx.org/en/docs/
# * Official Russian Documentation: http://nginx.org/ru/docs/
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
# Load dynamic modules. See /usr/share/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;
events {
worker_connections 1024;
}
http {
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
# Hardening settings found on the internet
server_tokens off;
# useless for now
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
include /etc/nginx/mime.types;
default_type application/octet-stream;
# Load modular configuration files from the /etc/nginx/conf.d directory.
# See http://nginx.org/en/docs/ngx_core_module.html#include
# for more information.
include /etc/nginx/conf.d/*.conf;
cat wordpress.conf
server {
listen {{ nginx_wordpress_port }};
server_name {{ server_hostname }};
root /srv/wordpress/;
client_max_body_size 64M;
# Deny access to any files with a .php extension in the uploads directory
location ~* /(?:uploads|files)/.*\.php$ {
deny all;
}
location / {
index index.php index.html index.htm;
try_files $uri $uri/ /index.php?$args;
}
location ~* \.(gif|jpg|jpeg|png|css|js)$ {
expires max;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_index index.php;
fastcgi_pass unix:/var/run/php-fpm/wordpress.sock;
fastcgi_param SCRIPT_FILENAME
$document_root$fastcgi_script_name;
include fastcgi_params;
}
}
cat mediawiki.conf
server {
listen {{ nginx_mediawiki_port }};
server_name {{ server_hostname }};
root /srv/mediawiki;
client_max_body_size 5m;
client_body_timeout 60;
location / {
try_files $uri $uri/ @rewrite;
}
location @rewrite {
rewrite ^/(.*)$ /index.php?title=$1&$args;
}
location ^~ /maintenance/ {
return 403;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/tmp/phpfpm.sock;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
try_files $uri /index.php;
expires max;
log_not_found off;
}
location = /_.gif {
expires max;
empty_gif;
}
location ^~ /cache/ {
deny all;
}
location /dumps {
root /srv/mediawiki/local;
autoindex on;
}
}
pecche se visito la pagina di mediawiki mi dice che e' proibito?
e' davvero colpa del calzino php-fpm?
**Modificato dall'autore il 30.07.2017 20:20**
Please consider the environment before printing this message, 50% of the above is useless!