GNU/Linux >> Belajar Linux >  >> Linux

9 Tips Menggunakan Apachectl dan Httpd seperti Power User

Setelah Anda menginstal Apache2, jika Anda ingin menggunakan apachectl dan httpd secara maksimal, Anda harus melampaui menggunakan start, stop dan restart. 9 contoh praktis yang disediakan dalam artikel ini akan membantu Anda menggunakan apachectl dan httpd dengan sangat efektif.

Apachectl bertindak sebagai skrip init SysV, mengambil argumen seperti start, stop, restart, dan status. Itu juga bertindak sebagai front-end ke perintah httpd, dengan hanya meneruskan argumen baris perintah ke httpd. Jadi, semua perintah yang Anda jalankan menggunakan apachectl, juga dapat dieksekusi secara langsung dengan memanggil httpd.

1. Berikan nama file httpd.conf yang berbeda ke apachectl

Biasanya Anda akan memodifikasi httpd.conf asli untuk mencoba berbagai arahan Apache. Jika sesuatu tidak berhasil, Anda akan mengembalikan perubahan. Alih-alih bermain-main dengan httpd.conf asli, salin ke httpd.conf.debug baru dan gunakan file httpd.conf.debug baru ini dengan Apache untuk tujuan pengujian seperti yang ditunjukkan di bawah ini menggunakan opsi -f.

# apachectl -f conf/httpd.conf.debug
# httpd -k start -f conf/httpd.conf.debug
[Note: you can use either apachectl or httpd as shown above]

# ps -ef | grep http
root   25080     1  0 23:26 00:00:00 /usr/sbin/httpd -f conf/httpd.conf.debug
apache 25099 25080  0 23:28 00:00:00 /usr/sbin/httpd -f conf/httpd.conf.debug
[Note: ps shows the httpd running with httpd.conf.debug file]

Setelah Anda puas dengan perubahan dan Apache berjalan tanpa masalah dengan httpd.conf.debug,  Anda dapat menyalin perubahan ke httpd.conf dan menjalankan Apache secara normal seperti yang ditunjukkan di bawah ini.

# cp httpd.conf.debug httpd.conf
# apachectl stop
# apachectl start

# ps -ef | grep httpd
root     25114     1  0 23:28 00:00:00 /usr/sbin/httpd -k start
daemon   25115 25114  0 23:28 00:00:00 /usr/sbin/httpd -k start
[Note: ps indicates that the httpd is running using the default config file]

2. Gunakan DocumentRoot sementara tanpa mengubah httpd.conf

Ini sangat membantu, ketika Anda mencoba tata letak yang berbeda untuk situs web Anda dan tidak ingin mengubah file asli di bawah DocumentRoot default. Ambil salinan direktori DocumentRoot asli Anda (/var/www/html) ke direktori DocumentRoot sementara yang baru (/var/www/html_debug). Buat semua perubahan Anda di bawah direktori DocumentRoot sementara ini (/var/www/html_debug) dan mulai Apache dengan direktori sementara ini seperti yang ditunjukkan di bawah ini menggunakan opsi -c.

# httpd -k start -c "DocumentRoot /var/www/html_debug/"

Jika Anda ingin kembali ke konfigurasi awal menggunakan DocumentRoot default (/var/www/html), cukup restart Apache seperti yang ditunjukkan di bawah ini.

# httpd -k stop
# apachectl start

3. Tingkatkan LogLevel sementara

Saat Anda men-debug masalah, Anda dapat mengubah LogLevel Apache untuk sementara, tanpa mengubah direktif LogLevel di httpd.conf seperti yang ditunjukkan di bawah ini menggunakan opsi -e. Dalam contoh ini, LogLevel diatur ke debug.

# httpd -k start -e debug
[Sun Aug 17 13:53:06 2008] [debug] mod_so.c(246): loaded module auth_basic_module
[Sun Aug 17 13:53:06 2008] [debug] mod_so.c(246): loaded module auth_digest_module

Kemungkinan nilai yang dapat Anda berikan ke option -e adalah:debug, info, pemberitahuan, peringatan, kesalahan, kritik, peringatan, muncul

4. Tampilkan modul yang dikompilasi di dalam Apache menggunakan opsi -l

# httpd -l
Compiled in modules:
core.c
prefork.c
http_core.c
mod_so.c

5. Menampilkan modul statis dan dinamis yang dimuat oleh Apache

Ketika Anda melewati opsi -l, ke httpd, itu hanya akan menampilkan modul statis. Melewati opsi -M, akan menampilkan modul statis dan modul bersama seperti yang ditunjukkan di bawah ini.

# httpd -M
Loaded Modules:
core_module (static)
mpm_prefork_module (static)
http_module (static)
so_module (static)
auth_basic_module (shared)
auth_digest_module (shared)
authn_file_module (shared)
authn_alias_module (shared)
Syntax OK

6. Tampilkan semua arahan yang diterima di dalam httpd.conf

Ini seperti bantuan tambahan untuk httpd, yang akan menampilkan semua direktif httpd.conf dan tempat di mana mereka valid. Untuk direktif tertentu, ia memberi tahu semua nilai yang mungkin dan di mana ia dapat digunakan di dalam httpd.conf. Ini bisa sangat membantu, ketika Anda ingin mengetahui dengan cepat tentang direktif Apache tertentu.

