Apache2 Real Website


Apache를 사용한 실제 웹사이트 설정 및 배포 (Setting Up and Deploying a Real Website with Apache)

Apache 웹 서버를 사용하여 실제 웹사이트를 설정하고 배포하는 과정은 다음과 같은 단계로 나뉩니다:

  1. Apache 설치
  2. 웹사이트 파일 준비
  3. Apache 가상 호스트 설정
  4. 도메인 네임 시스템(DNS) 설정
  5. SSL 인증서 설정 (옵션)
  6. 방화벽 설정
  7. 테스트 및 배포

1. Apache 설치 (Installing Apache)

먼저, Apache 웹 서버를 설치합니다. Ubuntu를 예로 들면, 다음 명령어를 사용합니다:

sudo apt-get update
sudo apt-get install apache2

2. 웹사이트 파일 준비 (Preparing Website Files)

웹사이트 파일을 준비하여 /var/www/html 디렉토리에 배치합니다. 예를 들어, index.html 파일을 배치합니다:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>My Website</title>
</head>
<body>
    <h1>Welcome to My Website</h1>
    <p>This is a sample webpage.</p>
</body>
</html>

해당 파일을 /var/www/html 디렉토리에 저장합니다.

sudo cp index.html /var/www/html/index.html

3. Apache 가상 호스트 설정 (Setting Up Apache Virtual Hosts)

도메인 별로 웹사이트를 호스팅하기 위해 가상 호스트를 설정합니다. 예를 들어, example.com 도메인에 대한 가상 호스트를 설정합니다.

가상 호스트 설정 파일 생성

다음 명령어를 사용하여 새로운 가상 호스트 설정 파일을 생성합니다:

sudo nano /etc/apache2/sites-available/example.com.conf

설정 파일 내용:

<VirtualHost *:80>
    ServerAdmin webmaster@example.com
    ServerName example.com
    ServerAlias www.example.com

    DocumentRoot /var/www/example.com

    <Directory /var/www/example.com>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/example.com-error.log
    CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined
</VirtualHost>

디렉토리 생성 및 파일 복사

웹사이트 파일을 저장할 디렉토리를 생성하고 파일을 복사합니다:

sudo mkdir /var/www/example.com
sudo cp -r /var/www/html/* /var/www/example.com/

가상 호스트 활성화 및 Apache 재시작

가상 호스트를 활성화하고 Apache를 재시작합니다:

sudo a2ensite example.com.conf
sudo systemctl restart apache2

4. 도메인 네임 시스템(DNS) 설정 (Setting Up DNS)

DNS 제공자(예: GoDaddy, Namecheap)에서 도메인 이름을 등록하고 A 레코드를 설정하여 도메인을 서버의 IP 주소에 매핑합니다. 예를 들어, example.com을 서버의 IP 주소 123.456.78.90에 매핑합니다.

5. SSL 인증서 설정 (Setting Up SSL Certificates)

Let’s Encrypt를 사용하여 무료 SSL 인증서를 설정합니다.

Certbot 설치

Certbot을 설치합니다:

sudo apt-get install certbot python3-certbot-apache

SSL 인증서 발급 및 Apache 설정

Certbot을 사용하여 SSL 인증서를 발급하고 Apache 설정을 자동으로 구성합니다:

sudo certbot --apache -d example.com -d www.example.com

6. 방화벽 설정 (Setting Up the Firewall)

UFW(Uncomplicated Firewall)를 사용하여 Apache를 허용합니다:

sudo ufw allow 'Apache Full'
sudo ufw enable

7. 테스트 및 배포 (Testing and Deployment)

웹사이트가 올바르게 설정되었는지 테스트합니다. 브라우저에서 http://example.comhttps://example.com을 열어 웹사이트가 정상적으로 작동하는지 확인합니다.

로컬 호스트 테스트

로컬 호스트에서 테스트하려면 /etc/hosts 파일에 다음 항목을 추가합니다:

127.0.0.1 example.com

웹 브라우저에서 http://example.com을 열어 테스트합니다.

서버 로그 확인

Apache 로그 파일을 확인하여 오류나 경고가 없는지 확인합니다:

sudo tail -f /var/log/apache2/error.log
sudo tail -f /var/log/apache2/access.log

결론

이제 Apache 웹 서버를 사용하여 실제 웹사이트를 설정하고 배포하는 방법을 배웠습니다. 정리된 단계들을 따라가면서 서버를 설정하고, 필요한 경우 SSL 인증서를 적용하여 웹사이트의 보안을 강화할 수 있습니다. 지속적인 모니터링과 유지보수를 통해 안정적인 서비스를 제공할 수 있습니다.


Leave a Reply

Your email address will not be published. Required fields are marked *