Ubuntu 10.04.3 LTS Nginx php-fpm mysql — различия между версиями

Материал из Помощь клиентам хостинга
Перейти к: навигация, поиск
(Новая: === Включаем bash-completion === bash-completion включает расширенное автодополнение команды по нажатию клавиши [Tab] у...)
(нет различий)

Версия 01:35, 13 ноября 2011

Включаем bash-completion

bash-completion включает расширенное автодополнение команды по нажатию клавиши [Tab]

устанавливаем bash-completion и попутно текстовый редактор Vim: <geshi lang="bash"> apt-get install bash-completion vim -y </geshi>

В отличии от CentOS/RHEl, в debian/ubuntu недостаточно поставить пакет bash-completion для того чтобы получить желаемый функционал, нужно его ещё и в bash.bashrc раскомментировать. Открываем /etc/bash.bashrc <geshi lang="bash"> vim /etc/bash.bashrc </geshi>

и раскомментируем блок: <geshi lang="bash">

  1. enable bash completion in interactive shells

if [ -f /etc/bash_completion ] && ! shopt -oq posix; then

   . /etc/bash_completion

fi </geshi>

Устанавливаем nginx

Переходим к установке nginx, тут всё просто: <geshi lang="bash"> apt-get update apt-get install nginx </geshi>

Запускаем nginx <geshi lang="bash"> /etc/init.d/nginx start </geshi>

Проверяем, слушает ли наш новый nginx порт 80: <geshi lang="bash"> netstat -tnlp | grep nginx tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1205/nginx </geshi>

Всё нормально, можем открыть в браузере и порадоваться:

Welcome to nginx.png

Установка php-fpm

Переходим к установки php-fpm. Ставить будем свежайшую версию, соберем собственный deb-пакет из официальных исходников.

Для сборки нам понадобятся пакеты:

<geshi lang="bash"> apt-get install libxml2-dev libssl-dev bzip2 libbz2-dev libcurl4-openssl-dev libjpeg62-dev libpng12-dev \ libfreetype6-dev libt1-dev libc-client2007e-dev libmcrypt-dev libmysqlclient-dev libidn11-dev libltdl-dev \ checkinstall automake autoconf libicu-dev </geshi>


Скачиваем тарбол с исходниками php: <geshi lang="bash"> wget http://ru.php.net/get/php-5.3.8.tar.gz/from/this/mirror -O php-5.3.8.tar.gz </geshi>

Распаковываем его и переходим в папку с исходниками php <geshi lang="bash"> tar zxf php-5.3.8.tar.gz cd php-5.3.8/ </geshi>

Начинаем сборку из исходников: <geshi lang="bash"> ./configure --enable-fpm --enable-soap --with-mcrypt --enable-mbstring --with-openssl --with-mysql --with-mysql-sock \ --with-gd --with-jpeg-dir=/usr/lib --enable-gd-native-ttf --with-sqlite=shared --with-pdo-mysql --with-libxml-dir=/usr/lib \ --with-mysqli --with-curl --enable-zip --with-bz2 --with-imap --with-imap-ssl --enable-sockets --with-zlib --enable-exif \ --enable-ftp --with-iconv --with-gettext --enable-gd-native-ttf --with-t1lib --with-freetype-dir --with-kerberos \ --prefix=/usr/local/php --with-fpm-user=www-data --with-fpm-group=www-data </geshi>

Компилируем php: <geshi lang="bash"> make </geshi>

После того как компиляция успешно завершится с сообщением Build complete переходим к сборке и установке .deb пакета:

<geshi lang="bash"> checkinstall -D </geshi>

Листинг процесса привожу ниже: <geshi lang="bash">

Should I create a default set of package docs? [y]:

Готовится документация к пакету...OK

Пожалуйста напишите описание пакета. Закончите ваше описание пустой строкой или EOF. >> php-fpm-5.3.8 >>

        • Debian package creation selected ***

Этот пакет был создан с использованием данных значений:

0 - Maintainer: [ root@ubuntu ] 1 - Summary: [ php-fpm-5.3.8 ] 2 - Name: [ php ] 3 - Version: [ 5.3.8 ] 4 - Release: [ 1 ] 5 - License: [ GPL ] 6 - Group: [ checkinstall ] 7 - Architecture: [ i386 ] 8 - Source location: [ php-5.3.8 ] 9 - Alternate source location: [ ] 10 - Requires: [ ] 11 - Provides: [ php ]

Введите номер для изменения параметра или нажмите ВВОД для продолжения: 2 Введите новое имя: >> php-fpm

Этот пакет был создан с использованием данных значений:

0 - Maintainer: [ root@ubuntu ] 1 - Summary: [ php-fpm-5.3.8 ] 2 - Name: [ php-fpm ] 3 - Version: [ 5.3.8 ] 4 - Release: [ 1 ] 5 - License: [ GPL ] 6 - Group: [ checkinstall ] 7 - Architecture: [ i386 ] 8 - Source location: [ php-5.3.8 ] 9 - Alternate source location: [ ] 10 - Requires: [ ] 11 - Provides: [ php ]

Введите номер для изменения параметра или нажмите ВВОД для продолжения:

Installing with make...Installing with install...

=================== Результаты установки =====================

Installing PHP SAPI module: fpm Installing PHP CLI binary: /usr/local/php/bin/ Installing PHP CLI man page: /usr/local/php/man/man1/ Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/ Installing PHP FPM binary: /usr/local/php/sbin/ Installing PHP FPM config: /usr/local/php/etc/ Installing PHP FPM man page: /usr/local/php/man/man8/ Installing build environment: /usr/local/php/lib/php/build/ Installing header files: /usr/local/php/include/php/ Installing helper programs: /usr/local/php/bin/

 program: phpize
 program: php-config

Installing man pages: /usr/local/php/man/man1/

 page: phpize.1
 page: php-config.1

Installing PEAR environment: /usr/local/php/lib/php/ [PEAR] Archive_Tar - installed: 1.3.7 [PEAR] Console_Getopt - installed: 1.3.0 [PEAR] Structures_Graph- installed: 1.0.4 [PEAR] XML_Util - installed: 1.2.1 [PEAR] PEAR - installed: 1.9.4 Wrote PEAR system config file at: /usr/local/php/etc/pear.conf You may want to add: /usr/local/php/lib/php to your php.ini include_path /root/php-5.3.8/build/shtool install -c ext/phar/phar.phar /usr/local/php/bin ln -s -f /usr/local/php/bin/phar.phar /usr/local/php/bin/phar Installing PDO headers: /usr/local/php/include/php/ext/pdo/

================== Установка успешно завершена ================

Файлы копируются во временный каталог...OK

Stripping ELF binaries and libraries...OK

Сжимаются страницы руководства...OK

Построение списка файлов...OK

Собирается Debian-пакет...OK

Устанавливается Debian-пакет...OK

Удаляются временные файлы...OK

Записывается пакет с резервной копией...OK

Удаляется временный каталог...OK


Done. The new package has been installed and saved to
/root/php-5.3.8/php-fpm_5.3.8-1_i386.deb
You can remove it from your system anytime using: 
     dpkg -r php-fpm

</geshi>


В итоге php-fpm установлен и у нас есть готовый пакет /root/php-5.3.8/php-fpm_5.3.8-1_i386.deb для тех кто не хочет заморачиваться со сборкой или ресурсов VPS для сборки недостаточно, в конце статьи я дам ссылку на собраный пакет.

Создадим init-скрипт и добавим php-fpm в автозапуск:

<geshi lang="bash"> cp ./sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm chmod +x /etc/init.d/php-fpm </geshi>