1. 마이그레이션
1-1. 접근 제어 선언 방식 변경
- 2.2에서 Order, Allow , Deny 등의 지시자로 하던 접근 제어 설정은 Require 를 이용한 방식으로 변경되어야한다.
1) 모든 요청 거부
# 2.2 설정
Order deny,allow
Deny from all
# 2.4 설정
Require all denied
2) 모든 요청 허용
# 2.2 설정
Order allow,deny Allow from all
# 2.4 설정
Require all granted
3) example.org 허용 나머지 거부
# 2.2 설정
Order Deny,Allow
Deny from all
Allow from example.org
# 2.4 설정
Require all denied
Require host example.org
4) 127.0.0.1 허용 나머지 거부
# 2.2 설정
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
# 2.4 설정
Require all denied
Require ip 127.0.0.1
1-2. 속성/모듈 변경
속성/모듈 변경
httpd의 기존 설정에서 아래 속성/모듈과 관련된 선언이 있다면, 이름을 바꾸어 줍니다.
속성명
MaxClients -> MaxRequestWorkers
MaxRequestsPerChild -> MaxConnectionsPerChild
모듈명
mod_disk_cache -> mod_cache_disk
KeepAlive
속성은 On 이나 Off 중 하나의 값을 가질수 있다. 0,1과 같이 숫자로 선언되어 있는 경우가 있었다면 수정해야 한다.
<IfModule mpm_prefork_module>
StartServers 30
MinSpareServers 30
MaxSpareServers 128
ServerLimit 1024
MaxClients 1024
#MaxClients -> MaxRequestWorkers
MaxRequestsPerChild 100000
#MaxRequestsPerChild ->
MaxConnectionsPerChild
</IfModule>
KeepAlive Off # 속성은 On 이나 Off 중 하나의 값을 가질수 있다.
속성 디폴트 값 변경 확인
아래 속성들은 디폴트값이 바뀌었다.
기존에 암묵적으로 디폴트값에 의존을 했었다면 명시적으로 선언한다.
Options 내 -,+ 모두 표시
Either all Options must start with + or -, or no Option may.
오류가 발생시 모든 Options 내 +, - 표시를 해주어야 합니다.
<Directory "/home1/irteam/deploy/doc_base">
# Options -Indexes +IncludesNoExec +FollowSymLinks +MultiViews
Options -Indexes FollowSymLinks MultiViews
# 명시적으로 선언
AllowOverride None
Order allow,deny
Allow from all
# 명시적으로 선언
FileETag None
</Directory>
2. 오류로그 및 해결책
오류 1
# 오류 로그 httpd: Syntax error on line 59 of /home1/irteam/apps/apache-2.4.39/conf/httpd.conf: Cannot load modules/mod_authz_default.so into server: /home1/irteam/apps/apache/modules/mod_authz_default.so: cannot open shared object file: No such file or directory
# 해결 방법
mod_authz_default 삭제
오류 2
# 오류 로그 httpd: Syntax error on line 73 of /home1/irteam/apps/apache-2.4.39/conf/httpd.conf: Cannot load modules/mod_ident.so into server: /home1/irteam/apps/apache/modules/mod_ident.so: cannot open shared object file: No such file or directory
# 해결 방법
mod_ident 삭제
오류 3
# 오류 로그 AH00534: httpd: Configuration error: No MPM loaded.
# 해결 방법
추가 LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
오류 4
# 오류 로그 AH00526: Syntax error on line 106 of /home1/irteam/apps/apache-2.4.39/conf/httpd.conf: Invalid command 'User', perhaps misspelled or defined by a module not included in the server configuration
# 해결 방법
추가 LoadModule unixd_module modules/mod_unixd.so
오류 5
# 오류 로그 AH00526: Syntax error on line 214 of /home1/irteam/apps/apache-2.4.39/conf/httpd.conf: Invalid command 'Order', perhaps misspelled or defined by a module not included in the server configuration
# 해결 방법
추가 LoadModule access_compat_module modules/mod_access_compat.so
오류 6
# 오류 로그 [Thu Aug 01 16:16:15.768125 2019] [core:warn] [pid 29604] AH00117: Ignoring deprecated use of DefaultType in line 281 of /home1/irteam/apps/apache-2.4.39/conf/httpd.conf. AH00526: Syntax error on line 325 of /home1/irteam/apps/apache-2.4.39/conf/httpd.conf: Invalid command 'Require', perhaps misspelled or defined by a module not included in the server configuration
# 해결 방법
추가 LoadModule authz_core_module modules/mod_authz_core.so
오류 7
# 오류 로그 [Thu Aug 01 16:17:14.560832 2019] [core:warn] [pid 29690] AH00117: Ignoring deprecated use of DefaultType in line 282 of /home1/irteam/apps/apache-2.4.39/conf/httpd.conf. AH00526: Syntax error on line 353 of /home1/irteam/apps/apache-2.4.39/conf/httpd.conf: Invalid command 'LockFile', perhaps misspel
# 해결 방법 DefaultType text/plain -> ForceType text/plain(모든 응답을 text/plain으로 처리함.) 옵션 제거 할 것
오류 8
# 오류 로그 AH00526: Syntax error on line 353 of /home1/irteam/apps/apache-2.4.39/conf/httpd.conf: Invalid command 'LockFile', perhaps misspelled or defined by a module not included in the server configuration [Mon Aug 05 15:47:04.456821 2019] [core:warn] [pid 26228] AH00117: Ignoring deprecated use of DefaultType in line 280 of /home1/irteam/apps/apache-2.4.39/conf/httpd.conf. AH00526: Syntax error on line 396 of /home1/irteam/apps/apache-2.4.39/conf/httpd.conf: Invalid command 'Allow', perhaps misspelled or defined by a module not included in the server configuration
# 해결 방법 LockFile "logs/accept.lock" -> Mutex file:/home1/irteam/logs default
오류 9
# 오류 로그 AH00526: Syntax error on line 521 of /home1/irteam/apps/apache-2.4.39/conf/httpd.conf: JkWorkersFile: Can't find the workers file specified
# 해결 방법 /home1/irteam/apps/apache/conf/workers.properties 추가
오류 10
# 오류 로그 AH00526: Syntax error on line 600 of /home1/irteam/apps/apache-2.4.39/conf/httpd.conf: Either all Options must start with + or -, or no Option may.
# 해결 방법 Options -Indexes FollowSymLinks MultiViews >> Options -Indexes +FollowSymLinks +MultiViews
오류 11
# 오류 로그 AH00548: NameVirtualHost has no effect and will be removed in the next release /home1/irteam/apps/apache-2.4.39/conf/httpd.conf:626 AH00112: Warning: DocumentRoot [/data/images/deploy/doc_base] does not exist AH00526: Syntax error on line 23 of /home1/irteam/apps/apache/conf/vhost-avatar-static.conf: Require not allowed in <VirtualHost> context
# 해결 방법 NameVirtualHost 삭제
오류 12
# 오류 로그 [Thu Aug 01 16:30:33.693824 2019] [proxy_balancer:emerg] [pid 31012] AH01177: Failed to lookup provider 'shm' for 'slotmem': is mod_slotmem_shm loaded?? [Thu Aug 01 16:30:33.693839 2019] [:emerg] [pid 31012] AH00020: Configuration Failed, exiting
# 해결 방법 LoadModule slotmem_shm_module modules/mod_slotmem_shm.so 추가.
오류 13
# 오류 로그 [Thu Aug 01 16:32:06.814692 2019] [jk:warn] [pid 31220] No JkShmFile defined in httpd.conf. Using default /home1/irteam/apps/apache/logs/jk-runtime-status [Thu Aug 01 16:32:06.833689 2019] [jk:warn] [pid 31224] No JkShmFile defined in httpd.conf. Using default /home1/irteam/apps/apache/logs/jk-runtime-status
# 해결 방법 JkShmFile /usr/local/apache2/logs/mod_jk.shm
'WEB & WAS > Apache' 카테고리의 다른 글
Apache cronolog (0) | 2023.03.08 |
---|---|
유료인증서를 위한 key, csr 생성 (0) | 2023.03.08 |
htpasswd 웹페이지 암호걸기 (0) | 2023.03.08 |
mod_rewrite 실전 (0) | 2023.03.08 |
Apache MPM 튜닝 (0) | 2023.03.08 |
댓글