4 min read

Cloud Server Wordpress : Install LAMP Stack di Ubuntu 18.04

Iman Sugirman

LAMP Stack adalah sekelompok perangkat lunak sumber terbuka yang biasanya dipasang bersama untuk memungkinkan server meng-host situs web dan aplikasi web yang dinamis. Istilah ini sebenarnya adalah akronim yang mewakili sistem operasi Linux, dengan server web Apache. Data situs disimpan dalam database MySQL, dan konten dinamis diproses oleh PHP.

Instalasi Apache Web Server

Instal Apache menggunakan manajer paket Ubuntu, apt:

sudo apt update
sudo apt install apache2

Dan kamu langsung bisa melihat dengan mengakses ip_atau_domain kamu di browser.

Menambahkan Firewall untuk Apache

Sebelum kita menginstall ada baiknya kamu mengecek terlebih dahulu untuk firewallnya apakah sudah diaktifkan oleh pihak provider belum.

Masukan perintah :

sudo ufw app list

Dan outputnya adalah :

### Output
Available applications:
  Apache
  Apache Full
  Apache Secure
  OpenSSH

Jika Anda melihat profil Apache Full, itu akan menunjukkan bahwa itu memungkinkan lalu lintas ke port 80 dan 443:

sudo ufw app info "Apache Full"

Maka Outputnya akan seperti ini :

### Output
Profile: Apache Full
Title: Web Server (HTTP,HTTPS)
Description: Apache v2 is the next generation of the omnipresent Apache web
server.

Ports:
  80,443/tcp

Untuk Mengizinkan lalu lintas HTTP dan HTTPS yang masuk untuk profil ini:

sudo ufw allow in "Apache Full"

Dan kamu langsung bisa melihat dengan mengakses ip_atau_domain kamu di browser.

Menginstall MySQL

Sekali lagi, gunakan apt untuk mendapatkan dan menginstal perangkat lunak ini:

sudo apt install mysql-server

Perintah ini juga akan menunjukkan kepada Anda daftar paket yang akan diinstal, bersama dengan jumlah ruang disk yang akan mereka ambil. Masukkan Y untuk melanjutkan.

sudo mysql_secure_installation

Jawab Y untuk ya, atau apa pun untuk melanjutkan tanpa mengaktifkan.

Saatnya login ke Mysql

sudo mysql

Menginstall PHP

Sekali lagi, manfaatkan sistem apt untuk menginstal PHP. Selain itu, sertakan beberapa paket pembantu kali ini sehingga kode PHP dapat berjalan di bawah server Apache dan berbicara dengan database MySQL Anda:

sudo apt install php libapache2-mod-php php-mysql

Nah Sekarang modifikasi cara Apache file direktori untuk spesifik domain. Apache akan mencari file bernama index.html terlebih dahulu. Makanya akan kita ubah direktori indexnya ke file index.php

Sekarang kita masukan Perintah :

sudo nano /etc/apache2/mods-enabled/dir.conf

Catatan : Mengedit file extensi .conf kamu membutuhkan keahlian nano dalam pengeditan file ini.

Dan akan melihat :

<IfModule mod_dir.c>
    DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
</IfModule>

Ubah Menjadi :

<IfModule mod_dir.c>
    DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>

Setelah selesai, simpan dan tutup file dengan menekan CTRL + X. Konfirmasikan penyimpanan dengan mengetik Y dan kemudian tekan ENTER untuk memverifikasi lokasi penyimpanan file.

Setelah ini, mulai ulang server web Apache agar perubahan Kamu dikenali. Lakukan ini dengan mengetik ini:

sudo systemctl restart apache2

Dan untuk melihat statusnya sekarang ketik :

sudo systemctl status apache2

Dan outputnya akan seperti ini :

Sample Output
● apache2.service - LSB: Apache2 web server
   Loaded: loaded (/etc/init.d/apache2; bad; vendor preset: enabled)
  Drop-In: /lib/systemd/system/apache2.service.d
           └─apache2-systemd.conf
   Active: active (running) since Tue 2018-04-23 14:28:43 EDT; 45s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 13581 ExecStop=/etc/init.d/apache2 stop (code=exited, status=0/SUCCESS)
  Process: 13605 ExecStart=/etc/init.d/apache2 start (code=exited, status=0/SUCCESS)
    Tasks: 6 (limit: 512)
   CGroup: /system.slice/apache2.service
           ├─13623 /usr/sbin/apache2 -k start
           ├─13626 /usr/sbin/apache2 -k start
           ├─13627 /usr/sbin/apache2 -k start
           ├─13628 /usr/sbin/apache2 -k start
           ├─13629 /usr/sbin/apache2 -k start
           └─13630 /usr/sbin/apache2 -k start

Tekan Q untuk keluar dari output status ini.

Menginstall Module-Module PHP

Untuk Mencari Module PHP kamu bisa mengetikan seperti ini :

apt search php- | less

Dan jika ingin melihat module yang sudah ada untuk informasinya bisa klik :

apt show php-cli

Untuk Menginstal Module gunakan perintah ini :

sudo apt install php-cli

Kamu juga bisa menginstall sekaligus dalam 1 command :

sudo apt install module-package module-package …

Mengatur Virtual Host Apache

Untuk Membuat satu web berada di folder mana section ini akan memberikan arahan agar lebih mudah dalam pencarian dan untuk lainnya. Silahkan buat folder di folder /var/www/your_domain yang akan kita buat dengan cara mengetik :

sudo mkdir /var/www/your_domain

Dan ubah Ownership folder itu ke $USER

sudo chown -R $USER:$USER /var/www/your_domain

Mengubah Permission dengan cara :

sudo chmod -R 755 /var/www/your_domain

Mari Sekarang kita coba membuat file index.html :

nano /var/www/your_domain/index.html

Isi dengan seperti ini :

<html>
    <head>
        <title>Welcome to Your_domain!</title>
    </head>
    <body>
        <h1>Success!  The your_domain server block is working!</h1>
    </body>
</html>

Atur pengarahan folder :

sudo nano /etc/apache2/sites-available/your_domain.conf

Isi dan sesuaikan dengan cara kamu :

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName your_domain
    ServerAlias www.your_domain
    DocumentRoot /var/www/your_domain
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Dan akhirnya kita sudah mengubah DocumentRoot ke direktori baru kita dan ServerAdmin ke email yang dapat diakses oleh administrator situs domain kamu. Kita juga sudah menambahkan ServerName, yang menetapkan domain basis yang harus cocok dengan definisi host virtual ini, dan ServerAlias, yang menetapkan nama lebih lanjut yang harus cocok dengan nama domain. Simpan dan tutup file ketika Anda selesai.

Sekaran kita aktifkan DocRoot itu dengan menggunakan a2ensite dengan cara mengetik :

sudo a2ensite your_domain.conf

Dan sekarang kita nonaktifkan 000-default.conf:

sudo a2dissite 000-default.conf

Dan sekarang kita test untuk apache :

sudo apache2ctl configtest

Lalu Restart untuk Apache nya

sudo systemctl restart apache2