Январь 27

debian 7 php other version

как всегда мир движется дальше и мы с ним крадем статью как обычно интернет не вечен

 

      В данной инструкции мы продолжаем цикл статей по установе и настройке хостинг панели ISPConfig 3, сегодня мы для панели управления ISPConfig 3 установленной в Debian Wheezy установим дополнительные языки програмирования PHP. Так как по умолчанию из репозитория Debian Wheezy устанавливается версия PHP 5.4, то нам необходимо установить недостающие версии PHP 5.2, PHP 5.3 и 5.4, что мы и сделаем.
      !!! В связи с тем, что время идет и выходят все новые версии PHP, я в статье меняю переодически ссылки на актуальные версии и рабочие ссылки в тексте, но не меняю скриншоты, потому не обращайте внимания если будет на скриншоте более старая версия дистрибутива.

      Приступаем к подготовке и установке.

      Устанавливаем необходимое програмное обеспечение для сборки версий PHP 5.2, PHP 5.3 и PHP 5.5 выполнив команду:

1
2
3
4
5
Mysql:
aptitude install php5-dev libxml2-dev libmhash-dev libcurl4-openssl-dev libbz2-dev libmagickwand-dev libpng12-dev libfreetype6-dev libgmp-dev libc-client2007e-dev libpspell-dev libsnmp-dev libtidy-dev libxslt1-dev make build-essential libmcrypt-dev libmysqld-dev libmagic-dev unzip libpq-dev
Mariadb:
aptitude install php5-dev libxml2-dev libmhash-dev libcurl4-openssl-dev libbz2-dev libmagickwand-dev libpng12-dev libfreetype6-dev libgmp-dev libc-client2007e-dev libpspell-dev libsnmp-dev libtidy-dev libxslt1-dev make build-essential libmcrypt-dev libmariadbd-dev libmagic-dev unzip libpq-dev
      Копируем необходимые для сборки php библиотеки выполнив команды:
для архитектуры i386:
1
2
3
4
5
cp /usr/lib/i386-linux-gnu/libjpeg.* /usr/lib/
cp /usr/lib/i386-linux-gnu/libpng.* /usr/lib/
cp /usr/lib/i386-linux-gnu/libmysqlclient.* /usr/lib/
cp /usr/lib/i386-linux-gnu/libkrb5.* /usr/lib/
cp /usr/lib/i386-linux-gnu/libssl.* /usr/lib/
для архитектуры amd64:
1
2
3
4
5
cp /usr/lib/x86_64-linux-gnu/libjpeg.* /usr/lib/
cp /usr/lib/x86_64-linux-gnu/libpng.* /usr/lib/
cp /usr/lib/x86_64-linux-gnu/libmysqlclient.* /usr/lib/
cp /usr/lib/x86_64-linux-gnu/libkrb5.* /usr/lib/
cp /usr/lib/x86_64-linux-gnu/libssl.* /usr/lib/

Устанавливаем PHP версию 5.2.17

      Создаем папки, где будем собирать и куда устанавливать, скачиваем, разархивируем и переходим в разархивированную папку с дистрибутивом PHP 5.2.17, для этого выполняем команды:
1
2
3
4
5
mkdir /opt/php-5.2.17
mkdir -p /usr/src/iserver/ && cd /usr/src/iserver/
wget -c -t0 http://softnastroy.com/downloads/php5/php-5.2.17.tar.bz2
tar jxf php-5.2*tar.bz2
cd /usr/src/iserver/php-5.2.17/

      Скачиваем и накладываем патчи безопасности на исходные коды php 5.2.17 выполнив команды:

1
2
3
4
5
wget http://softnastroy.com/downloads/php5/php52-backports-20130717.patch
patch -p1 < php52-backports-20130717.patch
#
wget http://softnastroy.com/downloads/php5/debian_patches_disable_SSLv2_for_openssl_1_0_0.patch.patch.txt
patch -p1 < debian_patches_disable_SSLv2_for_openssl_1_0_0.patch.patch.txt
      Запускаем команду для конфигурирования PHP 5.2 в Debian Wheezy c архитектурой i386:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
