Artikel ini menjelaskan cara memeriksa konfigurasi Linux® untuk Secure Shell (SSH), Apache®, dan Nginx®, yang membantu Anda memecahkan masalah kesalahan. Misalnya, Anda mungkin membuat perubahan pada file konfigurasi dan menyebabkan kesalahan sintaksis. Akibatnya, saat Anda memulai ulang atau memuat ulang layanan, ini menunjukkan kesalahan dan gagal memulai ulang, yang mengakibatkan waktu henti.
SSH
Anda dapat menemukan file konfigurasi SSH di /etc/ssh/sshd_config . Setelah Anda mengubah file konfigurasi, jalankan perintah sshd -t
untuk memeriksa konfigurasi. Jika konfigurasi memiliki kesalahan, pesan kesalahan berikut akan ditampilkan:
# sshd -t
/etc/ssh/sshd_config: line 17: Bad configuration option: ZPort
/etc/ssh/sshd_config: terminating, 1 bad configuration options
Jika tidak ada kesalahan, tidak ada yang ditampilkan saat Anda menjalankan perintah.
Apache
Perintah pemeriksaan sintaks memeriksa file konfigurasi Apache default dan semua host virtual (vhost) yang telah Anda konfigurasikan di server. Untuk memeriksa sintaks, jalankan httpd -t
atau apache2ctl -t
untuk sistem operasi Ubuntu® dan Debian®. Jika ada kesalahan dengan pemeriksaan sintaks, pesan kesalahan menampilkan output yang mirip dengan contoh berikut:
# 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
Jika tidak ada kesalahan, pesan Syntax OK
menampilkan. Meskipun tidak ada vhost di server, pemeriksaan sintaks tetap menampilkan Syntax OK
ketika sintaks untuk file konfigurasi default untuk Apache sudah benar.
Nginx
Pemeriksaan sintaks Nginx berperilaku berbeda dari Apache. Untuk memeriksa sintaks konfigurasi default Nginx, jalankan perintah nginx -t
. Namun, jika Anda ingin memeriksa sintaks dari blok server tertentu, Anda perlu menambahkan -c
tandai dan tentukan jalur ke blok server seperti yang ditunjukkan pada contoh berikut:
[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