CGI - Antarmuka Gerbang Umum
Apache dapat dikonfigurasi untuk memanggil juru bahasa php sebagai program cgi. Ini berarti biner php-cgi harus dijalankan secara eksternal dan skrip php akan dieksekusi olehnya dan output akan diteruskan kembali ke Apache. Ini adalah salah satu cara menjalankan php dengan apache. Metode lain termasuk modul bersama, fastcgi dll. Baca posting saya sebelumnya di apis server php untuk mempelajari lebih lanjut tentang berbagai opsi untuk menjalankan php dengan apache.
Karena dalam mode cgi, php dijalankan secara terpisah, dimungkinkan untuk menggunakan mpm apache berulir seperti pekerja. Dalam posting ini kita akan mengatur apache dan php bersama-sama melalui cgi.
Instal paket
Paket-paket yang diperlukan untuk menginstal termasuk, apache, mpm worker, php5, php cgi. Instal semuanya sekaligus menggunakan perintah apt-get
# sudo apt-get install apache2 apache2-mpm-worker php5 php5-cgi
Aktifkan tindakan mod di Apache.
$ sudo a2enmod actions
Jika Anda sudah menginstal apache dan php dengan mod php, maka Anda harus menonaktifkan mod php terlebih dahulu
$ sudo a2dismod php5
Konfigurasi Apache
Sekarang konfigurasikan Apache untuk menjalankan php sebagai cgi. Konfigurasi dilakukan di blok vhost yang relevan.
File konfigurasi virtual host Apache terletak di lokasi berikut
/etc/apache2/sites-enabled/
File vhost default adalah 000-default.conf yang ada di sebagian besar sistem.
Beberapa arahan yang diperlukan harus ditambahkan di blok direktori kanan dalam file konfigurasi yang akan memberi tahu apache untuk menggunakan biner php-cgi untuk menjalankan file yang diakhiri dengan ".php".
Arahannya adalah AddHandler, Action dan ScriptAlias. Konfigurasi minimal terlihat seperti ini
<Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all AddHandler cgi-handler .php Action cgi-handler /local-bin/php-cgi </Directory> ScriptAlias /local-bin /usr/bin
Baris AddHandler mendeklarasikan handler yang disebut cgi-handler untuk file .php. Ini bisa dinamai apa saja.
Baris Action memberitahu apache untuk menjalankan cgi-handler menggunakan program /local-bin/php-cgi, yang merupakan biner php cgi. Sekarang jalan ini tidak nyata.
Baris ScriptAlias memetakan /local-bin ke /usr/bin. Jadi path /local-bin/php-cgi menjadi /usr/bin/php-cgi yang merupakan jalur sebenarnya dari biner php-cgi di ubuntu/debian.
Sekarang restart apache
# service apache2 restart
Letakkan file php dengan phpinfo() di root web dan buka dari browser. Server API akan dilaporkan sebagai "CGI/FastCGI".