Apache2 не работает c php4 (а так же со скриптами perl)

Knoppix

Модераторы: Warderer, Модераторы разделов

Anhel
Сообщения: 136
ОС: Kubuntu

Apache2 не работает c php4

Сообщение Anhel »

DEBIAN ETCH

Настрорил Apache2: виртуальные хосты, установил libapache2-mod-php4, подключил модуль libphp4.so - все как положено.

Теперь апач мне выдает:
Starting web server: apache2Syntax error on line 3 of /etc/apache2/mods-enabled/php4.conf:
Invalid command 'AddType', perhaps misspelled or defined by a module not included in the server configuration
failed!

содержание php4.conf
<IfModule mod_php4.c>
AddType application/x-httpd-php .php .phtml .php3
AddType application/x-httpd-php-source .phps
</IfModule>


Вопрос со скриптами php решил, теперь появился вопрос с перловыми скриптами
Спасибо сказали:
Аватара пользователя
rm_
Сообщения: 3340
Статус: It's the GNU Age
ОС: Debian

Re: Apache2 не работает c php4

Сообщение rm_ »

Anhel
IPv6-сокет по умолчанию слушает и на IPv4 тоже, так что из приведённого списка портов не следует, что Апач не работает по IPv4.
Поэтому вопрос: Вы его проверили, и он точно у Вас не работает при этой конфигурации?
Спасибо сказали:
Аватара пользователя
skeletor
Сообщения: 1224

Re: Apache2 не работает c php4

Сообщение skeletor »

ipv6 нужно отключать не в апаче, а в самой ОС.
Спасибо сказали:
Anhel
Сообщения: 136
ОС: Kubuntu

Re: Apache2 не работает c php4

Сообщение Anhel »

rm_, ну Апач работает, но, когда набираешь в браузере страницу сервера: w3m localhost
то видно только html код страницы

skeletor, я так делал, у меня потом вообще сервак сетевые интерфейсы не включит... имхо, в апаче настройку поменять.
Спасибо сказали:
Аватара пользователя
skeletor
Сообщения: 1224

Re: Apache2 не работает c php4

Сообщение skeletor »

Неправильно думаешь!
Спасибо сказали:
Аватара пользователя
rm_
Сообщения: 3340
Статус: It's the GNU Age
ОС: Debian

Re: Apache2 не работает c php4

Сообщение rm_ »

то видно только html код страницы

Не в IPv6 дело.
Страница случайно не index.php?
php-обработчик точно установлен и подключен к апачу?
Спасибо сказали:
Аватара пользователя
skeletor
Сообщения: 1224

Re: Apache2 не работает c php4

Сообщение skeletor »

rm_ писал(а):
03.12.2009 12:29
Не в IPv6 дело.

Прочти название темы "Как отключить IPv6 в Apache2?" Какой вопрос, такой ответ :)
Спасибо сказали:
Anhel
Сообщения: 136
ОС: Kubuntu

Re: Apache2 не работает c php4

Сообщение Anhel »

Не в IPv6 дело.

похоже на то, но тогда странно, что не видно, что он работает на IPv4, ну ладно
Страница случайно не index.php?

да, страничка такая, но, переименовав ее в index.html и убрав оттуда код php ничего не поменялось...
php-обработчик точно установлен и подключен к апачу?

установил libapache2-mod-php4, подключил модуль libphp4.so как положено. Теперь апач мне выдает:

Syntax error on line 2 of /etc/apache2/mods-enabled/php4.conf:
Invalid command 'AddType', perhaps misspelled or defined by a module not included in the server configuration


rm_, спасибо вам за ответы. скажите пожалуйста, что нужно еще прикрутить то?
Спасибо сказали:
Аватара пользователя
rm_
Сообщения: 3340
Статус: It's the GNU Age
ОС: Debian

Re: Apache2 не работает c php4

Сообщение rm_ »

Прочти название темы "Как отключить IPv6 в Apache2?"

Ответ: лучше никак не отключать, особенно если проблема не в нём.
Спасибо сказали:
mailman137
Сообщения: 492
ОС: Debian-based mixed

Re: Apache2 не работает c php4

Сообщение mailman137 »

