Instalasi Web Server HTTPD (Apache) di RedHat






Apa itu Web Server?

Web server adalah penyedia atau peladen yang melayani client untuk mengakses web atau data file yang ada di web server fisik yang bentuknya seperti html, css, ataupun php menggunakan software atau aplikasi. Fungsinya untuk mengelola web yang online, Agar semuanya berjalan lancar, web server berperan sebagai perantara antara mesin server dan klien. Web server menarik konten dari server pada setiap permintaan user dan mengirimkannya ke web.




Web server mengubah file-file tersebut ke file HTML yang statis dan mengelolanya di browser milik user web. Ketika mendengarkan kata web server, anggap saja software tersebut adalah tool yang bertangung jawab atas ketepatan komunikasi server-klien.


Apa itu HTTPD

HTTPD atau Apache merupakan salah satu software webserver yang populer dan tentunya free open source sofware. Web server ini telah menjadi platform bagi 46% website di seluruh dunia, dengan nama resmi Apache HTTP Server. Apache merupakan salah satu web server tertua dan terbaik, dirilis untuk kali pertama pada tahun 1995, serta dikelola dan dikembangkan oleh Apache Software Foundation.


Meskipun disebut sebagai web server, Apache tidak hadir dalam bentuk server fisik, melainkan software yang menjalankan sebuah server. Fungsinya adalah membuat koneksi antara server dan browser milik visitor website (Firefox, Google Chrome, Safari, dan lain-lain) sembari mengirimkan file bolak-balik (antara klien-server).


Alasan menggunakan Apache

Apache mudah dikelola karena memiliki struktur berbasis modul. Modul memungkinkan admnistrator server untuk mengaktifkan dan menonaktifkan fungsi atau fitur tambahan. Apache memiliki modul untuk keamanan, caching, URL rewriting, otentikasi password, dan masih banyak lagi. Anda juga bisa setup konfigurasi server sendiri melalui file yang disebut .htaccess, yang mana merupakan file konfigurasi Apache yang didukung oleh semua paket hosting .




Instalasi HTTPD

    1. Install menggunakan perintah berikut

[root@server1 ~]# yum -y install httpd

    2. Letak file konfigurasi berada di /etc/httpd/conf/httpd.conf 

    3. Untuk mengaktifkan service httpd bisa menggunakan perintah

[root@server1 ~]# systemctl start httpd
[root@server1 ~]# systemctl enable httpd
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.

    4. Karena defaultnya akan diblokir oleh firewall maka kita perlu menambahkan servicenya dengan menggunakan perintah


[root@server1 ~]# firewall-cmd --add-service=http --permanent
Warning: ALREADY_ENABLED: http
success
[root@server1 ~]# firewall-cmd --reload
success
[root@server1 ~]# firewall-cmd --list-service
cockpit dhcpv6-client dns http https ssh
[root@server1 ~]#

    5. Lalu coba akses web tersebut dengan menggunakan ip
          
           

Menambahkan file index.html untuk mengubah konten web

    1. Menggunakan perintah
[root@server1 ~]# vim /var/www/html/index.html
    2. Dan masukkan script html sederhana
<html>
<title>test</title>
<body>
<h1>test web server</h1>
</body>
</html>

     3. Hasilnya





Aktifkan SSL agar web bisa dibuka dengan https  

    1. install mod_ssl

[root@server1 certs]# dnf install httpd mod_ssl
Updating Subscription Management repositories.
Last metadata expiration check: 0:53:31 ago on Sun 11 Sep 2022 09:47:49 AM EDT.
Package httpd-2.4.37-47.module+el8.6.0+15654+427eba2e.2.x86_64 is already installed.
Dependencies resolved.
================================================================================================================
 Package    Arch      Version                                         Repository                           Size
================================================================================================================
Installing:
 mod_ssl    x86_64    1:2.4.37-47.module+el8.6.0+15654+427eba2e.2     rhel-8-for-x86_64-appstream-rpms    138 k

Transaction Summary
================================================================================================================
Install  1 Package

Total download size: 138 k
Installed size: 266 k
Is this ok [y/N]: y
Downloading Packages:
mod_ssl-2.4.37-47.module+el8.6.0+15654+427eba2e.2.x86_64.rpm                    213 kB/s | 138 kB     00:00    
----------------------------------------------------------------------------------------------------------------
Total                                                                           212 kB/s | 138 kB     00:00     
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                        1/1 
  Installing       : mod_ssl-1:2.4.37-47.module+el8.6.0+15654+427eba2e.2.x86_64                             1/1 
  Running scriptlet: mod_ssl-1:2.4.37-47.module+el8.6.0+15654+427eba2e.2.x86_64                             1/1 
  Verifying        : mod_ssl-1:2.4.37-47.module+el8.6.0+15654+427eba2e.2.x86_64                             1/1 
Installed products updated.

Installed:
  mod_ssl-1:2.4.37-47.module+el8.6.0+15654+427eba2e.2.x86_64                                                    

Complete!
[root@server1 certs]# 


    2. Generate certificate

[root@server1 certs]# openssl req -newkey rsa:2048 -nodes -keyout /etc/pki/tls/private/httpd.key -x509 -days 3650 -out /etc/pki/tls/certs/httpd.crt
Generating a RSA private key
..........+++++
............+++++
writing new private key to '/etc/pki/tls/private/httpd.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:id
State or Province Name (full name) []:wakand
Locality Name (eg, city) [Default City]:wakanda
Organization Name (eg, company) [Default Company Ltd]:wakanda
Organizational Unit Name (eg, section) []:wakanda
Common Name (eg, your name or your server's hostname) []:wakanda
Email Address []:wakanda@wakanda.sch.id

    3.  Menambahkan service firewall

[root@server1 certs]# firewall-cmd --permanent --add-port=443/tcp
success
[root@server1 certs]# firewall-cmd --reload
success

    4. Restart httpd

[root@server1 certs]# systemctl restart httpd

    5. Hasil



Komentar

Postingan populer dari blog ini

Konfigurasi DNS Server (Master Zone, Slave Zone, RPZ Zone) di RedHat

Bahas Firewalld di Redhat