Apache Web Server di Ubuntu 22.04 LTS

Syslab.id – Tutorial kali ini kami akan membahas tentang apache web server di Ubuntu 22.04 LTS

Apa itu Apache Web Server

Apache adalah web server yang dapat dijalankan di berbagai sistem operasi seperti Unix, BSD, Linux, Windows, dan Novell Netware. Server ini bertugas melayani fasilitas web menggunakan protokol HTTP atau HTTPS. Apache bersifat open-source, artinya dapat digunakan secara bebas oleh siapa saja. Web server Apache bekerja ketika pengguna meminta halaman melalui protokol HTTP atau HTTPS. Server ini akan memproses permintaan tersebut dan menampilkan halaman yang diminta.

Instalasi Apache Web Server

Di Ubuntu atau Debian, paket atau service apache disebut dengan apache2, berbeda dengan sistem operasi Linux lain seperti RPM based (AlmaLinux, RockyLinux, Red Hat) dimana service apache disebut dengan penamaan HTTPD.

Secara default di Ubuntu untuk repositori Apache sudah tersedia, dengan demikian Anda dapat melakukan instalasi Apache di Ubuntu Server dengan mudah. Jalankan perintah berikut, untuk melakukan instalasi apache

ubuntu@syslab:~$ sudo -i
root@syslab:~# 
root@syslab:~# apt update
root@syslab:~# apt install apache2

Manajemen Apache

Sebelumnya kita sudah berhasil melakukan instalasi Apache2 di Ubuntu, selanjutnya kita akan belajar bagaimana cara manajemen apache menggunakan systemd sebagai berikut:

Untuk melakukan start, stop, enable dan cek status apache service gunakan perintah berikut

root@syslab:~# systemctl start apache2
root@syslab:~# systemctl restart apache2
root@syslab:~# systemctl enable apache2
root@syslab:~# systemctl stop apache2
root@syslab:~# systemctl reload apache2

Untuk hasil output sample nya seperti gambar dibawah ini

Verifikasi Akses Apache Web Server

Seperti gambar diatas saat ini web server apache sudah running dan untuk melihat status port yang digunakan bisa menggunakan perintah netstat seperti berikut dan silahkan akses IP server Anda di browser, maka akan nampak default page apache web server.

root@syslab:~# netstat -tulpn |grep apache

Konfigurasi Virtual Host Apache

Virtual Host di Apache digunakan untuk menghosting beberapa website atau domain pada satu server. Jika Anda memiliki satu domain utama dan beberapa subdomain, Anda dapat mengonfigurasi masing-masing dengan Virtual Host terpisah.

Membuat Direktori Proyek Website

Sebelum membuat Virtual Host, siapkan direktori untuk proyek web Anda. Secara default, direktori ini berada di /var/www/html/namadomain. Berikut adalah langkah untuk membuat direktori dan file sederhana:

root@syslab:~# mkdir -p /var/www/html/apriori.my.id/public
root@syslab:~# mkdir -p /var/www/html/apriori.my.id/logs
root@syslab:~# vim /var/www/html/apriori.my.id/public/index.html

Isi file index.html untuk pengujian sederhana:

<!doctype html>
<html>
<body>
    <h1>Hello, World!</h1>
    <p>This is an example website running on the Apache HTTP Web Server.</p>
</body>
</html>

Menambahkan Virtual Host

File konfigurasi Virtual Host Apache biasanya terletak di /etc/apache2/sites-available/ (untuk Ubuntu/Debian). Buat file konfigurasi baru untuk domain Anda:

root@syslab:~# cd /etc/apache2/sites-available/
root@syslab:/etc/apache2/sites-available# vim apriori.my.id.conf

Berikut contoh isi file konfigurasi untuk apriori.my.id:

<VirtualHost *:80>
    ServerAdmin me@apriori.my.id
    ServerName apriori.my.id
    ServerAlias www.apriori.my.id
    DocumentRoot /var/www/html/apriori.my.id/public/
    ErrorLog /var/www/html/apriori.my.id/logs/error.log
    CustomLog /var/www/html/apriori.my.id/logs/access.log combined
</VirtualHost>

Mengaktifkan Virtual Host

Setelah membuat file konfigurasi, aktifkan Virtual Host dan nonaktifkan konfigurasi default Apache:

Aktifkan Virtual Host:

root@syslab:/etc/apache2/sites-available# a2ensite apriori.my.id

Nonaktifkan konfigurasi default:

root@syslab:/etc/apache2/sites-available# a2dissite 000-default.conf

Kemudian, Restart Apache

root@syslab:/etc/apache2/sites-available# systemctl reload apache2

Test Konfigurasi Apache

Sebelum mengakses situs, pastikan konfigurasi Apache tidak memiliki kesalahan. Gunakan perintah berikut untuk test nya:

root@syslab:/etc/apache2/sites-available# apachectl configtest
Syntax OK
root@syslab:/etc/apache2/sites-available#

Jika tidak ada kesalahan, restart layanan Apache:

root@syslab:/etc/apache2/sites-available# systemctl restart apache2

Cek Status Apache

Pastikan layanan Apache berjalan dengan baik:

root@syslab:/etc/apache2/sites-available# systemctl status apache2

Test Akses Website