Сообщение #1
Syntax error on line 3 of /etc/apache2/mods-enabled/php4.conf:
Сообщение #8
Syntax error on line 2 of /etc/apache2/mods-enabled/php.conf:
Два расхождения. Какому примеру верить? При какой ситуации
в результате дефолтной установки могут возникнуть синтаксические ошибки в конфигах?
Спасибо сказали:
neol
Сообщения: 600
ОС: Debian Stable

Re: Apache2 не работает c php4

Сообщение neol »

Похоже mod_mime подключить забыли.
Спасибо сказали:
test157
Сообщения: 124
ОС: Debian Lenny

Re: Apache2 не работает c php4

Сообщение test157 »

запости сюда вывод плиз от ls -al /etc/apache2/mods-enabled
Спасибо сказали:
Anhel
Сообщения: 136
ОС: Kubuntu

Re: Apache2 не работает c php4

Сообщение Anhel »

neol, добавил модуль mime и после этого апачь ругается:

No such file or directory: could not open mime types config file /etc/apache2/mime.types.
и действительно, там не такого файла, но я туда за этим файлом апач то и не посылал, ибо содержание mime.load:
LoadModule mime_module /usr/lib/apache2/modules/mod_mime.so

вывод от ls -al /etc/apache2/mods-enabled:

итого 28
drwxr-xr-x 2 root root 4096 2009-12-04 10:08 .
drwxr-xr-x 7 root root 4096 2009-12-03 12:49 ..
-rw-r--r-- 1 root root 63 2009-12-01 17:18 alias.load
-rw-r--r-- 1 root root 72 2009-12-01 17:15 authz_host.load
-rw-r--r-- 1 root root 58 2009-12-03 13:08 cgi.load
-rw-r--r-- 1 root root 59 2009-12-01 17:18 dir.load
-rw-r--r-- 1 root root 60 2009-12-03 13:39 mime.load
lrwxrwxrwx 1 root root 27 2009-12-03 12:52 php4.conf -> ../mods-available/php4.conf
lrwxrwxrwx 1 root root 27 2009-12-03 12:52 php4.load -> ../mods-available/php4.load


ps: mailman137, правильно php4.conf
Спасибо сказали:
mailman137
Сообщения: 492
ОС: Debian-based mixed

Re: Apache2 не работает c php4

Сообщение mailman137 »

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

root@localhost ~> apt-get install apache2.2-common apache2-mpm-prefork libapache2-mod-php4
Чтение списков пакетов... Готово
Построение дерева зависимостей... Готово
Будут установлены следующие дополнительные пакеты:
  apache2-utils libapr1 libaprutil1 php4-common
Предлагаемые пакеты:
  php-pear
НОВЫЕ пакеты, которые будут установлены:
  apache2-mpm-prefork apache2-utils apache2.2-common libapache2-mod-php4 libapr1 libaprutil1 php4-common
обновлено 0, установлено 7 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 0B/3670kB архивов.
После распаковки объем занятого дискового пространства возрастёт на 8860kB.
Хотите продолжить [Д/н]?
ВНИМАНИЕ: Следующие пакеты невозможно аутентифицировать!
  libapr1 libaprutil1 apache2-utils apache2.2-common apache2-mpm-prefork php4-common libapache2-mod-php4
Установить эти пакеты без проверки [y/N]? y
Выбор ранее не выбранного пакета libapr1.
(Чтение базы данных... на данный момент установлено 125115 файлов и каталогов.)
Распаковывается пакет libapr1 (из файла .../apr/libapr1_1.2.7-8.2_i386.deb)...
Выбор ранее не выбранного пакета libaprutil1.
Распаковывается пакет libaprutil1 (из файла .../libaprutil1_1.2.7+dfsg-2_i386.deb)...
Выбор ранее не выбранного пакета apache2-utils.
Распаковывается пакет apache2-utils (из файла .../apache2-utils_2.2.3-4_i386.deb)...
Выбор ранее не выбранного пакета apache2.2-common.
Распаковывается пакет apache2.2-common (из файла .../apache2.2-common_2.2.3-4_i386.deb)...
Выбор ранее не выбранного пакета apache2-mpm-prefork.
Распаковывается пакет apache2-mpm-prefork (из файла .../apache2-mpm-prefork_2.2.3-4_i386.deb)...
Выбор ранее не выбранного пакета php4-common.
Распаковывается пакет php4-common (из файла .../php4-common_4.4.4-8+etch1_i386.deb)...
Выбор ранее не выбранного пакета libapache2-mod-php4.
Распаковывается пакет libapache2-mod-php4 (из файла .../libapache2-mod-php4_4.4.4-8+etch1_i386.deb)...
Настраивается пакет libapr1 (1.2.7-8.2) ...

