Cara Efektif Install WordPress di VPS (untuk Semua Orang)

EasyEngine

Tidak masalah jika kamu tidak tahu tentang VPS, Linux, dll. Atau lebih baik lagi jika kamu tahu sedikit saja tentang VPS dan Linux. Tutorial ini saya bikin untuk semua orang. Kita akan belajar sambil berjalan.

Tools yang akan saya gunakan adalah EasyEngine v4. Dengan EasyEngine v4, kita sudah mendapatkan semua kemudahan untuk install WordPress di VPS. Bahkan kita tidak perlu optimasi lagi karena EasyEngine sudah sangat cepat!.

Kamu tidak perlu khawatir juga dengan resource VPS. Karena EasyEngine ini sangat ringan. Saya sendiri install EasyEngine di VPS murah seharga 5 USD.

Kapan saya memerlukan VPS?

Setidaknya ada tiga alasan kenapa kamu memerlukan VPS. Saya tidak merekomendasikan memakai VPS jika kamu belum punya minimal 1 dari 3 alasan di bawah.

  • Ketika kamu sudah cukup tahu apa keunggulan dan kelemahan memakai VPS.
  • Ketika kamu sudah cukup bosan menggunakan shared hosting.
  • Ketika shared hosting sudah tidak bisa lagi menampung website/blog kamu karena terlalu banyak trafik.

Kenapa install WordPress di VPS dengan EasyEngine?

Nah sebenarnya, shared hosting biasanya menggunakan cPanel; adalah antarmuka untuk memudahkan pengguna yang tidak terlalu paham dengan server/VPS. Di belakang, konfigurasi Server/VPS untuk kebanyakan orang sangat rumit. Salah langkah bisa membuat data hilang atau website tidak bisa diakses!

Perlu waktu cukup lama untuk mempelajari server/VPS. saya sendiri berani memakai VPS setelah setahun saya coba belajar menggunakan VPS.

Kembali ke pertanyaan, kenapa EasyEngine?

Dengan menggunakan EasyEngine, kita bisa melewati tahap-tahap belajar teknikal soal server. Sayangnya tidak seperti cPanel, EasyEngine tidak memiliki antarmuka grafis.

Yang dilakukan EasyEngine adalah mempermudah konfigurasi WordPress di VPS/Server dengan membuat abstraksi berupa command line. Salah satunya adalah install WordPress yang sudah dioptimasi. Selanjutnya biar EasyEngine yang mengurus hal teknikal.

Lihat tagline EasyEngine adalah:

Creating a high traffic site, big enough to crash Nginx!

1. Yang Diperlukan

Pada tutorial ini, saya memakai VPS DigitalOcean Singapore 5 USD. Dengan sistem operasi Ubuntu 18.04.

Registrasi DigitalOcean dengan link Referal saya; Dengan itu, kamu mendapat credit 100 USD langsung, dan saya mendapat komisi referal.
→ Tutorial Buat Server di DigitalOcean

Jika komputer kamu memakai OS Linux atau Max, kamu bisa terus membaca tutorial ini. Tetapi jika kamu memakai komputer windows, silahkan install putty terlebih dahulu. (Thanks gegeriyadi.com!)

2. Basic Command (Optional)

Jika kamu sudah familiar dengan cara navigasi atau edit text di Linux menggunakan command line. Kamu bisa skip tutorial ini.

Cara Navigasi di Linux

Berbeda dengan sistem operasi windows, yang biasanya partisi disk dibuat seperti partisi C:\\ dan D:\\ dst; Di Linux sistem partisinya berupa bagan, biasanya kita sebut dengan tree.

/
├── bin
├── boot
├── dev
├── etc
├── home
│   └── nadiar
├── lib
├── lib64
├── lost+found [error opening dir]
├── media
├── mnt
├── opt
├── proc
├── root [error opening dir]
├── run
├── sbin
├── snap
├── srv
├── sys
├── tmp
├── usr
└── var
    ├── backups
    ├── local
    ├── lock -> /run/lock
    └── tmp

Di atas, adalah tree yang saya batasi 2 level. Beberapa ada yang saya sembunyikan. Lihat, di Linux semua berawal dari root /.

Nah, kenapa saya memberi tahu soal tree? Karena yang akan kita lakukan nantinya adalah berpindah-pindah direktori (navigasi). Satu hal yang perlu kamu aware setiap kali kita login ke VPS kita, nantinya kita akan masuk ke direktori home.

Note: di windows, direktory disebut dengan folder.

