이전 1편에서 설명했던 것과 마찬가지로 Apache라고 하는 Apache HTTP Server는 웹 사이트 및 웹 응용 프로그램을 제공하는 데 널리 사용되는 오픈 소스 웹 서버 소프트웨어이며 견고성, 유연성 및 확장성으로 유명하다. Apache는 Linux뿐만 아니라 Windows, macOS를 비롯한 다양한 운영 체제에 설치할 수 있다. 이번 포스팅은 이 중 RedHat 기반으로 작성되었다.
Apache 설치
sudo dnf install httpd
sudo yum install httpd
Apache HTTP 서버 구성
Apache의 기본 구성 파일은 일반적으로 Red Hat 기반 시스템의 /etc/httpd/conf/httpd.conf에 있다. 이 파일을 편집하여 기본 문서 루트 변경, 디렉토리 목록 활성화 또는 가상 호스트 구성과 같은 서버 설정을 사용자 정의할 수 있다.
1. Apache HTTP Server 시작 및 활성화
sudo systemctl start httpd (시작)
sudo systemctl enable httpd (활성화)
sudo systemctl enable --now httpd (한번에)
2. 방화벽 구성(필요한 경우)
RHEL 또는 Fedora의 firewalld와 같은 방화벽을 활성화한 경우 Apache 서버로 들어오는 연결을 허용하려면 필요한 포트(일반적으로 HTTP의 경우 포트 80, HTTPS의 경우 포트 443)를 열어야 할 수 있다.
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
3. Apache HTTP Server 설치 확인
sudo systemctl status httpd
서버가 실행 중이고 액세스 가능한지 확인하려면 웹 브라우저를 열고 서버의 IP 주소 또는 도메인 이름으로 이동한다. 기본 Apache 테스트 페이지가 표시되어야 한다.
Apache를 사용하여 기본 웹 사이트 설정
1. 웹사이트를 위한 새 디렉터리 생성
먼저 웹사이트 파일을 보관할 새 디렉토리를 만든다. 이 예에서는 /var/www 디렉토리에 example-site라는 디렉토리를 생성한다.
sudo mkdir /var/www/example-site
2. 적절한 권한 설정
Apache 사용자가 디렉토리에 액세스할 수 있도록 하려면 새 디렉토리의 소유권과 권한을 업데이트한다.
sudo chown apache:apache /var/www/example-site
sudo chmod 755 /var/www/example-site
3. 샘플 HTML 파일을 만든다.
/var/www/example-site 디렉토리 안에 간단한 index.html 파일을 만든다.
sudo nano /var/www/example-site/index.html
sudo vi /var/www/example-site/index.html
4. 파일에 다음 콘텐츠를 추가한다.
<!DOCTYPE html>
<html>
<head>
<title>Example Site</title>
</head>
<body>
<h1>Welcome to the Example Site!</h1>
<p>This is a simple Red Hat-based Apache website.</p>
</body>
</html>
파일을 저장하고 닫는다.
5. 가상 호스트 구성 파일을 만든다.
Apache는 가상 호스트 파일을 사용하여 개별 웹 사이트에 대한 설정을 정의한다. 예제 사이트에 대한 새 가상 호스트 구성 파일을 만든다.
sudo nano /etc/httpd/conf.d/example-site.conf
sudo vi /etc/httpd/conf.d/example-site.conf
6. 파일에 다음 콘텐츠를 추가한다.
<VirtualHost *:80>
ServerAdmin webmaster@example-site.com
DocumentRoot /var/www/example-site
ServerName example-site.com
ServerAlias www.example-site.com
ErrorLog /var/log/httpd/example-site_error.log
CustomLog /var/log/httpd/example-site_access.log combined
<Directory /var/www/example-site>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
example-site.com 및 www.example-site.com을 도메인 이름으로 바꿉니다. 파일을 저장하고 닫는다.
7. Apache HTTP 서버를 다시 시작한다.
새 구성을 적용하려면 Apache 서비스를 다시 시작하십시오.
sudo systemctl restart httpd
8. 도메인의 DNS 설정 업데이트
도메인의 DNS 레코드(A 레코드)가 서버의 IP 주소를 가리키도록 한다. 이 프로세스는 도메인 등록 기관에 따라 다를 수 있다.
9. 웹사이트 테스트
DNS 변경 사항이 전파되면 웹 브라우저에서 'http://example-site.com' (실제 도메인 이름으로 대체)을 방문하여 웹 사이트에 엑세스 할 수 있다.
'index.html' 파일에 추가한 콘텐츠가 표시되어야 한다.
가상 호스트 구성 파일과 기본 Apache 구성 파일(/etc/httpd/conf/httpd.conf)을 편집하여 웹 사이트 및 Apache 설정을 추가로 사용자 정의할 수 있다.
'Linux > Linux 다운로드가 필요한 명령어' 카테고리의 다른 글
[Linux 명령어] DNS 서버 설정 명령어 (bind) (0) | 2023.03.21 |
---|---|
[Linux 명령어] 디스크 관리 및 용량 제한하기 (quota) (0) | 2023.03.19 |
[Linux 명령어] 리눅스로 웹 사이트 제작하기 (Apache) [1] (2) | 2023.03.19 |
[Linux 명령어] 최신 소프트웨어(+ 명령어) 패키지 다운로드 (epel-release) (0) | 2023.03.18 |
[Linux 명령어] FTP 서버 보안 프로그램 (vsftpd) (0) | 2023.03.17 |