ວິທີການປ່ຽນ Apache Port Port ໃນ Linux


ເຄື່ອງແມ່ຂ່າຍຂອງ Apache HTTP ແມ່ນ ໜຶ່ງ ໃນເຄື່ອງແມ່ຂ່າຍເວັບທີ່ໃຊ້ຫຼາຍທີ່ສຸດໃນອິນເຕີເນັດໃນປະຈຸບັນ, ເຮັດກັບຄວາມຍືດຫຍຸ່ນ, ຄວາມ ໝັ້ນ ຄົງແລະຄວາມເພິ່ງພໍໃຈຂອງຄຸນລັກສະນະ, ບາງສ່ວນຂອງມັນບໍ່ແມ່ນປັດຈຸບັນຢູ່ໃນເຄື່ອງແມ່ຂ່າຍເວັບອື່ນ, ເຊິ່ງເປັນຄູ່ແຂ່ງຂອງ Nginx.

ບາງຄຸນລັກສະນະທີ່ ສຳ ຄັນທີ່ສຸດຂອງ Apache ລວມມີຄວາມສາມາດໃນການໂຫຼດແລະການ ນຳ ໃຊ້ຫລາຍປະເພດຂອງໂມດູນແລະການຕັ້ງຄ່າພິເສດໃນເວລາແລ່ນ, ໂດຍບໍ່ມີການຢຸດຕົວຈິງຂອງ server ຫຼື, ຮ້າຍແຮງກວ່ານັ້ນ, ການລວບລວມຊອບແວໃນແຕ່ລະຄັ້ງທີ່ໂມດູນ ໃໝ່ ຈະຖືກເພີ່ມແລະມີບົດບາດພິເສດ. ໂດຍໄຟລ໌ .htaccess, ເຊິ່ງສາມາດປ່ຽນແປງການ ກຳ ນົດຄ່າຂອງເຄື່ອງແມ່ຂ່າຍເວັບໄຊທ໌ທີ່ສະເພາະກັບໄດເລກະທໍລີເວັບ.

ໂດຍຄ່າເລີ່ມຕົ້ນ, ເຄື່ອງແມ່ຂ່າຍເວັບໄຊຕ໌ Apache ຖືກແນະ ນຳ ໃຫ້ຟັງ ສຳ ລັບການເຊື່ອມຕໍ່ຂາເຂົ້າແລະຜູກໃສ່ພອດ 80. ຖ້າທ່ານເລືອກ ສຳ ລັບການຕັ້ງຄ່າ TLS, ເຄື່ອງແມ່ຂ່າຍຈະຟັງ ສຳ ລັບການເຊື່ອມຕໍ່ທີ່ປອດໄພຢູ່ທີ່ port 443.

ເພື່ອສັ່ງໃຫ້ເຄື່ອງແມ່ຂ່າຍເວັບໄຊຕ໌ Apache ຜູກແລະຟັງການເຂົ້າຊົມເວັບໄຊຕ໌ໃນບັນດາພອດອື່ນກ່ວາພອດເວັບມາດຕະຖານ, ທ່ານ ຈຳ ເປັນຕ້ອງເພີ່ມ ຄຳ ຖະແຫຼງການ ໃໝ່ ທີ່ມີພອດ ໃໝ່ ສຳ ລັບການຜູກມັດໃນອະນາຄົດ.

ໃນລະບົບທີ່ອີງໃສ່ Debian/Ubuntu, ເອກະສານການຕັ້ງຄ່າທີ່ຕ້ອງການດັດແກ້ແມ່ນເອກະສານ /etc/apache2/ports.conf ແລະໃນເອກະສານ RHEL/CentOS ທີ່ມີການແຈກຈ່າຍດັດແກ້ /etc/httpd/conf/httpd.conf.

ເປີດເອກະສານສະເພາະເຈາະຈົງ ສຳ ລັບການແຈກຈ່າຍຂອງທ່ານເອງກັບຕົວແກ້ໄຂຂໍ້ຄວາມ console ແລະເພີ່ມ ຄຳ ຖະແຫຼງທີ່ Port ໃໝ່ ດັ່ງທີ່ສະແດງຢູ່ໃນຂໍ້ຄວາມຂ້າງລຸ່ມນີ້.

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

ໃນຕົວຢ່າງນີ້ພວກເຮົາຈະ ກຳ ຫນົດຄ່າ server Apache HTTP ເພື່ອຟັງການເຊື່ອມຕໍ່ຢູ່ port 8081. ໃຫ້ແນ່ໃຈວ່າທ່ານເພີ່ມ ຄຳ ຖະແຫຼງການຂ້າງລຸ່ມນີ້ໃນເອກະສານນີ້, ຫຼັງຈາກ ຄຳ ສັ່ງທີ່ແນະ ນຳ ໃຫ້ server server ຟັງຢູ່ port 80, ດັ່ງທີ່ສະແດງຢູ່ໃນຮູບຂ້າງລຸ່ມນີ້.

Listen 8081

