Instalasi
Ubah /etc/apt/souorces.list | memastikan proses download lebih cepat
deb http://id.archive.ubuntu.com/ubuntu focal main restricted universe multiverse
deb http://id.archive.ubuntu.com/ubuntu focal-updates main restricted universe multiverse
deb http://id.archive.ubuntu.com/ubuntu focal-backports main restricted universe multiverse
deb http://id.archive.ubuntu.com/ubuntu focal-security main restricted universe multiverse
apt update
apt upgrade
Install apache
apt install apache2
Install PHP
sudo apt -y install php7.4
Install extension/module
sudo apt -y install php7.4-common php7.4-mysql php7.4-xml php7.4-xmlrpc php7.4-curl php7.4-gd php7.4-imagick php7.4-cli php7.4-dev php7.4-imap php7.4-mbstring php7.4-opcache php7.4-soap php7.4-zip php7.4-cli php7.4-intl imagemagick git unzip zip libgd-dev libapache2-mod-php libphp-adodb
Pengujian
Buat file pengujian PHP
nano /var/www/html/info.php
Maukkan ini kedalamnya
<?php phpinfo( ); ?>
Akses melalui web browser
http://ip-address
http://ip-address/info.php
Pastikan saat mengakses http://ip-address
muncul halaman default apache, dan saat mengakses http://ip-address/info.php
muncul halaman PHP info
*Catatan: Sebelum lanjut ke tahap pembuatan virtual host pastikan konfigurasi pada dns server sudah benar
Konfigurasi
Disini saya akan membuat 2 virtual host dengan virtual host ke 2 menggunakan subdomain
Virtual host 1
Membuat direktori untuk virtualhost 1
mkdir /var/www/namadomain.com
Membuat file pengujian html
nano /var/www/namadomain.com/index.html
Masukkan ini kedalamnya
virtual host namadomain.com berhasil!
Membuat file pengujian PHP, untuk memastikan php sudah berjalan
nano /var/www/namadomain.com/info.php
Masukkan ini kedalamnya
<?php phpinfo( ); ?>
Mengubah kepemilikan dan perizinan direktori
chown -R www-data:www-data /var/www/namadomain.com
chmod -R 775 namadomain.com/
Membuat file konfigurasi virtual host
cd /etc/apache2/sites-available/
nano namadomain.com.conf
Masukkan ini kedalamnya
<VirtualHost *:80>
ServerName namadomain.com
ServerAlias www.namadomain.com
ServerAdmin [email protected]
DocumentRoot /var/www/namadomain.com
<Directory /var/www/namadomain.com>
Options -Indexes +FollowSymLinks
AllowOverride All
</Directory>
ErrorLog ${APACHE_LOG_DIR}/namadomain.com-error.log
CustomLog ${APACHE_LOG_DIR}/namadomain.com-access.log combined
</VirtualHost>
Virtual host 2
Membuat direktori untuk virtualhost 2
mkdir /var/www/blog.namadomain.com
Membuat file pengujian html
nano /var/www/blog.namadomain.com/index.html
Masukkan ini kedalamnya
virtual host blog.namadomain.com berhasil!
Membuat file pengujian PHP, untuk memastikan php sudah berjalan
nano /var/www/namadomain.com/info.php
Masukkan ini kedalamnya
<?php phpinfo( ); ?>
Mengubah kepemilikan dan perizinan direktori
chown -R www-data:www-data /var/www/blog.namadomain.com
chmod -R 775 blog.namadomain.com/
Membuat file konfigurasi virtual host
cd /etc/apache2/sites-available/
nano blog.namadomain.com.conf
Masukkan ini kedalamnya
<VirtualHost *:80>
ServerName blog.namadomain.com
ServerAlias www.blog.namadomain.com
ServerAdmin [email protected]
DocumentRoot /var/www/blog.namadomain.com
<Directory /var/www/namadomain.com>
Options -Indexes +FollowSymLinks
AllowOverride All
</Directory>
ErrorLog ${APACHE_LOG_DIR}/blog.namadomain.com-error.log
CustomLog ${APACHE_LOG_DIR}/blog.namadomain.com-access.log combined
</VirtualHost>
Mengaktifkan konfigurasi
sudo a2ensite namadomain.com.conf blog.
Pastikan didalam direktori /etc/apache2/sites-enabled/
sudah terdapat file konfigurasi namadomain.com.conf
ls /etc/apache2/sites-enabled/
Jika belum ada buat symlink (symbolic link) file /etc/apache2/sites-available/namadomain.com.conf
ke /etc/apache2/sites-enabled/
ln -s /etc/apache2/sites-available/namadomain.com.conf /etc/apache2/sites-enabled/
Cek syntax, apakah ada error/kesalahan penulisan
sudo apachectl configtest
Pastikan output yang keluar
Syntax OK
Restart apache
sudo systemctl restart apache2
Konfigurasi file /etc/hosts
nano /etc/hosts
masukkan ini kedalamnya, dan sesuaikan IP dengan IP yang kamu gunakan
TIDAK PERLU
127.0.0.1 localhost
127.0.0.1 nama-server
IP-ADDRESS www.namadomain.com namadomain.com
Pengujian
Akses dari web browser
namadomain.com/test.html
namadomain.com/info.php
blog.namadomain.com/test.html
blog.namadomain.com/info.php
Pastikan output yang keluar sudah sesuai
Keterangan artikel
Tested on: ubuntu 20.04 Sumber: https://linuxize.com/post/how-to-set-up-apache-virtual-hosts-on-ubuntu-20-04/ https://lms.onnocenter.or.id/wiki/index.php/Install_WordPress_di_Ubuntu_20.04#Edit_.2Fetc.2Fapt.2Fsources.list