Cara Mudah Install Linux, Apache, MySQL & PHP (LAMP) + WordPress Menggunakan Tuxlite di Debian/Ubuntu

Salah satu hal yang ditakuti pemilik website ketika memutuskan upgrade hosting dari share ke VPS/Dedicated Server adalah bayangan rumitnya install komponen web server.
Untungnya dengan Tuxlite, hal itu tidak berlaku lagi. Dengan menggunakan Tuxlite, proses instalasi Linux, Apache, MySQL & PHP sangatlah mudah. Bahkan bagi pemula sekalipun!

Apa Itu Tuxlite?

Tuxlite adalah sebuah script shell yang berisi baris perintah instalasi Linux, Apache, MySQL & PHP (LAMP) atau Linux, Nginx, MySQL & PHP (LEMP). Tuxlite akan melakukan instalasi dan konfigurasi secara otomatis agar VPS/Dedicated Server anda bisa digunakan secepatnya. Dengan Tuxlite, anda hanya memerlukan waktu beberapa menit untuk membangun sebuah web server yang siap pakai dan aman!

Tuxlite sangat cocok bagi yang ingin menghosting situsnya ke VPS/Dedicated Server tanpa memerlukan kontrol panel yang mahal & banyak memakan resource server.

Tuxlite akan menginstal komponen berikut:

  1. Apache2 dengan mpm_worker atau Nginx
  2. MySQL
  3. PHP-FPM atau PHP-CGI (dengan suexec) + beberapa modul PHP yang biasa dipakai.
  4. Server email Postfix (hanya diatur untuk mengirim email keluar).
  5. Varnish cache (opsional)

Mengapa menggunakan Tuxlite?

  1. Tuxlite mengkonfigurasi Apache dengan mpm_worker dan PHP dengan fastcgi. Hal ini memberikan performa yang lebih tinggi, namun dengan konsumsi memori lebih rendah dibandingkan dengan instalasi LAMP yang menggunakan mod_php.
  2. Aplikasi yang diinstal 100% asli dari repo resmi! Jaminan keamanan dan update aplikasi.
  3. Tidak membutuhkan resource yang besar, fresh install hanya membutuhkan memori 50-60 MB saja.
  4. Konfigurasi virtual host otomatis, dengan rotasi log, statistik trafik dengan Awstats dan PHPmyAdmin untuk mengelola database.
  5. Instalasi Varnish untuk mempercepat kinerja server!
  6. Gratis dan sumber terbuka (open source). Kita bebas mengubah script Tuxlite sesuai keinginan & kebutuhan kita.

Note: Di tutorial ini kita akan menginstall LAMP, untuk tutorial LEMP akan saya tulis di tutorial terpisah.

Sebelum memulai instalasi, anda harus memiliki minimal sebuah VPS dengan RAM sebesar 80 MB atau lebih. Dianjurkan 256 MB atau lebih.

