Dove possiamo trovare i log delle operazioni del nostro sito? Conoscere questa procedura è fondamentale per una serie di ragioni, tra cui quella di effettuare il debug di un blog in WordPress o Drupal, ad esempio, alla ricerca di eventuali problemi causa di errori imprevisti nel sito, rallentamenti e così via.
Le operazioni che MySql e Apache effettuano, fino a prova contraria, non vengono loggate se non lo si specifica all’interno dei rispettivi file di configurazione: utilizzando Linux tutte queste operazioni avvengono all’interno di file di testo appositi, scritti in chiaro e modificabili dall’utente in modo da garantire il pieno controllo della macchina server. Quindi anzitutto bisognerà capire in primis come abilitare questa caratteristica, e succesivamente dove il sistema tracci le operazioni eseguite dall’uno e dall’altro.
Come abilitare i log di MySql e Apache
Per effettuare il log a scopo di debug delle operazioni effettuate sul database, è sufficente effettuare il login nella sessione SSH (ci serviranno ovviamente le credenziali di accesso, username e password) e una volta entrati nel sistema remoto digitare:
pico /etc/mysql/my.cnf
oppure
pico /etc/mysql/my.cnf
ed aggiungere la riga all’interno del file in questione:
log=/var/log/mysql.log
in corrispondenza della sezione del file denominata [mysql]. A seconda delle distribuzioni Linux (CentOS, Debian o altre) il file my.cnf sarà localizzato in differenti sezioni del filesystem, che potremo trovare facilmente digitando:
find / -name my.cnf
che restituirà il path di interesse (ad esempio su macchina Debian è /etc/mysql/my.cnf):
root@debian:~# find / -name my.cnf /etc/mysql/my.cnf
Per abilitare le modifiche ricordiamoci, infine, di riavviare il server MySql:
/etc/init.d/mysql restart
oppure
service mysql restart
Per quanto riguarda Apache, invece, i file di errore si trovano alle seguenti locazioni tipiche:
- RHEL / Red Hat / CentOS / Fedora Linux : /var/log/httpd/error_log
- Debian / Ubuntu Linux : /var/log/apache2/error.log
- FreeBSD : /var/log/httpd-error.log
e si possono editare alle seguenti locazioni:
pico /usr/local/etc/apache22/httpd.conf pico /etc/apache2/apache2.conf pico /etc/httpd/conf/httpd.conf
avendo cura di accertarsi che sia presente nei suddetti file .conf una riga tipo:
ErrorLog "/var/log/httpd-error.log" #il path ed il nome del file cambiano a seconda delle versioni di Linux
ovvero che inizia con ErrorLog, e di riavviare Apache per confermare le modifiche:
service apache2 restart
oppure
service httpd restart
Dove leggere (e trovare) i log di MySql e Apache
Normalmente, dunque, troveremo i log all’interno dei file che abbiamo specificato al punto precedente:
- per MySql:
/etc/my.cnf /etc/mysql/my.cnf
-
per Apache:
pico /usr/local/etc/apache22/httpd.conf pico /etc/apache2/apache2.conf pico /etc/httpd/conf/httpd.conf