CentOS 지원이 중지되고 같은 계열인 Rocky Linux9 버전으로 설치하고 있습니다.
기존에는 아파치 설정의 httpd.conf 파일에 VirtualHost와 SSL을 추가 하였더니 웹 페이지에 SSL 적용이 되지 않네요.
해결하게 되어 정보를 기록 합니다.
파일에 설명과 주석 부분은 모두 제거하였으니 필요한 부분만 참고 하도록 하니다.
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
도메인 설정하는 계정은 아래와 같이 추가하며 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>
보안서버 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에 맞게 설정 값을 조절하여 마무리 하였습니다.
데이터 베이스 서버의 경우 별도로 관리하고 있습니다.