Proses Instalasi

  1. Buat sebuah direktori untuk menyimpan script Tuxlite. Misal /tuxlite/, maka jalankan perintah berikut:
    mkdir /tuxlite && cd /tuxlite
  2. Download script tuxlite
    wget https://tuxlite.com/scripts/tuxlite.tar.gz
  3. Ekstrak file dengan perintah:
    tar zxvf tuxlite.tar.gz
  4. Edit file options.sh untuk memasukkan alamat IP server, usernam MySQL, dll
    nano options.conf
  5. Ganti parameter sesuai dengan informasi server anda:
    • HOSTNAME, ganti dengan hostname server, semisal HOSTNAME=node1
    • HOSTNAME_FQDN, ganti dengan nama lengkap domain hostname, misal HOSTNAME_FQDN=node1.serversaya.com
    • SERVER_IP, masukkan alamat IP server anda, misal SERVER_IP=202.28.123.123
    • SSHD_PORT, ganti nilai 22 dengan angka lain jika ingin mengubah port SSH, atau lewati saja jika anda ingin tetap menggunakan port 22.
    • APT_REGION, ubah dengan 2 huruf kode negara yang paling deket dengan server kita. Misal jika server kita ada di Singapore, kita bisa ganti menjadi APT_REGION=sg.
    • WEBSERVER, karena kita akan menginstall Apache, maka masukkan pilihan 2, hingga menjadi WEBSERVER=2
    • MYSQL_ROOT_PASSWORD, masukkan password yang ingin anda gunakan untuk MySQL, anda bebas memilih, tetapi harus diingat karena kita akan membutuhkannya saat proses instalasi MySQL berjalan dan untuk mengelola database kita nanti, misal parameter MYSQL_ROOT_PASSWORD=kad837gas7g
    • PMA_LINK, adalah link lokasi file instalasi PHPmyAdmin. Lihat ke situs PHPmyAdmin (https://https://www.phpmyadmin.net), jika ada versi yang lebih baru, masukkan linknya disini.
    • DB_GUI, tuxlite memberikan pilihan tool untuk mengelola database server kita, apakah menggunakan PHPmyAdmin ataukah Adminer. Jika anda ingin menggunakan PHPmyAdmin masukkan angka 1.
    • VARNISH_CACHE_SIZE, masukkan besarnya cache yang ingin anda gunakan untuk varnish.
    • AWSTATS_ENABLE, jika anda ingin menginstal dan mengaktifkan tool memonitor trafik Awstats, masukkan variabel yes, jika tidak masukkan no.
    • MISC_PACKAGES, jika anda ingin menginstal paket lain selain yang dibutuhkan tuxlite, silahkan masukkan disini.
    • Untuk variabel bisa anda biarkan sesuai default.
  6. Kemudian kita chmod script agar bisa dijalankan
    chmod 700 *.sh && chmod 700 options.conf
  7. Kemudian kita perbarui database APT dulu dan instal aptitude:
    apt-get update && apt-get -y install aptitude
  8. Jika anda ingin mengeksplor fungsi script tuxlite, jalankan perintah ini:
    ./setup.sh
  9. Kemudian kita siap menginstal Linux, Apache, MySQL dan PHP dengan menjalan script instalasi:
    ./install.sh
  10. Buat user baru selain root
    adduser userbaru

    ganti userbaru dengan nama sesuai keinginan. Kemudian masukkan password untuk user ini.

  11. Tambahkan nama domain yang ingin anda hosting di server anda ini, semisal anda ingin menghosting domain situsku123.com, maka jalankan perintah:
    ./domain.sh add userbaru situsku123.com

    Maka otomatis tuxlite akan membuat direktori untuk situsku123.com di /home/userbaru/domains/situsku123. Anda bisa upload file-file situs anda di /home/userbaru/domains/situsku123/public_html

  12. Selanjutnya kita akan menginstal PHPMyAdmin atau Adminer agar kita bisa membuat database, import dan juga mengelola database situs kita. Jalankan perintah:
    ./setup.sh dbgui
  13. Kemudian anda bisa mengaktifkan atau menonaktifkan penggunaan PHPMyAdmin/Adminer dengan perintah:
    ./domain.sh dbgui on

    untuk menonaktifkan gunakan perintah:

    ./domain.sh dbgui off

    NOTE: Jika sekiranya anda sudah selesai menggunakan PHPMyAdmin/Adminer, alangkah baiknya anda menonaktifkannya. Dan mengaktifkan kembali jika diperlukan. Ini untuk keamanan server kita, meminimalisir brute force attack.

  14. Kemudian jika anda ingin mengaktifkan tool Awstats, jalankan perintah:
    ./domain.sh stats on

    Dan jalankan perintah ini untuk mematikan Awstats:

    ./domain.sh stats off
  15. Jika anda ingin menginstall varnish, jalankan perintah ini:
    ./varnish.sh install

    Jalankan perintah ini untuk mengaktifkan varnish:

    ./varnish.sh on

    Dan untuk mematikannya:

    ./varnish.sh off

    NOTE: Jangan menginstal varnish jika anda tidak tahu cara mengkonfigurasi ACL varnish! Fitur ini bersifat opsional saja, dianjurkan untuk yang memiliki skill tingkat lanjut.

  16. Jika anda ingin menginstall WordPress di domain anda, tuxlite memberikan kemudahan instalasinya. Hanya dengan satu baris perintah ini otomatis situs wordpress anda sudah terinstal:
    ./wordpress.sh

    Kemudian akan muncul pertanyaan domain mana yang ingin anda install dengan WordPress, masukkan angka yang didepan domain yang ingin anda pakai. Kemudian masukkan nama database, terserah anda variabelnya. Lalu script akan menanyakan lokasi folder instalasi, jika alamat situs wordpress anda nantinya www.situsku123.com, tekan enter saja. Tetapi jika alamat situs wordpress anda www.situsku123.com/blog, maka masukkan “blog” di pertanyaan tersebut dan tekan enter.

    Untuk database wordpress, tuxlite akan membuatnya secara otomatis. Setelah semua sudah di set oleh tuxlite, sekarang silahkan akses situs anda untuk melengkapi proses instalasi wordpress.

Mudah bukan? Untuk menambah domain lain, anda hanya perlu menjalankan perintah ./domain.sh add user namadomain.com dan untuk install wordpress tinggal mengeksekusi perintah ./wordpress.sh.

Selanjutnya untuk keamanan server, anda perlu menginstall iptables, install fail2ban, dan install (D)DoS Deflate. Ikuti tutorial Tips Mengamankan Server atau VPS Linux. Dan jangan lupa untuk Backup File & Database dari Server Linux ke Amazon S3 Dengan Menggunakan S3cmd.