Настраивается пакет libaprutil1 (1.2.7+dfsg-2) ...

Настраивается пакет apache2-utils (2.2.3-4) ...
Настраивается пакет apache2.2-common (2.2.3-4) ...
Setting Apache2 to Listen on port 80. If this is not desired, please edit /etc/apache2/ports.conf as desired. Note that the Port directive no longer works.
Module alias installed; run /etc/init.d/apache2 force-reload to enable.
Module autoindex installed; run /etc/init.d/apache2 force-reload to enable.
Module dir installed; run /etc/init.d/apache2 force-reload to enable.
Module env installed; run /etc/init.d/apache2 force-reload to enable.
Module mime installed; run /etc/init.d/apache2 force-reload to enable.
Module negotiation installed; run /etc/init.d/apache2 force-reload to enable.
Module setenvif installed; run /etc/init.d/apache2 force-reload to enable.
Module status installed; run /etc/init.d/apache2 force-reload to enable.
Module auth_basic installed; run /etc/init.d/apache2 force-reload to enable.
Module authz_default installed; run /etc/init.d/apache2 force-reload to enable.
Module authz_user installed; run /etc/init.d/apache2 force-reload to enable.
Module authz_groupfile installed; run /etc/init.d/apache2 force-reload to enable.
Module authn_file installed; run /etc/init.d/apache2 force-reload to enable.
Module authz_host installed; run /etc/init.d/apache2 force-reload to enable.

Настраивается пакет apache2-mpm-prefork (2.2.3-4) ...
Starting web server (apache2)...apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
.

Настраивается пакет php4-common (4.4.4-8+etch1) ...
Настраивается пакет libapache2-mod-php4 (4.4.4-8+etch1) ...

Creating config file /etc/php4/apache2/php.ini with new version
Forcing reload of web server (apache2)...apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

root@localhost ~> ls /etc/apache2
apache2.conf  conf.d/  envvars  httpd.conf  mods-available/  mods-enabled/  ports.conf  sites-available/  sites-enabled/
root@localhost ~> ls /etc/apache2/sites-enabled
000-default@
root@localhost ~> cat /etc/apache2/sites-enabled/000-default | grep DocumentRoot
        DocumentRoot /var/www/
root@localhost ~> echo '<?phpinfo()?>' > /var/www/test.php
root@localhost ~> lynx http://127.0.0.1/test.php
................................
                                                                                                                     phpinfo() (p1 of 10)

   PHP Logo

PHP Version 4.4.4-8+etch1

   System                                  Linux localhost 2.6.18-4-686 #1 SMP Mon Mar 26 17:17:36 UTC 2007 i686
   Build Date                              Mar 7 2007 23:49:07
   Server API                              Apache 2.0 Handler
   Virtual Directory Support               disabled
   Configuration File (php.ini) Path       /etc/php4/apache2/php.ini
   Scan this dir for additional .ini files /etc/php4/apache2/conf.d
   additional .ini files parsed            /etc/php4/apache2/conf.d/mysql.ini
   PHP API                                 20020918
   PHP Extension                           20020429
   Zend Extension                          20050606
   Debug Build                             no
   Zend Memory Manager                     enabled
   Thread Safety                           disabled
   Registered PHP Streams                  php, http, ftp, https, ftps, compress.bzip2, compress.zlib
   Zend logo This program makes use of the Zend Scripting Language Engine:
   Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies
     ________________________________________________________________________________
___________________________________________
................................

ps: mailman137, правильно php4.conf

Не знаю, кто редактирует посты, но вчера в сообщении 8 было так, как я указывал.
Спасибо сказали:
Anhel
Сообщения: 136
ОС: Kubuntu

