Posts Apache Http Server 2.2.x -> 2.4.x 버전 업그레이드 하면서 겪었던 이슈
Post
Cancel

Apache Http Server 2.2.x -> 2.4.x 버전 업그레이드 하면서 겪었던 이슈

상황


최근 개발 서버 이관 작업을 진행하면서 새로운 서버에는 기존에 사용하던 아파치 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
  • 조치
    • 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 디렉토리에는 위에서 세팅된 FollowSymLinksIncludes 속성까지 추가가 된다. 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가 따로 분리되었다.
  • 조치
    • #LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so 부분 주석 해제

기타

참고 자료

This post is licensed under CC BY 4.0 by the author.

Infra - Tomcat & Apache HTTP Server 연동

group by, order by, 드라이빙 테이블 수정을 통한 쿼리 성능 개선하기