Cara Install Apache di CentOS 8
Apache HTTP Server atau lebih singkat disebut Apache adalah perangkat lunak free/open source untuk web server yang tersedia dalam berbagai sistem operasi.
Apache dikembangkan dan dikelola oleh komunitas pengembang terbuka di bawah naungan Apache Software Foundation.
0.Perangkat yang Digunakan
Sebelum melangkah ke tutorial install Apache, berikut perangkat yang saya gunakan dalam tutorial ini:
- VPS Vultr CentOS 8 dengan IP Public 139.180.143.87
- Domain superuser.web.id
- Domain wpdev.web.id
1.Install Apache
Install paket httpd dan aktifkan servicenya.
1 2 3 | dnf install httpd -y systemctl enable --now httpd systemctl status httpd |
2.FirewallD Service
Masukkan protokol http ke dalam FirewallD agar web server dapat diakses.
1 2 3 | firewall-cmd --add-service=http --permanent firewall-cmd --reload firewall-cmd --list-services |
Baca tutorial lengkap Cara Setting Firewall dengan FirewallD di CentOS 8
3.Pengujian
Browsing IP CentOS server untuk melakukan pengujian Apache web server.
Hasilnya adalah 403 Forbidden. Apache web server sudah aktif, tetapi terjadi error karena belum ada file index di Document Root.
Buat file index.html di dalam direktori /var/www/html.
1 2 | cd /var/www/html/ echo "<h1>hello world</h1>" > index.html |
Browsing kembali IP CentOS server.
4.Menghubungkan Domain dengan VPS
Agar website yang ada di web server CentOS dapat diakses dengan nama domain, buat A record di DNS record dengan memasukkan domain dan IP Public dari VPS.
Browsing domain yang telah dihubungkan ke VPS.
5.Banyak Domain dalam Satu Server (Virtual Host)
Apakah bisa dalam satu server bisa menjalankan banyak domain atau sub-domain? Jawabannya bisa.
Buat A record seperti langkah sebelumnya pada semua domain yang ingin dihosting di server yang sama.
Kalau langsung melakukan uji browsing ke domain, hasilnya akan menampilkan halaman yang sama.
Agar tiap domain menampilkan halaman website yang berbeda, konfigurasikan virtual host di Apache.
Buat direktori Document Root dan index.html untuk masing-masing domain.
1 2 3 4 | cd /var/www mkdir superuser.web.id wpdev.web.id echo "<h1>superuser.web.id</h1>" > superuser.web.id/index.html echo "<h1>wpdev.web.id</h1>" > wpdev.web.id/index.html |
Buat file konfigurasi virtual host untuk superuser.web.id.
1 2 | cd /etc/httpd/conf.d/ vi superuser.web.id.conf |
Isi file superuser.web.id.conf.
1 2 3 4 5 6 7 8 9 10 11 12 | <VirtualHost *:80> ServerName www.superuser.web.id ServerAlias superuser.web.id DocumentRoot /var/www/superuser.web.id <Directory /var/www/superuser.web.id> Options Indexes FollowSymLinks MultiViews AllowOverride All Require all granted </Directory> ErrorLog /var/log/httpd/superuser.web.id_error.log CustomLog /var/log/httpd/superuser.web.id_access.log combined </VirtualHost> |
Buat file konfigurasi virtual host untuk wpdev.web.id.
1 | vi wpdev.web.id.conf |
Isi file wpdev.web.id.conf.
1 2 3 4 5 6 7 8 9 10 11 12 | <VirtualHost *:80> ServerName www.wpdev.web.id ServerAlias wpdev.web.id DocumentRoot /var/www/wpdev.web.id <Directory /var/www/wpdev.web.id> Options Indexes FollowSymLinks MultiViews AllowOverride All Require all granted </Directory> ErrorLog /var/log/httpd/wpdev.web.id_error.log CustomLog /var/log/httpd/wpdev.web.id_access.log combined </VirtualHost> |
Restart service Apache.
1 2 | systemctl restart httpd systemctl status httpd |
Pengujian akses masing-masing domain. Hasilnya harus menampilkan halaman index yang berbeda.
Selamat mencoba 🙂