Loading

wait a moment

How to install Apache/httpd on CentOS 7

Apache Web Server Logo

Apa itu Apache HTTP Server ?

Apache HTTP Server atau yang lebih dikenal Apache merupakan sebuah upaya pengembangan dan maintain server HTTP yang berbasis Open Source untuk sistem operasi Unix dan Windows. Seperti halnya Nginx, Apache merupakan salah satu web server terkenal yang digunakan pada Linux.

Apache HTTP Server (“httpd“) diluncurkan pada tahun 1995 dan telah menjadi web server terkenal di internet sejak April 1996. Saat ini, 67% dari keseluruhan web server yang ada di dunia menggunakan Apache HTTP Server karena cepat, handal, dan aman. Serta Apache dapat juga disesuaikan untuk memenuhi kebutuhan di berbagai environment yang berbeda dengan menggunakan extensi dan modul tambahan.

How to install Apache (httpd)

Bagaimana step by step untuk install apache? Nah, berikut ini kami berikan panduan/tutorial untuk install apache di CentOS 7.

  1. Pertama tambahkan dahulu repository EPEL dan update CentOSnya

    [root@geekid ~]# yum install epel-release && yum update
  2. Setelah selesai menambahkan repository dan update, selanjutnya install apache

    [root@geekid ~]# yum install httpd php -y
  3. Ketika proses install apache selesai, buat folder sites-available dan sites-enabled pada folder /etc/httpd/

    [root@geekid ~]# mkdir -p /etc/httpd/sites-available && mkdir -p /etc/httpd/sites-enabled
  4. Edit file httpd.conf yang berada di folder /etc/httpd/conf, kemudian tambahkan pada baris terakhirnya “IncludeOptional sites-enabled/*.conf

    [root@geekid ~]# vim /etc/httpd/conf/httpd.conf

    ...
    EnableSendfile on
    
    # Supplemental configuration
    #
    # Load config files in the "/etc/httpd/conf.d" directory, if any.
    IncludeOptional conf.d/*.conf
    IncludeOptional sites-enabled/*.conf
    
  5. Lalu selanjutnya buat file konfigurasi virtualhost pada folder /etc/httpd/sites-available/ (misal : default.conf)

    [root@geekid ~]# cd /etc/httpd/sites-available/
    [root@geekid sites-available]# touch default.conf
    [root@geekid sites-available]# vim default.conf

    Setelah membuat file default.conf tambahkan beberapa konfigurasi virtualhost apache seperti berikut ini

    <Virtualhost *:80>
       ServerName www.geek.id                       ### declaration servername for www.geek.id
       DocumentRoot /home/test/public_html          ### root directory on /home/test/public_html
    
       ErrorLog /var/log/httpd/error.log            ### Error log file location
       CustomLog /var/log/httpd/custom.log combined ### Custom log file location
    </Virtualhost>
    
  6. Selanjutnya file konfigurasi default.conf tadi di buatkan hard link ke folder /etc/httpd/sites-enabled/ dengan command berikut ini

    [root@geekid sites-available]# ln -s /etc/httpd/sites-available/default.conf /etc/httpd/sites-enabled/default.conf
  7. Buat folder root document untuk virtualhost defaul.conf yang diletakan di /home/test/public_html.

    [root@geekid ~]# mkdir -p /home/test/public_html

    Buat file index.php untuk test page.

    [root@geekid ~]# touch /home/test/public_html/index.php
    [root@geekid ~]# vim /home/test/public_html/index.php

    pada file index.php ketikan script berikut ini.

    <?php
       phpinfo();
    ?>
    
  8. Ubah hak akses dan kepemilikan folder /home/test/public_html dan file index.php

    [root@geekid ~]# chmod 755 /home/test/public_html/
    [root@geekid ~]# chmod 644 /home/test/public_html/index.php
    [root@geekid ~]# chown -R apache:apache /home/test/public_html/
    
  9. Sebelum enable dan start service httpd allow dahulu port 80 di firewall

    [root@geekid ~]# firewall-cmd --zone=public --permanent --add-service=http
    [root@geekid ~]# firewall-cmd --zone=public --permanent --add-service=https
    [root@geekid ~]# firewall-cmd --reload
  10. Langkah terakhir, enable dan start service httpd

    [root@geekid ~]# systemctl enable httpd
    [root@geekid ~]# systemctl start httpd
    

Cukup mudahkan untuk install apache di CentOS 7? Masih belum paham, silakan tinggalkan komentar pertanyaanya nanti akan saya jawab jika masih belum paham.