참고:
- 이 사용지침서에서는 Oracle Cloud에 접근해야 합니다. 무료 계정에 등록하려면 Oracle Cloud Infrastructure 무료 계층 시작하기를 참조하십시오.
- Oracle Cloud Infrastructure 인증서, 테넌시 및 구획에 대한 예제 값이 사용됩니다. 랩을 완료한 후에는 이러한 값을 클라우드 환경과 관련된 값으로 대체하십시오.
Apache 웹 서버 설치
소개
Apache는 1993년부터 적극적으로 개발되었으며 시간이 지남에 따라 세계에서 가장 인기 있는 웹 서버 중 하나가 되었습니다. Apache 웹 서버는 LAMP(Linux, Apache, Oracle MySQL 및 Perl/PHP) 소프트웨어 스택의 주요 구성요소이며 현재 널리 사용되고 있습니다.
Apache 웹 서버는 Oracle Linux 8 이상의 Application Streams 저장소에서 직접 사용할 수 있으며 쉽게 배포하고 구성할 수 있습니다.
필요 조건
- Oracle Linux 8이 설치된 모든 시스템
목표
이 튜토리얼을 마치면 다음을 수행할 수 있습니다.
- Apache 패키지 설치 및 구성
- 방화벽 구성
- Apache 구성 적용
- 웹 서비스 보안
웹 서버 패키지 설치 및 구성
-
httpd
패키지 및 해당 종속성을 설치합니다.sudo dnf install httpd
-
httpd
서비스를 사용으로 설정하고 시작합니다.이 명령은 즉시 사용할 수 있도록
httpd
서비스를 사용으로 설정하고 시작하고, 시스템 재부트 후 자동으로 서비스를 시작합니다.sudo systemctl enable --now httpd.service
서비스 상태를 확인하려면 다음을 입력합니다.
sudo systemctl status httpd
-
(선택사항) 커스터마이징 방화벽 프로파일 또는 Oracle Cloud Infrastructure 인스턴스를 사용하는 경우 Apache 웹 서비스의 방화벽 포트(80)를 엽니다.
이러한 명령은 Apache 웹 서비스에 대한 방화벽 포트를 사용으로 설정하고 기본 방화벽 서비스를 다시 로드합니다.
sudo firewall-cmd --add-service=http --permanent sudo firewall-cmd --reload
-
배치 테스트.
웹 브라우저를 사용하여 시스템의 도메인 이름 또는 IP 주소(예: http://myserver.example.com.)로 이동합니다. Apache 웹 서버가 기본 테스트 페이지를 엽니다.
Apache 구성
웹 서버의 루트 경로를 변경하려면 /etc/httpd/conf/httpd.conf
파일을 직접 편집하지 마십시오. 대신, 선호하는 방법으로 /etc/httpd/conf.d
디렉토리에 사이트별 구성 파일을 만듭니다.
다음 예에서는 가상 호스트에 대한 구성을 포함하도록 /etc/httpd/conf.d/example.com.conf
파일이 생성됩니다.
-
/etc/httpd/conf.d/example.com.conf
에 다음 정보를 추가하여 가상 호스트를 만듭니다.듣기 *:80
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.comDocumentRoot /var/www/example.com/html/
ErrorLog /var/log/httpd/example.com_error.log
CustomLog /var/log/httpd/example.com_access.log 결합</VirtualHost>
ServerName 및 ServerAlias는 서비스에 액세스하는 데 사용할 수 있는 호스트 이름, 도메인 이름 또는 IP 주소일 수 있습니다.
-
문서 루트 폴더를 만듭니다.
루트 폴더는 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/
-
구성을 적용합니다.
sudo systemctl restart httpd
웹 서비스 보안
가장 좋은 방법은 HTTPS를 사용하여 웹 브라우저와 Apache 서버 간의 모든 통신을 보안하는 것입니다. 보안 설정의 경우 TLS 인증서가 필요합니다.
- TLS/SSL 인증서를 구성합니다.
주:
Oracle은 외부 CA(인증 기관)에서 서명한 TLS 인증서를 사용할 것을 강력히 권장합니다. 자세한 내용은 Oracle Linux: Managing Certificates and Public Key Infrastructure를 참조하십시오.
-
Apache용 HTTPS 추가 기능을 설치합니다.
sudo dnf install mod_ssl sudo systemctl restart httpd
-
Apache 구성을 업데이트합니다. 예를 들어,
/etc/httpd/conf.d/example.com.conf
에서 다음 구성을 추가합니다.듣기 *:443
<VirtualHost *:443>
ServerName example.com
ServerAlias www.example.comSSLCertificateFile의 SSLEngine /etc/pki/tls/private/certificate.crt
SSLCertificateKeyFile /etc/pki/tls/private/private.keyDocumentRoot /var/www/example.com/html/
ErrorLog /var/log/httpd/example.com_error.log
CustomLog /var/log/httpd/example.com_access.log 결합</VirtualHost>
-
HTTP 요청을 HTTPS로 재지정합니다.
다음과 같이 기존 HTTP VirtualHost 구성을 재지정으로 바꿉니다.
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com"/" "https://example.com/" 재지정
</VirtualHost>
-
Apache 서비스를 다시 시작하여 새 구성을 로드합니다.
sudo systemctl restart httpd
-
(선택사항) 방화벽을 구성합니다.
이러한 명령은 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를 참조하십시오.