Apache, Tomcat 의 80 포트를 root 가 아닌 일반 계정으로 사용하기.
보통 linux에서 Tomcat이나 Apache 구동 시 80 포트 사용을 root 계정에만 허용하고 있다. 그래서 일반 사용자 계정으로 Tomcat, Apache를 설치 후 실행을 하면 다음과 같은 에러가 발생하면서 서버 구동이 되지 않는다.

위 그림은 Apache2.2를 일반 사용자 계정으로 실행하였을때 80포트의 사용 권한이 없는 경우 나타나는 예이다.
그럼 이를 어떻게 처리해 줘야 할까?몇 가지 방법이 있겠지만 회사 동료에게 전해들은 방법이 간단한 듯 하여 이를 기술해본다.

위 그림을 보면 root 계정에서 명령어를 두 번 실행하였다
1. httpd 소유자를 root로 변경하는 명령어 실행.
chown root httpd
2. httpd 권한을 4775로 변경하는 명렁어 실행
chmod 4775 httpd
위의 두 명령어를 실행하게 되었을때 어떤 반응을 예상하게 되는지 내가 이해한 바를 기술한다..(내가 이해한 원리여서 맞는지는 잘 모르겠다) 어쨌든 소유자가 tulip(일반계정)에서 root로 변경이 되었지만 tulip 계정에서도 이 httpd 명령어를 실행 할 수 있게 된다. httpd는 tulip 계정으로 실행되지만 소유자가 root여서 그런지 80 포트 사용 권한이 주어지게 된다.....이런 원리인지...글을 쓰는 지금도 모르겠다는...그리고 신기했던건 chmod 에서 775가 아닌 4775로 파일 권한을 부여하는 것인데...앞에 4자가 들어간게 상당히 어색하게 느껴진다. 처음에 회사 동료가 메신저로 알려줄 때 오타인줄 오해했을 정도로!
자 어쨌든 저렇게 httpd의 상태를 변경한 후 일반 이용자 계정으로 httpd를 실행하여 보자. 물론 80 포트로 서비스를 하는 조건에서다.

제일 처음 그림의 오류가 발생하지 않는다. 실제로도 서버가 잘 뜬다. 모르면 당황스럽지만 알고나면 참 쉬운데..역시 개발자는 이것저것 지식이 많아야 하나보다. Tomcat도 마찬가지로 startup.sh 파일에 위와 같은 설정을 해주면 된다.
긴 내용도 아니고 특별하지도 않지만 어쨌든 처음으로 내가 하는 일에 대한(사실 개발자가 직접 설치할 일은 별로 없지만..) 블로그 글 처음 작성하는 것 완성!(근무 시간에 써서 완전 찔리는구만 ㅋㅋ)