Re: Apache2 не работает c php4

Сообщение Anhel »

mailman137, проделал шаг-в-шаг все написанное вами, потом вышла ошибка:

# w3m http://127.0.0.1/test.php
w3m: Can't load http://127.0.0.1/test.php.

потому что апач ругается на это:

No such file or directory: could not open mime types config file /etc/apache2/mime.types.
и действительно, там не такого файла, но я туда за этим файлом апач то и не посылал, ибо содержание mime.load:
LoadModule mime_module /usr/lib/apache2/modules/mod_mime.so

ps: это я подредактировал
Спасибо сказали:
Anhel
Сообщения: 136
ОС: Kubuntu

Re: Apache2 не работает c php4

Сообщение Anhel »

вообщем прикрутил модуль mime, нарыл себе файлик "mime.types из первого апача, который стоял до этого, скопировал в папку etc/apache2 и все заработало :)))
теперь обнаружилось, что не работают перловые скрипты...
Спасибо сказали:
mailman137
Сообщения: 492
ОС: Debian-based mixed

Re: Apache2 не работает c php4

Сообщение mailman137 »

нарыл себе файлик "mime.types

Для моей системы вот как это выглядит:

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

root@localhost ~> cat /etc/apache2/apache2.conf | grep -i mime
TypesConfig /etc/mime.types
# DefaultType is the default MIME type the server will use for a document
<IfModule mod_mime.c>
    # AddType allows you to add to or override the MIME configuration
    # file mime.types for specific file types.
<IfModule mod_mime.c>
root@localhost ~> dpkg -S mime.types
apache2.2-common: /usr/share/doc/apache2.2-common/examples/apache2/mime.types.gz
cupsys: /usr/share/man/man5/mime.types.5.gz
mime-support: /etc/mime.types
cupsys: /usr/share/cups/doc-root/help/man-mime.types.html
cupsys: /etc/cups/mime.types
root@localhost ~> dpkg -l mime-support
Желаемый=неизвестно[u]/установить[i]/удалить[r]/вычистить[p]/зафиксировать[h]
| Состояние=нет[n]/установлен[i]/настроен[c]/распакован[U]/ошибка настройки[F]/
            частично установлен[H]
|/ Ошибка?=<нет>/зафиксирован[H]/требуется переустановка[R]/X=и то, и другое
(верхний регистр в полях статуса и ошибки указывает на ненормальную ситуацию)
||/ Имя                       Версия                 Описание
+++-============================-============================-========================================================================
ii  mime-support                 3.39-1                       MIME files 'mime.types' & 'mailcap', and support programs
root@localhost ~>

Для некоторых задач требуются дополнительные модули php
Спасибо сказали:
Anhel
Сообщения: 136
ОС: Kubuntu

Re: Apache2 не работает c php4

Сообщение Anhel »

mailman137, спасибо, все ж заработало, скрипты php4 обрабатываются :)

только теперь не могу заставить обрабатываться скрипты .cgi
хотя вроде бы кофиги и модули в порядк

lightsquid

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

<VirtualHost *:80>
    ServerAdmin acy@com
    ServerName ls.com
    DocumentRoot /var/www/lightsquid
    ErrorLog /var/log/lightsquid/lightsquid-error.log
    CustomLog /var/log/lightsquid/lightsquid-access.log common
    ScriptAlias "/cgi-bin/" "/var/www/lightsquid/"
    <Directory "/var/www/lightsquid">
                Options FollowSymLinks +ExecCGI
                AddHandler cgi-script .cgi
                AllowOverride AuthConfig
                DirectoryIndex index.cgi
    </Directory>
</VirtualHost>

Модули Apache2

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

# ls -al /etc/apache2/mods-enabled
итого 64
drwxr-xr-x 2 root root 4096 2009-12-04 15:04 .
drwxr-xr-x 7 root root 4096 2009-12-04 10:47 ..
-rw-r--r-- 1 root root   63 2009-12-01 17:18 alias.load
-rw-r--r-- 1 root root   72 2009-12-04 15:00 auth_basic.load
-rw-r--r-- 1 root root   72 2009-12-04 15:01 authn_file.load
-rw-r--r-- 1 root root   72 2009-12-01 17:15 authz_host.load
-rw-r--r-- 1 root root   72 2009-12-04 15:03 authz_user.load
-rw-r--r-- 1 root root   70 2009-12-04 11:56 autoindex.load
-rw-r--r-- 1 root root   60 2009-12-04 14:46 cgid.load
-rw-r--r-- 1 root root   58 2009-12-03 13:08 cgi.load
-rw-r--r-- 1 root root   59 2009-12-01 17:18 dir.load
-rw-r--r-- 1 root root   66 2009-12-04 13:56 headers.load
-rw-r--r-- 1 root root   60 2009-12-03 13:39 mime.load
-rw-r--r-- 1 root root   60 2009-12-04 14:01 perl.load
lrwxrwxrwx 1 root root   27 2009-12-04 13:58 php4.conf -> ../mods-available/php4.conf
lrwxrwxrwx 1 root root   27 2009-12-04 13:58 php4.load -> ../mods-available/php4.load
lrwxrwxrwx 1 root root   28 2009-12-04 12:59 proxy.conf -> ../mods-available/proxy.conf
-rw-r--r-- 1 root root   62 2009-12-04 11:26 proxy.load
-rw-r--r-- 1 root root   66 2009-12-04 11:28 rewrite.load

может быть модули криво подгружаются, я их додцеплял вручную, т.к. утилита a2enmod видит только 3 модуля:

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

# a2enmod
Your choices are: php4 proxy_balancer substitute
Which module(s) do you want to enable (wildcards ok)?
Спасибо сказали:
mailman137
Сообщения: 492
ОС: Debian-based mixed

Re: Apache2 не работает c php4

Сообщение mailman137 »

хотя вроде бы кофиги и модули в порядк

Пока не вижу закрывающий тэг </VirtualHost> в Вашем посте. А Вы куда дополнительный конфиг поместили?
Спасибо сказали:
Anhel
Сообщения: 136
ОС: Kubuntu

Re: Apache2 не работает c php4

Сообщение Anhel »

это я так скопировал коряво... есть там закрывающий.
а конфиг этот лежит в папке с сайтами апача "sites-available" и на него сделана ссылка в "sites-enabled"
Спасибо сказали:
mailman137
Сообщения: 492
ОС: Debian-based mixed

Re: Apache2 не работает c php4

Сообщение mailman137 »

только теперь не могу заставить обрабатываться скрипты .cgi

Вы уточните, пожалуйста, как это выглядит. Также взгляните на логи апача.
Еще покажите содержимое директории со скриптами по ls -al
Спасибо сказали:
Anhel
Сообщения: 136
ОС: Kubuntu

Re: Apache2 не работает c php4

Сообщение Anhel »

Настроил работу скриптов перла по этой статье - успешно!
Теперьча с локальной машины все работает, но с удаленной - выдает ошибку 403:

Forbidden
You don't have permission to access / on this server.

Наверное дело в том, что у меня в корне сайта отсутствует файлик .htaccess?
Спасибо сказали:
mailman137
Сообщения: 492
ОС: Debian-based mixed

Re: Apache2 не работает c php4

Сообщение mailman137 »

Настроил работу скриптов перла по этой статье - успешно!

Не вполне понял, какое отношение эта статья имеет к Linux и к возможности запуска perl-скриптов
в Вашем случае.
Наверное дело в том, что у меня в корне сайта отсутствует файлик .htaccess?

У апача свой хороший док в веб-формате; имхо, вопросы по поводу доступа решаются и средствами
самого апача, а .htaccess дополнительное средство.
Спасибо сказали:
Anhel
Сообщения: 136
ОС: Kubuntu

Re: Apache2 не работает c php4

Сообщение Anhel »

mailman137, спасибо вам за помощь! думаю остались делали с доступом... эт ерунда, погуглю-разберусь в чем причина того, что перловые скрипты не работают с удаленного хоста - ошибка 403. Хотя если у вас есть какие-то идеи, то хотелоь бы услышать. Если нет, ну и на том спасибо, и тогда тему можно закрывать.

ps: а в той статье есть настройки для того, чтобы апач обрабатывал скрипты перл - они сгодились и для линуха.
Спасибо сказали: