Tutorial berikut ini adalah menjelaskan bagaimana cara membuat sebuah web server yang powerful pada Linux Debian 7 (Wheezy) dengan LEMP Stack. LEMP merupakan sebah singkatan dimana L adalah Linux, lalu E adalah Engine X atau biasa di sebut NginX dan M sendiri adalah MariaDB kadang M bisa juga sebagai Mysql dan P adalah PHP.
Berikut langkah-langkah untuk membuat LEMP (Linux + Nginx + MariaDB + PHP) pada Debian 7 (Wheezy)
Karena saya menggunakan VPS idROOT Hosting yang berlokasi di Indonesia, Maka repositori LEMP, saya menggunakan yang ada di indonesia seperti KAMBING (Kambing.UI.ac.id) dan Biznet Network (Biz.net.id) untuk repositori MariaBD
Langkah 1: Ubah repositori utama debian ke Kambing.UI.ac.id
Untuk mengubah repositori pada debian, silakan buka file /etc/apat/source.list
1 2 3 4 5 6 |
deb http://kambing.ui.ac.id/debian/ wheezy main deb-src http://kambing.ui.ac.id/debian/ wheezy main deb http://kambing.ui.ac.id/debian/ wheezy-updates main deb-src http://kambing.ui.ac.id/debian/ wheezy-updates main deb http://kambing.ui.ac.id/debian-security/ wheezy/updates main contrib non-free deb-src http://kambing.ui.ac.id/debian-security/ wheezy/updates main contrib non-free |
Langkah 2: Tambahkan repo DotDEB (Kambing.UI.ac.id)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# mirror DOTDEB Kambing UI for NGINX deb http://kambing.ui.ac.id/dotdeb/ wheezy all deb-src http://kambing.ui.ac.id/dotdeb/ wheezy all # Hapus komentar dari link dibawah jika ingin menggunakan # mirror DOTDEB Kambing UI untuk PHP 5.4 #deb http://kambing.ui.ac.id/dotdeb/ wheezy-php54 all #deb-src http://kambing.ui.ac.id/dotdeb/ wheezy-php54 all # Hapus komentar dari link dibawah jika ingin menggunakan # mirror DOTDEB Kambing UI untuk PHP 5.5 #deb http://kambing.ui.ac.id/dotdeb/ wheezy-php55 all #deb-src http://kambing.ui.ac.id/dotdeb/ wheezy-php55 all # Hapus komentar dari link dibawah jika ingin menggunakan # mirror DOTDEB Kambing UI untuk PHP 5.6 deb http://kambing.ui.ac.id/dotdeb/ wheezy-php56 all deb-src http://kambing.ui.ac.id/dotdeb/ wheezy-php56 all |
Fetch dan install the GnuPG key
1 2 |
wget http://www.dotdeb.org/dotdeb.gpg sudo apt-key add dotdeb.gpg |
Langkah 3: Tambahkan repo MariaDB (Biznet Networks, Indonesia)
Jalankan perintah berikut untuk menambahkan MariaDB kedalam sistem
1 2 3 |
sudo apt-get install python-software-properties sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db sudo add-apt-repository 'deb http://mariadb.biz.net.id//repo/10.0/debian wheezy main' |
Langkah 4: Update Apt-Get
1 2 |
sudo apt-get update sudo apt-get upgrade |
Langkah 5: Hapus Apache and Install Nginx Web server
Untuk menghapus Apache Web server sampai bersih, jalan perintah berikut
1 2 |
apt-get purge apache* rm -rf /etc/apache2 |
Langkah 5: Instalasi NginX Web Server
1 |
apt-get install nginx |
Langkah 6: Konfigurasi NginX
Untuk konfigurasi nginx, buka file /etc/nginx/sites-available/default dan sesuaikan isinya dengan yang berikut:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
[...] server { listen 80; root /usr/share/nginx/www; index index.php index.html index.htm; server_name example.com; location / { try_files $uri $uri/ /index.html; } error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/www; } # pass the PHP scripts to FastCGI server listening on /var/run/php5-fpm.sock location ~ \.php$ { try_files $uri =404; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } [...] |
Langkah 7: Instalasi MariaDB
Untuk melakukan instalasi MariaDB jalankan perintah berikut:
1 |
apt-get install mariadb-server |
Mengamankan instalasi MariaDB
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
root@www:~# mysql_secure_installation NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! In order to log into MariaDB to secure it, we'll need the current password for the root user. If you've just installed MariaDB, 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 MariaDB 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 MariaDB installation has an anonymous user, allowing anyone to log into MariaDB 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, MariaDB 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 MariaDB installation should now be secure. Thanks for using MariaDB! |
Langkah 8: Installasi dan Konfigurasi PHP
Untuk instalasi PHP, jalankan perinta berikut:
1 |
apt-get install php5-fpm php5-mysql |
Untuk konfigurasi PHP, pertama buka file /etc/php5/fpm/php.ini lalu cari cgi.fix_pathinfo=1 dan ubah angka 1 menjadi 0, menjadi seperti berikut:
1 |
cgi.fix_pathinfo=0 |
setelah itu buka file /etc/php5/fpm/pool.d/www.conf lalu cari listen = 127.0.0.1:9000 dan ubah 127.0.0.1:9000 menjadi /var/run/php5-fpm.sock sehingga tampak seperti berikut ini
1 |
listen = /var/run/php5-fpm.sock |
Lalu restart NginX dan php-fpm
1 2 |
service nginx restart service php5-fpm restart |
Langkah 9: Verifikasi
Untuk memastikan NginX, MariaDB dan PHP sudah terinstal dengan baik, silakan jalankan perintah berikut
1 2 3 4 5 6 7 8 9 10 11 |
root@www:~# php -v PHP 5.6.4-1~dotdeb.1 (cli) (built: Dec 19 2014 20:14:24) Copyright (c) 1997-2014 The PHP Group Zend Engine v2.6.0, Copyright (c) 1998-2014 Zend Technologies with Zend OPcache v7.0.4-dev, Copyright (c) 1999-2014, by Zend Technologies root@www:~# mysql -V mysql Ver 15.1 Distrib 10.1.2-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2 root@www:~# nginx -v nginx version: nginx/1.2.1 |
Setelah itu buatkan sebuah file phpinfo untuk memastikan PHP sudah berjalan dengan baik
1 |
nano /usr/share/nginx/www/info.php |
lalu isi dengan
1 2 3 |
<?php phpinfo(); ?> |
dan buka file tersebut melaui web browser http://ip-anda/info.php
Apabila instalasi sudah berhasil maka akan muncul gambar berikut:
Demikianlah langkah-langkah untuk membuat sebuah web server pada sistem operasi Debian 7 (Wheezy) dengan LEMP (Linux + NginX + MariaDB 10 + PHP 5.6) Stack, semoga tutorial tersebut dapat bermamfaat.