Whois-сервисы

Служба Whois
Служба Whats
Служба Hoster
Служба Whois History
Служба IP Lookup
Служба GEO IP Lookup
Служба DNSBL Lookup
Служба DNS Watch
Служба Reverse IP






Установка PHP 5.2.17 на VestaCP под CentOS. Статьи. wb0.ru - Все для веб-мастера, on-line сервисы

Установка PHP 5.2.17 на VestaCP под CentOS

Если не установлены необходимые инструменты для компилирования php, устанавливаем набор пакетов для разработки:

yum install lemon
yum groupinstall 'Development Tools'
yum install \
    libxml2-dev* \
    libmhash-dev* \
    libcurl-dev* \
    libpng* \
    libjpeg* \
    libtidy-dev* \
    libxslt-dev* \
    libtool-ltdl-dev* \
    mcrypt \
    libmcrypt-dev* \
    libXpm-dev* \
    libsqlite* \
    mysql-dev* \
    mysql-libs \
    sqlite-dev* \
    freetype-dev* \
    openssl-dev* \
    bzip2-dev* \
    unzip* \
    patch \
    make \
    gcc*

Если возникает ошибка вида:

Error: Package: mysql-devel-5.1.73-3.el6_5.x86_64 (base)
Requires: mysql = 5.1.73-3.el6_5
Installed: mysql-5.5.43-1.el6.remi.x86_64 (@remi)
mysql = 5.5.43-1.el6.remi
Available: mysql-5.1.73-3.el6_5.x86_64 (base)
mysql = 5.1.73-3.el6_5

устанавливаем пакет mysql-devel из репозитория remi:

yum --enablerepo=remi,remi-test install mysql-devel

Создаем папку, где будут находиться бинарные файлы:

mkdir /opt/php-5.2.17

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

mkdir -p /usr/src/php/ && cd /usr/src/php/

Скачиваем архив с исходниками php 5.2.17:

wget -c -t0 http://wb0.ru/articles/img/php-5.2.17.tar.gz

Распаковываем архив:

tar zxf php-5.2.17.tar.gz

Переходим в папку с исходниками:

cd /usr/src/php/php-5.2.17/

Скачиваем и применяем патч безопасности:

wget http://wb0.ru/articles/img/php52-backports-20130717.patch
patch -p1 < php52-backports-20130717.patch

Конфигурируем PHP 5.2.17 с архитектурой amd64:

./configure \
    --prefix=/opt/php-5.2.17 \
    --with-config-file-path=/opt/php-5.2.17 \
    --with-libdir=lib64 \
    --with-mysql \
    --with-mysqli \
    --with-sqlite=shared \
    --with-curl \
    --with-gd \
    --with-openssl \
    --with-pdo-mysql=shared --with-pdo-sqlite=shared \
    --with-mcrypt \
    --with-pear \
    --with-pic \
    --with-jpeg-dir \
    --with-png-dir \
    --with-ttf \
    --with-freetype-dir \
    --with-xmlrpc \
    --with-xpm-dir \
    --with-zlib \
    --enable-bcmath \
    --enable-calendar \
    --enable-cli \
    --enable-discard-path \
    --enable-fastcgi \
    --enable-ftp \
    --enable-force-cgi-redirect \
    --enable-gd-native-ttf \
    --enable-libxml \
    --enable-mbstring \
    --enable-pdo=shared \
    --enable-soap \
    --enable-sockets \
    --enable-session \
    --enable-zip \
    --enable-zend-multibyte

Для i386:

--with-libdir=lib \

Параметр =shared указывает на необходимость компилирования отдельной разделяемой (динамической) библиотеки (shared libraries) с расширением .so, которую потом можно подключить в php.ini.

Компилируем и устанавливаем:

make && make install

Видим, что и куда установилось:

Wrote PEAR system config file at: /opt/php-5.2.17/etc/pear.conf
You may want to add: /opt/php-5.2.17/lib/php to your php.ini include_path
Installing PDO headers:          /opt/php-5.2.17/include/php/ext/pdo/

Копируем php.ini:

cp /usr/src/php/php-5.2.17/php.ini-recommended /opt/php-5.2.17/lib/php.ini

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

/opt/php-5.2.17/bin/php-cgi -v

Видим:

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

Создаем файлы шаблонов.

Первый файл:

vi /usr/local/vesta/data/templates/web/httpd/phpfcgid52.sh

Содержимое:

  1. #!/bin/shell
  2. # Adding php wrapper
  3. user="$1"
  4. domain="$2"
  5. ip="$3"
  6. home_dir="$4"
  7. docroot="$5"
  8.  
  9. wrapper_script="#!/bin/sh
  10. export PHPRC=/opt/php-5.2.17/lib/
  11. export PHP_FCGI_MAX_REQUESTS=1000
  12. export PHP_FCGI_CHILDREN=20
  13. exec /opt/php-5.2.17/bin/php-cgi
  14. "
  15. wrapper_file="$home_dir/$user/web/$domain/cgi-bin/fcgi-starter"
  16.  
  17. echo "$wrapper_script" > $wrapper_file
  18. chown $user:$user $wrapper_file
  19. chmod -f 751 $wrapper_file
  20.  
  21. exit 0

Второй файл:

vi /usr/local/vesta/data/templates/web/httpd/phpfcgid52.tpl