Ada tiga command yang biasanya saya gunakan untuk navigasi:

  • cd: change directory
    Pindah satu direktory ke directory lain.

  • ls: list
    File/direktori apa saja yang ada di direktory ini.
  • pwd: print working directory
    Lihat ada di direktory mana sekarang.

Cara Edit File

Nah, untuk edit file. Biasanya saya menggunakan nano.

Caranya adalah: nano namafile. Lalu edit file tersebut. Untuk menyimpan perubahan CTRL+X. Nantinya akan ada prompt apakah akan di simpan, ketik Y untuk menyimpan, N sebaliknya, dan C cancel.

3. Install WordPress dengan EasyEngine

Oke, bagian yang paling fun!. Kita akan menggunakan EasyEngine v4. Pertama kila akan login ke VPS menggunakan SSH. Untuk pengguna Linux atau Mac, silahkan buka terminal. Untuk Windows silahkan gunakan putty sesuai intruksi (Thanks gegeriyadi.com!).

3.1 Login ke VPS

Untuk pengguna linux atau mac, silahkan ketikan ini di terminal. Ganti IP address 123.456.789.789 dengan IP address VPS.

ssh root@123.456.789.789

Setelah berhasil login, kita akan memperbaharui semua softwate yang ada di VPS. Caranya adalah: Ketik y untuk konfirmasi.

apt-get update
apt-get upgrade
Install WordPress di VPS

Penting!: Nah jika ada pertanyaan yang mirip-mirip seperti di atas, selalu pilih “Keep the local version currently installed” (klik gambar untuk memperbesar).

Untuk mengganti password root. Kita bisa menggunakan command passwd.

passwd root

3.2 Basic Security

Sebelum saya install apa saja di VPS, best practise-nya adalah untuk tidak menggunakan root user. Untuk itu, yang akan kita lakukan sekarang adalah membuat user baru. Di tutorial ini user yang akan saya buar adalah “nadiar”.

Kamu mungkin akan ditanya sperti alamat dll, kamu bisa isi sembarang atau kosongkan saja. Yang penting password harus di-isi dan kamu catat.

adduser nadiar
adduser nadiar sudo

Sampai tahap ini user yang kita gunakan masih root. Untuk itu, kita akan login dan menggunakan user yang baru kita buat. SIlahkan ganti nadiar dengan user yang kamu buat.

exit
ssh nadiar@123.456.789.789

Oke kita sudah berhasil login dengan user nadiar. Selanjutnya ini opsional, kita akan me-disable-kan login sebagai root. Edit file /etc/ssh/sshd_config dengan nano:

sudo nano /etc/ssh/sshd_config

Lalu edit bagian PermitRootLogin yes jadi PermitRootLogin no

# Authentication:
...
PermitRootLogin no  # <-- JADI no

Sekarang root tidak bisa lagi login melalui ssh. Kita hanya bisa login dengan user selain root.

Selanjutnya, kita akan membuat aturan, blaklist IP yang salah login selama 3 kali berturut-turut. Caranya gampang, kita hanya perlu install fail2ban

sudo apt-get install fail2ban

3.3 Arahkan Domain ke IP

Agar WordPress yang kita install nantinya bisa diakses dengan domain, kita perlu melakukan linking IP ke DNS. Kedengarannya ribet, tetapi percaya deh tidak seribet itu.

Kita akan menggunakan CloudFlare untuk mengyimpan NS domain kita. Dalam contoh ini saya menggunakan domain clupclup.com.

Silahkan daftar CloudFlare free-plan jika belum memiliki akun. Ikuti petunjuk CloudFlare untuk mendaftarkan domain di sana

Nah di bagian DNS record, kita buat A record untuk clupclup.com dan www.clupclup.com mengarah ke ip VPS kita.

DNS records CloudFlare

(kik gambar untuk memperbesar)

Penting! Pastikan bahwa CloudFlare berhasil menyimpan domain kita, caranya adalah dengan ping domain tersebut. Jika domain sudah mengarah ke IP VPS, kama kamu berhasil.

3.4 Install WordPress Akhirnya!

Oke, install EasyEngine v4 dahulu:

wget -qO ee rt.cx/ee4 && sudo bash ee

Jika berhasil, EasyEngine akan menampilkan layar kurang lebih seperti di bawah:

