Cara Mengubah Port HTTP Apache di Linux


Server Apache HTTP adalah salah satu server web yang paling banyak digunakan di internet saat ini, karena fleksibilitas, stabilitas, dan beragam fiturnya, beberapa di antaranya saat ini tidak ada di server web lain, seperti saingan Nginx.

Beberapa fitur paling penting dari Apache mencakup kemampuan untuk memuat dan menjalankan berbagai jenis modul dan konfigurasi khusus saat runtime, tanpa benar-benar menghentikan server atau, lebih buruk lagi, mengkompilasi perangkat lunak setiap kali modul baru ditambahkan dan peran khusus dimainkan. oleh file .htaccess, yang dapat mengubah konfigurasi server web khusus untuk direktori webroot.

Secara default, server web Apache diinstruksikan untuk mendengarkan koneksi masuk dan mengikat pada port 80. Jika Anda memilih konfigurasi TLS, server akan mendengarkan koneksi aman pada port 443.

Untuk menginstruksikan server web Apache untuk mengikat dan mendengarkan lalu lintas web pada port lain selain port web standar, Anda perlu menambahkan pernyataan baru yang berisi port baru untuk pengikatan di masa mendatang.

Pada sistem berbasis Debian/Ubuntu, file konfigurasi yang perlu diubah adalah file /etc/apache2/ports.conf dan berbasis RHEL/CentOS distribusi mengedit file /etc/httpd/conf/httpd.conf.

Buka file khusus untuk distribusi Anda sendiri dengan editor teks konsol dan tambahkan pernyataan port baru seperti yang ditunjukkan dalam kutipan di bawah ini.

nano /etc/apache2/ports.conf     [On Debian/Ubuntu]
nano /etc/httpd/conf/httpd.conf  [On RHEL/CentOS]

Dalam contoh ini kita akan mengonfigurasi server Apache HTTP untuk mendengarkan koneksi pada port 8081. Pastikan Anda menambahkan pernyataan di bawah ini dalam file ini, setelah arahan yang memerintahkan server web untuk mendengarkan pada port 80, seperti yang diilustrasikan pada gambar di bawah.

Listen 8081

Setelah menambahkan baris di atas, Anda perlu membuat atau mengubah host virtual Apache di distribusi berbasis Debian/Ubuntu untuk memulai proses pengikatan, khusus untuk kebutuhan vhost Anda.

Dalam distribusi CentOS/RHEL, perubahan diterapkan langsung ke host virtual default. Pada contoh di bawah, kita akan memodifikasi host virtual default server web dan memerintahkan Apache untuk mendengarkan lalu lintas web dari port 80 ke port 8081.

Buka dan edit file 000-default.conf dan ubah port menjadi 8081 seperti yang ditunjukkan pada gambar di bawah.

nano /etc/apache2/sites-enabled/000-default.conf 

Terakhir, untuk menerapkan perubahan dan membuat Apache mengikat port baru, mulai ulang daemon dan periksa tabel soket jaringan lokal menggunakan netstat atau perintah ss. Port 8081 yang sedang didengarkan harus ditampilkan di tabel jaringan server Anda.

systemctl restart apache2
netstat -tlpn| grep apache
ss -tlpn| grep apache

Anda juga dapat membuka browser dan menavigasi ke alamat IP server atau nama domain Anda pada port 8081. Halaman default Apache harus ditampilkan di browser. Namun, jika Anda tidak dapat menjelajahi halaman web, kembalilah ke konsol server dan pastikan aturan firewall yang tepat telah diatur untuk mengizinkan lalu lintas port.

http://server.ip:8081 

Pada distribusi Linux berbasis CentOS/RHEL, instal paket policycoreutils untuk menambahkan aturan SELinux yang diperlukan agar Apache dapat mengikat port baru dan memulai ulang server HTTP Apache untuk menerapkan perubahan.

yum install policycoreutils

Tambahkan aturan Selinux untuk port 8081.

semanage port -a -t http_port_t -p tcp 8081
semanage port -m -t http_port_t -p tcp 8081

Mulai ulang server web Apache

systemctl restart httpd.service 

Jalankan netstat atau ss command untuk memeriksa apakah port baru berhasil mengikat dan mendengarkan lalu lintas masuk.

netstat -tlpn| grep httpd
ss -tlpn| grep httpd

Buka browser dan navigasikan ke alamat IP server atau nama domain Anda pada port 8081 untuk memeriksa apakah port web baru dapat dijangkau di jaringan Anda. Halaman default Apache harus ditampilkan di browser

http://server.ip:8081 

Jika Anda tidak dapat menavigasi ke alamat di atas, pastikan Anda menambahkan aturan firewall yang tepat di tabel Firewall server Anda.