Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Установка связки Apache+PHP+MySQL из исходных кодов

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Разберем компиляцию и сборки связки Apache2 + PHP5 + MySQL (PostgreSQL) из исходников.
vitaliy_mad
Отправлено: 14 Января, 2010 - 16:25:32
Post Id


Участник


Покинул форум
Сообщений всего: 1107
Дата рег-ции: Окт. 2008  
Откуда: Украина, Мариуполь


Помог: 0 раз(а)




Данная инструкция находимтся в процессе написания и отладки. не используйте ее до завершения редактирования.

Разберем компиляцию и сборку связки Apache2 + PHP5 + MySQL (PostgreSQL) из исходников.

В данной статье рассмотрим минимально необходимые действия для создания работоспособной связки Apache2 + PHP5 + MySQL (PostgreSQL). В данной статье не будет уделено внимание тонкой настройке серверов, возможно появиться позже.

Для начала, что нам потребуеться:
- Исходные коды PHP. Скачать с сайта www.php.net исходный код последней стабильной версии. На момент написания статьи 5.3.1: http://www.php.net/get/php-5.3.1...z2/from/a/mirror
- Исходные коды Apache. Скачать с сайта www[dot]apache[dot]org исходный код последней стабильной версии. На момент написания статьи 2.3.4: http://apache[dot]infocom[dot]ua/httpd/h[dot][dot][dot][dot]4-alpha[dot]tar[dot]bz2
- Исходные коды MySQL. Скачать с сайта www[dot]mysql[dot]org исходный код последней стабильной версии. На момент написания статьи 5.1.42: [url]http://dev[dot]mysql[dot]com/downloads/m[dot][dot][dot]or.php?id=379826 [/url]
(При необходимости PostgreSQL. http://wwwmaster[dot]postgresql[dot]org/[dot][dot][dot]ql-8[dot]4[dot]2[dot]tar[dot]bz2 )

Все действия рекомендуеться производить из под пользователя root.
В приведенных командах символ # означает ввод в коммандной строке. сам символ # не вводить.
Также, предполагается, что все скачанные файлы находяться в папке /home

итак начнем попродяку:
Создадим папку для кранения распакованных исходных кодов:


Сначала установим Apache.
Распакуем исходные коды:
CODE (text):
скопировать код в буфер обмена
  1. # cd /usr/src/server
  2. # tar -xjf /home/httpd-2.3.4-alpha.tar.bz2
  3. # cd ./httpd-2.3.4-alpha


Теперь собствено призодим конфигурирование процесса компиляции и компиляция:
CODE (text):
скопировать код в буфер обмена
  1. # ./configure --enable-mods-shared=all --enable-proxy --enable-auth_digest
  2. # make
  3. # make install

Установка Apache завершена.
Теперь возьмемся за MySQL
Распакуем исходные коды:
CODE (text):
скопировать код в буфер обмена
  1. # cd /usr/src/server
  2. # tar -xjf /home/mysql-5.1.42.tar.bz2
  3. # cd ./mysql-5.1.42

Теперь собствено призодим конфигурирование процесса компиляции и компиляция:
CODE (text):
скопировать код в буфер обмена
  1. # ./configure
  2. # make
  3. # make install


И в завершение PHP:
Распакуем исходные коды:
CODE (text):
скопировать код в буфер обмена
  1. # cd /usr/src/server
  2. # tar -xjf /home/php-5.3.1.tar.bz2
  3. # cd ./php-5.3.1


Теперь собствено призодим конфигурирование процесса компиляции и компиляция:
CODE (text):
скопировать код в буфер обмена
  1. # ./configure  --enable-cli --without-pear --with-bz2 --with-curl --enable-exif --without-fbsql --enable-ftp --with-gettext --enable-mbstring --with-mcrypt --with-mhash --with-ncurses --with-openssl --with-pgsql --with-snmp --enable-sockets --with-xmlrpc --enable-zip --with-zlib --enable-dba --with-db4 --with-gdbm --with-gd --with-imap --with-imap-ssl --with-mysql --with-readline --with-pic --with-apxs2
  2.  
  3. # make
  4. # make install

Теперь пришло время заняться файлами конфигураций.

Ищем файл /etc/apache2/modules.d/70_mod_php5.conf. В случае отсутствия создаем его и пишем в него следующее:

CODE (text):
скопировать код в буфер обмена
  1. <IfDefine PHP5>
  2.  
  3. # Load the module first
  4. <IfModule !mod_php5.c>
  5.                 LoadModule php5_module    modules/libphp5.so
  6. </IfModule>
  7. # Set it to handle the files
  8. <IfModule mod_mime.c>
  9.         AddType application/x-httpd-php .php
  10.         AddType application/x-httpd-php .phtml
  11.         AddType application/x-httpd-php .php3
  12.         AddType application/x-httpd-php .php4
  13.         AddType application/x-httpd-php .php5
  14.         AddType application/x-httpd-php .asp
  15.         AddType application/x-httpd-php-source .phps
  16. </IfModule>
  17.  
  18. DirectoryIndex index.php index.phtml
  19. </IfDefine>

Далее ищем в файле /etc/conf.d/apache2 параметр APACHE2_OPTS. И добавляем в конец -D PHP5. В итоге параметр должен выглядеть примерно так:
CODE (text):
скопировать код в буфер обмена
  1. APACHE2_OPTS="-D DEFAULT_VHOST -D INFO -D SSL -D SSL_DEFAULT_VHOST -D LANGUAGE -D PHP5"


В процессе...
 
 Top
EuGen Администратор
Отправлено: 14 Января, 2010 - 16:34:58
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Давайте только будем указывать данные о системе, на которой это актуально
(скопируем в заголовок uname -a)
+
я думаю, стоит указать, что нужно указывать --with-apxs2 если хотим конфигурировать PHP как модуль веб-сервера (или это по-умолчанию? в моем случае это было не так)


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
vitaliy_mad
Отправлено: 14 Января, 2010 - 16:39:51
Post Id


Участник


Покинул форум
Сообщений всего: 1107
Дата рег-ции: Окт. 2008  
Откуда: Украина, Мариуполь


Помог: 0 раз(а)




EuGen пишет:
Давайте только будем указывать данные о системе, на которой это актуально
по идее данная инструкция должна работать на всех системах, где есть gcc. единственное что может отличаться - так это пути к файлам. по поводу
EuGen пишет:
--with-apxs2
согласен, его я пропустил... добавил... думаю еще не раз прийдется редактировать статью.
 
 Top
EuGen Администратор
Отправлено: 14 Января, 2010 - 16:47:17
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




vitaliy_mad пишет:
единственное что может отличаться - так это пути к файлам

И я о таких моментах.
Может, чтоит так же указать здесь про переключение в режим суперпользователя? (я о sudo) Хотя на Ваше усмотрение.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
vitaliy_mad
Отправлено: 14 Января, 2010 - 16:55:58
Post Id


Участник


Покинул форум
Сообщений всего: 1107
Дата рег-ции: Окт. 2008  
Откуда: Украина, Мариуполь


Помог: 0 раз(а)




EuGen, хм... немного унифицирую... попробую избавиться от привязки к дистрибутивам.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Администрирование *nix »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB