Mau membuat web server dengan Linux, Nginx, MariaDB dan PHP? Istilah kerennya adalah LEMP stack. Kalau anda cari tutorial di internet sungguh banyak bertebaran tapi ini belum membicarakan bagaimana cara settingnya dan optimasi konfigurasinya agar maksimal. Selain itu juga sering diajarkan satu per satu langkahnya, dan ini bagi yang butuh cepat dan ingin memahaminya belakangan malah bikin bingung. Nah… ada solusinya yaitu dengan memanfaatkan Centminmod dan sebenarnya merupakan script auto-setup stack web server yang paling saya andalkan. 🙂

Centminmod untuk saat ini hanya bisa dijalankan di CentOS 6 atau 7, baik 32-bit maupun 64-bit. Besar RAM VPS yang saya sarankan adalah 1GB tapi masih bisa diinstall kalau dibawah itu, mungkin yang menggunakan Cloud Server dari Digital Ocean/Vultr bukanlah masalah karena tinggal upgrade saja. 🙂

Apa yang akan diinstall secara default? Per Centminmod v1.2.3-eva2000.08:

  • Nginx 1.9.9
  • PHP 5.4.45
  • MariaDB 10.0
  • PureFTPD
  • PHP OPcache
  • Memcached
  • CSF Firewall

Bisa dikatakan om George Liu (si pembuat Centminmod) selalu menggunakan rilis terbaru dan stabil dari masing – masing aplikasi diatas. Salut. 🙂

Persiapan awal

Silahkan persiapkan CentOS 6 atau 7 pada VPS anda, bisa lewat SolusVM untuk reinstall. Saran saya carilah yang memiliki kata minimal pada nama ISOnya. Ini supaya tidak macam – macam program tidak diperlukan terpasang dalam sistem operasi Linux. Walaupun memori besar tapi kita harus tetap menghemat sumber daya yang ada kan. 🙂

Selanjutnya mari kita update CentOS ke versi terbaru dulu:

yum update

Kemudian syarat instalasi Centminmod silahkan install beberapa paket program berikut:

yum -y install git wget nano bc unzip
cd /usr/local/src
git clone https://github.com/centminmod/centminmod.git centminmod
cd centminmod

Saya menggunakan metode Git karena tidak ribet dalam eksekusinya dan pasti versi terbaru Centminmod yang akan dipasangkan.

Instalasi Centminmod

Setelah itu silahkan eksekusi installernya:

./centmin.sh install

Saya gunakan versi yang tidak perlu ditunggu, jadi pada akhir prosesnya akan muncul informasi mengenai instalasi Centminmod beserta password default untuk beberapa software yang diinstall. Dibuat secara unik dan acak kok kata sandinya, jadi pasti aman dan kuat.

Tapi kalau cara normalnya adalah memilih lewat menu dengan mengetikkan perintah dibawah.

Menambahkan website pada Centminmod

Kalau sudah selesai silahkan anda eksekusi perintah:

./centmin.sh

Nanti akan muncul tampilan mirip seperti berikut:

--------------------------------------------------------
Centmin Mod 1.2.3-eva2000.08 - http://centminmod.com
--------------------------------------------------------
                   Centmin Mod Menu                   
--------------------------------------------------------
1).  Centmin Install
2).  Add Nginx vhost domain
3).  NSD setup domain name DNS
4).  Nginx Upgrade / Downgrade
5).  PHP Upgrade / Downgrade
6).  XCache Re-install
7).  APC Cache Re-install
8).  XCache Install
9).  APC Cache Install
10). Memcached Server Re-install
11). MariaDB 5.2/5.5 & 10.x Upgrade Sub-Menu
12). Zend OpCache Install/Re-install
13). Install ioping.sh vbtechsupport.com/1239/
14). SELinux disable
15). Install/Reinstall ImagicK PHP Extension
16). Change SSHD Port Number
17). Multi-thread compression: pigz,pbzip2,lbzip2...
18). Suhosin PHP Extension install
19). Install FFMPEG and FFMPEG PHP Extension
20). NSD Re-install
21). Update - Nginx + PHP-FPM + Siege
22). Add WordPress Nginx vhost + WP Super Cache
23). Update Centmin Mod Code Base
24). Exit
--------------------------------------------------------
Enter option [ 1 - 24 ] 

Catatan: Sebenarnya kalau anda ingin menginstall Centminmod seperti biasa maka bisa mengisikan angka 1 disini, tapi saya kurang suka karena nanti di tengah – tengah prosesnya akan terhenti menanti input kita. Rata – rata untuk mengisi password.

Isikan angka 2 untuk menambahkan website anda, dan isikan alamat website tanpa www:

Enter vhost domain name to add (without www. prefix): servernesia.com

Create a self-signed SSL certificate Nginx vhost? [y/n]: n

Kalau anda tidak menggunakan SSL seperti saya maka isikan n, tapi kalau sebaliknya isikan dengan y.

Setelah itu tinggal anda upload file – file untuk situs anda dan atur database MySQL (MariaDB) juga. Tinggal pakai saja sekarang.

Beberapa lokasi konfigurasi untuk VPS yang diinstall Centminmod:

  1. Lokasi konfigurasi virtual host dari domain yang telah ditambahkan: /usr/local/nginx/conf/conf.d/nama_virtual_host.conf
  2. Upload file – file ke: /home/nginx/domains/nama_virtual_host/public

Semoga bermanfaat. 🙂