вопросу по апачу

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
EvilBobby
рядовой
Сообщения: 16
Зарегистрирован: 2008-08-06 7:16:55

вопросу по апачу

Непрочитанное сообщение EvilBobby » 2008-08-06 7:57:45

День добрый.
Есть задание:
Настроить apache с тремя виртуальными хостами с доступом по IP. На первом для php использовать mod_php, на втором должны обрабатываться версией php, установленной как CGI, на третьем должен использоваться FastCGI. Доступ к отдельных хостам производится по порту (80, 8080 и 8000 соответственно)
Конфиги для хостов храню в отдельных файлах.
Первый хост

Код: Выделить всё

NameVirtualHost *

<VirtualHost _default_>
        ServerName 192.168.110.2
        DocumentRoot /var/www/vhosts/default/html
        DirectoryIndex index.php index.html

       LoadModule php5_module modules/libphp5.so

        <Directory /var/www/vhosts/default/html/>
                AddHandler php5-script .php
                AddType text/html .php
        </Directory>

        <Directory /var/www/vhosts/default/html/phpmyadmin>
                AllowOverride   Limit
        </Directory>


        AccessFileName     .htaccess

        ErrorLog  /var/www/vhosts/default/logs/error.log
        CustomLog /var/www/vhosts/default/logs/access.log combined
</VirtualHost>
Второй хост

Код: Выделить всё

Listen 8080

<VirtualHost 192.168.110.2:8080>
        ServerName 192.168.110.2
        DocumentRoot /var/www/vhosts/first/html
        DirectoryIndex index.php index.html

        ScriptAlias /cgi-bin/ "/var/www/vhosts/first/cgi-bin/"

        <Directory /var/www/vhosts/first/html/>
                AddType application/x-httpd-php .php
                Action  application/x-httpd-php /cgi-bin/php
        </Directory>

        <Directory /var/www/vhosts/first/cgi-bin>
                Options ExecCGI
        </Directory>

        ErrorLog  /var/www/vhosts/first/logs/error.log
        CustomLog /var/www/vhosts/first/logs/access.log combined
</VirtualHost>
Третий

Код: Выделить всё

Listen 8000

LoadModule fastcgi_module modules/mod_fastcgi.so

<IfModule mod_fastcgi.c>
        FastCgiConfig   -singleThreshold 30 -minProcesses 2 -restart    \
                        -idle-timeout 400 -killInterval 200 -autoUpdate \
                        -pass-header HTTP_AUTHORIZATION
        AddHandler fastcgi-script .fcgi
</IfModule>

<VirtualHost 192.168.110.2:8000>
        ServerName 192.168.110.2
        DocumentRoot /var/www/vhosts/second/html
#        SuexecUserGroup apache apache

        Alias /cgi-bin/ "/var/www/vhosts/second/cgi-bin/"

        AddHandler fastcgi-script .php
        Action     fastcgi-script /cgi-bin/php5.fcgi
        <Directory /var/www/vhosts/second/cgi-bin>
                Options ExecCGI FollowSymLinks
                SetHandler fastcgi-script
        </Directory>

        DirectoryIndex index.php index.html

        ErrorLog  /var/www/vhosts/second/logs/error.log
        CustomLog /var/www/vhosts/second/logs/access.log combined
</VirtualHost>
Файл php5.fcgi

Код: Выделить всё

PHP_FCGI_CHILDREN=2
export PHP_FCGI_CHILDREN
PHP_FCGI_MAX_REQUESTS=5000
export PHP_FCGI_MAX_REQUESTS
exec /var/www/vhosts/second/cgi-bin/php
Существует 2 проблемы.
Первая - не могу заставить mod_php работать только для первого хоста. phpinfo() запущенное на любом хосте выдает версию php, запущенного через mod_php. При отключении мод_пхп (в конфиге первого хоста) на 2-м хосте (CGI) phpinfo() начинает выдавать нормальную версию php для данного хоста.
Вторая - не работает FastCGI. В данной конфигурации выдает

Код: Выделить всё

403 Forbidden
You don't have permission to access /index.php on this server.
Лог апача

Код: Выделить всё

[Wed Aug 06 15:48:48 2008] [error] [client 192.168.110.30] FastCGI: invalid (dynamic) server "/var/www/vhosts/second/html/index.php": access for server (uid 48, gid 48) not allowed: execute not allowed by owner
Apache запускается из под юзера apache, папка /var/www/vhosts/ и почти все ее содержимое принадлежит ему же

