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

php info inwepo

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.

phpmyadmin install inwepo

Selanjutnya terdapat pesan “Configure database for phpmyadmin with dbconfig-common?” Yes (enter)

Setelah itu akan diminta membuat password untuk phpmyadmin.

phpmyadmin install inwepo 2

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.

phpmyadmin url inwepo

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]

Komentar

Leave a Reply

Your email address will not be published. Required fields are marked *

Inwepo adalah media platform yang membantu setiap orang untuk belajar dan berbagi tutorial, tips dan trik cara penyelesaian suatu masalah di kehidupan sehari-hari dalam bentuk teks, gambar. dan video.

Dengan bergabung bersama kami dan membuat 1 tutorial terbaik yang kamu miliki dapat membantu jutaan orang di Indonesia untuk mendapatkan solusinya. Ayo berbagi tutorial terbaikmu.

Ikuti Kami di Sosmed

Copyright © 2020 Inwepo - All Rights Reserved.

To Top