Instal dan Konfigurasi LEMP di IGN

Setelah beberapa waktu lalu mencoba menginstal dan mengkonfigurasi LAMP maka sekarang mencoba menggunakan Nginx sebagai alternatif web server pengganti Apache. LEMP adalah singkatan dari Linux Engine-X MariaDB & PHP/PHPMyAdmin.
Apa itu Nginx? Silakan searching google 😀
Kenapa Nginx? Inti : lebih ringan, resource yang sedikit dan komen dari founder KelasKita.com untuk mencoba Nginx.

0.  Berikut tahap-tahap instalasinya : (pastikan terkoneksi internet)

0.1.  Pertama instalasi MariaDB terlebih dahulu

$  sudo yum install MariaDB-client MariaDB-server
$  sudo service mysql start
$  sudo /usr/bin/mysql_secure_installation

Set root password? [Y/n] y

Remove anonymous users? [Y/n] y

Disallow root login remotely? [Y/n] y

Remove test database and access to it? [Y/n] y

Reload privilege tables now? [Y/n] y

Thanks for using MariaDB!

0.2.  Instal Nginx dan PHP-FPM

$  sudo yum install nginx php-fpm php-common
$  sudo service nginx start
$  sudo systemctl enable nginx
$  sudo service php-fpm start
$  sudo systemctl enable php-fpm

0.3.  Instal modul PHP

$  sudo yum install php-pecl-apcu php-cli php-pear php-pdo php-mysqlnd php-pgsql php-pecl-mongo php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml

1.  Tahap konfigurasi

1.1.  Konfigurasi Nginx

Nginx sudah langsung dapat diakses lewat web browser dengan mengetikkan localhost tetapi karena halaman depan yang ditampilkan menunjukkan path dan nama file konfigurasi maka akan diganti demi keamanan, CMIIW. Akan diganti root directory ke /home/igos/www/public_html. Berikut caranya :

$  sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.old
$  sudo nano /etc/nginx/nginx.conf

Ganti, tambah dan sesuaikan dengan bagian di bawah ini,

user igos nginx;
worker_processes 2;

server {
listen 80;
server_name localhost;
root /home/igos/www/public_html;

location ~ \.php$ {
root /home/igos/www/public_html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
include fastcgi_params;
}

$  mkdir -p /home/igos/www/public_html
$  chmod 711 /home/igos
$  chmod 755 /home/igos/www/public_html
$  echo “hello” > /home/igos/www/public_html/index.html
$  echo “<?php phpinfo(); ?>” > /home/igos/www/public_html/info.php
$  sudo service nginx restart

Akses : http://localhost dan http://localhost/info.php

Gambar-Layar-localhost - Google Chrome

Gambar-Layar-phpinfo() - Google Chrome-1

Jika sudah berhasil seperti screenshot di atas maka konfigurasi nginx berhasil.

1.2.  Konfigurasi phpMyAdmin

Perlukah? Orang awam seperti saya jelas perlu tapi belajar lewat terminal lebih greget, berikut caranya :

$  sudo yum install phpmyadmin

Karena instalasi phpMyAdmin ini ikut menginstal httpd (apache) maka jangan diaktifkan kecuali jika menggunakan port yang berbeda.

$  sudo cp /etc/phpMyAdmin/config.inc.php /etc/phpMyAdmin/config.inc.php.old
$  sudo nano /etc/phpMyAdmin/config.inc.php

Ganti dan sesuaikan dengan bagian di bawah ini,

$cfg[‘blowfish_secret’] = ‘isi_password_mysql‘;
$cfg[‘Servers’][$i][‘auth_type’]     = ‘cookie’;

$  sudo service php-fpm restart
$  sudo ln -s /usr/share/phpMyAdmin /home/igos/www/public_html/phpmyadmin
$  sudo nano /etc/nginx/nginx.conf

Tambahkan dengan bagian di bawah ini sebelum # proxy the PHP scripts to Apache listening on 127.0.0.1:80

location /phpmyadmin/ {
index index.php index.html index.htm;
}

$  sudo service nginx restart

Akses : http://localhost/phpmyadmin

Gambar-Layar-phpMyAdmin - Google Chrome

Coba login dan buat database, jika bisa maka konfigurasi phpMyAdmin berhasil. Untuk mengoptimalkan nginx+php-fpm silakan baca di blog ini.

Extras :
2.  Mengaktifkan userdir di nginx

2.1.  Mengaktifkan userdir seperti di modul httpd (apache) dengan cara akses http://localhost/~igos. Cara ini diambil dari wiki igos nusantara.

$  sudo nano /etc/nginx/conf.d/userdir.conf

Isi dengan bagian di bawah ini,

server
{
server_name localhost;

# Userdir untuk berkas .php
location ~ ^/~([^/]+)/(.+\.php)$ {
if (!-f /home/$1/public_html/$2) {
rewrite ^ 404;
}
alias /home/$1/public_html/$2;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $request_filename;
include fastcgi_params;
}

# Userdir untuk berkas static
location ~ ^/~([^/]+)(/.*)?$ {
alias /home/$1/public_html$2;
autoindex on;
}
}

$  sudo chmod 701 /home/igos
$  mkdir /home/igos/public_html
$  echo “<?php phpinfo(); ?>” > ~/public_html/info.php
$  sudo service nginx restart

Akses : http://localhost/~igos/info.php

Gambar-Layar-phpinfo() - Google Chrome

Catatan :

  • Memindah root directory ke /home/igos/www/public_html dengan tujuan akan memudahkan dalam melakukan read write execute file php.
  • Path /home/igos/www/public_html dapat disesuaikan tidak harus sama dengan konfigurasi di atas.
  • Setelah mencoba konfigurasi 1 & 2 bersama-sama terjadi kebingungan oleh nginx yaitu ketika akses http://localhost akan kembali menampilkan file index.html dari /usr/share/nginx/html.

Referensi :

Advertisements

One thought on “Instal dan Konfigurasi LEMP di IGN

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s