проблема с настройкой Apache2 + PHP5 + FastCGI + Postfix...

Проблемы с установкой, настройкой и работой системных и сетевых программ.

Модераторы: GRooVE, alexco

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
strom
рядовой
Сообщения: 29
Зарегистрирован: 2010-01-22 17:52:22

проблема с настройкой Apache2 + PHP5 + FastCGI + Postfix...

Непрочитанное сообщение strom » 2010-02-04 16:40:13

Попытался настроить связку Apache2 и postfix на одном ПК . Апач настраивал по схеме описанной -> http://www.lissyara.su/?id=1360 система FreeBSD 7.2 чуть более свежие PHP 5.2.9 После установки создал тестовую страничку index.php в ней прописал

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

<?
   phpinfo();
?>

В результате выводит код а не информацию о сервере. Хотя статические странички работали нормально.
На этом я не остановился, решил прикрутить Php-extentions со следующими установками

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

[X] BZ2
[X] DOM
[X] GD
[X] GETTEXT
[X] ICONV
[X] IMAP
[X] MBSTRING
[X] MYSQLI
[X] PCRE
[X] POSIX
[X] SESSION
[X] SPL
[X] XML
[X] ZLIB
Далее пытался собрать postfix по документу ->http://www.sys-adm.org.ua/mail/mail-howto-p1.php
Все сделал как там прописано, не трогал установленный Апач2,только добавил еще один виртуалхост для postfixadmin,заменил mysql сервер на версию 5.0.77.
при попытке поменять пароль на базе mysql

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

# cd /usr/local/www/postfixadmin
# mysql -u root -p < DATABASE_MYSQL.TXT
Enter password: ******
выяснилось что файла базы DATABASE_MYSQL.TXT не существует... Откуда его брать непонятно...
в результате postfixadmin не запускается и связка не работает. Как сделать чтобы связка заработала?

Хостинговая компания 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/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
FreeBSP
майор
Сообщения: 2020
Зарегистрирован: 2009-05-24 20:20:19
Откуда: Москва

Re: проблема с настройкой Apache2 + PHP5 + FastCGI + Postfix...

Непрочитанное сообщение FreeBSP » 2010-02-04 21:03:46

какой код он выдает. html код страницы phpinfo или <? phpinfo(); ?>
во первых, привыкайте писать грамотно

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

<?php ..... ?>
такая конструкция рабоает всегда, в отличии от короткого варианта "<?" и "<%" а-ля asp
во вторых, конфиги апача в студию
в третьих мб что-то прояснит

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

% php -r 'phpinfo();'
%php -r 'phpinfo();' | grep short_open_tag   
так хотя бы можно посмотреть на работу пыха отдельно от сервера
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!

strom
рядовой
Сообщения: 29
Зарегистрирован: 2010-01-22 17:52:22

Re: проблема с настройкой Apache2 + PHP5 + FastCGI + Postfix...

Непрочитанное сообщение strom » 2010-02-05 16:47:04

FreeBSP писал(а):какой код он выдает. html код страницы phpinfo или <? phpinfo(); ?>
выдает -

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

<? phpinfo(); ?> 
прямо на странице , так и пишет, хотя должна быть другая информация
во вторых, конфиги апача в студию
конфиги применительно к своему серверу и тестовому пользователю wwwu1

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

