주로 CentOS에서는 httpd.conf로 사용되고, Ubuntu에서는 apache2로 아래와 같이 명령어를 실행 해서 apache를 설치하게 되면
$> sudo apt-get install -y apache2
apache의 설정 파일 위치는 아래와 같습니다.
/etc/apache2/apache2.conf
반면에 httpd는 "설치위치 + /conf/httpd.conf" 에 설정 파일이 위치하게 됩니다.
apache2의 설정파일
apache2와 httpd의 경우 미묘한 차이가 있을 수 있으나 (기본 경로 등) 항목은 동일하며 이 문제에서는 httpd 기준으로 작성되어 httd 기준으로 구성요소에 대해 이야기해 보면
구성 요소
내용
예시
SeverRoot
아파치 Root 홈 디렉터리 경로입니다. 절대경로로 지정되어야 합니다.
ServerRoot "/etc/httpd"
Listen
아파치 웹 서버 포트를 지정합니다.
Listen 80
Include
해당 설정 파일 외 다른 파일에서 설정 정보를 읽어옵니다.
Include conf.modules.d/*.conf
ServerAdmin
서버에서 오류가 발생하는 경우 오류 메시지에 포함될 관리자 이메일 주소입니다. 오류가 발생하면 오류 화면에 이 이메일 주소가 표시됩니다.
ServerAdmin root@localhost
ServerName
서버의 도메인을 입력합니다. 클라이언트에게 보여줄 호스트 이름 및 포트를 지정합니다. 등록된 DNS 주소가 없는 경우 IP주소로 설정합니다.
ServerName www.example.com:80
DocumentRoot
아파치 서버의 웹문서가 있는 경로 및 웹 페이지의 루트를 지정합니다. ServerName을 통해 유입된 사용자가 마주하게 될 경로의 최상단입니다.
DocumentRoot "/var/www/html"
<Directory>
각 디렉터리별 고유 설정을 하기 위한 블록입니다.
Options : 특정 디렉터리 하위의 모든 디렉터리와 파일에 대한 접근 권한을 제어합니다. AllowOverride : 디렉터리에 .htaccess 파일이 있을 경우 기존 설정을 덮어쓸지 여부를 설정합니다. Require : 해당 디렉터리의 접근 허용 여부를 설정합니다. Order : Deny와 Allow를 먼저 적힌 옵션이 우선 적용됩니다.
<Directory "/var/www"> Options Indexes FollowSymLinks AllowOverride None # Allow open access: Require all granted Order Deny,Allow Deny from all Allow from 192.168.1.100 </Directory>
Options
내용
None
모든 접근을 허용하지 않습니다.
All
모든 옵션설정을 허용합니다.
Indexes
디렉터리 접근 시 DirectoryIndex 지시자에 설정한 파일이 없을 경우, 디렉터리 목록을 화면에 표시합니다.
Includes
mod_include를 사용하는 SSI를 허용합니다.
IncludesNoExec
SSI를 허용하지만, #exec cmd와 #exec cgi는 사용할 수 없습니다.
FollowSymLinks
mod_cgi 를 사용하는 CGI 스크립트를 실행 가능합니다.
MultiViews
클라이언트가 요청한 media type과 content-encoding을 가지고 다중확장자를 지원하기 위해 MultiViews 기능을 사용합니다.
AllowOverride
내용
None
htaccess 파일을 override를 허용하지 않습니다.
All
htaccess 파일을 우선 적용하도록 override를 허용합니다.
AuthConfig
클라이언트 인증 지시자의 사용을 허용합니다.
Require
내용
all denied
모든 접근을 거부합니다.
all granted
모든 접근을 허용합니다.
ip [IP주소]
특정 IP주소의 접근을 허용합니다.
not ip [IP주소]
특정 IP주소의 접근을 거부합니다.
Order
내용
Deny
해당 클라이언트 또는 주소의 접근을 거부합니다. Deny from all : 모든 클라이언트의 접근을 거부합니다. Deny from [IP주소] : 특정 IP주소의 접근을 거부합니다.
Allow
해당 클라이언트 또는 주소의 접근을 허용합니다. Allow from all : 모든 클라이언트의 접근을 허용합니다. Allow from [IP주소] : 특정 IP주소의 접근을 허용합니다.