Установка MySQL, PHP и PHP-FPM под Debian linux
Установка MySQL:
1 2 |
# apt-get install mysql-server-50 # apt-get install mysql-client-50 |
Скачиваем PHP и патч PHP-FPM (выбрать в списке » php-fpm-0.6~5.2.patch» или в командной строке wget http://launchpad.net/php-fpm/master/0.6/+download/php-fpm-0.6~5.2.patch).
Распаковка php из архива
1 |
bzip2 -cd php-5.2.11.tar.bz2 | tar xf - |
Патчим php
1 |
# patch -d php-5.2.11 -p1 < php-fpm-0.6~5.2.patch |
Тут возникли большие проблемы — после запуска ничего не выводит, но вроде выполняется. Оказалось — забыл «<" написать. Далее устанавливаем php
1 2 |
# cd php-5.2.11 # ./buildconf --force |
Указываем конфигурационные параметры
1 |
./configure --enable-fastcgi --with-fpm --with-mcrypt --with-zlib --enable-mbstring --with-mysql --with-mysql-sock --with-mysqli=shared,/usr/bin/mysql_config --with-gd --with-jpeg-dir=/usr/lib --enable-gd-native-ttf --without-sqlite --disable-pdo --disable-reflection --disable-embedded-mysqli |
Пришлось повозиться с libxml, zlib, libjpeg, libpng, libmcrypt, mysql unix socket
1 2 3 4 5 6 7 |
# apt-get install libxml2-dev # apt-get install zlib-bin # apt-get install zlib1g-dev # apt-get install libjpeg-dev # apt-get install libpng-dev # apt-get install libmcrypt-dev # apt-get install libmysqlclient15-dev (после этого появляется директория /usr/bin/mysql_config) |
Далее возимся с libevent (т.к. пишет Libevent minimum version >= 1.4.3 could not be found.):
1 |
# apt-get remove --purge libevent1 //удаляем старый |
Потом скачиваем новый libevent и устанавливаем:
1 2 |
# ./configure # make && make install |
))
(можно посмотреть эту статью)
В итоге всё ставится в /usr/local/lib/php/ (/usr/local/bin/ — CLI-бинарник).
Осталось прописать php-fpm в автозагрузку (я обошёлся без создания символической ссылки):
1 2 |
# ln -s /usr/local/bin/php-fpm /etc/init.d/php-fpm # /usr/sbin/update-rc.d -f php-fpm defaults |
(см. Создание символической ссылки в linux).
Если при вводе php-fpm start ругается [ERROR] fpm_unix_conf_wp(), line 114: cannot get gid for group ‘nobody’, pool ‘default’, то нужно попробовать создать группу ‘nobody’:
1 |
# groupadd nobody |
Вроде бы всё.
Файл конфига — в /etc/php-fpm.conf , логи пишутся в /var/log/php-fpm.log, айди родительского процесса задано здесь — /var/run/php-fpm.pid. Сам php установлен здесь — /usr/local/include/php.
Полезные ссылки по теме:
официальная wiki проекта
faq по сборке php на debian
наткнулся на статью Установка PHP-FPM на Debian из пакетов — может кому понадобится
ещё 3 фака по установке и настройке связки php-fpm + nginx — 1 и 2, 3 (для freeBSD).
Кстати, долго выводилась надпись после того, как всё конфигурировалось:
«Thank you for using PHP.
Notice: Following unknown configure options were used:
—with-fpm»
Дело было в забытом ключе patch -d php-5.2.11 -p1 < php-fpm-0.6~5.2.patch
Running «addgroup nobody» does indeed fix the error «cannot get gid for group ‘nobody’, pool ‘default'»
Are you using nginx?
Ошибку
Cannot find MySQL header files under /usr/lib. Note that the MySQL client library is not bundled anymore!
исправил с помощью подсказанного Вами
apt-get install libmysqlclient15-dev