Tujuan: mahasiswa dapat menginstal aplikasi web pada virtual private server (VPS) berbasis Linux.
VPS menyediakan fleksibilitas untuk menginstal aplikasi server apa saja, tidak terbatas hanya pada aplikasi web berbasis PHP/MySQL. Layanan VPS banyak tersedia (misal: Alibaba, DigitalOcean, dan AWS) dengan harga bervariasi sesuai spek server.
Layanan VPS hanya menyediakan server virtual dengan satu alamat IP publik.
Untuk mempermudah pengguna mengakses server kita, perlu tambahan nama domain yang mudah diingat.
Misalnya, untuk berlangganan nama domain *.my.id
, harganya sekitar Rp 12.000 per tahun.
Telah tersedia virtual disk image (VDI) instalasi Ubuntu Server 18.04 di
direktori /opt/vm
.
Salin file ubuntu-server.vdi
tersebut ke direktori home anda.
Kemudian, buat VM baru pada VirtualBox dengan tipe "Ubuntu 64-bit".
Gunakan virtual disk yang sudah disalin tadi.
File VDI di atas dapat diunduh di http://repo.apps.cs.ipb.ac.id/lab/ubuntu-server.vdi.gz.
Tujuannya adalah agar VM bisa diakses dari luar melalui alamat IP host (localhost). Masuk ke 'Settings -> Network -> Advanced -> Port Forwarding' dan tambahkan dua aturan berikut. Dengan demikian, jika kita mengakses port 8000 di host, maka akan diteruskan ke port 80 di guest (VM). Begitu juga dengan SSH, jika kita mengakses port 2200 di host, maka akan diteruskan ke port 22 di guest.
Setelah semuanya beres, jalankan VM dengan mode headless (tanpa tampilan).
: Aturan port forwarding
Name | Protocol | Host IP | Host Port | Guest IP | Guest Port |
---|---|---|---|---|---|
http | TCP | 8000 | 80 | ||
ssh | TCP | 2200 | 22 |
Buka terminal di komputer host, dan akses VM dengan username dan password student
.
# akses vm dari host
ssh student@localhost -p 2200
# set repo
sudo tee /etc/apt/sources.list << !
deb http://repo.apps.cs.ipb.ac.id/ubuntu bionic main restricted universe multiverse
deb http://repo.apps.cs.ipb.ac.id/ubuntu bionic-updates main restricted universe multiverse
deb http://repo.apps.cs.ipb.ac.id/ubuntu bionic-security main restricted universe multiverse
!
# instal apache, mysql, php
sudo apt update
sudo apt install apache2 php mysql-server
sudo apt install php-mysql php-gd php-mbstring php-xml php-curl
sudo service apache2 restart
Cek instalasi Apache dengan membuka laman http://localhost:8000.
# buat database untuk wordpress
sudo mysql -u root -ve "
CREATE DATABASE wordpress;
CREATE USER wordpress IDENTIFIED BY 'secret';
GRANT ALL PRIVILEGES ON wordpress.* TO wordpress;"
# unduh wordpress terbaru
wget "https://wordpress.org/latest.tar.gz"
# ekstrak ke direktori webroot
sudo tar -xvzf latest.tar.gz -C /var/www/html
# ubah kepemilikan ke user www-data
sudo chown -R www-data:www-data /var/www/html/wordpress
Buka laman http://localhost:8000/wordpress untuk meneruskan instalasi.
Untuk mematikan server, ketikkan perintah sudo poweroff
.