Linux Nginx MySQL PHP (LEMP atau LNMP) adalah sekelompok perangkat lunak open source yang berfungsi untuk menjalankan sebuah website dinamis, yaitu web yang dapat melakukan interaksi dengan pengunjung. LEMP tidak jauh berbeda dengan LAMP (Linux, Apache, MySQL dan PHP) kerena memiliki fungsi yang sama, hanya saja web server apache diganti dengan nginx (Engine X) sehingga berubah singkatannya menjadi LNMP atau LEMP.
Fungsi MySQL sebagai pengelola database sendiri tentu saja dapat anda ganti dengan MariaDB jika anda inginkan. Namun dalam kesempatan ini yang akan saya bahas adalah Cara Install Linux Nginx MySQL dan PHP di Ubuntu 14.04, sehingga MariaDB tidak akan saya bahas dalam artikel ini.
Baiklah, untuk dapat menginstall LEMP di Ubuntu 14.04, silahkan anda ikuti tahapan-tahapan berikut ini :
- Install Nginx
- Sebelum install nginx, saya akan menghapus layanan apache2 terlebih dahulu. Kenapa dihapus? karena saya tidak memerlukannya lagi. Jika anda tidak mau menghapusnya, anda bisa mengganti atau merubah port apache terlebih dahulu atau nanti mengganti port nginx supaya tidak sama-sama bekerja di port 80. Untuk menghapus apache2 silahkan ikuti perintah berikut ini :
sudo apt-get purge apache2* sudo apt-get autoremove -y
- Tahapan selanjutnya menginstall nginx di ubuntu 14.04 anda dengan command :
sudo apt-get install nginx
- Start nginx service dengan perintah :
sudo service nginx start
- Untuk test nginx apakah sudah berhasil anda install dengan benar atau belum silahkan masukan IPVPS atau domainanda.com ke dalam browser anda. Jika anda mendapatkan tampilan selamat datang di nginx, berarti proses instalasi nginx anda berjalan dengan mulus.
- Sebelum install nginx, saya akan menghapus layanan apache2 terlebih dahulu. Kenapa dihapus? karena saya tidak memerlukannya lagi. Jika anda tidak mau menghapusnya, anda bisa mengganti atau merubah port apache terlebih dahulu atau nanti mengganti port nginx supaya tidak sama-sama bekerja di port 80. Untuk menghapus apache2 silahkan ikuti perintah berikut ini :
- Konfigurasi Nginx
- Buka file /etc/nginx/nginx.conf dengan editor kesayangan anda. Saya labih terbiasa menggunakan nano. Pastikan anda sudah install nano di server anda atau silahkan anda gunakan editor default vim / vi.
sudo nano /etc/nginx/nginx.conf
Aturlah worker_processes tergantung berapa CPU yang terdapat dalam server anda. Untuk mengeceknya silahkan gunakan command lscpu dan ternyata dalam server saya hanya terdapat 1 CPU, sehingga saya atur worker_processes menjadi 1. Jangan lupa anda simpan hasil pengaturan anda sebelum anda keluar dari pengeditan file tersebut.worker_processes 1;
- Restart nginx service :
sudo service nginx restart
- Selanjutnya bukalah default vhost nginx yang terdapat di /etc/nginx/sites-available/default dengan editor pilihan anda.
sudo nano /etc/nginx/sites-available/default
Edit menjadi seperti berikut ini :server { listen 80; #listen [::]:80 default_server ipv6only=on; root /usr/share/nginx/html; index index.php index.html index.htm; server_name server_domain_name_or_IP; 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; } }
Silahkan anda ikuti pengaturan seperti diatas. Untuk server_domain_name_or_IP silahkan anda ganti dengan domain anda atau IP server anda. Simpan pengaturan tersebut dan exit (crtl+x) Untuk settingan lain yang selain dituliskan diatas silahkan biarkan saja default, tak perlu dihapus. - Test konfigurasi yang telah anda rubah tersebut dengan :
sudo nginx -t
Jika sukses, outputnya seperti berikut ini :nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
- Restart nginx :
sudo service nginx restart
- Buka file /etc/nginx/nginx.conf dengan editor kesayangan anda. Saya labih terbiasa menggunakan nano. Pastikan anda sudah install nano di server anda atau silahkan anda gunakan editor default vim / vi.
- MySQL
- Install MySQL dengan command :
sudo apt-get install mysql-server
- Selanjutnya lakukan perintah ini :
sudo mysql_install_db
- Demi alasan keamanan, silahkan anda hilangkan saja pengaturan keamanan bawaan dengan perintah :
sudo mysql_secure_installation
- Saat pertama nanti muncul dialog untuk memasukkan password root MySQL, ketik aja password yang kita buat tadi trus
Enter
.Enter current password for root (Enter for none) :
Langkah selanjutnya, setiap ada pertanyaan jawab sama dengan yang dibawah ini, yang berwarna merah:NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! In order to log into MySQL to secure it, we'll need the current password for the root user. If you've just installed MySQL, and you haven't set the root password yet, the password will be blank, so you should just press enter here. Enter current password for root (enter for none): OK, successfully used password, moving on... Setting the root password ensures that nobody can log into the MySQL root user without the proper authorisation. You already have a root password set, so you can safely answer 'n'. Change the root password? [Y/n] n ... skipping. By default, a MySQL installation has an anonymous user, allowing anyone to log into MySQL without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? [Y/n] y ... Success! Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n] y ... Success! By default, MySQL comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? [Y/n] y - Dropping test database... ERROR 1008 (HY000) at line 1: Can't drop database 'test'; database doesn't exist ... Failed! Not critical, keep moving... - Removing privileges on test database... ... Success! Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n] y ... Success! Cleaning up... All done! If you've completed all of the above steps, your MySQL installation should now be secure. Thanks for using MySQL!
- Install MySQL dengan command :
- PHP
- Install PHP :
sudo apt-get install php5-fpm php5-mysql
- Konfigurasi PHP Processor :
sudo nano /etc/php5/fpm/php.ini
Temukan cgi.fix_pathinfo=1. Jika susah ditemukan, cari dengan ctrl+w kemudian masukan cgi.fix_pathinfo=1. Jika terdapat tanda pagar sebelum cgi.fix_pathinfo=1, silahkan anda hilangkan dan ganti angka 1 menjadi 0. Seperti berikut ini :cgi.fix_pathinfo=0
Simpan pengaturan tersebut (ctrl+x). - Selanjutnya restart PHP processor :
sudo service php5-fpm restart
- Buatlah file baru bernama info.php yang akan digunakan untuk test pengaturan yang telah anda buat.
sudo nano /usr/share/nginx/html/info.php
Masukkan kode berikut :<?php phpinfo(); ?>
Save dan Exit (Ctrl+x) - Untuk melakukan pengecekan, silahkan anda masukan IPVPS/info.php atau domainanda.com/info.php di browser anda. Jika sukses, tampilannya seperti gambar berikut ini :
- Install PHP :
Tidak ada komentar:
Posting Komentar