Questo articolo descrive come controllare la configurazione Linux® per Secure Shell (SSH), Apache® e Nginx®, che aiuta a risolvere gli errori. Ad esempio, potresti apportare una modifica a un file di configurazione e introdurre un errore di sintassi. Di conseguenza, quando riavvii o ricarichi il servizio, viene visualizzato un errore e non si riavvia, provocando tempi di inattività.
SSH
Puoi trovare il file di configurazione SSH in /etc/ssh/sshd_config . Dopo aver modificato il file di configurazione, eseguire il comando sshd -t
per verificare la configurazione. Se la configurazione presenta errori, viene visualizzato il seguente messaggio di errore:
# sshd -t
/etc/ssh/sshd_config: line 17: Bad configuration option: ZPort
/etc/ssh/sshd_config: terminating, 1 bad configuration options
Se non ci sono errori, non viene visualizzato nulla quando esegui il comando.
Apache
Il comando di controllo della sintassi controlla il file di configurazione Apache predefinito e tutti gli host virtuali (vhost) che hai configurato sul server. Per controllare la sintassi, esegui httpd -t
o apache2ctl -t
per il sistema operativo Ubuntu® e Debian®. Se si verifica un errore con il controllo della sintassi, il messaggio di errore visualizza un output simile al seguente esempio:
# httpd -t
AH00112: Warning: DocumentRoot [/var/www/test.com/httpdocs] does not exist
AH00526: Syntax error on line 3 of /etc/httpd/conf.d/test.conf:
ServerName takes one argument, The hostname and port of the server
Se non ci sono errori, viene visualizzato il messaggio Syntax OK
visualizza. Anche se non ci sono vhost sul server, il controllo della sintassi mostra ancora Syntax OK
quando la sintassi per il file di configurazione predefinito per Apache è corretta.
Nginx
I controlli della sintassi di Nginx si comportano in modo diverso rispetto ad Apache. Per verificare la sintassi della configurazione Nginx predefinita, eseguire il comando nginx -t
. Tuttavia, se vuoi controllare la sintassi di un blocco di server specifico, devi aggiungere il -c
contrassegnare e specificare il percorso del blocco server come mostrato nell'esempio seguente:
[root@localhost ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@localhost ~]# nginx -t -c /etc/nginx/conf.d/test.com.conf
nginx: [emerg] "server" directive is not allowed here in /etc/nginx/conf.d/test.com.conf:1
nginx: configuration file /etc/nginx/conf.d/test.com.conf test failed