Saya tidak ingat awalnya, tapi saat membuka localhost, tidak bisa. Setelah mengecek dengen systemctl status httpd, ternyata ada yang aneh. File mod_authn_default tidak dapat ditemukan. Saya cari dengan locate juga tidak ketemu :/

Setelah menelusuri /var/log/pacman.log, ternyata ada perubahan major version pada apache httpd. Dari versi 2.2 ke 2.4. Dan ada informasi untuk mengecek manual. Selama ini biasanya setiap upgrade selalu saya perhatikan package apa saja yang di-upgrade. Dan stdout yang muncul saat upgrade juga saya baca. Tapi untuk kasus kali ini, terlewat.

Solusi agar daemon dapat kembali diaktifkan sebenarnya cukup mudah. Setiap pacman melakukan upgrade dan ada perubahan file konfigurasi, otomatis akan dibuat file konfigurasi default baru yang berada di lokasi sama, dengan tambahan ekstensi .pacnew. Jadi misalnya konfigurasi apache httpd /etc/httpd/conf/httpd.conf. Maka file barunya adalah /etc/httpd/conf/httpd.conf.pacnew.

Cara paling mudah dengan me-replace langsung file lama dengan yang baru. Tapi bila anda pernah melakukan modifikasi, sebaiknya backup dulu file lama, lalu gunakan tool semacam vimdiff, meld atau kdiff untuk membandingkan sekaligus mengedit file lama.

Setelah konfigurasi diperbaharui, ternyata PHP tidak jalan. Muncul error message seperti berikut

Apache is running a threaded MPM, but your PHP Module is not compiled to be threadsafe.  You need to recompile PHP.
 AH00013: Pre-configuration failed
httpd.service: control process exited, code=exited status=1

Apakah saya harus compile PHP? :/
Bisa sebenarnya. Tapi karena buru-buru, saya memilih untuk menggunakan php-fpm. Kebetulan di sistem saya juga sudah ready nginx + php-fpm. Jadi tinggal sedikit konfigurasi pada /etc/httpd/conf/httpd.conf

# PHP-FPM
<IfModule proxy_fcgi_module>
  ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/srv/http/$1 
</IfModule>

Tadaa… PHP di apache sudah bisa digunakan kembali. Sesuaikan konfigurasi php-fpm anda. Misalnya anda menggunakan port yang berbeda, atau menggunakan unix-socket.

Mungkin nanti akan ada update untuk masalah ini. Stay tune…

UPDATE (March 11, 2014)

Cara untuk load php sebagai module di Apache HTTPD sangat mudah.

Edit file /etc/httpd/conf/httpd.conf

Hapus/ubah/beri tanda comment # pada

LoadModule mpm_event_module modules/mod_mpm_event.so

Ganti dengan

LoadModule mpm_prefork_module modules/mod_mpm_prefork.so

Load PHP module seperti biasa

LoadModule php5_module modules/libphp5.so
<IfModule dir_module>
  <IfModule php5_module>
    DirectoryIndex index.php index.html
    <FilesMatch "\.php$">
      SetHandler application/x-httpd-php
    </FilesMatch>
    <FilesMatch "\.phps$">
      SetHandler application/x-httpd-php-source
    </FilesMatch>
  </IfModule>
</IfModule>

Referensi:

Iklan

Tinggalkan Balasan

Please log in using one of these methods to post your comment:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s