Membuat WordPress di VPS: Cara Install Nginx, PHP-FPM, MariaDB, phpMyadmin [Bagian 1]
Penulis ingin berbagi pengalaman bagaimana website Inwepo ini dibangun, berawal dari sebuah blog gratisan yang dibuat menggunakan blogspot milik Google.
Tidak selamanya Inwepo selalu mengandalkan blogspot gratis milik Google, karena jika terus mengandalkan Inwepo beserta pendirinya tidak akan maju.
Setelah cukup umur dan pengetahuan kemudian Inwepo beralih dari Blogger/Blogspot ke WordPress self hosted. Lalu penulis mencoba menggunakan layanan shared hosting untuk harga web hostingnya sekitar 100 ribu – 1 juta per tahun tergantung pemilihan tipe shared hosting, semakin besar jumlah pengunjung maka kita juga membutuhkan kapasitas CPU & Bandwidth yang lebih besar untuk menampung trafik pengunjung.
- Cara install Wordpress di web hosting Cpanel
Setelah install Wordpress Kemudian memindahkan database Blogspot ke WordPress self hosted
- Cara export database Blogspot ke WordPress self hosted
Untuk pertama kalinya juga Inwepo menggunakan shared hosting yang sangat murah yaitu di hostso.com dengan harga $1 perbulan, jadi pembayaran setiap tahunnya hanya $12 pembayaran melalui PayPal atau kartu kredit.
Setelah beberapa bulan pengunjung Inwepo semakin banyak dan hosting di HostSo tidak kuat lagi menampung trafik akhirnya Inwepo di suspend karena melebihi kapasitas.
di HostSo menggunakan server luar negeri juga sangat berpengaruh dengan kecepatan akses ke website (karena pengunjung Inwepo rata-rata dari Indonesia) maka akhirnya penulis memutuskan untuk pindah layanan shared hosting lokal dari pada meng-upradenya ke paket yang lebih mahal.
Shared hosting yang ke 2 Inwepo menggunakan layanan Niagahoster.com karena di niagahoster mempunyai server lokal dan meng-upradenya ke tipe bisnis. Pembayaranya pun bisa menggunakan transfer bank.
Beberapa bulan kemudian trafik Inwepo terus meningkat, belum sampai 1 tahun akhirnya hosting terkena suspend lagi.. padahal sudah bayar 1 tahun hahaha .
Disebabkan banyaknya pengunjung, seingat penulis sekitar 10 ribu – 15 ribu perhari. Jika hosting Inwepo tidak di-suspend maka akan menganggu website orang lain yang satu server karena menggunakan shared hosting akan memakan semua resource CPU. Walaupun layanan shared hosting tersebut unlimited bandwidth itu tidak akan berpengaruh karena tergantung dari kapasitas CPU dan RAM nya juga.
Akhirnya penulis memutuskan untuk pindah lagi ke layanan VPS (virtual private server) karena layanan shared hosting sudah tidak sanggup menampung lagi. Sekarang Inwepo menggunakan VPS di Cloudkilat.com
Setelah menggunakan VPS pun terasa cepat dan lebih leluasa untuk memanage server, kamu akan belajar mandiri pastinya dan bertambah pengetahuan.
Berikut tutorial setting VPS:
Penulis menggunakan OS Debian 7 di VPS, untuk mengikuti tutorial ini VPS yang kamu gunakan sudah ter-install OS Debian.
lihat versi debian terinstall:
cat /etc/issue
Menggunakan akses root terlebih dahulu sebelum meng-install dan melakukan konfigurasi.
sudo su
Cara install Nginx
Nginx bekerja lebih baik, lebih ringan dan lebih cepat dari pada Apache. berikut perintah install nginx:
apt-get update apt-get install nginx service nginx start
Lihat versi Nginx ter-install.
nginx -v
Perintah dasar Nginx:
Memberhentikan web server.
service nginx stop
/etc/init.d/nginx stop
Menjalankan web server.
service nginx start
/etc/init.d/nginx start
Restart web server.
service nginx restart
/etc/init.d/nginx restart
Reload web server tanpa restart.
service nginx reload
/etc/init.d/nginx reload
Melihat status web server.
service nginx status
/etc/init.d/nginx status
Melihat error konfigurasi syntax di nginx.
nginx -t
http://nginx.org/en/docs/install.html
Cara install PHP-FPM
Langkah selanjutnya meng-install PHP, untuk dapat menjalankan script PHP dari Wordpress tentunya kita harus meng-install software PHP. PHP-FPM berkerja lebih baik dari pada PHP biasa.
Tambahkan repository, dengan mengedit file sources.list dengan nano atau vim editor, di sini penulis menggunakan nano editor.
nano /etc/apt/sources.list
lalu tambahkan perintah di bawah ini di bagian paling bawah.
Untuk pengguna Debian 7
deb http://packages.dotdeb.org wheezy all deb-src http://packages.dotdeb.org wheezy all
Untuk pengguna Debian 8
deb http://packages.dotdeb.org jessie all deb-src http://packages.dotdeb.org jessie all
Untuk pengguna OS selain Debian bisa lihat di sini https://downloads.mariadb.org/mariadb/repositories/
Gunakan tombol Ctrl + x untuk keluar dan tombol Y untuk menyimpan.
atau cara cepatnya
sudo echo "deb http://packages.dotdeb.org wheezy all" >> /etc/apt/sources.list sudo echo "deb-src http://packages.dotdeb.org wheezy all" >> /etc/apt/sources.list
Langkah selanjutnya menginstallnya.
wget http://www.dotdeb.org/dotdeb.gpg apt-key add dotdeb.gpg apt-get update apt-get install php5-fpm php5-common php5-mysql php5-curl service php5-fpm restart
Untuk melihat apakah PHP yang terinstall sudah berjalan, lakukan edit /etc/nginx/sites-available/default dengan menggunakan nano/vim editor. Temukan baris berikut:
#location ~ \.php$ { # fastcgi_split_path_info ^(.+\.php)(/.+)$; # # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini # # # With php5-cgi alone: # fastcgi_pass 127.0.0.1:9000; # # With php5-fpm: # fastcgi_pass unix:/var/run/php5-fpm.sock; # fastcgi_index index.php; # include fastcgi_params; #}
Kemudian hilangkan tanda # pada bagian tertentu, hasilnya seperti berikut ini:
location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; # # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini # # # With php5-cgi alone: # fastcgi_pass 127.0.0.1:9000; # # With php5-fpm: fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; include fastcgi_params; }
Melakukan tes dan menjalankan file PHP
Membuat file phpinfo.php di direktori /usr/share/nginx/www
cd /usr/share/nginx/www touch phpinfo.php
Untuk melihat file dan folder di directory
ls -a
selanjutnya memasukan kode di phpinfo.php dengan nano editor:
<?php phpinfo() ?>
Restart nginx lalu buka browser masukan alamat IP atau domain kamu akses file phpinfo.php
contoh: inwepo.co/phpinfo.php
Jika berhasil membuka halaman informasi php berarti kamu berhasil meng-install PHP.
Cara install MariaDB
MariaDB merupakan versi pengembangan dari MySQL. MariaDB memiliki performa yang lebih baik dari pada MySQL. Untuk menginstall MariaDB pertama kamu harus menambahkan repository MariaDB.
Untuk pengguna Debian 7
sudo apt-get install python-software-properties sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db sudo add-apt-repository 'deb [arch=amd64,i386] http://kartolo.sby.datautama.net.id/mariadb/repo/10.1/debian wheezy main'
Untuk pengguna Debian 8
sudo apt-get install software-properties-common sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db sudo add-apt-repository 'deb [arch=amd64,i386] http://kartolo.sby.datautama.net.id/mariadb/repo/10.1/debian jessie main'
Untuk pengguna selain Debian bisa lihat di https://downloads.mariadb.org/mariadb/repositories/
Selanjutnya perintah instalasi mariadb server
sudo apt-get update sudo apt-get install mariadb-server
Ketika proses install, MariaDB akan meminta password untuk root user. Jangan kosongkan, buatlah password.
Setelah berhasil meng-install MariaDB, kemudian lakukan restart dan ikuti langkah berikut untuk membuat MariaDB menjadi lebih aman.
service mysql restart mysql_secure_installation
Jawab semua pertanyaan seperti berikut:
- Remove anonymous users? Y
- Disallow root login remotely? Y
- Remove test database and access to it? Y
- Reload privilege tables now? Y
Cara install phpMyAdmin
phpMyAdmin berfungsi untuk mempermudah kita untuk mengelola database melalui alamat web browser.
apt-get install phpmyadmin
Pada saat install phpMyAdmin terdapat 2 pilihan yaitu apache atau httpd. Memang tidak ada pilihan untuk nginx. Jadi pilihlah apache (enter). Tekan tombol tab di keyboard untuk navigasi.
Selanjutnya terdapat pesan “Configure database for phpmyadmin with dbconfig-common?” Yes (enter)
Setelah itu akan diminta membuat password untuk phpmyadmin.
Tahap instalasi phpmyadmin selesai.
Cara membuat phpMyAdmin dapat di akses di browser
pertama membuat virtual host terlebih dahulu
cd /etc/nginx/sites-available/ touch phpmyadmin
Edit file phpmyadmin dengan perintah “nano phpmyadmin” lalu masukan perintah berikut ini
server { listen 5555; server_name inwepo.co 103.43.44.22; access_log /var/log/nginx/localhost.access.log; root /usr/share/phpmyadmin; index index.php; location / { try_files $uri $uri/ @phpmyadmin; } location @phpmyadmin { fastcgi_pass unix:/var/run/php5-fpm.sock; #fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME /usr/share/phpmyadmin/index.php; include /etc/nginx/fastcgi_params; fastcgi_param SCRIPT_NAME /index.php; } # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ \.php$ { fastcgi_pass unix:/var/run/php5-fpm.sock; #fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /usr/share/phpmyadmin$fastcgi_script_name; include fastcgi_params; } }
Keterangan:
- listen 5555 merupakan port, port dapat diganti sesuai keinginan kamu asalkan tidak menggunakan port 80, 443, 21 dan 22.
- Ganti server name dengan nama dan ip address kamu.
Membuat link simbolik
Agar phpMyAdmin dapat berjalan diharuskan membuat link simbolik, berikut perintahnya
ln -s /etc/nginx/sites-available/phpmyadmin /etc/nginx/sites-enabled/phpmyadmin service nginx restart
Langkah terakhir coba akses phpMyAdmin melalui alamat domain:5555.
contoh: inwepo.co:5555 atau 103.43.44.22:5555.
Kamu juga dapat mengubah alamat phpMyAdmin dengan subdomain dengan mengganti server name menjadi subdomain.domain.com dan mengubah port menjadi 80.
Selesai .
Saat ini trafik Inwepo.co mencapai 5oo ribu unique visitor dan 6 juta pageview perbulan, mulailah terasa berat kembali dan CPU usage sering mencapai 99% kemudian penulis melakukan optimaliasi dengan menggunakan layanan CDN untuk menampung gambar pada setiap artikel dari pada meng-uprade VPS hehe..
Karena harga kilat storage di cloudkilat lebih murah dibandingkan meng-upgrade VPS nya 🙂
dengan menambahkan layanan CDN kilat storage untuk menampung semua gambar di Inwepo ternyata berpengaruh sangat besar untuk kecepatan website, sebenarnya gambarlah yang banyak memakan resource CPU.
- Cara setting CDN kilat storage di WordPress
Simak tutorial tentang membuat Wordpress di VPS selanjutnya bagian 2.
Membuat WordPress di VPS: Cara Setting Nginx dan Install Wordpress [Bagian 2]