Apache 주요 디렉터리
/var/www 웹페이지 콘텐츠 기본 디렉터리
/usr/share/httpd 테스트, 에러페이지 등 기본 콘텐츠
/usr/share/doc/httpd 웹 서버 관련 문서파일
/etc/httpd/conf 주 설정파일
/etc/httpd/conf.d 추가 설정파일
/etc/httpd/conf.modules.d 웹서버와 함께 설치된 모듈 설정 관련 파일
ServerRoot
Apache가 설치되어있는 디렉터리, conf 및 logs 디렉터리의 위치를 찾기 위해 사용
ServerRoot "/etc/httpd"
DocumentRoot
웹 서버가 웹 서비스를 통해 표시할 디렉터리 지정, 웹 페이지의 루트를 지정하는 지시자
경우에 따라 가상 호스트로 구성된 웹 서버에서는 htdocs 밑에 각 웹 사이트마다 루트폴더를 두고 DocumentRoot가 그곳을 가리킨다.
DocumentRoot "/var/www/html"
Include / LoadModule 필요한 설정파일 / 모듈을 로드한다
Include conf.modules.d/*.conf
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule rewrite_module modules/mod_rewrite.so
User / Group 웹 서버 프로세스를 구동
`grep apache /etc/passwd /etc/group` 등록된 user, group 확인
`ps -ef | grep httpd` httpd 실행 중 정보
apache user, group은 root 권한으로 할당 시 시스템 침투 허용관련 root를 제외한 사용자로 할당해야한다.
ServerAdmin 500 서버 에러 발생 시 안내문에 출력될 서버 관리자 연락처. 주로 메일 주소 입력
ServerName 서버를 식별하기 위한 호스트 이름 지정. 등록된 도메인 혹은 IP주소를 입력
Directory 각 디렉터리에 고유한 설정을 적용하기 위한 블록. 실제 디렉터리의 절대 경로 입력
<Directory />
Options opt0 opt1 opt2 .. optn
AllowOverride none
Require all denied
</Directory>
Options 뒤에는 필요한 옵션을 공백 구분하여 작성해줌
AllowOverride 는 디렉터리의 설정 내용을 외부 파일(.htaccess)에서 재설정 또는 덮어쓸 수 있는지 여부를 결정. 허용되면 httpd.conf 설정이 무시되고 외부 파일의 내용이 적용된다. 보안 및 성능상의 이유로 none으로 설정하고 <Directory>에 직접 작성하는 방법이 권장된다.
IfModule / Files 특정 모듈의 포함 여부 / 특정 파일을 대상으로 적용되는 지시어
ErrorLog / LogLevel 웹서버 오류로그 저장위치 지정 / 저장할 로그의 레벨을 지정(기본 warn)
`cat /etc/httpd/conf/httpd.conf | grep -i errorlog`
`cat /etc/httpd/conf/httpd.conf | grep -i loglevel`
위 명령어를 입력해보면 파일이 없다고 나옴. VirtualHost 사용 시 해당 태그 내에 지시어 지정해야함.
참고링크
https://doctorlinux.tistory.com/32
'main > Server' 카테고리의 다른 글
[CentOS 7] Error: listen EADDRINUSE: address already in use 0.0.0.0:port (0) | 2022.01.20 |
---|---|
[CentOS 7 | Apache] React 배포 시 Rewrite 설정 (0) | 2021.11.03 |
[CentOS 7] React build 파일 Node express에 배포하기 (0) | 2021.07.27 |
[CentOS 7] React start를 위한 Yarn 의존모듈 설치 (0) | 2021.07.26 |
[CentOS 7] Proxy 가상호스트 설정하기 (0) | 2021.07.23 |