Install phpMyAdmin dengan Nginx dan hhvm Centos

Nginx dan HHVM adalah 2 aplikasi untuk web server yang sudah tidak diragukan lagi performanya. Namun ada kalanya terjadi kesulitan saat ingin menginstall sesuatu dari repository karena tidak kompatibel dengan nginx, termasuk saat menginstall phpmyadmin ini.

Pada tutorial kali ini, instalasi phpMyAdmin dilakukan dari repository, dan hhvm brjalan di port 9000. Penulis berasumsi bahwa nginx dan hhvm sudah terinstal dengan baik. Selain itu, penulis juga berasumsi bahwa tidak ada virtualhost di nginx.

Yang pertama kali dilakukan adalah menginstall phpmyadmin

yum install epel-repository
yum install phpmyadmin

Setelah terinstall, maka folder tempat source code phpmyadmin berada di /usr/share/phpmyadmin . dan  file konfigurasi phpmyadmin ada di /etc/httpd/conf.d/phpMyAdmin.conf . Inilah mengapa nginx dan phpMyAdmin tidak bisa langsung digunakan, dan harus dikonfigurasi lebih lanjut.

Hal pertama yang harus dilakukan adalah memberikan hak akses kepada nginx agar bisa mengakses file dari phpmyadmin

chown -R nginx:nginx /usr/share/phpMyAdmin

setelah itu, kita “link” folder phpMyAdmin di atas ke folder default dari nginx.

ln -s /usr/share/phpMyAdmin /usr/share/nginx/html/phpmyadmin

Dan langkah terakhir yang juga langkah optional, bila phpmyadmin ingin bisa diakses secara remote, pastikan setting /etc/httpd/conf.d/phpMyAdmin.conf  di blok <Directory /usr/share/phpMyAdmin/>  dan <Directory /usr/share/phpMyAdmin/setup/> kurang lebih menjadi seperti berikut

<Directory /usr/share/phpMyAdmin/>
   AddDefaultCharset UTF-8
   <IfModule mod_authz_core.c>
     # Apache 2.4
     <RequireAny>
       #Require ip 127.0.0.1 0.0.0.0
       #Require ip ::1
        Require all granted
     </RequireAny>
   </IfModule>
   <IfModule !mod_authz_core.c>
     # Apache 2.2
     Order Deny,Allow
     Deny from All
     Allow from 127.0.0.1
     Allow from ::1
   </IfModule>
</Directory>


<Directory /usr/share/phpMyAdmin/setup/>
   <IfModule mod_authz_core.c>
   # Apache 2.4
   <RequireAny>
      # Require ip 127.0.0.1 0.0.0.0
      # Require ip ::1
      Require all granted
   </RequireAny>
  </IfModule>
 <IfModule !mod_authz_core.c>
 # Apache 2.2
 Order Deny,Allow
 Deny from All
 Allow from 127.0.0.1
 Allow from ::1
 </IfModule>
</Directory>

phpMyAdmin dapat diakses melalui http://ip-server/phpmyadmin

Apabila masih belum berhasil diinstall, cek /etc/nginx/nginx.conf dan pastikan blok server memiliki konfigurasi kurang lebih seperti berikut:

    server {
        listen       80 default_server;
        listen       [::]:80 default_server;
        server_name  _;
        root         /usr/share/nginx/html;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        index  index.php index.html index.htm;

        location / {
        }

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
        location ~ .php$ {
            try_files $uri =404;
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
            fastcgi_buffer_size 128k;
            fastcgi_buffers 256 4k;
            fastcgi_busy_buffers_size 256k;
            fastcgi_temp_file_write_size 256k;
        }
    }
}

Dan seharusnya phpmyadmin sudah berjalan dengan baik, dan tetap akan mendapatkan update dari repository 🙂

1 Comment

  1. fajar sodik

    Nnti tak jajal om

Leave A Comment