Новости:

Форуму исполнилось 12 лет!

Мы в матрице .
Мы в телеге .

Главное меню

Apache2 virtualhost [Slackware 14 X64]

Автор kvip, 24 октября 2013, 17:35:52

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

kvip

Привет всем.
Есть проблема с настройкой apache2.
Суть проблемы, нужно запустить два сайта на одном сервере.

Для этого я редактирую конфиг
/etc/httpd/httpd.conf
ЦитироватьServerName 127.0.0.1
Listen 80

Раскомментирую строчку для виртуальных хостов
Include /etc/httpd/extra/httpd-vhosts.conf
И строчку для пхп
Include /etc/httpd/mod_php.conf

Файл httpd-vhosts.conf
<VirtualHost localhost:80>
    ServerAdmin Admin@mail.ru
    DocumentRoot "/var/www/htdocs/server.ru"
    ServerName server.ru
    ErrorLog "/tmp/localhost-error.log"
    CustomLog "/tmp/localhost-access.log" common
</VirtualHost>

<VirtualHost localhost:80>
    ServerAdmin Admin@mail.ru
    DocumentRoot "/var/www/htdocs/pma.server.ru"
    ServerName pma.server.ru
    ErrorLog "/tmp/localhost-error.log"
    CustomLog "/tmp/localhost-access.log" common
</VirtualHost>


Мой файл /etc/hosts
127.0.0.1      localhost server.ru pma.server.ru

Перезапускаю сервер apachectl restart

Перехожу на server.ru и вижу два созданых каталога
server.ru pma.server.ru

В чем может быть проблема?

Graf

На сколько я знаю и только-что попробовал, апач сам каталоги не создает.

# /etc/rc.d/rc.httpd restart
AH00112: Warning: DocumentRoot [/var/www/htdocs/server.ru] does not exist
AH00112: Warning: DocumentRoot [/var/www/htdocs/pma.server.ru] does not exist


Когда создал сам:

# cd /var/www/htdocs
# mkdir {server.ru,pma.server.ru}
# /etc/rc.d/rc.httpd restart
# ls -al ./server.ru/
итого 8
drwxr-xr-x 2 root root 4096 окт.  24 17:59 .
drwxr-xr-x 8 root root 4096 окт.  24 17:59 ..

# ls -al ./pma.server.ru/
итого 8
drwxr-xr-x 2 root root 4096 окт.  24 17:59 .
drwxr-xr-x 8 root root 4096 окт.  24 17:59 ..

Всё чисто.
Возможно, в логах где-нибудь вылезет.

kvip

Нет, каталоги все созданы.
Суть в том что нужно что бы при переходе по адресу server.ru был расположен сайт находящийся в каталоге /var/www/htdocs/server.ru а при переходе по ссылке pma.server.ru открывался сайт расположенный в каталоге /var/www/htdocs/pma.server.ru
Но вместо этого он при переходе по любой ссылке открывает каталог /var/www/htdocs

Ниже архив в котором логи и конфиги сервера.

Graf

А если поправить:
в httpd-vhosts.conf

<VirtualHost *:80>
    DocumentRoot /var/www/htdocs/server.ru
    ServerName server.ru
    ErrorLog "/var/log/httpd/server.ru-error_log"
    CustomLog "/var/log/httpd/server.ru-access_log" common
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot /var/www/htdocs/pma.server.ru
    ServerName pma.server.ru
    ErrorLog "/var/log/httpd/pma.server.ru-error_log"
    CustomLog "/var/log/httpd/pma.server.ru-access_log" common
</VirtualHost>


В httpd.conf

ServerAdmin admin@mail.ru
ServerName 127.0.0.1

<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>

# DocumentRoot "/srv/httpd/htdocs" (ЗАКАМЕНТАРИТЬ)
<Directory "/srv/httpd/htdocs">
    Options Indexes FollowSymLinks ExecCGI Includes
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

что-то измениться?

kvip

После этого у каждого сайта ошибка 404 в директории /

Graf

Цитата: kvip от 24 октября 2013, 20:54:04
После этого у каждого сайта ошибка 404 в директории /
Ну, а что-то из ниже прописанного там есть?

<IfModule dir_module>
    DirectoryIndex index.php index.html index.htm
</IfModule>


404, обычно, это " File Not Found"

kvip

Это есть:
<IfModule dir_module>
    DirectoryIndex index.php index.html
</IfModule>

Graf


kvip

httpd -t -D DUMP_VHOSTS
VirtualHost configuration:
127.0.0.1:80           is a NameVirtualHost
         default server server.ru (/etc/httpd/extra/httpd-vhosts.conf:24)
         port 80 namevhost server.ru (/etc/httpd/extra/httpd-vhosts.conf:24)
                 alias www.server.ru
         port 80 namevhost pma.server.ru (/etc/httpd/extra/httpd-vhosts.conf:33)


kvip

Проблема решена!
Конфиг /etc/httpd/httpd.conf оставляем дефолтным, но естественно раскомментируем
Include /etc/httpd/extra/httpd-vhosts.conf

Теперь самое главное, файл httpd-vhosts.conf
<VirtualHost *:80>
    DocumentRoot "/srv/httpd/htdocs/site.ru"
    ServerName site.ru
    ServerAlias www.site.ru
    ErrorLog "/var/log/httpd/site.ru-error_log"
    CustomLog "/var/log/httpd/site.ru-access_log" common
    <Directory "/srv/www/htdocs/site.ru">
        Options Indexes FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "/srv/httpd/htdocs/pma.site.ru"
    ServerName pma.site.ru
    ErrorLog "/var/log/httpd/pma.site.ru-error_log"
    CustomLog "/var/log/httpd/pma.site.ru-access_log" common
    <Directory "/srv/www/htdocs/pma.site.ru">
        Options Indexes FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>


Собственно вот и все.
Спасибо что не оставили без внимания  :)