Panduan cara install Nginx, MySQL dan PHP (LEMP stack) di Ubuntu 14.04 LTS. Tersedia tutorial untuk versi Linux yang lain, silahkan baca:
- Cara install LEMP stack di Ubuntu 18
- Cara install LEMP stack di CentOS 6
- Cara install LEMP stack di CentOS 7
Install MySQL
Update sistem apt-get update -y
lalu, proses instalasi MySQL dan konfigurasi dengan langkah berikut
apt-get install mysql-server -y && service mysql start
Kemudian akan muncul dialog yang meminta password baru untuk akun root
, seperti screenshot di bawah ini, langsung saja ketik password yang anda inginkan, dilanjut tekan Enter
.
Ketik ulang password yang sama kemudian Enter
,
Selanjutnya selesaikan dengan mysql_secure_installation
, ketik perintah berikut:
mysql_secure_installation
Saat pertama nanti muncul dialog untuk memasukkan password root
MySQL, ketik password yang kita buat tadi dan Enter
.
Enter current password for root (Enter for none) :
Selanjutnya ada beberapa pertanyaan yang harus dijawab, perhatikan dan sesuaikan seperti contoh dibawah ini, yang berwarna merah:
Change the root password? [Y/n] n
... skipping.
Remove anonymous users? [Y/n] y
... Success!
Disallow root login remotely? [Y/n] y
... Success!
Remove test database and access to it? [Y/n] y
- Dropping test database...
Reload privilege tables now? [Y/n] y
... Success!
Thanks for using MySQL!
Install PHP
Instalasi PHP beserta modul MySQL. Eksekusi perintah berikut untuk menginstall modul PHP yang umum digunakan.
apt-get install php5-fpm php5-mysq php-apc php-pear php-soap php5-gd php5-imagick php5-imap php5-ldap php5-odbc php5-xmlrpc php5-mcrypt php5-mssql php5-curl -y
Konfigurasi PHP
Buka file konfigurasi PHP /etc/php5/fpm/php.ini
nano /etc/php5/fpm/php.ini
Temukan bagian ini, dan sesuaikan
cgi.fix_pathinfo = 0
date.timezone = Asia/Jakarta
expose_php = Off
Install Nginx
Stop service dan hapus Apache2.
/etc/init.d/apache2 stop && apt-get remove apache2* -y && apt-get autoremove
apt-get install nginx -y
Start Nginx service
Selesai instalasi nginx, ketik perintah berikut untuk menjalankan Nginx
service nginx start
Buka browser, ketik http://ipserver
tampilan awalnya kira-kira seperti ini:
Welcome to nginx!
Konfigurasi Nginx
Buka file /etc/nginx/sites-available/default
sesuaikan, lihat yang berwarna merah
server { listen 80 default_server; listen [::]:80 default_server ipv6only=on; root /usr/share/nginx/html; index index.php index.html index.htm; server_name idnetter.com; location / { try_files $uri $uri/ =404; } error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } location ~ \.php$ { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
Restart service
Restart Nginx dan php-fpm
service php5-fpm restart
service nginx restart
Test
Buat file baru info.php
pada direktori utama website yaitu di: /usr/share/nginx/html
nano /usr/share/nginx/html/info.php
Tambahkan kode berikut:
<?php phpinfo();
Ctrl+X
kemudian ketik y
dan tekan Enter
Cek kembali dengan mengakses http://ip-server/info.php
Selesai, selamat mencoba.