Код: Выделить всё

[root@host1 html]# ls -l /var/www/vhosts/second/cgi-bin/
total 10596
-rwxr-xr-x 1 apache apache 10829200 Aug  6 11:46 php
-rwxr-xr-x 1 apache apache      146 Aug  6 11:02 php5.fcgi

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2460 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: вопросу по апачу

Непрочитанное сообщение zg » 2008-08-06 18:04:04

EvilBobby писал(а):Первая - не могу заставить mod_php работать только для первого хоста.
добавь эти строки только в те хосты, где должен быть mod_php, а из остальных убери.

Код: Выделить всё

<IfModule mod_mime.c>
	<IfModule mod_php5.c>
		AddType application/x-httpd-php .php .phtml
		AddType application/x-httpd-php-source .phps
	</IfModule>
</IfModule>

EvilBobby
рядовой
Сообщения: 16
Зарегистрирован: 2008-08-06 7:16:55

Re: вопросу по апачу

Непрочитанное сообщение EvilBobby » 2008-08-08 2:24:55

хех. Если я, например, из второго файла (CGI) убираю

Код: Выделить всё

AddType application/x-httpd-php .php
,
и оставляю только

Код: Выделить всё

Action  application/x-httpd-php /cgi-bin/php 
,
то по запросе пхп скрипта он мне выдает его код.

EvilBobby
рядовой
Сообщения: 16
Зарегистрирован: 2008-08-06 7:16:55

Re: вопросу по апачу

Непрочитанное сообщение EvilBobby » 2008-08-08 2:59:56

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

Код: Выделить всё

AddType application/x-httpd-php .php
то для остальных нужно делать обработку через хендлер.

Код: Выделить всё

AddHandler php-cgi .php

Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: вопросу по апачу

Непрочитанное сообщение zingel » 2008-08-08 4:09:48

работает или нет?
Z301171463546 - можно пожертвовать мне денег

EvilBobby
рядовой
Сообщения: 16
Зарегистрирован: 2008-08-06 7:16:55

Re: вопросу по апачу

Непрочитанное сообщение EvilBobby » 2008-08-08 4:14:10

Первая проблема отпала. FastCGI так и не пашет

Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: вопросу по апачу

Непрочитанное сообщение zingel » 2008-08-08 4:34:47

а поясните, чего Вы хотите добиться на трёх разных портах? Зачем такой геморой?
Z301171463546 - можно пожертвовать мне денег

EvilBobby
рядовой
Сообщения: 16
Зарегистрирован: 2008-08-06 7:16:55

Re: вопросу по апачу

Непрочитанное сообщение EvilBobby » 2008-08-08 4:54:08

Геморрой в том, что задания придумываю не я. В задании чётко сказано, что нужно настроить 3 виртуальных хоста, с 3 способами обработки php скриптов. при этом обращение к хостам должно быть по IP и создавать дополнительные IP нельзя. Методом исключения получаем, что различить один хост от другого можно только по порту. Но это совсем не проблема, это уже все настроено. Проблема с FastCGI. Сначала было решил, что проблема с suexec-ом, т.к.

Код: Выделить всё

[root@host1 tech]# /usr/sbin/suexec -V
 -D AP_DOC_ROOT="/var/www"
 -D AP_GID_MIN=100
 -D AP_HTTPD_USER="apache"
 -D AP_LOG_EXEC="/var/log/httpd/suexec.log"
 -D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin"
 -D AP_UID_MIN=500
 -D AP_USERDIR_SUFFIX="public_html"
а apache и его группа имели ID = 48, однако правка passwd и group ничего не дала

Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: вопросу по апачу

Непрочитанное сообщение zingel » 2008-08-08 5:17:06

Код: Выделить всё

Options +ExecCGI


^ правильно

Код: Выделить всё

Options ExecCGI 


^ не правильно
Z301171463546 - можно пожертвовать мне денег

EvilBobby
рядовой
Сообщения: 16
Зарегистрирован: 2008-08-06 7:16:55

Re: вопросу по апачу

Непрочитанное сообщение EvilBobby » 2008-08-08 5:30:26

Это конечно просто замечательно, но вдаваться в дебаты почему я сделал именно так я не хочу. По теме есть какие-нибудь идеи?

Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: вопросу по апачу

