개발노트

목록

Rock Linux9 Apache 설치 : https 그리고 웹 페이지 표시 안될 때 해결 방법

록키리눅스 linux 아파치 환경설정 httpd.conf ssl.conf
Server 2025.05.09 15 회 읽음
Server 25.05.09 15


CentOS 지원이 중지되고 같은 계열인 Rocky Linux9 버전으로 설치하고 있습니다.

기존에는 아파치 설정의 httpd.conf 파일에 VirtualHost와 SSL을 추가 하였더니 웹 페이지에 SSL 적용이 되지 않네요.

해결하게 되어 정보를 기록 합니다.



1. httpd.conf

파일에 설명과 주석 부분은 모두 제거하였으니 필요한 부분만 참고 하도록 하니다.

ServerRoot "/etc/httpd"
Listen 80

Include conf.modules.d/*.conf

User apache
Group apache

ServerAdmin etocat@naver.com

ServerName www.example.com:80

<Directory />
    Options FollowSymLinks 
    AllowOverride All 
</Directory>

DocumentRoot "/var/www/html"

<Directory "/var/www">
    AllowOverride None
    # Allow open access:
    Require all granted
</Directory>

<Directory "/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>

<Files ".ht*">
    Require all denied
</Files>

ErrorLog "logs/error_log"

LogLevel warn

<IfModule log_config_module>
    LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combined
    LogFormat "%h %l %u %t "%r" %>s %b" common
    <IfModule logio_module>
        LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i" %I %O" combinedio
    </IfModule>
    CustomLog "logs/access_log" combined
</IfModule>

<IfModule alias_module>
    ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
</IfModule>

<Directory "/var/www/cgi-bin">
    AllowOverride None
    Options None
    Require all granted
</Directory>

<IfModule mime_module>
    TypesConfig /etc/mime.types
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
    AddType text/html .shtml
    AddOutputFilter INCLUDES .shtml
</IfModule>

AddDefaultCharset UTF-8

<IfModule mime_magic_module>
    MIMEMagicFile conf/magic
</IfModule>

EnableSendfile on

IncludeOptional conf.d/*.conf



2. vhost.conf

도메인 설정하는 계정은 아래와 같이 추가하며 SSL 은 certbot 명령어를 통해 키를 생성하고 이후 ssl.conf 파일에 도메인을 추가 해 줍니다.

<VirtualHost *:80>
    ServerName dev.dut.kr
    ServerAlias www.dev.dut.kr
    DocumentRoot /home/dut/public_html
    <Directory "/home/dut/public_html">
        Options None
        Require all granted
    </Directory>
    ErrorLog "/etc/httpd/logs/dev.dut.kr_error_log"
    TransferLog "/etc/httpd/logs/dut.kr_access_log"
</VirtualHost>



3. ssl.conf

보안서버 SSL은 하단 부분에 VirtualHost *:443 부분을 추가하여 도메인을 추가 해 줍니다.

Listen 443 https
SSLPassPhraseDialog exec:/usr/libexec/httpd-ssl-pass-dialog
SSLSessionCache         shmcb:/run/httpd/sslcache(512000)
SSLSessionCacheTimeout  300
SSLRandomSeed startup file:/dev/urandom  256
SSLRandomSeed connect builtin
SSLCryptoDevice builtin
<VirtualHost *:443>
    ServerName dev.dut.kr
    ServerAlias     www.dev.dut.kr
    DocumentRoot /home/dut/public_html
    ErrorLog "/etc/httpd/logs/ssl_dev.dut.kr_error_log"
    TransferLog "/etc/httpd/logs/dev.dut.kr_access_log"
    SSLEngine on
    SSLCertificateFile          /etc/letsencrypt/live/dev.dut.kr/fullchain.pem
    SSLCertificateKeyFile       /etc/letsencrypt/live/dev.dut.kr/privkey.pem
    SSLCertificateChainFile /etc/letsencrypt/live/dev.dut.kr/fullchain.pem
</VirtualHost>


여기에서 생략된 부분은 파일의 경로이며 아래 명령어를 통해 직접 찾을 수 있습니다.

cd / 
find -name httpd.conf


서버 환경에 맞게 도메인 정보와 포트를 변경하여 사용하면 됩니다.

Rock Linux로 넘어오면서 기존 설정을 그대로 사용하고 파일 1개만 수정하다 보니 SSL과 도메인 경로가 작동하지 않아서 며칠 고생을 하다가 이제야 해결을 했네요. 서버 관리를 외주를 맡기고 계정만 추가해서 사용하다 보니 해결 능력이 부족했네요.  저의 설치 과정은 OS를 설치하고 나서 yum update를 통해 커널과 패키지를 모두 업데이트 하고 시작합니다. 그리고 방화벽 설정과 포트 지정을 하고 apache + php 를 설치하고 cpu와 ram에 맞게 설정 값을 조절하여 마무리 하였습니다.

데이터 베이스 서버의 경우 별도로 관리하고 있습니다.


목록