Содержимое:

  1. <VirtualHost %ip%:%web_port%>
  2.  
  3.     ServerName %domain_idn%
  4.     %alias_string%
  5.     ServerAdmin %email%
  6.     DocumentRoot %docroot%
  7.     ScriptAlias /cgi-bin/ %home%/%user%/web/%domain%/cgi-bin/
  8.     Alias /vstats/ %home%/%user%/web/%domain%/stats/
  9.     Alias /error/ %home%/%user%/web/%domain%/document_errors/
  10.     SuexecUserGroup %user% %group%
  11.     CustomLog /var/log/%web_system%/domains/%domain%.bytes bytes
  12.     CustomLog /var/log/%web_system%/domains/%domain%.log combined
  13.     ErrorLog /var/log/%web_system%/domains/%domain%.error.log
  14.     <Directory %docroot%>
  15.         AllowOverride All
  16.         Options +Includes -Indexes +ExecCGI
  17.         <Files *.php>
  18.             SetHandler fcgid-script
  19.         </Files>
  20.         FCGIWrapper %home%/%user%/web/%domain%/cgi-bin/fcgi-starter .php
  21.     </Directory>
  22.     <Directory %home%/%user%/web/%domain%/stats>
  23.         AllowOverride All
  24.     </Directory>
  25.  
  26.     Include %home%/%user%/conf/web/%web_system%.%domain%.conf*
  27.  
  28. </VirtualHost>

Третий файл:

vi /usr/local/vesta/data/templates/web/httpd/phpfcgid52.stpl

Содержимое:

  1. <VirtualHost %ip%:%web_ssl_port%>
  2.  
  3.     ServerName %domain_idn%
  4.     %alias_string%
  5.     ServerAdmin %email%
  6.     DocumentRoot %sdocroot%
  7.     ScriptAlias /cgi-bin/ %home%/%user%/web/%domain%/cgi-bin/
  8.     Alias /vstats/ %home%/%user%/web/%domain%/stats/
  9.     Alias /error/ %home%/%user%/web/%domain%/document_errors/
  10.     SuexecUserGroup %user% %group%
  11.     CustomLog /var/log/%web_system%/domains/%domain%.bytes bytes
  12.     CustomLog /var/log/%web_system%/domains/%domain%.log combined
  13.     ErrorLog /var/log/%web_system%/domains/%domain%.error.log
  14.     <Directory %sdocroot%>
  15.         SSLRequireSSL
  16.         AllowOverride All
  17.         Options +Includes -Indexes +ExecCGI
  18.         <Files *.php>
  19.             SetHandler fcgid-script
  20.         </Files>
  21.         FCGIWrapper %home%/%user%/web/%domain%/cgi-bin/fcgi-starter .php
  22.     </Directory>
  23.     <Directory %home%/%user%/web/%domain%/stats>
  24.         AllowOverride All
  25.     </Directory>
  26.     php_admin_value open_basedir none
  27.     SSLEngine on
  28.     SSLVerifyClient none
  29.     SSLCertificateFile %ssl_crt%
  30.     SSLCertificateKeyFile %ssl_key%
  31.     %ssl_ca_str%SSLCertificateChainFile %ssl_ca%
  32.  
  33.     Include %home%/%user%/conf/web/s%web_system%.%domain%.conf*
  34.  
  35. </VirtualHost>

Делаем созданные файлы исполняемыми:

chmod +x /usr/local/vesta/data/templates/web/httpd/phpfcgid52.sh && \
chmod +x /usr/local/vesta/data/templates/web/httpd/phpfcgid52.tpl && \
chmod +x /usr/local/vesta/data/templates/web/httpd/phpfcgid52.stpl

Перезапускаем Apache:

service httpd restart

Входим в VestaCP и переходим в раздел "Пакеты" (https://xxx.xxx.xxx.xxx:8083/list/package/).

Добавляем новый пакет php52 с шаблоном phpfcgid52.

При создании нового пользователя или редактировании существующего указываем созданный пакет php52.

Если, выбрав пакет php52, при заходе на сайт выдается ошибка сервера, меняем в phpfcgid52.tpl

  1. <Directory %docroot%>
  2.         AllowOverride All
  3.         Options +Includes -Indexes +ExecCGI
  4.         <Files *.php>
  5.           SetHandler fcgid-script
  6.         </Files>
  7.         FCGIWrapper %home%/%user%/web/%domain%/cgi-bin/fcgi-starter .php
  8.     </Directory>

на

  1. <Directory %docroot%>
  2.         AllowOverride All
  3.         Options +Includes -Indexes +ExecCGI
  4.     </Directory>
  5.     <FilesMatch "\.php">
  6.         SetHandler application/x-httpd-php5
  7.     </FilesMatch>
  8. ScriptAlias /php52-cgi %home%/%user%/web/%domain%/cgi-bin/fcgi-starter
  9. Action application/x-httpd-php5 /php52-cgi
  10. AddHandler application/x-httpd-php5 .php

Дата публикации: 25.10.2017
wb0.ru

Статьи по теме:


Комментарии:

       Ваш псевдоним:
    Ваш комментарий:

    Календарь событий


    Новости Интернет


    Поиск





    Последний пересчет

    тИЦ:07 Окт 15
    PR:09 Дек 13

    Наши партнеры

    wservices.ru - регистрация доменов, Whois-сервисы Смайлы на все случаи жизни


     
    Copyright © 2006-2026, wb0.ru