суббота, 26 июня 2010 г.

Mandriva 2010 + Apache 2.1 + PHP5.3 + MySQL + PHPMyAdmin

Apache и PHP будем собирать из исходных кодов, а MySQL, по рекомендациям
разработчиков, поставим из готовых RPM пакетов.

Предварительная настройка.
Для сбора из исходных кодов необходимо наличие компилятора gcc с расширением gcc c++, а таже утилита make. Для этого выберим и установим эти пакеты в менеджере RPM пакетов вместе со всеми зависимостями (настройка "Автоматически выбрать зависимости").
В результате у меня были установлены следующие пакеты:
 aria2-1.6.2-1.4mdv2010.0.i586
- binutils-2.19.51.0.2-1mnb2.i586
- gcc-4.4.1-4.1mnb2.i586
- gcc-c++-4.4.1-4.1mnb2.i586
- gcc-cpp-4.4.1-4.1mnb2.i586
- glibc-2.10.1-6.4mnb2.i586
- glibc-devel-2.10.1-6.4mnb2.i586
- libbinutils2-2.19.51.0.2-1mnb2.i586
- librpm4.6-4.6.0-6.1.1mnb2.i586
- libstdc++-devel-4.4.1-4.1mnb2.i586
- libstdc++6-4.4.1-4.1mnb2.i586
- linux-userspace-headers-2.6.31-1mnb2.i586
- manbo-mandriva-files-gcc-4.4.1-1mnb2.i586
- manbo-mandriva-files-gcc-c++-4.4.1-1mnb2.i586
- meta-task-2010.0-14mdv2010.0.noarch
- rpm-4.6.0-6.1.1mnb2.i586
- rpmdrake-5.23.1-1.1mdv2010.0.noarch
- urpmi-6.32-2.1mdv2010.0.noarch


- make-3.81-4mdv2010.0.i586
Так же для установки PHP нам понадобится пакет libxml2-devel
- libxml2-devel-2.7.6-1mdv2010.0.i586
Установка MySQL
В менеджере пакетов выбираем mysql со всеми зависимостями, будет установлено всю нужное.
Дополнительно нужно выбрать пакет libmysql-devel, он необходим для установки PHP:
- libmysql-devel-5.1.42-0.5mdv2010.0.i586

Сборка Apache.
Скачиваем. Распаковываем. Конфигурируем с поддержкой mod-rewrite:
./configure --prefix=/usr/local/apache2/
\--enable-rewrite=shared
Собираем:
make
make install
В конфигурационный файл Апача httpd.conf добавляем следующие строки:
ServerName 127.0.0.1
NameVirtualHost 127.0.0.1:80

<VirtualHost 127.0.0.1:80>
  ServerAdmin mail@mail.com
  DocumentRoot /usr/local/apache2/htdocs
  ServerName localhost
  ErrorLog logs/error_log
  CustomLog logs/acces_log common
</VirtualHost>

DirectoryIndex index.php index.html

AddType application/x-httpd-php phtml php
Сборка PHP.
Скачиваем. Распаковаваем. Конфигурируем:
./configure --with-apxs2=/usr/local/apache2/bin/apxs \--with-mysql=/var/lib/mysql/ --prefix=/usr/local/php5.3/
Собираем:
make
make install
Теперь можно сделать промежуточную проверку. Запускаем Apache
/usr/local/apache2/bin/apachectl start
создаем файл index.php с оператором php_info(). Если появляется страничка с информацией о PHP (которая нам еще не раз понадобится), то все в порядке.

Далее необходимо настроить php.ini. По умолчанию PHP желает увидеть его в директории /usr/local/php5.3/lib/ (это можно узнать с помощью странички, выводимой оператором phpinfo(), строка "Loaded Configuration File"). Для этого из папки с ихсодными кодами скопируем файл php.ini-development (он еще может называться php.ini-recomended), в эту директорию и переимеуем в php.ini.
В php.ini расскоментировать строку
session.save_path = "/tmp"
Необходимо убедиться, что для указанной директории есть права на запись:
chmod -R 700 /tmp