Rocky Linux에 Apache 설치하고 가상 호스트 구성하기

목차

DNF로 Apache HTTP Server를 설치하고 정적 사이트 가상 호스트를 구성하는 절차입니다. 원노트의 설치·보안 설정을 분리해 최소 동작부터 확인합니다. 서비스 프로세스는 패키지의 apache 계정을 유지하고 사이트 경로를 /var/www/lieper로 지정합니다.

패키지와 문서 경로 준비

TERMINAL / CONFIG
sudo dnf install httpd mod_ssl
sudo install -d -o root -g apache -m 755 /var/www/lieper

확인용 index.html을 문서 경로에 놓고 apache 계정의 읽기 권한을 확인합니다. SELinux 사용 환경은 restorecon으로 기본 웹 경로의 컨텍스트를 맞춥니다. 비표준 경로를 선택하면 별도 파일 컨텍스트 등록이 필요합니다.

가상 호스트 설정

/etc/httpd/conf.d/lieper.conf에 작성합니다. ServerName은 실제 DNS와 일치시킵니다. 필요하지 않은 디렉터리 목록과 .htaccess 재정의를 열지 않는 기본 예시입니다.

TERMINAL / CONFIG
<VirtualHost *:80>
    ServerName blog.example.com
    DocumentRoot /var/www/lieper
    <Directory /var/www/lieper>
        Options -Indexes
        AllowOverride None
        Require all granted
    </Directory>
    ErrorLog /var/log/httpd/lieper-error.log
    CustomLog /var/log/httpd/lieper-access.log combined
</VirtualHost>
ServerTokens Prod
ServerSignature Off
TraceEnable Off

Require all granted는 이 문서 디렉터리의 공개 열람 설정입니다. 관리자 화면이나 파일 업로드 경로에는 별도의 정책이 필요합니다. CGI·SSI·userdir은 실제 필요가 확인된 경우에만 설정합니다.

구문과 응답 확인

TERMINAL / CONFIG
sudo httpd -t
sudo httpd -S
sudo restorecon -Rv /var/www/lieper
sudo systemctl enable --now httpd
curl -I -H 'Host: blog.example.com' http://127.0.0.1/

기존 서비스에 가상 호스트를 추가했다면 구문 확인 후 reload로 반영합니다. 외부 공개에는 DNS·방화벽·포트 중복을 점검하고 HTTPS를 구성합니다. 설정 변경마다 접근 로그와 오류 로그를 확인해 실제로 의도한 호스트가 응답하는지 검증합니다.

웹 › apache
apache 목록