ຫຼັງຈາກທີ່ທ່ານໄດ້ເພີ່ມເສັ້ນຂ້າງເທິງແລ້ວ, ທ່ານ ຈຳ ເປັນຕ້ອງສ້າງຫລືປ່ຽນເຈົ້າພາບ virtual Apache ໃນການແຈກຢາຍທີ່ອີງໃສ່ Debian/Ubuntu ເພື່ອເລີ່ມຕົ້ນຂັ້ນຕອນການຜູກມັດ, ສະເພາະກັບຂໍ້ ກຳ ນົດ vhost ຂອງທ່ານເອງ.

ໃນການແຈກຈ່າຍຂອງ CentOS/RHEL, ການປ່ຽນແປງແມ່ນຖືກ ນຳ ໃຊ້ໂດຍກົງເຂົ້າໃນໂຮດຕິ້ງເສມືນແບບເດີມ. ໃນຕົວຢ່າງຂ້າງລຸ່ມນີ້, ພວກເຮົາຈະປັບປ່ຽນເຄື່ອງແມ່ຂ່າຍເວັບແບບ ທຳ ອິດແລະໃຫ້ ຄຳ ແນະ ນຳ ໃຫ້ Apache ຟັງ ສຳ ລັບການເຂົ້າຊົມເວັບຈາກ 80 port ຫາ 8081 port.

ເປີດແລະແກ້ໄຂເອກະສານ 000-default.conf ແລະປ່ຽນພອດໄປ 8081 ຕາມຮູບຂ້າງລຸ່ມ.

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

ສຸດທ້າຍ, ເພື່ອ ນຳ ໃຊ້ການປ່ຽນແປງແລະເຮັດໃຫ້ Apache ຜູກຢູ່ໃນພອດ ໃໝ່, ເລີ່ມຕົ້ນ daemon ແລະກວດເບິ່ງຕາຕະລາງເຄືອຂ່າຍທ້ອງຖິ່ນໂດຍໃຊ້ netstat ຫຼື ss command. ພອດ 8081 ໃນການຟັງຄວນສະແດງຢູ່ໃນຕາຕະລາງເຄືອຂ່າຍເຊີຟເວີຂອງທ່ານ.

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

ທ່ານຍັງສາມາດ, ເປີດ browser ແລະທ່ອງໄປຫາທີ່ຢູ່ IP ຂອງ server ຫຼືຊື່ໂດເມນຂອງທ່ານຢູ່ port 8081. ໜ້າ Default ຂອງ Apache ຄວນສະແດງຢູ່ໃນ browser. ເຖິງຢ່າງໃດກໍ່ຕາມ, ຖ້າທ່ານບໍ່ສາມາດຄົ້ນຫາ ໜ້າ ເວບໄຊທ໌, ກັບໄປທີ່ console server ແລະໃຫ້ແນ່ໃຈວ່າກົດລະບຽບຂອງ firewall ທີ່ຖືກສ້າງຕັ້ງຂື້ນເພື່ອອະນຸຍາດໃຫ້ມີການຈະລາຈອນຂອງພອດ.

http://server.ip:8081 

ກ່ຽວກັບການແຈກຈ່າຍ Linux ທີ່ອີງໃສ່ CentOS/RHEL ຕິດຕັ້ງແພັກເກດ policycoreutils ເພື່ອເພີ່ມກົດລະບຽບ SELinux ທີ່ ຈຳ ເປັນ ສຳ ລັບ Apache ທີ່ຈະຜູກມັດຢູ່ທ່າເຮືອ ໃໝ່ ແລະເລີ່ມ server Apache HTTP ໃໝ່ ເພື່ອ ນຳ ໃຊ້ການປ່ຽນແປງ.

# yum install policycoreutils

ເພີ່ມກົດລະບຽບຂອງ Selinux ສຳ ລັບພອດ 8081.

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

ເລີ່ມຕົ້ນລະບົບເຊີເວີ້ Apache

# systemctl restart httpd.service 

ປະຕິບັດຄໍາສັ່ງ netstat ຫຼື ss ເພື່ອກວດເບິ່ງວ່າທ່າເຮືອໃຫມ່ປະສົບຜົນສໍາເລັດແລະຮັບຟັງການຈະລາຈອນທີ່ເຂົ້າມາ.

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

ເປີດໂປແກຼມທ່ອງເວັບແລະໄປຫາທີ່ຢູ່ IP ຂອງເຄື່ອງແມ່ຂ່າຍຂອງທ່ານຫຼືຊື່ໂດເມນຢູ່ທີ່ port 8081 ເພື່ອກວດເບິ່ງວ່າທ່າເຮືອ ໃໝ່ ສາມາດເຂົ້າເຖິງໄດ້ໃນເຄືອຂ່າຍຂອງທ່ານຫຼືບໍ່.

http://server.ip:8081 

ຖ້າທ່ານບໍ່ສາມາດໄປຫາທີ່ຢູ່ຂ້າງເທິງ, ໃຫ້ແນ່ໃຈວ່າທ່ານເພີ່ມກົດລະບຽບຂອງ Firewall ທີ່ ເໝາະ ສົມໃນຕາຕະລາງ Firewall ຂອງເຊີບເວີຂອງທ່ານ.