+-------------------+---------------------------------------------------------------------------------+
| OS                | Linux 4.15.0-32-generic #35-Ubuntu SMP Fri Aug 10 17:58:07 UTC 2018 x86_64      |
| Shell             | /bin/bash                                                                       |
| PHP binary        | /usr/bin/php7.2                                                                 |
| PHP version       | 7.2.16-1+ubuntu18.04.1+deb.sury.org+1                                           |
| php.ini used      | /etc/php/7.2/cli/php.ini                                                        | 
| EE root dir       | phar://ee.phar                                                                  |
| EE vendor dir     | phar://ee.phar/vendor                                                           |
| EE phar path      | /home/nadiar                                                                    |
| EE packages dir   |                                                                                 |
| EE global config  |                                                                                 |
| EE project config |                                                                                 |
| EE version        | 4.0.10                                                                          |
+-------------------+---------------------------------------------------------------------------------+

Sekarang saya akan install WordPress di domain www.clupclup.com. --ssl=l bersifat opsional; Artinya website saya akan diakses menggunakan https dengan sertifikat Let's Encrypt.

sudo ee site create www.clupclup.com --type=wp --ssl=le

Jika berhasil, EasyEngine akan menampilkan layar seperti di bawah:

+--------------------+----------------------------------------+
| Site               | https://www.clupclup.com               |
+--------------------+----------------------------------------+
| Access admin-tools | https://www.clupclup.com/ee-admin/     |
+--------------------+----------------------------------------+
| Site Root          | /opt/easyengine/sites/www.clupclup.com |
+--------------------+----------------------------------------+
| Site Title         | www.clupclup.com                       |
+--------------------+----------------------------------------+
| WordPress Username | lucid-moser                            |
+--------------------+----------------------------------------+
| WordPress Password | XLn0mvkC2Omv                           |
+--------------------+----------------------------------------+
| DB Host            | global-db                              |
+--------------------+----------------------------------------+
| DB Name            | www_clupclup_com                       |
+--------------------+----------------------------------------+
| DB User            | www.clupclup.com-xxxxxx                |
+--------------------+----------------------------------------+
| DB Password        | my-user-password                       |
+--------------------+----------------------------------------+
| E-Mail             | admin@www.clupclup.com                 |
+--------------------+----------------------------------------+
| SSL                | Enabled                                |
+--------------------+----------------------------------------+
| SSL Wildcard       | No                                     |
+--------------------+----------------------------------------+
| Cache              | None                                   |
+--------------------+----------------------------------------+

Informasi di atas, bisa juga kamu minta dengan memasukan command berikut: Pastikan ganti www.clupclup.com dengan website kamu.

sudo ee site info www.clupclup.com

Selamat! sampai tahap ini WordPress yang sudah di optimize sudah berhasil kamu install dan akses.

Selanjutnya, kamu pasti perlu dong akses database, info-php, dll. Nah, EasyEngine sudah menyediakan akses database melalui phpMyAdmin. Tetapi kamu harus mengaktifkannya terlebih dahulu. Caranya gampang:

sudo ee admin-tools enable www.clupclup.com

Lalu akses phpMyAdmin di alamat /ee0admin:

www.clupclup.com/ee-admin

Untuk melihat password ee-admin:

sudo ee auth list global

4. Mengakses Directory WordPress

Untuk mengakses directory WordPress kamu harus pergi ke directory: "/opt/easyengine/sites/www.clupclup.com".

cd /opt/easyengine/sites/www.clupclup.com

Jika kamu ls directory itu, ada directory bernama app. Itu adalah diectory WordPress yang kita install. Sayangnya kamu tidak bisa cd directory app karena tidak meiliki hak akses.

Nah, untuk bisa mengakses tersebut, yang kamu perlukan adalah memberikan hak akses kepada user login kita. Dalam contoh ini "nadiar". Caranya adalah:

sudo setfacl -R -m u:nadiar:rwx /var/lib/docker

Setelah menjalankan command itu, tunggu beberapa saat.

Sekarang, user "nadiar" sudah bisa mengakses directory app.

**

Bagaimana? mudah bukan?

Jika kamu masih gagal install WordPress di VPS pada percobaan pertama, jangan khawatir. Karena itu wajar.

Di tutorial ini, saya tidak membuat screenshot dan tahap-tahap "how-to" yang terlalu detail. Saya hanya menunjukan bagian-bagian dasarnya saja. Ini penting untuk proses belajar.

Tetapi, jika teman-teman blogger ada yang stuck, jangan sungkan untuk berkomentar. Saya akan dengan senang hati menjawab atau membantu.

{ 0 comments… add one }

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.