Непрочитанное сообщение zingel » 2008-08-08 5:43:07

чего, по-теме? =) Настройте нормально выполнение от апача exec:

http://fastcgi.coremail.cn/configuration.htm
Z301171463546 - можно пожертвовать мне денег

EvilBobby
рядовой
Сообщения: 16
Зарегистрирован: 2008-08-06 7:16:55

Re: вопросу по апачу

Непрочитанное сообщение EvilBobby » 2008-08-08 5:55:21

Не могу, настроить то :)
Добавляю я, например, в конфиг строчку

Код: Выделить всё

FastCgiWrapper /var/www/vhosts/second/cgi-bin/php5.fcgi
либо

Код: Выделить всё

FastCgiWrapper /usr/sbin/suexec
(результат абсолютно одинаков). получаем

Код: Выделить всё

[root@host1 tech]# /usr/sbin/apachectl configtest
Syntax error on line 6 of /etc/httpd/vhosts/second.conf:
FastCgiWrapper: "/usr/sbin/suexec" execute access for server (uid -1, gid -1) failed: execute not allowed

Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: вопросу по апачу

Непрочитанное сообщение zingel » 2008-08-08 6:03:24

Z301171463546 - можно пожертвовать мне денег

EvilBobby
рядовой
Сообщения: 16
Зарегистрирован: 2008-08-06 7:16:55

Re: вопросу по апачу

Непрочитанное сообщение EvilBobby » 2008-08-08 6:18:29

читал, не то. И логи у меня все есть, и c правами вроде все нормально

Код: Выделить всё

[root@host1 tech]# ls -l /usr/sbin/suexec
-rwsr-x--- 1 root apache 11512 Jan 16  2008 /usr/sbin/suexec
[root@host1 tech]# ls -l /var/www/vhosts/second/cgi-bin/
total 10596
-rwxr-xr-x 1 apache apache 10829200 Aug  6 11:46 php
-rwxr-xr-x 1 apache apache      146 Aug  6 11:02 php5.fcgi

Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: вопросу по апачу

Непрочитанное сообщение zingel » 2008-08-08 6:21:48

Код: Выделить всё

ls -lah 
на всё..
Z301171463546 - можно пожертвовать мне денег

EvilBobby
рядовой
Сообщения: 16
Зарегистрирован: 2008-08-06 7:16:55

Re: вопросу по апачу

Непрочитанное сообщение EvilBobby » 2008-08-08 6:24:30

Но самое смешное, что когда я в конфиг добавляю строчку

Код: Выделить всё

FastCgiIpcDir "/tmp/fcgi_ipc/"
получаем

Код: Выделить всё

[root@host1 tech]# /usr/sbin/apachectl configtest
Syntax error on line 13 of /etc/httpd/vhosts/second.conf:
FastCgiIpcDir /tmp/fcgi_ipc: can't create dynamic directory "/tmp/fcgi_ipc/dynamic": access for server (uid -1, gid -1) failed: read not allowed
хотя

Код: Выделить всё

[root@host1 tech]# ls -l /tmp/
drwxrwxrwx 3 apache apache  1024 Aug  8 11:16 fcgi_ipc

EvilBobby
рядовой
Сообщения: 16
Зарегистрирован: 2008-08-06 7:16:55

Re: вопросу по апачу

Непрочитанное сообщение EvilBobby » 2008-08-08 6:32:15

все, это что? :)

Код: Выделить всё

[root@host1 cgi-bin]# ls -lah /var/www/vhosts/second/cgi-bin
total 11M
drwxr-xr-x 2 apache apache 4.0K Aug  8 11:35 .
drwxr-xr-x 5 apache apache 4.0K Aug  1 12:17 ..
-rwxr-xr-x 1 apache apache  11M Aug  6 11:46 php
-rwxr-xr-x 1 apache apache  146 Aug  6 11:02 php5.fcgi
[root@host1 cgi-bin]# ls -lah /var/www/vhosts/second/html/
total 16K
drwxr-xr-x 2 apache apache 4.0K Aug  4 13:19 .
drwxr-xr-x 5 apache apache 4.0K Aug  1 12:17 ..
-rw-r--r-- 1 apache apache   38 Aug  1 12:20 index.html
-rw-r--r-- 1 apache apache   20 Aug  4 13:19 index.php
[root@host1 cgi-bin]# ls -lah /var/log/httpd/
total 180K
drwx------ 3 root   root   4.0K Aug  4 15:12 .
drwxr-xr-x 6 root   root   4.0K Aug  3 04:02 ..
-rw-r--r-- 1 root   root      0 Aug  3 04:02 access_log
-rw-r--r-- 1 root   root    19K Jul 31 15:48 access_log.1
-rw-r--r-- 1 root   root   125K Aug  8 12:32 error_log
-rw-r--r-- 1 root   root   7.5K Aug  3 04:02 error_log.1
drwx------ 3 apache apache 4.0K Aug  1 15:12 fastcgi
-rw-r--r-- 1 apache apache  593 Aug  6 14:59 suexec.log

Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: вопросу по апачу

