The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Установка Apache-2.0.46 и PHP-4.3.2 как динамического(DSO) модуля (php apache web install)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: php, apache, web, install,  (найти похожие документы)
From: DRiVE <hacker-d@mail.ru> Newsgroups: email Date: Mon, 21 Oct 2003 14:31:37 +0000 (UTC) Subject: Установка Apache-2.0.46 и PHP-4.3.2 как динамического(DSO) модуля Эта статья посвящена установке и настройке сервера Apache 2.0.46 и РНР-4.3.2, как динамического(DSO) модуля. Для начала нужно установить Апач. Для этого берем дистрибутив сервера с www.apache.org и распаковываем: # cd /каталог/куда/вы/положили_файл_дистрибутива # tar -zxvf httpd-2.0.46.tar.gz # cd ./httpd-2.0.46 После этого конфигурируем сервер: Пример запуска скрипта configure: # ./configure --prefix=/usr/local/ --enable-suexec где --enable-suexec - разрешение выполнения cgi-скриптов от имени пользователя, который этот скрипт создал, а не от имени пользователя веб-сервера, т.е. разрешение Setuid. Будьте осторожны с этой опцией. Апач по умолчанию не разрешает запуск скриптов от имени root, но если вы собираетесь дать пользователям шелл, то возможно, что они начнут дефейсить друг друга =)) Если же шелла нет, то, запустив перл-скрипт без setuid, т.е. с правами сервера, теоретически возможно с помощью команд chown, chgrp и chmod +s присвоить своему скрипту права другого пользователя. Опция --prefix задает каталог для установки сервера. В нашем примере это /usr/local/ Это значит, что сервер будет установлен в /usr/local/apache2/ Для просмотра всех доступных опций можно запустить configure с опцией --help: # ./configure --help Для установки РНР, как динамического модуля, нужно чтобы Апач был установлен с модулями http_core.c и mod_so.c Они устанавливаются по умолчанию, поэтому после того, как мы выполнили configure, можем устанавливать сервер: # make # make install Теперь, когда сервер установился, проверим наличие http_core и mod_so: # /usr/local/apache2/bin/httpd -l В ответ на это, Апач выведет на экран список модулей, с которыми он был скомпилирован. Среди прочих, должны быть в списке и http_core.c и mod_so.c Убедившись, что все в порядке, приступаем к РНР. Берем файл дистрибутива, распаковываем его: # tar -zxvf php-4.3.2.tar.gz # cd php-4.3.2 Теперь нужно запустить configure. Если у вас установлена база данных MySQL, вам нужно запустить скрипт так: # ./configure --with-mysql --with-apxs2 Опция --with-apxs2 исползуется для того, чтобы сконфигурировать РНР, как динамический модуль. Если вы все делали так, как написано выше, то с вероятностью в 99% configure напишет вам что-то вроде "APXS - not found". Чтобы устранить это, нужно выполнить скрипт так: # ./configure --with-mysql --with-apxs2=/usr/local/apache2/bin/apxs Если же вы ставили Апач версии 1.Х, а не 2.Х, то опция --with-apxs2 должна выглядеть как --with-apxs После того, как конфигурация окончена, можно устанавливать. # make # make install Все, установили. Теперь, нужно немного подправить конфиг Апача. Добавим строку AddType application/x-httpd-php .php Теперь действительно все. РНР работает во всех файлах с расширением .php ------------------------------------------------------------- Быстрая установка. Подразумеваем, что ставим апач версии 2.0.46 в /usr/local/apache2/, РНР версии 4.3.2,у нас установлен MySQL, файлы дистрибутивов кладем в /usr/src/ Итак, команды: # cd /usr/src/ # tar -zxvf httpd-2.0.46 # cd ./httpd-2.0.46 # ./configure --prefix=/usr/local/ # make # make install Теперь РНР: # cd /usr/src/ # tar -zxvf php-4.3.2.tar.gz # cd ./php-4.3.2 # ./configure --with-mysql --with-apxs2=/usr/local/apache2/bin/apxs # make # make install Добавляем в httpd.conf строку: AddType application/x-httpd-php .php Грузим Апач: # /usr/local/apache2/bin/apachectl start Вот и все, спасибо за внимание.

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

