Tomcat 6.0.39가 설치된 Redhat Linux 서버가 있습니다. 웹 애플리케이션을 배포하고 서버를 공개하기 전에 포트 80에 바인딩된 Tomcat 사용자를 사용하여 Tomcat 시작 스크립트를 실행하는 방법을 이해하고 싶습니다.
지금까지 내가 한 일은 다음과 같습니다.
- 내 server.xml에서 포트 8080 -> 80 -> 443을 변경하세요.
- Tomcat 디렉토리는 내 Tomcat 사용자가 소유합니다.
- 인증바인드가 설치되었습니다.
- /etc/authbind/byport 아래에 80, 443이라는 두 개의 파일을 생성하여 실행 가능하게 만들고 소유자를 tomcat으로 변경했습니다.
Startup.sh 내에서 (exec "$PGDIR"/"$EXECUTABLE" start "$@")를 ("exec authbind --deep "$PGDIR"/"$EXECUTABLE" start "$@")로 변경했습니다.
이 단계를 따른 후에도(대부분의 기사에서 지시하는 것과 거의 동일함) Tomcat을 시작할 때 포트 80, 443을 바인딩할 수 없다고 불평하면서 여전히 권한 거부 메시지가 나타납니다.
당신이 제공할 수 있는 어떤 도움이라도 감사하겠습니다. 감사합니다!
답변1
도움이 될 수 있는 약간 다른 단계를 찾았습니다.
- 인증 바인딩 설치
포트 80을 사용할 수 있도록 설정합니다
authbind
(루트 사용자여야 함).$ sudo touch /etc/authbind/byport/80 $ sudo chmod 500 /etc/authbind/byport/80 $ sudo chown glassfish /etc/authbind/byport/80
IPv4를 기본값으로 설정합니다(
authbind
IPv6는 현재 지원되지 않음). 이렇게 하려면TOMCAT/bin/setenv.sh
다음 내용이 포함된 파일을 만듭니다.CATALINA_OPTS="-Djava.net.preferIPv4Stack=true"
변화
startup.sh
exec authbind --deep "$PRGDIR"/"$EXECUTABLE" start "$@" # OLD: exec "$PRGDIR"/"$EXECUTABLE" start "$@"