# конфиг модуля
<IfModule mod_fastcgi.c>
        # конфиг модуля.
        # полный список опций - доступен по следующему адресу
        # http://www.fastcgi.com/mod_fastcgi/docs/mod_fastcgi.html
        # тут приведены лишь те, которые я заюзал
        # -singleThreshold - Целое число, мжду 0 и 100, используеммое
        # для определения, может ли быть завершён последний экземпляр
        # приложения FastCGI. Если менеджер процессов, вычисляет, что
        # фактор загрузки для приложения меньше заданного порога, то
        # последний экземпляр завершается. Для работы приложения в
        # режиме "idle" долгого времени, вы должны задать значение
        # ближе к 1, однако, если более приоритетна память, или время
        # CPU, более применимо значение 100. Значение 0 предотвращает
        # завершение последнего экземпляра приложения; это - значение
        # по умолчанию, и менять его не рекомендуется (особенно, если
        # установлена -appConnTimeout)
        # -minProcesses - минимальное общее число динамических приложений
        # FastCGI, разрешённых к работе в любое время, без убивания
        # менеджером процессов.
        # -restart - заставляет менеджер процессов повторно запускать
        # приложения в случае сбоя (подобно статическим приложениям)
        # -idle-timeout - число секунд бездействия приложения FastCGI,
        # до прерывания запроса и логгирования события. Таймер бездейстаия
        # применяется лишь к долго висящим соединениям приложений FastCGI.
        # Если запрос будет находиться в очереди к приложению, но
        # приложение не отвечает (путём записи и сброса) в течение этого
        # периода, то запрос будет прерван. Если связь с приложением
        # успешно завершается, но не завершается с клиентом, (ответ -
        # buffered), таймаут не применяется.
        # -killInterval - Определяет, как часто менеджером процессов
        # применяется политика завершения динамических экземпляров
        # приложения. Меньшее число приводит к более агессивной политике,
        # большее - к менее агрессивной.
        # -autoUpdate - вызывает проверку модулем mod_fastcgi проверку
        # времени модификации приложения на диске до обработки каждого
        # запроса. Если приложение на диске изменилось, уведомляется
        # менеджер процессов и все работающие экземпляры программы
        # уничтожаются. Вообще, предпочтительно, чтобы этот тип
        # функциональности был встроен в приложение (например, каждый
        # 100-й запрос проверяет, есть ли новая версия на диске, и выходит
        # если это так). Могут быть ошибки, если эта опция применяется с
        # опцией -restart
        # -pass-header - имя заголовка запроса HTTP для передачи среде
        # request. Эта опция делает доступным содержимое заголовков,
        # которые обычно недоступны (например, Authorization) в окружении GCI.
        FastCgiConfig   -singleThreshold 30 -minProcesses 2 -restart    \
                        -idle-timeout 400 -killInterval 200 -autoUpdate \
                        -pass-header HTTP_AUTHORIZATION
        # используетс ядля включения враппера
        FastCgiWrapper /usr/local/sbin/suexec
        # директория где хранятся сокеты
        FastCgiIpcDir /var/run/fastcgi
        # предпринимаемые для такого типа файлов действия
        Action application/x-httpd-fastphp /php-fcgi/php.sh
        Action application/x-httpd-php /php-fcgi/php.sh
        # добавляем типы файлов - у меня нету типа .php4 .php5 и т.д.
        # если у вас есть - добавльте через пробелы в этой строке
        AddType application/x-httpd-fastphp     .php
        # Обработка файлов апачем
        <Location /php-fcgi/>
                Options ExecCGI FollowSymLinks
                SetHandler fastcgi-script
        </Location>
</IfModule>

# директория с данными
<Directory      "/usr/home/*/www/data">
        Options         Indexes FollowSymLinks MultiViews
        AllowOverride   All
        Order           deny,allow
        Allow from      all
</Directory>
# директория скриптов пользователя
<Directory "/usr/home/*/www/cgi-bin">
        AllowOverride None
        Options None
        Order allow,deny
        Allow from all
</Directory>

# какие файлы считать индексными в директориях
# (выше, в конфиге есть такая же директива - я её закомментил)
DirectoryIndex index.php index.html index.htm

# включаем виртуалхосты основанные на именах
NameVirtualHost *:80

# первый виртуальный хост. Он будет показываться вместо всех
# несконфигирирвоанных виртуалхостов, при обращении к этому серверу
<VirtualHost *:80>
        ServerAdmin     admin@mydomain.net
#       AliasMatch      ^/~([^/]+)(/.*)*        /usr/home/$1/data$2
        DocumentRoot    /usr/home/wwwu1/www/data
        ServerName      host.mydomain.net
        SuexecUserGroup wwwu1   wwwu1
        Alias           /php-fcgi/      /usr/home/wwwu1/www/cgi-bin/
        CustomLog       /var/log/httpd/httpd-access.log       combined
        ErrorLog        /var/log/httpd/httpd-error.log
</VirtualHost>

# остальные сайты. Мне удобней, когда конфиги лежат в одном месте:
Include /usr/local/etc/apache2/configs/*.conf
в третьих мб что-то прояснит

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

% php -r 'phpinfo();'
%php -r 'phpinfo();' | grep short_open_tag   
так хотя бы можно посмотреть на работу пыха отдельно от сервера
в командной строке все работает

Аватара пользователя
FreeBSP
майор
Сообщения: 2020
Зарегистрирован: 2009-05-24 20:20:19
Откуда: Москва

Re: проблема с настройкой Apache2 + PHP5 + FastCGI + Postfix...

Непрочитанное сообщение FreeBSP » 2010-02-06 0:43:10

есть ли
1)
lissyara писал(а):.... Раскомментируем строчку установленного модуля в конфиге апача:

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

host% grep " fastcgi_module " /usr/local/etc/apache2/httpd.conf
LoadModule fastcgi_module     libexec/apache2/mod_fastcgi.so
После чего в конец конфига апача дописываем такое:
и далее выложенный вами кусок конфига

2)

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

host% more /usr/home/my-domain/www/cgi-bin/php.sh
#!/bin/sh

PHP_FCGI_CHILDREN=4
export PHP_FCGI_CHILDREN
#PHP_FCGI_MAX_REQUESTS=5000
#export PHP_FCGI_MAX_REQUESTS

exec /usr/local/bin/php-cgi
n) и далее по списку. проверяйте на соответствие со статьей

вообще вывод php-кода в страницу говорит о том что сервер почему то не узрел в нем application/x-httpd-php и выводит его как DefaultType (по умолчанию, text/plain). мне кажется что при парсинге конфига апач просто не заходит в секцию <IfModule ...>
кстати, статейка не новая и решение может уже и не быть копипастного типа и надо что то покрутить чтобы оно заработало

больше пока сказать нечего
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!