Assalamu'alaikum wr. wb.
Alhamdulillah setelah lama saya tidak posting, akhirnya saya bisa posting kembali. Kali ini saya akan posting artikel mengenai Langkah-langkah Untuk Install Nginx dengan MySQL 5.7 dan PHP 7.0 (LEMP).
Sebelum ke Tutorialnya saya akan berbagi sedikit tentang Apa Itu Nginx, ?
Nginx adalah Nginx (baca: engine x) adalah server HTTP dan Proxy dengan kode sumber terbuka yang bisa juga berfungsi sebagai proxy IMAP/POP3. Kode sumber nginx ditulis oleh seorang warga negara Rusia yang bernama Igor Sysoev pada tahun 2002 dan dirilis ke publik pada tahun 2004. Nginx terkenal karena stabil, memiliki tingkat performansi tinggi dan minim mengonsumsi sumber daya.
Beberapa situs terkenal yang menggunakan Nginx adalah Wordpress, Fastmail, Ohloh, Sourceforge dan Github. Lebih lengkapnya baca
disini
Kita langsung ke Tutorialnya. Berikut langkah-langkah :
1. Masuk ke terminal sebagai SuperUser
sudo -s
2. Kemudian Install MySQL 5.7
apt-get -y install mysql-server mysql-client
Masukkan Password untuk MySQL sebagai User Root
Masukkan Password yang sama untuk mengulangi dan verifikasi
3. Lalu amankan
Database anda
mysql_secure_installation
Enter password for user root:
VALIDATE PASSWORD PLUGIN can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD plugin?
Press y|Y for Yes, any other key for No: TEKAN ENTER
Using existing password for root.
Change the password for root ? ((Press y|Y for Yes, any other key for No) : ENTER
... 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? (Press y|Y for Yes, any other key for No) : 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? (Press y|Y for Yes, any other key for No) : 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? (Press y|Y for Yes, any other key for No) : y
- Dropping test database...
Success.
- 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? (Press y|Y for Yes, any other key for No) : y
Success.
All done!
Jika anda sudah pernah menginstall apache2 dan ingin menggantinya dengan Nginx, silahkan masukkan perintah berikut diterminal anda :
1. Stop dan hapus apache-nya
service apache2 stop
update-rc.d -f apache2 remove
apt-get remove apache2
2. Kemudian Install Nginx
apt-get -y install nginx
3. Jika proses Installasi selesai, anda start Nginx
service nginx start
4. Kemudian cek di web browser anda dengan mengetikkan localhost atau IP server ke kolom url untuk memastikan bahwa Nginx telah bekerja :
Berikut tampilan Nginx di Web Browser jika telah berhasil anda install
INSTALL PHP-FPM
1. Kemudian Install php7.0-fpm. (berguna untuk situs dari berbagai ukuran, terutama situs sibuk)
apt-get -y install php7.0-fpm
KONFIGURASI NGINX
1. Buka /etc/nginx/nginx.conf, karena konfigurasi dari Nginx ada disini
nano /etc/nginx/nginx.conf
Keepalive_timeout 2 (sesuaikan dengan nilai opsional yang sewajarnya)
Kemudian keluar dan simpan
2. Vhost default nya ada di file
/etc/nginx/sites-available/default silahkan modifikasi seperti dibawah ini :
nano /etc/nginx/sites-available/default
root /var/www/html;
# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
include snippets/fastcgi-php.conf;
# # With php7.0-cgi alone:
# fastcgi_pass 127.0.0.1:9000;
# # With php7.0-fpm:
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
location ~ /\.ht {
deny all;
}
}
3. Lalu start Nginx
service nginx reload
4. Kemudian buka file php.ini dan modifikasi seperti dibawah ini
nano /etc/php/7.0/fpm/php.ini
; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. P$
; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not g$
; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Set$
; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setti$
; of zero causes PHP to behave as before. Default is 1. You should fix your sc$
; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.
; http://php.net/cgi.fix-pathinfo
;cgi.fix_pathinfo=0
5. Restart php7.0-fpm nya
service php7.0-fpm reload
6. Sekarang anda buat sebuah file di dokumen root
/var/ww/html
nano /var/www/html/info.php
Lalu keluar dan simpan
7. Kemudian start Nginx-nya
service nginx start
8. Selanjutnya anda panggil file tersebut dari Web Browser anda dengan mengetikkan
localhost_atau_ip/info.php
Nah, jika muncul seperti diatas. Berarti php7 telah bekerja
INSTALL PHP7 AGAR SUPPORT DENGAN MySQL
1. Pilih beberapa paket php7.0-mysql yang anda butuhkan kemudian Install
apt-get -y install php7.0-mysql php7.0-curl php7.0-gd php7.0-intl php-pear php-imagick php7.0-imap php7.0-mcrypt php-memcache php7.0-pspell php7.0-recode php7.0-sqlite3 php7.0-tidy php7.0-xmlrpc php7.0-xsl php7.0-mbstring php-gettext
2. Lalu install php-apcu (APCu adalah ekstensi untuk modul PHP Opcache yang datang dengan PHP 7, ia menambahkan beberapa fitur kompatibilitas untuk perangkat lunak).
apt-get -y install php-apcu
3. Kemudian anda restart php7.0-fpm
service php7.0-fpm reload
4. Secara default PHP-FPM berada pada
/var/run/php/php7.0-fpm.sock socket. Juga memungkinkan untuk membuat PHP-FPM menggunakan koneksi TCP. Jika anda ingin melakukan hal ini, maka buka file
/etc/php/7.0/fpm/pool.d/www.conf
nano /etc/php/7.0/fpm/pool.d/www.conf
Konfigurasi seperti pada gambar
5. Restart php-fpm-nya
service php7.0-fpm reload
6. Untuk langkah selanjutnya, konfigurasi nginx serta semua vhosts anda berikut ini dengan membuka file
/etc/nginx/sites-available/default
nano /etc/nginx/sites-available/default
Konfigurasi seperti gambar dibawah ini
7. Dan untuk langkah terakhir anda restart Nginx
service nginx reload
Mohon maaf dan mohon dimaklumi jika ada kesalahan, saya juga masih belajar
HASIL
Nah, untuk hasil sendiri Nginx LEMP server telah terinstall di server anda.
REFERENSI