Macchine Linux Mr.Digital
Le nostre macchine Linux sono
MERIDAMULANPOCAHONTASJARVISULTRON
Merida
Ospita i mini siti e tutte le istanze Wordpress di Designbest (webmobili, magazine, outlet).
Manutenzione
Al momento esegue una Debian 12.
Multiple versioni di PHP
A causa della presenza di diversi siti, la macchina può eseguire diverse versioni di PHP, tramite PHP FPM
PHP FPM - Configurare multiple versioni di PHP.
Ad esempio,
- al momento (febbraio 2024) Wordpress non è ancora pronto ad accogliere pienamente PHP8, ma solo PHP7.4 (fonte)
- il programma dei rimborsi è stato fatto in PHP5 e non guarisce più.
A causa dei limiti di Wordpress, abbiamo configurato Apache per l'utilizzo di PHP 7.4 di default.
Configurazione PHP per Wordpress
A causa della presenza di più istanze Wordpress abbiamo convenuto di modificare i valori di /etc/php/7.4/fpm/php.ini nel seguente modo
upload_max_filesize = 128M
post_max_size = 256M
max_execution_time = 900
max_input_vars = 5000
memory_limit = 2048M
max_input_time = 400
Problema PhpMyAdmin
Siccome abbiamo impostato Apache che utilizzi di default la versione PHP7.4,
Quando si installa phpmyadmin su Debian 12, ovviamente è impostato per funzionare con PHP8 e quindi restituisce un errore 500.
Per rimediare al bug bisogna andare nel file di configurazione a dirgli di utilizzare la versione 8 invece di usare la default.
Editare /etc/apache2/conf-avalaible/phpmyadmin.conf e aggiungere queste righe all'interno di <Directory>
<FilesMatch \.php$>
SetHandler "proxy:unix:/run/php/php8.3-fpm.sock|fcgi://localhost"
</FilesMatch>
Mulan
È un reverse-proxy che ha il compito di controllare il flusso delle richieste gestendo eventuali attacchi DDOS prima di passare la palla ad IIS sulla macchina ARIEL.
Oltre a questo si occupa della compressione e caching delle risorse.
Al momento si pone di fronte al solo Designbest.
upstream www.designbest.com {
server 192.168.250.10:443;
}
upstream designbest.com {
server 192.168.250.10:80;
}
limit_req_zone $binary_remote_addr zone=mylimit:10m rate=10r/s;
##
# DESIGNBEST.COM
#
# Porta 80, forwardo e lascio gestire redirect da IIS
server {
listen 80;
server_name designbest.com www.designbest.com;
#access_log /var/log/nginx/dbdemo47.com/access.log;
error_log /var/log/nginx/designbest.com/error.log;
location ~ ^/(it|fr|de|en) {
limit_req zone=mylimit burst=20 nodelay;
proxy_pass http://designbest.com;
include /etc/nginx/proxy_params;
limit_req_status 429;
}
location / {
proxy_pass http://designbest.com;
include /etc/nginx/proxy_params;
}
}
# Porta 443
server {
if ($host = designbest.com) {
return 301 https://www.$host$request_uri;
}
# SSL configuration
#
listen 443 ssl http2;
listen [::]:443 ssl http2;
#
# Self signed certs generated by the ssl-cert package
# Don't use them in a production server!
#
# include snippets/snakeoil.conf;
#root /var/www/html;
index index.html index.htm index.nginx-debian.html;
server_name designbest.com www.designbest.com;
# upload che di default è 1M
client_max_body_size 100M;
ssl_certificate /etc/nginx/ssl/designbest.com_ssl_certificate_bundle.crt;
ssl_certificate_key /etc/nginx/ssl/designbest.com_private_key.key;
# ssl_protocols TLSv1.2;
error_log /var/log/nginx/designbest.com/error.log;
#access_log /var/log/nginx/designbest.com/access.log;
location ~ ^/(it|fr|de|en) {
limit_req zone=mylimit burst=20 nodelay;
proxy_ssl_server_name on;
proxy_pass https://www.designbest.com;
include /etc/nginx/proxy_params;
limit_req_status 429;
}
location / {
proxy_ssl_server_name on;
proxy_pass https://www.designbest.com;
include /etc/nginx/proxy_params;
}
# Vecchia conf con Varnish
# location / {
# # First attempt to serve request as file, then
# # as directory, then fall back to displaying a 404.
# #try_files $uri $uri/ =404;
# proxy_pass http://127.0.0.1:80;
# proxy_set_header X-Real-IP $remote_addr;
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# proxy_set_header X-Forwarded-Proto https;
# proxy_set_header X-Forwarded-Port 443;
# proxy_set_header Host $host;
# }
}
##
# IMMAGINI.DESIGNBEST.COM
#
server {
# SSL configuration
#
listen 443 ssl;
listen [::]:443 ssl;
#root /var/www/html;
index index.html index.htm index.nginx-debian.html;
server_name immagini.designbest.com;
ssl_certificate /etc/nginx/ssl/designbest.com_ssl_certificate_bundle.crt;
ssl_certificate_key /etc/nginx/ssl/designbest.com_private_key.key;
error_log /var/log/nginx/immagini.designbest.com/error.log;
#access_log /media/discodati/logs/immagini.designbest.com/access.log;
location ~ ^/(it|fr|de|en) {
limit_req zone=mylimit burst=20 nodelay;
proxy_ssl_server_name on;
proxy_pass https://www.designbest.com;
include /etc/nginx/proxy_params;
limit_req_status 429;
}
location / {
proxy_ssl_server_name on;
proxy_pass https://www.designbest.com;
include /etc/nginx/proxy_params;
}
#location / {
# # Bypasso Varnish per evitare il supercaching
# proxy_pass http://192.168.250.10:80;
# proxy_set_header X-Real-IP $remote_addr;
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# proxy_set_header X-Forwarded-Proto https;
# proxy_set_header X-Forwarded-Port 443;
# proxy_set_header Host $host;
#}
}