Virtual Box Ubuntu 램프 스택에서 여러 사이트를 호스팅하는 방법

Virtual Box Ubuntu 램프 스택에서 여러 사이트를 호스팅하는 방법

나는 내가 원하는 일을 하는 데 꽤 가까워졌지만 아쉽게도 마지막 장애물에 대한 해결책을 찾을 수 없습니다. 본질적으로 저는 하나의 VB에서 여러 사이트를 호스팅하고 두 컴퓨터 중 하나에서 간단한 URL을 사용하여 액세스할 수 있는 위치에 도달하려고 합니다...

내 설정:

호스트 파일에 다음과 같은 항목이 포함된 Windows 7 호스트: 192.168.0.30 laravel.dev 이 주소에 대한 DHCP 예약이 있습니다. 이는 내 VirtualBox의 고유 Mac 주소용으로 예약되어 있습니다.

Virtualbox는 브리지된 네트워크 어댑터 및 무차별 모드로 설정됩니다. 모두 허용(필요한지 확실하지 않음) 게스트 OS의 호스트 파일을 변경하지 않았습니다.

/etc/apache2/sites-available호출 시 laravel.dev라는 새 파일을 생성하고 laravel.dev다음과 같이 편집했습니다.

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName *.laravel.dev
    DocumentRoot /var/www/laravel.dev/public/
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/www/laravel.dev/public/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/laravel_error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/laravel_access.log combined
</VirtualHost>

sudo a2ensite laravel.dev그런 다음 아파치를 입력하고 다시 시작하여 활성화했습니다.

현재 상황:

따라서 지금은 주소 표시줄에 /var/www/입력하여 호스트에서 웹 루트( ) 로 액세스할 수 http://laravel.dev/있고 게스트 브라우저에서 다음을 입력하여 액세스할 수 있습니다.localhost

/var/www/laravel.dev/public/index.php내 주소 표시줄에 입력하여 호스트에서 내 프로젝트 색인 파일( )에 액세스할 수 http://laravel.dev/laravel.dev/public있고 내 게스트 브라우저에서 다음을 입력하여 액세스할 수 있습니다.localhost/laravel.dev/public

내가 원하는 것

이것은 괜찮습니다. 하지만 제가 원하는 것은 /var/www/laravel.dev/public/index.php단순히 두 컴퓨터의 주소 표시줄에 laravel.dev를 입력하여 내 사이트( )의 루트에 액세스할 수 있는 것입니다. 여기서 내가 뭘 잘못하고 있는지 설명할 수 있는 사람이 있습니까? 나는 영원히 감사할 것이다.

요청된 추가 정보:

/etc/apache2/sites-enabled/의 ls -l 결과

total 0
lrwxrwxrwx 1 root root 26 Feb 26 17:16 000-default -> ../sites-available/default
lrwxrwxrwx 1 root root 30 Feb 26 18:27 laravel.dev -> ../sites-available/laravel.dev

...이 문제를 해결하는 데 도움이 될 수 있는 다른 정보를 제공해 주시면 감사하겠습니다.

또한, 램프 스택을 설치하는 것 외에. 나는 여기에 나열된 것 외에는 실제로 아무것도 하지 않았습니다. 언급하지 않았다면 아마 아직 하지 않았을 것이므로 어떤 제안이라도 감사하겠습니다. 귀하가 Linux 멍청한 놈을 상대한다고 가정해도 안전합니다. 아무런 공격도 받지 않을 것입니다.

답변1

문제가 DNS 문제인지 의심스럽습니다. 비록 당신이 만든 파일이 실제로 Apache에 의해 읽혀지고 있는지는 의문입니다. "DocumentRoot /var/www/laravel.dev/public/" 줄이면 충분할 것입니다.

[ 실제로 이것이 당신이 하려는 전부라면, 당신이 넣은 또 다른 여유가 필요합니까? 그렇지 않다면 이 파일을 제거하고 기본 Apache 구성에서 DocumentRoot를 수정해 보겠습니다.

그래도 문제가 해결되지 않으면 "ls -l /etc/apache2/sites-enabled" 결과를 제공할 수 있습니까? 사이트에 누락될 수 있는 sites-available/laravel.dev에 대한 심볼릭 링크가 있어야 하기 때문입니다. 그렇지 않은 경우 , 우리는 이 파일이 구문 분석되고 있는지, 그렇지 않다면 그 이유를 알아내야 할 수도 있습니다.

답변2

여기에서 내가 찾은 튜토리얼을 시도해 볼 수 있습니다. Ubuntu에서 가상 호스트를 사용하여 설정하는 방법을 설명하는 것 같습니다. 또한 Arch Linux도 다루고 있습니다. 하지만 튜토리얼을 읽은 후 내 문제가 무엇인지 알 수 있었고 튜토리얼을 따르기 전에 간단한 단계가 누락되었습니다. 아마도 당신도 같은 상황에 처해있을 것입니다. http://www.adminempire.com/how-to-setup-v-host-on-apache/

또한 Alias ​​섹션을 사용하면 원하는 내용을 입력하는 방법에 대한 문제를 해결할 수 있으며 localhost 부분을 포함할 필요가 없습니다.

관련 정보