Обсуждение [ Линейный режим | Показать все | RSS ]
  • 1.1, digger3d (?), 06:15, 24/10/2003 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    ну и не работает
    апач работает а пхп нет
    отдаёт пхп файл просто
    чтото ещё надо в хттпд.конф
     
  • 1.2, digger3d (?), 06:18, 24/10/2003 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    и поставился не в /usr/local/apache2 а в /usr/local
    правда Апач 2.0.47
    неужели такая разница?
     
  • 1.3, DRiVE (?), 17:52, 03/11/2003 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Насчет того, что поставился не туда - у вас большой ККР(Коэффициент Кривизны Рук).
    А чтобы заработало в хттпд.конф нужно вписать еще:
    LoadModule php4_module libexec/libphp4.so
    Прошу прощения за недосмотр.
     
     
  • 2.4, digger3d (?), 16:29, 06/11/2003 [^] [^^] [^^^] [ответить]  
  • +/
    >Насчет того, что поставился не туда - у вас большой ККР(Коэффициент Кривизны
    >Рук).
    >А чтобы заработало в хттпд.конф нужно вписать еще:
    >LoadModule php4_module libexec/libphp4.so
    >Прошу прощения за недосмотр.

    Видимо ещё один недосмотр был допущен в статье, цитирую:
    >После этого конфигурируем сервер:
    >Пример запуска скрипта configure:
    >
    >  # ./configure --prefix=/usr/local/ --enable-suexec

    Именно изза этого ваш ККР несколько больше

     
     
  • 3.5, УчеНИК (?), 11:14, 08/11/2003 [^] [^^] [^^^] [ответить]  
  • +/
    По поводу строки "LoadModule php4_module libexec/libphp4.so", куда её вписать. Я просто в первые пытаюсь работать с apache+php, я дума мне должно это понравиться! заранее благодарен
     
  • 2.7, digger3d (?), 04:42, 10/11/2003 [^] [^^] [^^^] [ответить]  
  • +/
    У всех по разному,  может быть например в /usr/local/etc/apache2/httpd.conf
     

  • 1.8, УчеНИК (?), 12:21, 12/11/2003 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    после запуска Apache мне выдало: [Wed Nov 12 14:15:12 2003] [warn] module php4_module is already loaded, skipping
    (98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
    no listening sockets available, shutting down
    Unable to open logs-что это значит и как с этим бароться
     
     
  • 2.9, digger (?), 03:50, 21/11/2003 [^] [^^] [^^^] [ответить]  
  • +/
    >после запуска Apache мне выдало: [Wed Nov 12 14:15:12 2003] [warn] module
    >php4_module is already loaded, skipping
    >(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
    >no listening sockets available, shutting down
    >Unable to open logs-что это значит и как с этим бароться

    Это вероятно означает что апач уже запущен, а если точнее это значит что 80 порт уже чемто занят.
    Бороться с этим надо так:
    1. Проверить запущен ли апач
    http://127.0.0.1/
    если всё работает - борьба окончена
    если нет
    2. Возможно чтото висит на этом порту - надо это отрубить или повесить на другой порт.

     

  • 1.10, Евгений (?), 17:08, 02/12/2003 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Сделал все по этому сценарию. Действительно, с файлами .php все работают. Но php-вставки в html игнорируются браузером. Как исправить?
     
     
  • 2.11, rippy (?), 15:16, 10/01/2004 [^] [^^] [^^^] [ответить]  
  • +/
    Только если потребовать, чтобы и .html документы обрабатывались PHP, как и .php Только зачем? Чем они тогда будут отличаться? :)


     

  • 1.12, УчеНИК (?), 20:55, 24/01/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А если не стоит БД MYSQL то что делать
     
     
  • 2.17, KLEVO (??), 18:16, 11/05/2004 [^] [^^] [^^^] [ответить]  
  • +/
    Установить ...
     

  • 1.13, Sperling (?), 17:09, 27/01/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Если PHP все еще не работает, добавьте в httpd.conf строки:

    <Files *.php>
      SetOutputFilter PHP
      SetInputFilter PHP
    </Files>

     
     
  • 2.16, wand (?), 13:33, 31/03/2004 [^] [^^] [^^^] [ответить]  
  • +/
    поосторожнее с этими директивами - можете поламать UPLOAD файлов.
    я имею в виду SetInputFilter PHP  - у меня выростал размер принятого файла, пока не закоментировал.
     
     
  • 3.35, зщш (?), 02:50, 03/01/2007 [^] [^^] [^^^] [ответить]  
  • +/
    >поосторожнее с этими директивами - можете поламать UPLOAD файлов.
    >я имею в виду SetInputFilter PHP  - у меня выростал размер
    >принятого файла, пока не закоментировал.


    так не плохо справляемся
    <Files *.php>
    SetOutputFilter PHP
    SetInputFilter PHP
    LimitRequestBody 9524288
    </Files>

     

  • 1.14, Demimurych (?), 16:07, 24/03/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Может кто скажет
    Например http://127.0.0.1/test.php?text=mama
    По логике скрипта должен мне вывести mama
    Но ничего не выводит - более того путем несложных логических умозаключений пришел к выводу что вообще игнорируются все передаваемые переменные (в случае моего примера это переменная text)
    В скрипте ошибки нет.
     
     
  • 2.15, andrew (?), 14:49, 25/03/2004 [^] [^^] [^^^] [ответить]  
  • +/
    >Может кто скажет
    >Например http://127.0.0.1/test.php?text=mama
    >По логике скрипта должен мне вывести mama
    >Но ничего не выводит - более того путем несложных логических умозаключений пришел
    >к выводу что вообще игнорируются все передаваемые переменные (в случае моего
    >примера это переменная text)
    >В скрипте ошибки нет.

    Если в двух словах, то начаиная с версии 4.1(или 4.2, точно непомню), передача переменных в скрипт из строки запроса по-умолчанию отключена в целях безопасности. Что бы включить ее надо прописать в php.ini "register_globals = on"

     
     
  • 3.20, Sperling (?), 22:32, 04/06/2004 [^] [^^] [^^^] [ответить]  
  • +/
    >>Может кто скажет
    >>Например http://127.0.0.1/test.php?text=mama
    >>По логике скрипта должен мне вывести mama
    >>Но ничего не выводит - более того путем несложных логических умозаключений пришел
    >>к выводу что вообще игнорируются все передаваемые переменные (в случае моего
    >>примера это переменная text)
    >>В скрипте ошибки нет.
    >
    >Если в двух словах, то начаиная с версии 4.1(или 4.2, точно непомню),
    >передача переменных в скрипт из строки запроса по-умолчанию отключена в целях
    >безопасности. Что бы включить ее надо прописать в php.ini "register_globals =
    >on"

    А еще лучше не использовать эту директиву, а поступать как советует manual, т.е. использовать переменные Сервера. Например вместо $text использовать $_POST['text'] или $_GET['text'] в зависимости от метода. Таким образом ваша программа станет более универсальной и будет работать на Серверах с разными настройками

     

  • 1.18, APOX (?), 15:53, 26/05/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Во первых: конечно, для порядку лучше ставить в /usr/local/apache
    во вторых: с ключом ./configure --with-mysql --with-apxs2 все встало сразу хорошо, даже не надо было LoadModule php4_module libexec/libphp4.so прописывать в httpd.conf. Я ставил Apache/2.0.49 (Unix) PHP/4.3.6  и в httpd.conf само прописалось:  LoadModule php4_module modules/libphp4.so
    PHP вроде заработал, но переменные тоже не передаются, при этом php.ini нету :( Хде его искать, может создать нужно гдето и куда он делся? Нашел его только в каталоге устаноки, откуда устанавливал PHP. Что посоветуете?
     
     
  • 2.23, DRiVE (??), 21:10, 21/06/2004 [^] [^^] [^^^] [ответить]  
  • +/
    Почитайте документы, которые идут с РНР в дистрибутиве. Где-то там это указано...
     

  • 1.19, Насмерть тугой (?), 07:34, 03/06/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Все это описано в доке по установке. Кроме одного у меня апач 2.0.40 в red Hat 9 ставился по умолчанию. Так вот у него нет APXS2 (его вообще нет в системе) - откуда брать?
     
  • 1.21, Acid (?), 01:41, 08/06/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    помогите начинающему юзеру в Линухе.... говорит что C compiler cannot create executebles
     
  • 1.22, Acid (?), 01:58, 08/06/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Можете не отвечать.... линух без компилятора. вот козды эти ALTLinuxовцы. Ни кто не скажет есть ли в Мандраке 10 апач?
     
     
  • 2.24, Horrible (?), 17:18, 02/01/2005 [^] [^^] [^^^] [ответить]  
  • +/
    Канешна есть ток из RPM лучше неставь он раскидает все по разным каталогам а удобно когда все в одном.
     

  • 1.25, DEVIL (?), 17:59, 18/04/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Поставил дома APACHE 2.0.47, php работает виртуальный хост настроил - всё ОК, прищёл на работу, сделал всё идентично - APACHE запустился, сервис работает, но php не находит сервера (дома только локалка, на работе сеть с доменами и инетом) плиз, подскажите как настроить виртуальный хост.

    Заранее спасибо!!!

     
  • 1.26, No_Spoon (?), 10:23, 14/06/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Блин, ребят, замучался совсем. Помогите пжалста.
    Ставлю апач (1.3.33 либо 2.хх - монопенисуально), конфигурю, мэйкю и мэйкинсталлю - все оки. httpd -l дает оба необходимых модуля (и core и so), после этого пытаюсь сконфигурить php 4 - ./configure --with-apxs2=/usr/local/apache2/bin/apxs - ну не хотит и все! Говорит, что не могет найти. но он физически есть. Выводит три долбаных ошибки - 1. А может у тебя Перлы нету?
    2. А может у тя apxs нету?
    3. А может у тя апачь не сконфигурен на загрузку динамических модулей?

    Перлы у мя нету. Она нужна? (Новичек во FBSD)
    Или поможите чем можите, люди добрые. Если не затруднит, замыльте, а? Заранее спасибо.

     
     
  • 2.27, Asmund (ok), 18:15, 07/11/2005 [^] [^^] [^^^] [ответить]  
  • +/
    Попутный вопрос. К той же статье.
    Я до этого работал только с виндовой версией апача. Тепрь вот настраиваю на Linux. Apache 2.0.55, поставил индейца, поставил Php, но когда ссылаюсь на file.php мне выдается

    Forbidden

    You don't have permission to access /inf0.php on this server.
    Apache/2.0.55 (Unix) PHP/4.4.1 Server at 192.168.0.3 Port 8080

    Немогу понять в чем - тут дело, подскажите пожалуйста.

     
     
  • 3.29, D_Angel (ok), 14:28, 31/03/2006 [^] [^^] [^^^] [ответить]  
  • +/
    А файл file.php ты случаем не с виндового раздела брал?
    Попробуй изменить права доступа к файлу, разрешить на чтение "для других"...
    Мне в такихситуациях помогало...
     
  • 3.30, D_Angel (ok), 14:29, 31/03/2006 [^] [^^] [^^^] [ответить]  
  • +/
    А файл file.php ты случаем не с виндового раздела брал?
    Попробуй изменить права доступа к файлу, разрешить на чтение "для других"...
    Мне в такихситуациях помогало...
     
  • 2.28, Dima (??), 09:30, 26/12/2005 [^] [^^] [^^^] [ответить]  
  • +/
    Привет! Ты решил свою проблему? У меня просто такая же и я тоже понять не могу, что делать?...

    >Блин, ребят, замучался совсем. Помогите пжалста.
    >Ставлю апач (1.3.33 либо 2.хх - монопенисуально), конфигурю, мэйкю и мэйкинсталлю -
    >все оки. httpd -l дает оба необходимых модуля (и core и
    >so), после этого пытаюсь сконфигурить php 4 - ./configure --with-apxs2=/usr/local/apache2/bin/apxs -
    >ну не хотит и все! Говорит, что не могет найти. но
    >он физически есть. Выводит три долбаных ошибки - 1. А может
    >у тебя Перлы нету?
    >2. А может у тя apxs нету?
    >3. А может у тя апачь не сконфигурен на загрузку динамических модулей?
    >
    >
    >Перлы у мя нету. Она нужна? (Новичек во FBSD)
    >Или поможите чем можите, люди добрые. Если не затруднит, замыльте, а? Заранее
    >спасибо.


     
     
  • 3.34, Фанис Мусин (?), 19:59, 28/06/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Это не 3 проблемы, а 3 возможных проблем, т.е. что-то из них у тебя не то.

    В основном это происходит из-за не указанного точного пути к apxs возможно и perl не установлен, а может быть ты неправильно ./configurил apache - нужно конфигурить c параметрами --enable-so и --enable-suexec

     
  • 2.31, D_Angel (ok), 14:34, 31/03/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Если ты ставишь Apache 1.3.33 то нужно использовать --with-apxs= без двойки...
    Попробуй. С версией 2.х с описаным конфигом у меня все работало и неоднократно...
     

  • 1.32, Антон (??), 16:29, 02/04/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ситуация такая: у меня установлены Apach и PHP в директории C:\site , и я в редакторе HTML для страницы добавил ссылку на файл index.php. По идее должно быть как - php скрипт выполняется на сервере и результат выдается в браузер, но вместо этого - Error 404 file not found. Что за ботва... Но это ладно. Тестирую простейший скрипт - echo (вывод на экран) - и то же самое. В реадме описано то же, что я сделал еще когда ставил PHP как моодуль Apache. Скрипты PHP выполнятся вообще не хотят. Помогите кто чем может. Буду очень признателен.
     
  • 1.33, alex (??), 00:29, 31/05/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Спасибо. Всё поставилось нормльно.Можт кто знает подскажите как сдлать чтоб Апач 2 грузился при агрузке системы?
     
  • 1.36, RHS (?), 09:49, 18/01/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Та же схема, только для Apache_2.0.59 и  PHP_4.4.4. Связка работает без проблем!!! Установил и радуюсь)
     

    игнорирование участников | лог модерирования

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру