Kā nomainīt Apache HTTP portu Linux


Apache HTTP serveris šodien ir viens no visbiežāk izmantotajiem tīmekļa serveriem internetā, veicot tā elastību, stabilitāti un plašu funkciju klāstu, no kurām dažas pašlaik nav pieejamas citos tīmekļa serveros, piemēram, konkurējošajā Nginx.

Dažas no vissvarīgākajām Apache funkcijām ietver iespēju ielādēt un palaist dažāda veida moduļus un īpašas konfigurācijas izpildlaika laikā, faktiski neapstādinot serveri vai, vēl sliktāk, katru reizi apkopojot programmatūru, kad tiek pievienots jauns modulis, un īpašo lomu ar .htaccess failiem, kas var mainīt tīmekļa serveru konfigurācijas, kas raksturīgas tīmekļa sakņu direktorijiem.

Pēc noklusējuma Apache tīmekļa serverim tiek uzdots klausīties ienākošo savienojumu un saistīties 80. portā. Ja izvēlaties TLS konfigurāciju, serveris klausīsies drošus savienojumus 443. portā.

Lai uzdotu Apache tīmekļa serverim saistīt un klausīties tīmekļa trafiku citās ostās, kas nav standarta tīmekļa porti, jums jāpievieno jauns paziņojums, kurā ir jaunais ports nākotnes saistījumiem.

Debian/Ubuntu bāzētā sistēmā konfigurācijas fails, kas jāmaina, ir /etc/apache2/ports.conf fails, un RHEL/CentOS balstītajos izplatījumos rediģējiet /etc/httpd/conf/httpd.conf failu.

Atveriet failu, kas raksturīgs jūsu izplatīšanai, izmantojot konsoles teksta redaktoru, un pievienojiet jauno porta paziņojumu, kā parādīts zemāk esošajā fragmentā.

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

Šajā piemērā mēs konfigurēsim Apache HTTP serveri, lai klausītos savienojumus 801. portā. Pārliecinieties, ka esat pievienojis zemāk esošo paziņojumu šajā failā pēc direktīvas, kas tīmekļa serverim uzdod klausīties 80. portu, kā parādīts zemāk esošajā attēlā.

Listen 8081

Pēc iepriekšējās rindas pievienošanas jums ir jāizveido vai jāmaina Apache virtuālais resursdators Debian/Ubuntu balstītā izplatīšanā, lai sāktu saistīšanas procesu, kas atbilst jūsu pašu vhost prasībām.

CentOS/RHEL izplatījumos izmaiņas tiek lietotas tieši noklusējuma virtuālajā resursdatorā. Zemāk redzamajā paraugā mēs pārveidosim noklusējuma virtuālo tīmekļa servera resursdatoru un norādīsim Apache noklausīties tīmekļa trafiku no 80 porta līdz 8081 portam.

Atveriet un rediģējiet failu 000-default.conf un nomainiet portu uz 8081, kā parādīts zemāk esošajā attēlā.

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

Visbeidzot, lai piemērotu izmaiņas un liktu Apache saistīt jaunajā portā, restartējiet dēmonu un pārbaudiet vietējā tīkla ligzdu tabulu, izmantojot komandu netstat vai ss. Klausīšanās ports 8081 jāuzrāda servera tīkla tabulā.

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

Varat arī atvērt pārlūku un doties uz sava servera IP adresi vai domēna nosaukumu 8081. portā. Pārlūkprogrammā ir jāparāda Apache noklusējuma lapa. Tomēr, ja nevarat pārlūkot vietni, atgriezieties servera konsolē un pārliecinieties, vai ir iestatīti atbilstoši ugunsmūra noteikumi, lai atļautu ostas trafiku.

http://server.ip:8081 

CentOS/RHEL bāzētā Linux izplatīšanā instalējiet paketi policycoreutils, lai pievienotu nepieciešamos SELinux noteikumus, lai Apache saistītos ar jauno portu un restartētu Apache HTTP serveri, lai veiktu izmaiņas.

# yum install policycoreutils

Pievienojiet Selinux kārtulas 801. portam.

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

Restartējiet Apache tīmekļa serveri

# systemctl restart httpd.service 

Izpildiet komandu netstat vai ss, lai pārbaudītu, vai jaunais ports ir veiksmīgi saistīts un klausās ienākošo trafiku.

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

Atveriet pārlūku un dodieties uz sava servera IP adresi vai domēna nosaukumu portā 8081, lai pārbaudītu, vai jaunais tīmekļa ports ir sasniedzams jūsu tīklā. Pārlūkprogrammā jāparāda Apache noklusējuma lapa

http://server.ip:8081 

Ja nevarat pāriet uz iepriekš minēto adresi, pārliecinieties, vai servera ugunsmūra tabulā esat pievienojis atbilstošos ugunsmūra noteikumus.