Попытка использовать папку, отличную от /var/www/html

Я использую стек Ubuntu (+LAMP) для своего веб-сервера. Все для веб-сервера работает нормально. Например, у меня есть страница index.php с

<?php
phpinfo();
?>

внутри /var/www/html, а также под /var/www/mytestsite.com/ Изнутри веб-сервера оба сайта @ http://MyServerIPAddress/hello.php и http://MyServerIPAddress/mytestsite.com/hello.php работают, показывая правильную информацию о php.

Когда я тестирую то же самое снаружи сервера, я могу получить доступ только к странице внутри /var/www/html http://MyServerIPAddress/hello.php Но доступ к странице http://MyServerIPAddress/mytestsite.com/hello.php показывает сообщение

Not Found
The requested URL /example.com was not found on this server.
Apache/2.4.7 (Ubuntu) Server at *MyServerIPAddress* Port 80.

Вот mytestsite.com.conf, который я использовал для apache

<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName mytestsite.com
    ServerAlias www.mytestsite.com
    DocumentRoot /var/www/mytestsite.com
</VirtualHost>

А также сопоставил доступ к папке и настройки владельца для соответствия как для /var/www/html, так и для /var/www/mytestsite.com.

Какие дополнительные настройки НУЖНЫ для доступа к сайтам за пределами папки /var/www/html?


person Vic    schedule 08.01.2015    source источник
comment
Что, если вы попробуете поместить index.php в /var/www/html/mytestsite.com/?   -  person LGenzelis    schedule 08.01.2015
comment
это тоже работает. Только если я создам новую папку на том же уровне, что и /var/www/html, я не могу заставить ее работать.   -  person Vic    schedule 08.01.2015


Ответы (1)


Я нашел ответ на свой вопрос после просмотра журналов apache и помощи других. Первым делом я изменил файл apache conf моего веб-сайта на

<VirtualHost *:80>
        ServerAdmin [email protected]
        ServerName mytestsite.com
        ServerName <ServerIpAddress>
        DocumentRoot /var/www
        <Directory /var/www/mytestsite.com/public_html**/>
                Options -Indexes +FollowSymLinks +MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Также я внес изменения в файл /etc/hosts, чтобы включить сайт как

<localhostIp>       localhost
<localhostIp>       ubuntu
<ServerIpAddress>   mytestsite.com mytestsite.com

После того, как я внес изменения, я могу получить доступ к сайту из-за пределов сервера

person Vic    schedule 12.01.2015