Setelah konfigurasi selesai, verifikasi akses melalui browser. Ketikkan http://apriori.my.id di browser Anda. Jika domain belum mengarah ke server, Anda dapat menggunakan IP Address server disertai path domain.

Selain itu, Anda dapat menguji akses menggunakan perintah curl:

Nurs-MacBook-Air :: ~ » curl -I apriori.my.id
HTTP/1.1 200 OK
Date: Mon, 25 Nov 2024 14:58:10 GMT
Server: Apache/2.4.52 (Ubuntu)
Last-Modified: Mon, 25 Nov 2024 14:38:53 GMT
ETag: "96-627bdb1121b40"
Accept-Ranges: bytes
Content-Length: 150
Vary: Accept-Encoding
Content-Type: text/html

Nurs-MacBook-Air :: ~ » 

Konfigurasi SSL di Apache

Tahapan selanjutnya yaitu memasang SSL pada domain apriori.my.id, pada tutorial kali ini kami sudah mempunyai SSL nya. Jika belum Anda bisa menggunakan SSL Free dari Letsencrpt.

Buka file virtual host apache sebelumnya dan ubah konfigurasi nya sebagai berikut

root@syslab:/etc/apache2/sites-available# vim apriori.my.id.conf 

Berikut contoh konfigurasi virtual host untuk SSL di apache

root@syslab:/etc/apache2/sites-available# cat apriori.my.id.conf 
<VirtualHost *:443>
    ServerAdmin me@apriori.my.id
    ServerName apriori.my.id
    ServerAlias www.apriori.my.id
    DocumentRoot /var/www/html/apriori.my.id/public/
    ErrorLog /var/www/html/apriori.my.id/logs/error.log
    CustomLog /var/www/html/apriori.my.id/logs/access.log combined

    SSLEngine on
    SSLCertificateFile /etc/ssl/fullchain.pem
    SSLCertificateKeyFile /etc/ssl/privkey.pem
    SSLCertificateChainFile /etc/ssl/chain.pem

    <Directory /var/www/html/apriori.my.id/public/>
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

root@syslab:/etc/apache2/sites-available# 

Jika sudah selanjutnya mengaktifkan module SSL di apache dengan cara sebagai berikut

root@syslab:/etc/apache2/sites-available# a2enmod ssl
Considering dependency setenvif for ssl:
Module setenvif already enabled
Considering dependency mime for ssl:
Module mime already enabled
Considering dependency socache_shmcb for ssl:
Enabling module socache_shmcb.
Enabling module ssl.
See /usr/share/doc/apache2/README.Debian.gz on how to configure SSL and create self-signed certificates.
To activate the new configuration, you need to run:
  systemctl restart apache2
root@syslab:/etc/apache2/sites-available# systemctl restart apache2
root@syslab:/etc/apache2/sites-available#
root@syslab:/etc/apache2/sites-available# systemctl status apache2

Jika sudah pastikan untuk default apache sudah di disable, jika belum Anda bisa mengikut command dibwah ini

root@syslab:/etc/apache2/sites-available# a2dissite 000-default.conf
Site 000-default already disabled
root@syslab:/etc/apache2/sites-available# a2dissite default-ssl.conf
Site default-ssl disabled.
To activate the new configuration, you need to run:
  systemctl reload apache2
root@syslab:/etc/apache2/sites-available# systemctl reload apache2
root@syslab:/etc/apache2/sites-available# 

Selanjutnya Anda dapat memastikan kembali untuk config virtualhost domain apriori sudah enable

root@syslab:/etc/apache2/sites-available# a2ensite apriori.my.id
Enabling site apriori.my.id.
To activate the new configuration, you need to run:
  systemctl reload apache2
root@syslab:/etc/apache2/sites-available# 
root@syslab:/etc/apache2/sites-available# systemctl reload apache2
root@syslab:/etc/apache2/sites-available# 

Verifikasi Akses Domain

Setelah pemasangan SSL mari kita verifikasi akses menggunakan protokol HTTPS dan pastikan domain dapat diakses menggunakan HTTPS seperti gambar dibawah

Sampai disini Anda sudah bisa menggunakan Web Server Apache di Ubuntu 22.04 LTS

Selamat mencoba 🔥

Tagged with:
LSA

Penulis dan pengelola konten di Syslab ID. Dengan latar belakang di bidang sistem administrasi dan IT infrastruktur, Admin Syslab bertujuan untuk menyediakan materi yang mudah dipahami dan bermanfaat bagi pemula yang ingin memulai karir di dunia IT, khususnya dalam sistem operasi, virtualisasi, dan automasi

You might also like
Manajemen User di Ubuntu 22.04 LTS

Manajemen User di Ubuntu 22.04 LTS

Nginx Reverse Proxy di Ubuntu 22.04 LTS

Nginx Reverse Proxy di Ubuntu 22.04 LTS

Instalasi PHP di Ubuntu Server 22.04 LTS

Instalasi PHP di Ubuntu Server 22.04 LTS

Cara Menjalankan Apache dan Nginx Secara Bersamaan di Ubuntu 22.04 LTS

Cara Menjalankan Apache dan Nginx Secara Bersamaan di Ubuntu 22.04 LTS

Nginx Web Server di Ubuntu 22.04 LTS

Nginx Web Server di Ubuntu 22.04 LTS

Mengenal Apa itu Web Server

Mengenal Apa itu Web Server