Непрочитанное сообщение zingel » 2008-08-08 6:36:32

Код: Выделить всё

httpd -v && httpd -M
Z301171463546 - можно пожертвовать мне денег

EvilBobby
рядовой
Сообщения: 16
Зарегистрирован: 2008-08-06 7:16:55

Re: вопросу по апачу

Непрочитанное сообщение EvilBobby » 2008-08-08 6:42:12

Код: Выделить всё

[root@host1 fastcgi]# /usr/sbin/httpd -v && /usr/sbin/httpd -M
Server version: Apache/2.2.3
Server built:   Jan 15 2008 20:33:30
Syntax error on line 13 of /etc/httpd/vhosts/second.conf:
FastCgiIpcDir /tmp/fcgi_ipc: can't create dynamic directory "/tmp/fcgi_ipc/dynamic": access for server (uid -1, gid -1) failed: read not allowed

EvilBobby
рядовой
Сообщения: 16
Зарегистрирован: 2008-08-06 7:16:55

Re: вопросу по апачу

Непрочитанное сообщение EvilBobby » 2008-08-08 6:44:09

прошу прощения

Код: Выделить всё

[root@host1 fastcgi]# /usr/sbin/httpd -v && /usr/sbin/httpd -M
Server version: Apache/2.2.3
Server built:   Jan 15 2008 20:33:30
Loaded Modules:
 core_module (static)
 mpm_prefork_module (static)
 http_module (static)
 so_module (static)
 auth_basic_module (shared)
 auth_digest_module (shared)
 authn_file_module (shared)
 authn_alias_module (shared)
 authn_anon_module (shared)
 authn_dbm_module (shared)
 authn_default_module (shared)
 authz_host_module (shared)
 authz_user_module (shared)
 authz_owner_module (shared)
 authz_groupfile_module (shared)
 authz_dbm_module (shared)
 authz_default_module (shared)
 ldap_module (shared)
 authnz_ldap_module (shared)
 include_module (shared)
 log_config_module (shared)
 logio_module (shared)
 env_module (shared)
 ext_filter_module (shared)
 mime_magic_module (shared)
 expires_module (shared)
 deflate_module (shared)
 headers_module (shared)
 usertrack_module (shared)
 setenvif_module (shared)
 mime_module (shared)
 dav_module (shared)
 status_module (shared)
 autoindex_module (shared)
 info_module (shared)
 dav_fs_module (shared)
 vhost_alias_module (shared)
 negotiation_module (shared)
 dir_module (shared)
 actions_module (shared)
 speling_module (shared)
 userdir_module (shared)
 alias_module (shared)
 rewrite_module (shared)
 proxy_module (shared)
 proxy_balancer_module (shared)
 proxy_ftp_module (shared)
 proxy_http_module (shared)
 proxy_connect_module (shared)
 cache_module (shared)
 suexec_module (shared)
 disk_cache_module (shared)
 file_cache_module (shared)
 mem_cache_module (shared)
 cgi_module (shared)
 version_module (shared)
 proxy_ajp_module (shared)
 php5_module (shared)
 fastcgi_module (shared)
Syntax OK

Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: вопросу по апачу

Непрочитанное сообщение zingel » 2008-08-08 6:45:01

EvilBobby писал(а):

Код: Выделить всё

[root@host1 fastcgi]# /usr/sbin/httpd -v && /usr/sbin/httpd -M
Server version: Apache/2.2.3
Server built:   Jan 15 2008 20:33:30
Syntax error on line 13 of /etc/httpd/vhosts/second.conf:
FastCgiIpcDir /tmp/fcgi_ipc: can't create dynamic directory "/tmp/fcgi_ipc/dynamic": access for server (uid -1, gid -1) failed: read not allowed
Z301171463546 - можно пожертвовать мне денег

