Kuinka muuttaa Apache HTTP-portti Linuxissa


Apache HTTP -palvelin on yksi Internetin nykyään eniten käytetyistä web-palvelimista, sillä sen joustavuus, vakaus ja lukuisat ominaisuudet, joista osa ei toistaiseksi ole käytettävissä muissa verkkopalvelimissa, kuten esim. kilpailija Nginx.

Joitakin Apachen tärkeimpiä ominaisuuksia ovat kyky ladata ja suorittaa erityyppisiä moduuleja ja erikoiskokoonpanoja ajon aikana pysäyttämättä palvelinta tai, mikä pahempaa, kääntämättä ohjelmistoa joka kerta, kun uusi moduuli lisätään, ja erityinen rooli. .htaccess-tiedostoilla, jotka voivat muuttaa webroot-hakemistojen verkkopalvelinmäärityksiä.

Oletuksena Apache-verkkopalvelinta kehotetaan kuuntelemaan saapuvaa yhteyttä ja sitoutumaan porttiin 80. Jos valitset TLS-määrityksen, palvelin kuuntelee suojattuja yhteyksiä portissa 443.

Jotta voit ohjeistaa Apache-verkkopalvelinta sitomaan ja kuuntelemaan verkkoliikennettä muissa porteissa kuin tavallisissa verkkoporteissa, sinun on lisättävä uusi käsky, joka sisältää uuden portin tulevia sidoksia varten.

Debian/Ubuntu-pohjaisessa järjestelmässä muokattava määritystiedosto on /etc/apache2/ports.conf-tiedosto ja RHEL/CentOS-pohjainen jakelut muokkaa /etc/httpd/conf/httpd.conf-tiedostoa.

Avaa omaa jakeluasi koskeva tiedosto konsolin tekstieditorilla ja lisää uusi porttilauseke alla olevan otteen mukaisesti.

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

Tässä esimerkissä määritämme Apache HTTP -palvelimen kuuntelemaan portin 8081 yhteyksiä. Varmista, että lisäät alla olevan lauseen tähän tiedostoon sen käskyn jälkeen, joka kehottaa verkkopalvelinta kuuntelemaan porttia 80 alla olevan kuvan mukaisesti.

Listen 8081

Kun olet lisännyt yllä olevan rivin, sinun on luotava tai muutettava Apache-virtuaaliisäntä Debian/Ubuntu-pohjaisessa jakelussa, jotta voit aloittaa sidosprosessin omien vhost-vaatimustesi mukaisesti.

CentOS/RHEL-jakeluissa muutos otetaan käyttöön suoraan oletusarvoiseen virtuaaliseen isäntään. Alla olevassa näytteessä muokkaamme verkkopalvelimen oletusarvoista virtuaalista isäntää ja ohjeistamme Apachea kuuntelemaan verkkoliikennettä 80-portista 8081-porttiin.

Avaa ja muokkaa 000-default.conf-tiedostoa ja vaihda portiksi 8081 alla olevan kuvan mukaisesti.

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

Lopuksi, jos haluat ottaa muutokset käyttöön ja saada Apachen sitoutumaan uuteen porttiin, käynnistä daemon uudelleen ja tarkista paikallisverkon sockets-taulukko käyttämällä netstat- tai ss-komentoa. Kuuntelun portin 8081 pitäisi näkyä palvelimen verkkotaulukossa.

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

Voit myös avata selaimen ja siirtyä palvelimesi IP-osoitteeseen tai verkkotunnuksen nimeen portissa 8081. Apachen oletussivun pitäisi näkyä selaimessa. Jos et kuitenkaan voi selata verkkosivua, palaa palvelinkonsoliin ja varmista, että oikeat palomuurisäännöt on määritetty porttiliikenteen sallimiseksi.

http://server.ip:8081 

Asenna CentOS/RHEL-pohjaiseen Linux-jakeluun paketti policycoreutils, jotta voit lisätä tarvittavat SELinux-säännöt, jotta Apache sitoutuu uuteen porttiin ja käynnistää Apache HTTP-palvelimen uudelleen muutosten soveltamista varten.

yum install policycoreutils

Lisää Selinux-säännöt portille 8081.

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

Käynnistä Apache-verkkopalvelin uudelleen

systemctl restart httpd.service 

Suorita netstat tai ss-komento tarkistaaksesi, sitoutuuko uusi portti, ja kuuntele saapuvaa liikennettä.

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

Avaa selain ja siirry palvelimesi IP-osoitteeseen tai verkkotunnuksen nimeen portissa 8081 ja tarkista, onko uusi verkkoportti tavoitettavissa verkossasi. Apachen oletussivun pitäisi näkyä selaimessa

http://server.ip:8081 

Jos et voi navigoida yllä olevaan osoitteeseen, varmista, että lisäät oikeat palomuurisäännöt palvelimesi palomuuritaulukkoon.