참고:

Apache 웹 서버 설치

소개

Apache는 1993년부터 적극적으로 개발되었으며 시간이 지남에 따라 세계에서 가장 인기 있는 웹 서버 중 하나가 되었습니다. Apache 웹 서버는 LAMP(Linux, Apache, Oracle MySQL 및 Perl/PHP) 소프트웨어 스택의 주요 구성요소이며 현재 널리 사용되고 있습니다.

Apache 웹 서버는 Oracle Linux 8 이상의 Application Streams 저장소에서 직접 사용할 수 있으며 쉽게 배포하고 구성할 수 있습니다.

필요 조건

목표

이 튜토리얼을 마치면 다음을 수행할 수 있습니다.

웹 서버 패키지 설치 및 구성

  1. httpd 패키지 및 해당 종속성을 설치합니다.

    sudo dnf install httpd
    
  2. httpd 서비스를 사용으로 설정하고 시작합니다.

    이 명령은 즉시 사용할 수 있도록 httpd 서비스를 사용으로 설정하고 시작하고, 시스템 재부트 후 자동으로 서비스를 시작합니다.

    sudo systemctl enable --now httpd.service
    

    서비스 상태를 확인하려면 다음을 입력합니다.

    sudo systemctl status httpd
    
  3. (선택사항) 커스터마이징 방화벽 프로파일 또는 Oracle Cloud Infrastructure 인스턴스를 사용하는 경우 Apache 웹 서비스의 방화벽 포트(80)를 엽니다.

    이러한 명령은 Apache 웹 서비스에 대한 방화벽 포트를 사용으로 설정하고 기본 방화벽 서비스를 다시 로드합니다.

    sudo firewall-cmd --add-service=http --permanent
    sudo firewall-cmd --reload
    
  4. 배치 테스트.

    웹 브라우저를 사용하여 시스템의 도메인 이름 또는 IP 주소(예: http://myserver.example.com.)로 이동합니다. Apache 웹 서버가 기본 테스트 페이지를 엽니다.

Apache 구성

웹 서버의 루트 경로를 변경하려면 /etc/httpd/conf/httpd.conf 파일을 직접 편집하지 마십시오. 대신, 선호하는 방법으로 /etc/httpd/conf.d 디렉토리에 사이트별 구성 파일을 만듭니다.

다음 예에서는 가상 호스트에 대한 구성을 포함하도록 /etc/httpd/conf.d/example.com.conf 파일이 생성됩니다.

  1. /etc/httpd/conf.d/example.com.conf에 다음 정보를 추가하여 가상 호스트를 만듭니다.

    듣기 *:80

    <VirtualHost *:80>

    ServerName example.com
    ServerAlias www.example.com

    DocumentRoot /var/www/example.com/html/

    ErrorLog /var/log/httpd/example.com_error.log
    CustomLog /var/log/httpd/example.com_access.log 결합

    </VirtualHost>

    ServerNameServerAlias는 서비스에 액세스하는 데 사용할 수 있는 호스트 이름, 도메인 이름 또는 IP 주소일 수 있습니다.

  2. 문서 루트 폴더를 만듭니다.

    루트 폴더는 Apache가 브라우저에 제공하는 웹 페이지를 호스트합니다.

    sudo mkdir -p /var/www/example.com/html
    sudo echo "example.com" > /var/www/example.com/html/index.html
    sudo chown -R apache:apache /var/www/example.com/html
    

    적용 모드에서 SELinux가 사용으로 설정되고 /var/www directory 내에서 페이지가 제공되지 않는 시스템에서는 DocumentRoot 디렉토리에 올바른 보안 컨텍스트를 적용해야 합니다. 예를 들어, /mnt/example.com 디렉토리에서 웹 페이지를 제공하려면 다음을 입력합니다.

    sudo semanage fcontext -a -t httpd_sys_content_t "/mnt/example.com(/.*)?"
    sudo restorecon -Rv /mnt/example.com/
    
  3. 구성을 적용합니다.

    sudo systemctl restart httpd
    

웹 서비스 보안

가장 좋은 방법은 HTTPS를 사용하여 웹 브라우저와 Apache 서버 간의 모든 통신을 보안하는 것입니다. 보안 설정의 경우 TLS 인증서가 필요합니다.

  1. TLS/SSL 인증서를 구성합니다.

주:
Oracle은 외부 CA(인증 기관)에서 서명한 TLS 인증서를 사용할 것을 강력히 권장합니다. 자세한 내용은 Oracle Linux: Managing Certificates and Public Key Infrastructure를 참조하십시오.

  1. Apache용 HTTPS 추가 기능을 설치합니다.

    sudo dnf install mod_ssl
    sudo systemctl restart httpd
    
  2. Apache 구성을 업데이트합니다. 예를 들어, /etc/httpd/conf.d/example.com.conf에서 다음 구성을 추가합니다.

    듣기 *:443

    <VirtualHost *:443>

    ServerName example.com
    ServerAlias www.example.com

    SSLCertificateFile의 SSLEngine /etc/pki/tls/private/certificate.crt
    SSLCertificateKeyFile /etc/pki/tls/private/private.key

    DocumentRoot /var/www/example.com/html/

    ErrorLog /var/log/httpd/example.com_error.log
    CustomLog /var/log/httpd/example.com_access.log 결합

    </VirtualHost>

  3. HTTP 요청을 HTTPS로 재지정합니다.

    다음과 같이 기존 HTTP VirtualHost 구성을 재지정으로 바꿉니다.

    <VirtualHost *:80>

    ServerName example.com
    ServerAlias www.example.com

    "/" "https://example.com/" 재지정

    </VirtualHost>

  4. Apache 서비스를 다시 시작하여 새 구성을 로드합니다.

    sudo systemctl restart httpd
    
  5. (선택사항) 방화벽을 구성합니다.

    이러한 명령은 Apache HTTPS 서비스에 대한 방화벽 포트 443을 사용으로 설정하고 기본 방화벽 서비스를 다시 로드합니다.

    sudo firewall-cmd --add-service=https --permanent
    sudo firewall-cmd --reload
    

추가 학습 자원

docs.oracle.com/learn에서 다른 실습을 찾아보거나 Oracle Learning YouTube channel에서 무료 학습 콘텐츠에 액세스할 수 있습니다. 또한 education.oracle.com/learning-explorer를 방문하여 Oracle Learning Explorer로 변경하십시오.

제품 설명서는 Oracle Help Center를 참조하십시오.