# httpd -L
HostnameLookups (core.c)
"on" to enable, "off" to disable reverse DNS lookups, or "double" to enable double-reverse DNS lookups
Allowed in *.conf anywhere

ServerLimit (prefork.c)
Maximum value of MaxClients for this run of Apache
Allowed in *.conf only outside <Directory>, <Files> or <Location>

KeepAlive (http_core.c)
Whether persistent connections should be On or Off
Allowed in *.conf only outside <Directory>, <Files> or <Location>

LoadModule (mod_so.c)
a module name and the name of a shared object file to load it from
Allowed in *.conf only outside <Directory>, <Files> or <Location>

7. Validasi httpd.conf setelah melakukan perubahan

Gunakan opsi -t untuk memvalidasi apakah ada masalah dengan file konfigurasi Apache tertentu. Pada contoh di bawah ini, ini menampilkan bahwa ada masalah pada baris 148 di httpd.conf.debug. mod_auth_basicso tidak memiliki file . (titik) sebelum itu.

# httpd -t -f conf/httpd.conf.debug
httpd: Syntax error on line 148 of /etc/httpd/conf/httpd.conf.debug:
Cannot load /etc/httpd/modules/mod_auth_basicso into server:
/etc/httpd/modules/mod_auth_basicso: cannot open shared object file: No such file or directory

Setelah Anda memperbaiki masalah, itu akan menampilkan Sintaks OK .

# httpd -t -f conf/httpd.conf.debug
Syntax OK

8. Tampilkan parameter pembuatan httpd

Gunakan opsi -V (huruf besar V), untuk menampilkan nomor versi Apache dan semua parameter yang digunakan saat membangun Apache.

# httpd -V
Server version: Apache/2.2.9 (Unix)
Server built:   Jul 14 2008 15:36:56
Server's Module Magic Number: 20051115:15
Server loaded:  APR 1.2.12, APR-Util 1.2.12
Compiled using: APR 1.2.12, APR-Util 1.2.12
Architecture:   32-bit
Server MPM:     Prefork
threaded:     no
forked:     yes (variable process count)
Server compiled with....
-D APACHE_MPM_DIR="server/mpm/prefork"
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
-D APR_USE_SYSVSEM_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D DYNAMIC_MODULE_LIMIT=128
-D HTTPD_ROOT="/etc/httpd"
-D SUEXEC_BIN="/usr/sbin/suexec"
-D DEFAULT_PIDLOG="logs/httpd.pid"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_LOCKFILE="logs/accept.lock"
-D DEFAULT_ERRORLOG="logs/error_log"
-D AP_TYPES_CONFIG_FILE="conf/mime.types"
-D SERVER_CONFIG_FILE="conf/httpd.conf"

Jika Anda hanya ingin menampilkan nomor versi Apache, gunakan opsi -v (huruf kecil v) seperti yang ditunjukkan di bawah ini.

# httpd -v
Server version: Apache/2.2.9 (Unix)
Server built:   Jul 14 2008 15:36:56

9. Muat modul tertentu hanya sesuai permintaan.

Terkadang Anda mungkin tidak ingin memuat semua modul di Apache. Untuk misalnya Anda mungkin ingin memuat modul terkait ldap ke Apache, hanya saat Anda menguji LDAP. Ini dapat dicapai seperti yang ditunjukkan di bawah ini.

Ubah httpd.conf dan tambahkan IfDefine direktif yang disebut load-ldap (Anda dapat memberi nama apa pun yang Anda inginkan).

<IfDefine load-ldap>
LoadModule ldap_module modules/mod_ldap.so
LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
</IfDefine>

Saat Anda menguji ldap dan ingin memuat modul terkait ldap, teruskan load-ldap ke Option -D, seperti yang ditunjukkan di bawah ini:

# httpd -k start -e debug -Dload-ldap -f /etc/httpd/conf/httpd.conf.debug
[Sun Aug 17 14:14:58 2008] [debug] mod_so.c(246): loaded module ldap_module
[Sun Aug 17 14:14:58 2008] [debug] mod_so.c(246): loaded module authnz_ldap_module
[Note: Pass -Dload-ldap, to load the ldap modules into Apache]

# apachectl start
[Note: Start the Apache normally, if you don't want to load the ldap modules.]

Jika Anda menyukai artikel ini, silakan bookmark di del.icio.us, Digg and Stumble menggunakan tautan yang disediakan di bawah di bagian 'Apa Selanjutnya?'.


Linux
  1. Cara Menginstal Dan Menggunakan Flatpak Di Linux

  2. Gunakan TLP untuk Meningkatkan dan Mengoptimalkan Masa Pakai Baterai Laptop Linux dengan Cepat – Tecmint

  3. ERROR 403 dalam memuat sumber daya seperti CSS dan JS di index.php saya

  1. Saya pengguna POWER

  2. Instal dan gunakan perintah Wget seperti pro (13 tips)

  3. Gunakan Perintah Grep Dan Cari?

  1. Cara Menginstal dan Menggunakan Powertop di Ubuntu 16.04/20.04

  2. Cara Menggunakan APT dengan Proxy di Ubuntu dan Debian

  3. Gunakan SFTP dan SCP