안녕하세요.
포스팅 또는 스크랩한 글에 대한 정리가 필요할 것 같아 통합 또는 정리작업 중입니다.
이번에는 apache 에러 관련하여 정리하였습니다.
먼저, apache 실행 시 오류입니다.
1. Apache 실행 시 에러 및 조치
1) 메세지 : Cannot load /usr/local/apache/libexec/libphp4.so into server: /usr/local/apache/libexec/libphp4.so: cannot resotre segment prot after reloc: Permission denied와 같은 메세지 발생.
우선 libphp4.so 의 경로를 확인합니다.
(which 또는 find 명령어 사용.)
경로가 /usr/local/apache/modules/libphp4.so 라고 가정합니다.
예시 : # chcon -t texrel_shlib_t [libphp4.so의 경로].
# chcon -t texrel_shlib_t /usr/local/apache/modules/libphp4.so
그 다음 apache 데몬을 재시작합니다.
2) 메세지 : libphp5.so: cannot restore segment prot after reloc: Permision denied와 같은 메세지 발생.
또는 httpd: Syntax error on line 53 of /usr/local/apache/conf/httpd.conf.
Cannot load /usr/local/apache/modules/libphp5.so into server.
php를 설치한 후 위 메세지를 포함하여 apache 웹 서버를 실행할 때 출력되는 메세지로, 해결방법은 다음과 같습니다.
restorecon 명령어를 수행합니다.
# /sbin/restorecon -R -v /usr/local/apache/modules
또는 아래 명령어를 수행합니다.
# chcon -t texrel_shlib_t /usr/local/apache/modules/libphp5.so
위 명령어 수행 후 apache 데몬을 재시작합니다.
# service httpd restart
3) 메세지 : Address already in use: make_sock: could not bind to address 0.0.0.0.80 .
/usr/local/apache/bin/apachectl start 명령어로 apache 시작 시 위와 같은 에러가 출력될 때가 있습니다.
0.0.0.0:80 즉, 80포트를 통한 소켓 연결이 불가능하다는 에러 내용이며, 80포트로 실행되고 있는 프로세스가 있다는 의미이다. 해당 프로세스를 찾아 종료하여야 합니다.
# killall httpd 또는 # netstat -antp 명령어를 통해 해당 pid를 찾은 후 pid를 kill합니다.
kill이 완료되었으면 다시 apache를 재시작합니다.
4) 원인 : selinux.
# chcon 명령어를 통해 /home/www/에 접근이 가능하도록 설정합니다.
# chcon -R -t httpd_user_content_t /home/www
'OS' 카테고리의 다른 글
vmware hyper-v 설정 충돌 (0) | 2020.02.08 |
---|---|
samba server 설치 (0) | 2020.02.02 |
[리눅스] 특정 프로세스의 세션 개수 체크 스크립트 (0) | 2020.01.21 |
배치 파일 - 실행 결과 보기 (0) | 2020.01.14 |
tar 사용법 (0) | 2020.01.14 |