웹사이트 검색

Linux에서 Apache HTTP 포트를 변경하는 방법


Apache HTTP 서버는 오늘날 인터넷에서 가장 많이 사용되는 웹 서버 중 하나이며 유연성, 안정성 및 다양한 기능을 갖추고 있으며 그 중 일부는 현재 다른 웹 서버에는 없습니다. 라이벌 Nginx.

Apache의 가장 중요한 기능 중 일부에는 실제로 서버를 중지하지 않고 런타임에 다양한 유형의 모듈과 특수 구성을 로드하고 실행할 수 있는 기능이 포함됩니다. 더 나쁜 것은 새 모듈이 가장 많이 추가되고 특별한 역할이 수행될 때마다 소프트웨어를 컴파일하는 것입니다. .htaccess 파일을 사용하여 웹루트 디렉토리와 관련된 웹 서버 구성을 변경할 수 있습니다.

기본적으로 Apache 웹 서버는 들어오는 연결을 수신하고 포트 80에 바인딩하도록 지시됩니다. TLS 구성을 선택하면 서버는 포트 443에서 보안 연결을 수신합니다.

표준 웹 포트가 아닌 다른 포트에서 웹 트래픽을 바인딩하고 수신하도록 Apache 웹 서버에 지시하려면 향후 바인딩을 위해 새 포트가 포함된 새 명령문을 추가해야 합니다.

Debian/Ubuntu 기반 시스템에서 수정이 필요한 구성 파일은 /etc/apache2/ports.conf 파일이며 RHEL/CentOS 기반입니다. 배포판은 /etc/httpd/conf/httpd.conf 파일을 편집합니다.

콘솔 텍스트 편집기를 사용하여 자신의 배포판과 관련된 파일을 열고 아래 발췌에 표시된 대로 새 포트 문을 추가합니다.

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

이 예에서는 8081 포트의 연결을 수신하도록 Apache HTTP 서버를 구성합니다. 아래 이미지에 표시된 대로 웹 서버가 포트 80에서 수신 대기하도록 지시하는 지시어 뒤에 이 파일에 아래 명령문을 추가해야 합니다.

Listen 8081

위 줄을 추가한 후, 자신의 가상 호스트 요구 사항에 맞게 바인딩 프로세스를 시작하려면 Debian/Ubuntu 기반 배포판에서 Apache 가상 호스트를 생성하거나 변경해야 합니다.

CentOS/RHEL 배포판에서는 변경 사항이 기본 가상 호스트에 직접 적용됩니다. 아래 샘플에서는 웹 서버의 기본 가상 호스트를 수정하고 Apache에 80 포트에서 8081 포트로의 웹 트래픽을 수신하도록 지시합니다.

000-default.conf 파일을 열어 아래 이미지와 같이 포트를 8081로 변경하세요.

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

마지막으로 변경 사항을 적용하고 새 포트에 Apache 바인딩을 수행하려면 데몬을 다시 시작하고 netstat 또는 ss 명령을 사용하여 로컬 네트워크 소켓 테이블을 확인하세요. 수신 중인 포트 8081이 서버 네트워크 테이블에 표시되어야 합니다.

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

또한 브라우저를 열고 포트 8081에서 서버 IP 주소 또는 도메인 이름으로 이동할 수도 있습니다. Apache 기본 페이지가 브라우저에 표시되어야 합니다. 그러나 웹페이지를 탐색할 수 없는 경우 서버 콘솔로 돌아가서 포트 트래픽을 허용하도록 적절한 방화벽 규칙이 설정되어 있는지 확인하십시오.

http://server.ip:8081 

CentOS/RHEL 기반 Linux 배포판에서는 Apache에 필요한 SELinux 규칙을 추가하여 새 포트에 바인딩하고 Apache HTTP 서버를 다시 시작하여 변경 사항을 적용하려면 policycoreutils 패키지를 설치하세요.

yum install policycoreutils

포트 8081에 대한 Selinux 규칙을 추가합니다.

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 주소 또는 포트 8081의 도메인 이름으로 이동하여 네트워크에서 새 웹 포트에 연결할 수 있는지 확인하세요. Apache 기본 페이지가 브라우저에 표시되어야 합니다.

http://server.ip:8081 

위 주소로 이동할 수 없는 경우 서버 방화벽 테이블에 적절한 방화벽 규칙을 추가했는지 확인하세요.