Linux에서 Apache HTTP 포트를 변경하는 방법
Apache HTTP 서버는 오늘날 인터넷에서 가장 많이 사용되는 웹 서버 중 하나이며 유연성, 안정성 및 다양한 기능을 제공합니다.이 중 일부는 경쟁자 인 Nginx와 같은 다른 웹 서버에는 현재 존재하지 않습니다.
Apache의 가장 중요한 기능 중 일부에는 실제로 서버를 중지하지 않고 런타임에 다양한 유형의 모듈과 특수 구성을로드하고 실행할 수있는 기능이 포함됩니다. .htaccess 파일로, webroot 디렉토리에 특정한 웹 서버 구성을 변경할 수 있습니다.
기본적으로 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

브라우저를 열고 포트 8081에서 서버 IP 주소 또는 도메인 이름으로 이동하여 네트워크에서 새 웹 포트에 연결할 수 있는지 확인합니다. Apache 기본 페이지가 브라우저에 표시되어야합니다.
http://server.ip:8081
위의 주소로 이동할 수없는 경우 서버 방화벽 테이블에 적절한 방화벽 규칙을 추가했는지 확인하십시오.