일반적으로 root 계정이 아닌 계정으로 80포트를 사용한 WEB 기동시 다음과 같은 메시지가 확인된다.
-------------------------------------------------------------------------------------------------------------------
(13)Permission denied: AH00072: make_sock: could not bind to address 127.0.0.1:80 no listening sockets available, shutting down AH00015: Unable to open logs
-------------------------------------------------------------------------------------------------------------------
( * 참고 : 1024 이하의 포트는 root권한으로만 사용가능하다.)
Apache HTTP Server 사용시 다음과 같은 방법으로 root외 계정으로 기동가능하다.
특정 계정(여기서는 apaadm) 외 다른 계정으로는 기동되지 않도록 할 수 있는 방법은 다음과 같다.(Linux)
=====================================================================
1. httpd.conf 수정 : User 및 Group 을 기동할 계정으로 변경한다. 여기서는 apaadm 계정으로 기동하는 경우이다.
--------------------------------
User apaadm
Group apaadm
--------------------------------
(* User/Group을 Default 값인 nobody로 설정시는 문제없음)
2. httpd 파일 권한자 변경 :
1) ps -ef | grep httpd 명령어 수행을 통해 httpd 파일의 경로로 이동
* 여기서는 /engn/apache2.4/bin으로 확인되었을 때의 경우임.
2) chown 명령어를 통해 httpd 파일에 대한 소유자 root 그룹 apaadm 으로 변경한다.
root: /engn/apache2.4/bin/ > chown root:apaadm httpd
** 만약 엔진 디렉토리의 권한을 root:root로 설정해 놓은 상태라면, 엔진 전체에 대해 권한 변경이 우선되어야 한다.
ex. root: /engn/apache2.4/bin/ > chown -R apaadm:apaadm /engn/apache2.4
3. 특수권한 부여 : chmod +s 파일명 형태(SetUID/SetGID 권한 부여) 로 권한 부여한다.
root: /engn/apache2.4/bin/ > chmod +s httpd
4. 기타 파일 수정 : root로 기동된 apache 중지 후 log 디렉토리 하위의 root:root로 생성된 파일들의 권한을 apaadm 소유로 변경한다.
=====================================================================
apaadm 으로 기동시 80포트로 기동가능하며, 기동 후 netstat -an | grep 80 으로 확인가능하다.
프로세스의 경우, ps -ef | grep httpd 로 확인시 부모 프로세스는 root로/나머지는 apaadm 계정으로 기동되어 있음을 확인가능하다.
'IT > WEBWAS' 카테고리의 다른 글
메모리/CPU 과점 프로세스 찾아내기 (0) | 2020.07.11 |
---|---|
MAT(힙덤프 분석기) OutOfMemory 발생시 (0) | 2020.07.11 |
숫자 진법 계산기(10진수/16진수/2진수/문자로 변환) (0) | 2020.07.11 |
Oracle 제품 EOS 확인하기 (0) | 2020.07.09 |
TLS v1.2 미만 프로토콜 지원중단에 따른 조치방법 (0) | 2020.06.15 |