./configure \
--prefix=/opt/php-5.2.17 \
--with-config-file-path=/opt/php-5.2.17 \
--with-pdo-pgsql \
--with-zlib-dir \
--with-freetype-dir \
--enable-mbstring \
--with-libxml-dir=/usr \
--enable-soap \
--enable-calendar \
--with-curl=/usr/bin \
--with-mcrypt \
--with-zlib \
--with-gd \
--with-pgsql \
--disable-rpath \
--enable-inline-optimization \
--with-bz2 \
--with-zlib \
--enable-sockets \
--enable-sysvsem \
--enable-sysvshm \
--enable-pcntl \
--enable-mbregex \
--with-mhash \
--enable-zip \
--with-pcre-regex \
--with-mysql \
--with-mysql-sock=/var/run/mysqld/mysqld.sock \
--with-pdo-mysql \
--with-mysqli \
--with-jpeg-dir=/usr/lib/i386-linux-gnu \
--with-png-dir=/usr \
--enable-gd-native-ttf \
--with-openssl \
--enable-ftp \
--with-imap \
--with-imap-ssl \
--with-kerberos \
--with-gettext \
--enable-cli \
--enable-fastcgi \
--enable-discard-path \
--enable-force-cgi-redirect \
--enable-cgi \
--enable-bcmath
      Запускаем команду для конфигурирования PHP 5.2 в Debian Wheezy c архитектурой amd64
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
./configure \
--prefix=/opt/php-5.2.17 \
--with-config-file-path=/opt/php-5.2.17 \
--with-pdo-pgsql \
--with-zlib-dir \
--with-freetype-dir \
--enable-mbstring \
--with-libxml-dir=/usr \
--enable-soap \
--enable-calendar \
--with-curl=/usr/bin \
--with-mcrypt \
--with-zlib \
--with-gd \
--with-pgsql \
--disable-rpath \
--enable-inline-optimization \
--with-bz2 \
--with-zlib \
--enable-sockets \
--enable-sysvsem \
--enable-sysvshm \
--enable-pcntl \
--enable-mbregex \
--with-mhash \
--enable-zip \
--with-pcre-regex \
--with-mysql \
--with-mysql-sock=/var/run/mysqld/mysqld.sock \
--with-pdo-mysql \
--with-mysqli \
--with-jpeg-dir=/usr/lib/x86_64-linux-gnu \
--with-png-dir=/usr \
--enable-gd-native-ttf \
--with-openssl \
--enable-ftp \
--with-imap \
--with-imap-ssl \
--with-kerberos \
--with-gettext \
--enable-cli \
--enable-fastcgi \
--enable-discard-path \
--enable-force-cgi-redirect \
--enable-cgi \
--enable-bcmath

    Для Debian 8 Jessie(ПОКА НЕ РАБОТАЕТ make) дополнительно установим несколько пакетов и создадим папку и симлинк на библиотеку для удачной сборки PHP 5.2 на Debian Jessie выполнив команду:

1
2
3
aptitude install libkrb5-dev libmysqlclient15-dev
mkdir /usr/include/freetype2/freetype
ln -s /usr/include/freetype2/freetype.h /usr/include/freetype2/freetype/freetype.h

После этого запускаем команду для конфигурирования PHP 5.2 в Debian 8 Jessie c архитектурой i386:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
./configure \
--prefix=/opt/php-5.2.17 \
--with-config-file-path=/opt/php-5.2.17 \
--with-pdo-pgsql \
--with-zlib-dir \
--with-freetype-dir \
--enable-mbstring \
--with-libxml-dir=/usr \
--enable-soap \
--enable-calendar \
--with-curl=/usr/bin \
--with-mcrypt \
--with-zlib \
--with-gd \
--with-pgsql \
--disable-rpath \
--enable-inline-optimization \
--with-bz2 \
--with-zlib \
--enable-sockets \
--enable-sysvsem \
--enable-sysvshm \
--enable-pcntl \
--enable-mbregex \
--with-mhash \
--enable-zip \
--with-pcre-regex \
--with-mysql \
--with-mysql-sock=/var/run/mysqld/mysqld.sock \
--with-pdo-mysql \
--with-mysqli \
--with-jpeg-dir=/usr/lib/i386-linux-gnu \
--with-png-dir=/usr \
--enable-gd-native-ttf \
--with-openssl \
--enable-ftp \
--with-imap \
--with-imap-ssl \
--with-kerberos \
--with-gettext \
--enable-cli \
--enable-fastcgi \
--enable-discard-path \
--enable-force-cgi-redirect \
--enable-cgi \
--enable-bcmath
      Запускаем команду для конфигурирования PHP 5.2 в Debian 8 Jessie c архитектурой amd64
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
./configure \
--prefix=/opt/php-5.2.17 \
--with-config-file-path=/opt/php-5.2.17 \
--with-pdo-pgsql \
--with-zlib-dir \
--with-freetype-dir \
--enable-mbstring \
--with-libxml-dir=/usr \
--enable-soap \
--enable-calendar \
--with-curl=/usr/bin \
--with-mcrypt \
--with-zlib \
--with-gd \
--with-pgsql \
--disable-rpath \
--enable-inline-optimization \
--with-bz2 \
--with-zlib \
--enable-sockets \
--enable-sysvsem \
--enable-sysvshm \
--enable-pcntl \
--enable-mbregex \
--with-mhash \
--enable-zip \
--with-pcre-regex \
--with-mysql \
--with-mysql-sock=/var/run/mysqld/mysqld.sock \
--with-pdo-mysql \
--with-mysqli \
--with-jpeg-dir=/usr/lib/x86_64-linux-gnu \
--with-png-dir=/usr \
--enable-gd-native-ttf \
--with-openssl \
--enable-ftp \
--with-imap \
--with-imap-ssl \
--with-kerberos \
--with-gettext \
--enable-cli \
--enable-fastcgi \
--enable-discard-path \
--enable-force-cgi-redirect \
--enable-cgi \
--enable-bcmath

      После конфигурирования запускаем сборку и установку PHP языка версии 5.2.17 выполнив команды:

1
2
make
make install
      Создаем конфигурационный файл php.ini файл для версии php 5.2.17 выполнив команду:
1
cp /usr/src/iserver/php-5.2.17/php.ini-recommended /opt/php-5.2.17/lib/php.ini

Проверяем версию установленного PHP интерпритатора выполнив команду:

1
/opt/php-5.2.17/bin/php -v

ответ системы:

1
2
3
PHP 5.2.17 (cli) (built: Mar 20 2013 10:32:00)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies

Устанавливаем PHP версию 5.3

      Создаем папки, где будем собирать и куда устанавливать, скачиваем, разархивируем и переходим в разархивированную папку с дистрибутивом PHP 5.3.28, для этого выполняем команды::
1
2
3
4
5
mkdir /opt/php-5.3.29
mkdir -p /usr/src/iserver/ && cd /usr/src/iserver/
wget -t0 -c http://ua2.php.net/distributions/php-5.3.29.tar.gz
tar xvf php-5.3.29.tar.gz
cd /usr/src/iserver/php-5.3.29/

      Запускаем конфигурирование языка PHP 5.3.29 выполнив команду подходит для обоих версий архитектур:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
./configure \
--prefix=/opt/php-5.3.29 \
--with-config-file-path=/opt/php-5.3.29 \
--with-pdo-pgsql \
--with-zlib-dir \
--with-freetype-dir \
--enable-mbstring \
--with-libxml-dir=/usr \
--enable-soap \
--enable-calendar \
--with-curl=/usr/bin \
--with-mcrypt \
--with-zlib \
--with-gd \
--with-pgsql \
--disable-rpath \
--enable-inline-optimization \
--with-bz2 \
--with-zlib \
--enable-sockets \
--enable-sysvsem \
--enable-sysvshm \
--enable-pcntl \
--enable-mbregex \
--with-mhash \
--enable-zip \
--with-pcre-regex \
--with-mysql \
--with-pdo-mysql \
--with-mysqli \
--with-jpeg-dir=/usr \
--with-png-dir=/usr \
--enable-gd-native-ttf \
--with-openssl \
--enable-ftp \
--with-imap \
--with-imap-ssl \
--with-kerberos \
--with-gettext \
--enable-cli \
--enable-cgi \
--enable-bcmath

      Запускаем после конфигурации сборку и установку PHP 5.3 для ISPConfig 3 в Debian Wheezy выполнив две команды:

1
2
make
make install

      Создаем конфигурационный файл php.ini, для этого выполним команду:

1
cp /usr/src/iserver/php-5.3.29/php.ini-production /opt/php-5.3.29/lib/php.ini

      Проверяем версию установленного PHP интерпритатора выполнив команду:

1
/opt/php-5.3.29/bin/php -v

ответ системы:

1
2
3
PHP 5.3.29 (cli) (built: Sep 19 2013 10:21:28)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2013 Zend Technologies

 

Устанавливаем PHP версию 5.5

      В связи с выходом обновления PHP 5.5.38, исправляю на новую версию, не изменяя скриншоты
      Создаем папки, где будем собирать и куда устанавливать, скачиваем, разархивируем и переходим в разархивированную папку с дистрибутивом PHP 5.5.38, для этого выполняем команды::
1
2
3
4
5
mkdir /opt/php-5.5.38
mkdir -p /usr/src/iserver/ && cd /usr/src/iserver/
wget -t0 -c http://ua2.php.net/distributions/php-5.5.38.tar.gz
tar xvf php-5.5.38.tar.gz
cd /usr/src/iserver/php-5.5.38/

      Запускаем конфигурирование языка PHP 5.5.38 выполнив команду подходит для обоих версий архитектур:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
./configure \
--prefix=/opt/php-5.5.38 \
--with-config-file-path=/opt/php-5.5.38 \
--with-pdo-pgsql \
--with-zlib-dir \
--with-freetype-dir \
--enable-mbstring \
--with-libxml-dir=/usr \
--enable-soap \
--enable-calendar \
--with-curl=/usr/bin \
--with-mcrypt \
--with-zlib \
--with-gd \
--with-pgsql \
--disable-rpath \
--enable-inline-optimization \
--with-bz2 \
--with-zlib \
--enable-sockets \
--enable-sysvsem \
--enable-sysvshm \
--enable-pcntl \
--enable-mbregex \
--with-mhash \
--enable-zip \
--with-pcre-regex \
--with-mysql \
--with-pdo-mysql \
--with-mysqli \
--with-jpeg-dir=/usr \
--with-png-dir=/usr \
--enable-gd-native-ttf \
--with-openssl \
--enable-ftp \
--with-imap \
--with-imap-ssl \
--with-kerberos \
--with-gettext \
--enable-cli \
--enable-cgi \
--enable-bcmath

После конфигурирования запускаем сборку и установку PHP языка версии 5.5.38 выполнив команды:

1
2
make
make install

      Создаем конфигурационный файл php.ini, для этого выполним команду:

1
cp /usr/src/iserver/php-5.5.38/php.ini-production /opt/php-5.5.38/lib/php.ini

      Проверяем версию установленного PHP интерпритатора выполнив команду:

1
/opt/php-5.5.38/bin/php -v

ответ системы:

1
2
3
PHP 5.5.38 (cli) (built: Aug 17 2014 14:28:45)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies

 

Добавляем установленные языки PHP 5.2, PHP 5.3 и PHP 5.5 в ISPConfig 3

      Чтобы добавить установленные дополнительные версии php языка в панель управления хостингом ISPConfig 3, открываем вкладку в браузере Веб интерфейс, и переходим во вкдадку: СистемаAddition PHP VersionsAdd new PHP version, на скриншоте ниже Вы можете увидеть нужное для открытия окно:
      Добавляем язык PHP 5.2 для панели ISPConfig 3 в Debian Wheezy
      В поле Client ничего не выбираем, тогда все клиенты смогут использовать при установке сайта выбранные языки.
      Добавляем PHP 5.2.17, для этого заполняем поля по примеру ниже:
  • Server: webserver.server.loc
  • Client:
  • PHP Name: php-5.2.17
После заполнения полей нажимаем кнопку Сохранить, настраивать будем чуть позже:

      Остальные версии PHP языка добавляем про примеру выше.

Добавляем язык PHP 5.3 для панели ISPConfig 3 в Debian Wheezy

Добавляем PHP 5.3.29, для этого заполняем поля по примеру ниже:
  • Server: webserver.server.loc
  • Client:
  • PHP Name: php-5.3.29
После заполнения полей нажимаем кнопку Сохранить

Добавляем язык PHP 5.5 для панели ISPConfig 3 в Debian Wheezy

Добавляем PHP 5.5.38, для этого заполняем поля по примеру ниже:
  • Server: webserver.server.loc
  • Client:
  • PHP Name: php-5.5.38
После заполнения полей нажимаем кнопку Сохранить
      После добавления устанавливаемых версий PHP, у нас в окне Система Addition PHP Versions будут добавленные 3 версии PHP: PHP 5.2.17,  PHP 5.3.29 и PHP 5.5.38  на скриншоте ниже видно:
      Теперь нам необходимо каждую добавленную версию PHP языка открыть и отредактировать пути к исполняемым файлам и к конфигурационному файлу php.ini
      Открываем PHP 5.2.17 и во вкладке FastCGI Settings заполняем поля по примеру ниже:
  • Path to the PHP FastCGI binary: /opt/php-5.2.17/bin/php-cgi
  • Path to the php.ini directory: /opt/php-5.2.17/lib
      После заполнения данных полей, для сохранения изменений нажимаем кнопку Сохранить:
      Открываем PHP 5.3.29 и во вкладке FastCGI Settings заполняем поля по примеру ниже:
  • Path to the PHP FastCGI binary: /opt/php-5.3.29/bin/php-cgi
  • Path to the php.ini directory: /opt/php-5.3.29/lib
      После заполнения данных полей, для сохранения изменений нажимаем кнопку Сохранить:
Открываем PHP 5.5.38 и во вкладке FastCGI Settings заполняем поля по примеру ниже
  • Path to the PHP FastCGI binary: /opt/php-5.5.38/bin/php-cgi
  • Path to the php.ini directory: /opt/php-5.5.38/lib
После заполнения данных полей, для сохранения изменений нажимаем кнопку Сохранить: