웹사이트 검색

Debian 10에서 가상 호스트와 함께 Apache를 설치하는 방법


Apache HTTP 서버로 널리 알려진 ApacheApache Foundation에서 유지 관리하는 무료 오픈 소스 크로스 플랫폼 웹 서버입니다. 인터넷에서 35% 시장 점유율을 차지하는 선도적인 웹 서버이며 Nginx24%로 2위를 차지하고 있습니다.

Apache는 신뢰성이 높고 유연하며 설치가 쉬우며 개발자와 Linux 애호가들 사이에서 인기를 끄는 다양한 기능을 제공합니다. 또한 Apache 재단에서 정기적으로 유지 관리 및 업데이트하므로 소프트웨어 버그를 수정하고 전반적인 효율성을 향상시키는 데 도움이 됩니다. 이 기사를 작성하는 시점의 최신 Apache 버전은 2.4.39입니다.

참고 사항: Debian 10에 서버 블록(가상 호스트)과 함께 Nginx 설치

이 가이드에서는 Debian 10Apache 웹 서버를 설치하는 방법에 대한 단계를 안내합니다.

전제 조건

시작하기 전에 다음 요구 사항이 충족되는지 확인하세요.

  1. 데비안 10의 인스턴스.
  2. 서버를 가리키는 정규화된 도메인 이름(FQDN).
  3. 이 가이드에서는 IP 주소가 192.168.0.104Debian 10 시스템을 가리키는 도메인 linux-console.net을 사용합니다.
  4. 좋은 인터넷 연결.

비행 전 점검이 완료되었으니 시작해 보세요.

1단계: Debian 10 시스템 저장소 업데이트

Debian 10Apache를 설치하는 첫 번째 단계는 시스템 저장소를 업데이트하는 것입니다. 이를 달성하려면 일반 사용자로 로그인하고 sudo 권한을 사용하여 명령을 실행하십시오.

sudo apt update -y

2단계: Debian 10에 Apache 설치

Apache 설치는 매우 간단하고 쉽습니다. 시스템 저장소를 성공적으로 업데이트한 후 아래 명령을 실행하여 Debian 10Apache를 설치하세요.

sudo apt install apache2 -y

3단계: Apache 웹서버 상태 확인

Apache 웹 서버를 성공적으로 설치한 후에는 항상 서비스가 실행 중인지 확인하는 것이 좋습니다. 대부분의 시스템화된 Linux 시스템은 설치 시 자동으로 서비스를 시작합니다.

Apache 웹서버의 상태를 확인하려면 다음 명령어를 실행하세요.

sudo systemctl status apache2

서비스가 실행되고 있지 않으면 명령을 사용하여 서비스를 시작하십시오.

sudo systemctl start apache2

부팅 시 Apache 웹 서버를 활성화하려면 다음 명령을 실행하세요.

sudo systemctl enable apache2

Apache를 다시 시작하려면 실행하십시오.

sudo systemctl restart apache2

4단계: HTTP 포트를 허용하도록 방화벽 구성

UFW 방화벽이 이미 구성되어 있는 경우 외부 사용자가 웹 서버에 액세스할 수 있도록 방화벽을 통해 Apache 서비스를 허용해야 합니다.

이를 달성하려면 방화벽의 포트 80에서 트래픽을 허용해야 합니다.

sudo ufw allow 80/tcp

방화벽에서 포트가 허용되었는지 확인하려면 다음을 실행하세요.

sudo ufw status

또한 netstat 명령을 사용하여 표시된 대로 포트를 확인할 수 있습니다.

sudo netstat -pnltu

5단계: Apache HTTP 웹 서버 확인

모든 설정이 완료되면 즐겨 사용하는 웹 브라우저를 열고 표시된 대로 서버의 IP 주소 또는 FQDN을 찾아보세요.

http://server-IP-address 
OR  
http://server-domain-name

6단계: Apache 웹 서버 구성

