introduzione
phpMyAdmin è un comodo strumento di amministrazione del database MySQL basato sul web che può farti risparmiare un sacco di tempo dalla gestione del database basata sui comandi. In questo articolo, ti mostrerò come installare e proteggere phpMyAdmin sull'app WordPress con un clic.
Prerequisiti
Presumo che tu abbia distribuito un'app WordPress One-Click da zero e abbia effettuato l'accesso come root. Gli utenti non root dovranno utilizzare il sudocomando.
Fase 1: installare phpMyAdmin
Visita il sito Web ufficiale di phpMyAdmin dal tuo browser, fai clic sul collegamento phpMyAdmin-4.4.7-all-languages.tar.bz2per scaricare un file di archivio con lo stesso nome sul tuo computer locale. Quindi caricalo nella directory /var/www/htmlsul tuo VPS con WinSCP o uno strumento SFTP simile.
Decomprimi il file di archivio con i seguenti comandi dal tuo terminale:
cd /var/www/html
tar -jxvf phpMyAdmin-4.4.7-all-languages.tar.bz2
Per proteggere phpMyAdmin da accessi non autorizzati, è necessario rinominare la phpMyAdmindirectory appena creata con un altro nome insolito e privato. Usiamo pmapmaqui.
mv phpMyAdmin-4.4.7-all-languages pmapma
Ora, dobbiamo creare un file di configurazione per phpMyAdmin. Crea una copia del file config.default.phpe rinominalo in config.inc.php:
cd pmapma
cp config.sample.inc.php config.inc.php
Modifica config.inc.phpcon l'editor di testo vi.
vi config.inc.php
Inserisci il segreto del pesce palla, lascia da solo qualsiasi altro parametro.
$cfg['blowfish_secret'] = 'InputRandomCharactersHere';
Sostituisci InputRandomCharactersHerecon qualsiasi carattere, non più di 46 bit, e non lasciarlo vuoto.
Salva ed esci vi.
:wq
Fase tre: concedere le autorizzazioni
Visita http://your_host_IP/pmapmadal tuo browser. Si verificherà un errore di autorizzazione nella directory /var/lib/php/fpm/session/. È possibile correggere l'errore modificando il proprietario di questa directory in nginx.
chown nginx /var/lib/php/fpm/session/
Aggiorna la pagina dal tuo browser, scoprirai che il messaggio di errore è scomparso. Ora puoi accedere con le credenziali di root di MySQL. Puoi ottenerlo dal file /root/.my.cnf.
cat /root/.my.cnf
Fase quattro: proteggere phpMyAdmin
phpMyAdmin è uno strumento potente, non vorresti mai che un utente non autorizzato vi accedesse. Pertanto, possiamo aggiungere un gate di autenticazione aggiuntivo all'interfaccia di accesso phpMyAdmin.
Innanzitutto, devi creare una password crittografata dal tuo terminale.
openssl passwd
Inserisci e conferma la password che desideri utilizzare. Quindi una versione crittografata della password inserita verrà visualizzata sullo schermo. Scrivilo sul foglio, lo useremo più tardi. La password crittografata dovrebbe essere simile a questa:
rs4D8QYVwojBI
Ora, crea un file di autenticazione nella directory di archiviazione del testo cifrato Nginx /etc/nginx/htpasswd/. Useremo il nome del file pmaqui, ricordati di sostituirlo con il tuo nome file.
vi /etc/nginx/htpasswd/pma
Aggiungi il nome utente che desideri utilizzare e la password crittografata che hai appena generato in questo file nel seguente formato.
pmauser:rs4D8QYVwojBI
Ricorda di sostituire il nome utente pmausere la password crittografata rs4D8QYVwojBIcon i tuoi.
Salva ed esci vi.
:wq
Successivamente, è necessario modificare i file vhost in /etc/nginx/conf.d: wordpress_http.confe wordpress_https.conf.
In caso di errore di configurazione, crearne un backup.
cp /etc/nginx/conf.d/*.conf /root/
Nel file wordpress_http.conf, trova il blocco che inizia con location ^~ /wp-admin/ {, dovrebbe essere:
location ^~ /wp-admin/ {
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/htpasswd/wpadmin;
location ~* \.(htaccess|htpasswd) {
deny all;
}
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 php-handler-http;
fastcgi_read_timeout 60s;
}
}
Crea una copia dell'intero blocco proprio sotto di esso, quindi modifica wp-adminnella prima riga in pmapmae wpadminnella terza riga in pma. Non modificare altri contenuti.
location ^~ /pmapma/ {
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/htpasswd/pma;
location ~* \.(htaccess|htpasswd) {
deny all;
}
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 php-handler-http;
fastcgi_read_timeout 60s;
}
}
Ricorda di sostituire il nome della directory pmapmae il nome del file pmacon i tuoi.
Salva ed esci vi.
:wq
Inoltre, è necessario trovare un blocco simile nel file wordpress_https.confe modificare il file nello stesso modo.
Infine, per rendere effettive le modifiche, è necessario riavviare il server Web.
service nginx restart && service php-fpm restart
Questo è tutto. PhpMyAdmin è stato installato e protetto sull'app WordPress Vultr One-Click.