네트워크 내에서 액세스할 수 있는 여러 가상 호스트를 사용하여 로컬 Apache2 설치 만들기

네트워크 내에서 액세스할 수 있는 여러 가상 호스트를 사용하여 로컬 Apache2 설치 만들기

내 개발 컴퓨터(Debian 10)에서 실행되는 로컬 apache2 및 mariaDB 서버가 있습니다. 동시에 여러 웹사이트를 이용할 수 있도록 가상 호스트를 사용하고 있습니다. 나는 목표를 달성하기 위해 다음 단계를 수행합니다.

1) 웹사이트에 대한 conf 파일을 생성하고 편집합니다.sudo nano /etc/apache2/sites-available/website.conf

2) 파일을 다음과 같이 채웁니다.

<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName website.local
    ServerAlias www.website.local
    DocumentRoot /var/www/website/public_html/
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

삼)sudo a2ensite website.conf

4)sudo systemctl reload apache2

5) 호스트 파일을 편집합니다. sudo nano /etc/hosts, 다음 줄을 추가합니다.127.0.0.1 website.local

이 시점에서는 작동합니다. 에 가면 http://website.local새로 만들어진 로컬 웹사이트로 리디렉션됩니다.

다른 컴퓨터가 내 PC의 IP 주소로 이동하는 순간(예를 들어, 10.0.0.100그들은 내 파일로 이동합니다 /var/www/html/index.html. 설정한 적이 없기 때문에 이것이 작동하는 이유는 모르겠습니다. 하지만 작동합니다.

내 소원: 10.0.0.100내 네트워크 내의 PC로 이동하면 내가 가지고 있는 로컬 웹사이트로 리디렉션되는 목록을 (수동으로) 배치할 수 있는 페이지가 열립니다. 예를 들어:

<ul>
    <li><a href="http://website1.10.0.0.100/">Website1</a></li>
    <li><a href="http://website2.10.0.0.100/">Website2</a></li>
    <li><a href="http://website3.10.0.0.100/">Website3</a></li>
</ul>

현재로서는 이를 달성하는 방법을 알 수 없기 때문에 올바른 방향을 제시하고 싶습니다.

답변1

원하는 작업은 해당 이름(일명 website.local)을 네트워크 DNS에 등록하여 달성할 수 있습니다.

같은 이름은 문자열( )로 시작하므로 모든 클라이언트에서 FQDN으로 간주되므로 website1.10.0.0.100직접 구현하는 것이 불가능합니다 . 따라서 모든 클라이언트는 최상위 도메인 website1에서 어떤 DNS 서버가 권한이 있는지 알아내려고 시도할 것입니다 . .... 아마도 짐작하셨겠지만 이 TLD는 존재하지 않습니다..100

DNS를 수정하지 않고 컴퓨터에 3개의 다른 사이트를 구현할 수 있는 가장 쉬운 방법은 다음과 같습니다.

  • 컴퓨터에 3개의 서로 다른 IP 주소가 있습니다(, 등을 사용하여 ifconfig eth0 add 10.0.0.101... ifconfig eth0 add 10.0.0.102).

  • Apache에 IP 기반 가상 호스트를 구현하십시오.

  • 그런 식으로 보이는 첫 페이지를 만드세요:

<ul>
         <li><a href="http://10.0.0.100/">Website1</a></li>
         <li><a href="http://10.0.0.101/">Website2</a></li>
         <li><a href="http://10.0.0.102/">Website3</a></li>
</ul>

이를 구현하는 또 다른 (더 복잡한) 방법은 다음과 같습니다.

  1. 예를 들어 TLD에 대한 권한을 부여하려면 머신에 자체 DNS 서버를 구현하세요 .bibicomputer.

  2. bibicomputerDNS 영역 에서 make website1.bibicomputer, website2.bibicomputer등은 IP 주소를 가리킵니다.

  3. 직장 동료에게 DNS 목록(linux: 아래 /etc/resolv.conf)에 귀하의 IP 주소를 추가하도록 요청하십시오.

하지만 귀하 회사의 IT 담당자는 이 솔루션을 좋아하지 않을 것입니다.

관련 정보