상황
최근 개발 서버 이관 작업을 진행하면서 새로운 서버에는 기존에 사용하던 아파치 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 버전 업그레이드 관련 공식 문서에 보면 더 많은 사항들이 자세히 나와있으니 참고하면 좋을 것 같다.