Apache 웹 서버가 이미 설정되었으므로 샘플 웹 사이트를 호스팅할 시간입니다.

기본 Apache 웹페이지 파일 index.htmlwebroot 디렉토리인 /var/www/html/에 있습니다. 단일 사이트를 호스팅하거나 가상 호스트 파일을 생성하여 여러 사이트를 호스팅할 수 있습니다.

단일 사이트를 호스팅하려면 webroot 디렉토리에 있는 index.html 파일을 수정하면 됩니다.

그러나 먼저 그림과 같이 파일을 백업하십시오.

sudo mv /var/www/html/index.html /var/www/html/index.html.bak

이제 새로운 index.html 파일을 만들어 보겠습니다.

sudo nano /var/www/html/index.html

표시된 대로 일부 HTML 샘플 콘텐츠를 추가해 보겠습니다.

<html>
    <head>
        <title>Welcome to crazytechgeek</title>
    </head>
    <body>
        <h1>Howdy Geeks! Apache web server is up & running</h1>
    </body>
</html>

텍스트 편집기를 종료하고 웹 서버를 다시 시작하십시오.

sudo systemctl restart apache2

이제 웹 브라우저를 다시 로드하고 새 사이트의 변경 사항을 확인하세요.

7단계: Apache에서 가상 호스트 생성

웹 서버가 여러 사이트를 호스팅하도록 하려면 이 문제를 해결하는 가장 좋은 방법은 Apache 웹 서버에 가상 호스트를 만드는 것입니다. 단일 서버에서 여러 도메인을 호스팅하려는 경우 가상 호스트가 유용합니다.

먼저, linux-console.net 도메인에 대한 webroot 디렉토리를 생성해야 합니다.

sudo mkdir -p /var/www/html/linux-console.net/

다음으로 $USER 변수를 사용하여 디렉터리에 필요한 권한을 할당합니다.

sudo chown -R $USER:$USER /var/www/html/linux-console.net/

다음으로 도메인에 대한 webroot 디렉터리에 필요한 권한을 할당합니다.

sudo chmod -R 755 /var/www/html/linux-console.net

이제 즐겨 사용하는 텍스트 편집기를 사용하여 샘플 index.html 파일을 만드세요.

sudo nano /var/www/html/linux-console.net/index.html

표시된 대로 일부 HTML 샘플 콘텐츠를 추가해 보겠습니다.

<html>
    <head>
        <title>Welcome to TecMint.com</title>
    </head>
    <body>
        <h1>Howdy Geeks!</h1>
    </body>
</html>

텍스트 편집기를 저장하고 종료합니다.

이제 아래 표시된 명령을 사용하여 도메인에 대한 가상 호스트 파일을 만듭니다.

sudo nano /etc/apache2/sites-available/linux-console.net.conf

이제 아래 내용을 복사하여 붙여넣고 linux-console.net 도메인을 자신의 도메인으로 바꾸세요.

<VirtualHost *:80>
    ServerAdmin [email 
    ServerName linux-console.net
    ServerAlias linux-console.net
    DocumentRoot /var/www/html/linux-console.net/
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

저장 및 종료.

이 시점에서 그림과 같이 가상 호스트 파일을 활성화합니다.

sudo a2ensite linux-console.net.conf

이제 기본 사이트를 비활성화해 보겠습니다.

sudo a2dissite 000-default.conf

변경 사항을 적용하려면 Apache 웹 서버를 다시 로드하세요.

sudo systemctl restart apache2

이제 웹 서버를 다시 로드하고 도메인의 변경 사항을 확인하세요.

웹사이트에서 HTTPS를 활성화하려면 Debian 10에서 Apache용 무료 SSL 인증서를 설정하는 방법 문서를 읽어보세요.

결론

튜토리얼이 끝났습니다. 이 가이드에서는 Debian 10Apache를 설치하는 방법과 다른 도메인을 호스팅하도록 가상 호스트를 구성하는 방법을 배웠습니다. 언제든지 피드백을 보내주세요.