EvilBobby
рядовой
Сообщения: 16
Зарегистрирован: 2008-08-06 7:16:55

Re: вопросу по апачу

Непрочитанное сообщение EvilBobby » 2008-08-08 6:49:57

вот еще, из основного лога

Код: Выделить всё

[Fri Aug 08 12:32:53 2008] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Fri Aug 08 12:32:53 2008] [error] FastCGI: access for server (uid 1050, gid 1050) failed: read not allowed
[Fri Aug 08 12:32:53 2008] [error] FastCGI: can't create dynamic directory "/etc/httpd/logs/fastcgi/dynamic": access for server (uid 1050, gid 1050) failed: read not allowed
[Fri Aug 08 12:32:53 2008] [notice] Digest: generating secret for digest authentication ...
[Fri Aug 08 12:32:53 2008] [notice] Digest: done
PHP Warning:  Module 'mysql' already loaded in Unknown on line 0
[Fri Aug 08 12:32:53 2008] [error] FastCGI: access for server (uid 1050, gid 1050) failed: read not allowed
[Fri Aug 08 12:32:53 2008] [error] FastCGI: can't create dynamic directory "/etc/httpd/logs/fastcgi/dynamic": access for server (uid 1050, gid 1050) failed: read not allowed
[Fri Aug 08 12:32:53 2008] [notice] FastCGI: process manager initialized (pid 2009)
[Fri Aug 08 12:32:53 2008] [notice] Apache configured -- resuming normal operations

Код: Выделить всё

[root@host1 fastcgi]# ls -lah /etc/httpd/logs/
total 180K
drwx------ 3 root   root   4.0K Aug  4 15:12 .
drwxr-xr-x 6 root   root   4.0K Aug  3 04:02 ..
-rw-r--r-- 1 root   root      0 Aug  3 04:02 access_log
-rw-r--r-- 1 root   root    19K Jul 31 15:48 access_log.1
-rw-r--r-- 1 root   root   125K Aug  8 12:32 error_log
-rw-r--r-- 1 root   root   7.5K Aug  3 04:02 error_log.1
drwxrwxrwx 2 apache apache 4.0K Aug  8 14:48 fastcgi
-rwxrwxrwx 1 apache apache  593 Aug  6 14:59 suexec.log

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35069
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: вопросу по апачу

Непрочитанное сообщение Alex Keda » 2008-08-08 8:04:14

вы знаете, а виртуалхосты ещё по имени хорошо различаются....
у меня на одном сервере несколько сотен сайтов на одном IP и одном порту...
==========
по сабжу - сложностей каких-то не вижу, тока надо с бумажкой сесть и подумать в каком виртуалхосте что рисовать, а не лепить опции рандомно в надежде что само забегает
Убей их всех! Бог потом рассортирует...

EvilBobby
рядовой
Сообщения: 16
Зарегистрирован: 2008-08-06 7:16:55

Re: вопросу по апачу

Непрочитанное сообщение EvilBobby » 2008-08-08 14:19:22

lissyara писал(а):вы знаете, а виртуалхосты ещё по имени хорошо различаются....
у меня на одном сервере несколько сотен сайтов на одном IP и одном порту...
==========
по сабжу - сложностей каких-то не вижу, тока надо с бумажкой сесть и подумать в каком виртуалхосте что рисовать, а не лепить опции рандомно в надежде что само забегает
Вот честно, не обижайтесь, но перед тем, как что то написать стоит почитать что до этого обсуждали. Каждому заново все объяснять... И все же.
задания придумываю не я. В задании чётко сказано, что нужно настроить 3 виртуальных хоста, с 3 способами обработки php скриптов. при этом обращение к хостам должно быть по IP и создавать дополнительные IP нельзя. Методом исключения получаем, что различить один хост от другого можно только по порту. Но это совсем не проблема, это уже все настроено. Проблема с FastCGI. Рэндомно опции никто лепить не собирается, описание проблемы см. выше.

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35069
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: вопросу по апачу

Непрочитанное сообщение Alex Keda » 2008-08-08 15:23:28

та я не обижаюсь =)
Мне уже давно на всё глубоко фиолетово =)))
=====
задание дословно дайте лучше.
пеерсказ своими словами - это несколько не то
Убей их всех! Бог потом рассортирует...