상황
최근 개발 서버 이관 작업을 진행하면서 새로운 서버에는 기존에 사용하던 아파치 2.2.27 대신 2.4.33 버전을 설치해서 작업을 진행했다. 그리고 기존 서버의 httpd.conf 파일과 가상 호스트 파일들(한 대의 서버에서 여러 서비스 제공)을 옮겨와서 세팅한 뒤, 새로운 서버의 아파치를 실행(apachectl start)하려고 하는데, 에러가 발생했다. 그리고 그 에러를 고치면 또 다른 에러들을 만났다.
원인과 해결방법
아파치
2.2 -> 2.4버전으로 업그레이드 시 유의해야하는 부분들이 있었는데 그 부분을 알지 못했다.
아래 에러들 중엔 실행하기 전에(apachectl configtest로 문법 검사) 또는 실행하면서 알 수 있는 것들도 있고,${APACHE_HOME}/logs/error.log를 살펴봐야하는 것들도 있다. 또한, 2.4 버전을 설치할 때 세팅되는httpd.conf파일을 그대로 사용하면 겪지 않을 에러들도 있다.
Cannot load modules/mod_authz_default.so
- 원인
- 2.4 버전에서 해당 모듈은 삭제됐다.
- 2.4 버전에서 제거된 모듈 :
mod_authn_default,mod_authz_default,mod_mem_cache
- 2.4 버전에서 제거된 모듈 :
- 2.4 버전에서 해당 모듈은 삭제됐다.
- 조치
LoadModule authz_default_module modules/mod_authz_default.so부분 제거- 또는
LoadModule authz_core_module modules/mod_authz_core.so로 대체
SSLSessionCache: ‘dbm’ session cache not supported
- 원인
dbm타입을 사용하려면mod_socache_dbm모듈이 로드되어야 한다.
- 조치
#LoadModule socache_dbm_module modules/mod_socache_dbm.so부분 주석 해제
Either all Options must start with + or -, or no Option may.
- 원인
Options속성에+,-를 아예 사용하지 않거나 모두 사용해야 한다.- 잘못된 예시 :
Options -Indexes FollowSymLinks MultiViews(Indexes에만-가 붙음)
- 잘못된 예시 :
- 조치
<Directory>섹션 내에 있는Options -Indexes FollowSymLinks MultiViews->Options FollowSymLinks MultiViews- 주의해야 할 것은
-,+을 붙이면 이전에 지정되어있는Options이 영향을 준다는 것이다. - 예를 들어, 아래와 같은 경우
/web/docs/spec디렉토리에는 위에서 세팅된FollowSymLinks에Includes속성까지 추가가 된다.Indexes는-가 붙어있으므로 빠지게된다.1 2 3 4 5 6 7
<Directory "/web/docs"> Options Indexes FollowSymLinks </Directory> <Directory "/web/docs/spec"> Options +Includes -Indexes </Directory>
- 주의해야 할 것은
Invalid command ‘SSLMutex’, perhaps misspelled or defined by a module not included in the server configuration
- 원인
AcceptMutex,LockFile,RewriteLock,SSLMutex,SSLStaplingMutex,WatchdogMutexPath지시어가Mutex로 대체되었다.
- 조치
SSLMutex->Mutex로 변경
AH02432: Cannot find LB Method: byrequests
- 원인
- 2.3 이하 버전에서는
mod_proxy_balancer모듈이면 충분했지만, 2.4 버전부터는mod_proxy_balancer에서mod_lbmethod_byrequests가 따로 분리되었다.
- 2.3 이하 버전에서는
- 조치
#LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so부분 주석 해제
기타
- 2.4 버전 업그레이드 관련 공식 문서에 보면 더 많은 사항들이 자세히 나와있으니 참고하면 좋을 것 같다.