Ставим PHP 5.6 на сервер с VestaCP
Всем привет!
Пишу данный пост дабы не самому не забыть как все это быстро провернуть.
Итак, в наличии есть сервер на CentOS 6.7 с установленной на него VestaCP. Там в комплекте идет уже далеко не самый свежий PHP из ветки 5.4.
Сейчас я покажу вам как быстро поставить PHP 5.6 со всем необходимым и включить его из панели.
1. Собираем PHP
cd /opt wget http://ua2.php.net/get/php-5.6.29.tar.gz/from/this/mirror tar zxf mirror cd /opt/php-5.6.29/ yum install libxml2-devel openssl-devel libcurl-devel libjpeg-devel libpng-devel libXpm-devel freetype-devel libmcrypt-devel readline-devel libtidy-devel yum install --enablerepo remi mysql-devel ./configure --prefix=/usr/local/php-5.6.29 --with-config-file-path=/usr/local/php-5.6.29 --with-config-file-scan-dir=/usr/local/php-5.6.29/conf.d --with-gd --with-jpeg-dir --with-freetype-dir --with-png-dir --with-xpm-dir --enable-gd-native-ttf --with-mysqli=mysqlnd --with-mysql=mysqlnd --with-mysql-sock --with-pdo-mysql=mysqlnd --with-openssl --with-zlib --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-bcmath --enable-calendar --enable-exif --enable-ftp --enable-gd-native-ttf --enable-gd-jis-conv --with-iconv-dir --with-gettext --enable-mbstring --with-mcrypt --with-mhash --with-readline --enable-soap --enable-sockets --with-pdo-sqlite --enable-wddx --with-xmlrpc --enable-zip --with-kerberos --with-tidy --with-curl --with-libdir=lib64 make make test make install cd /usr/local/php-5.6.29 mkdir conf.d touch conf.d/my.ini - сюда будем добавлять свои директивы
Мой пример my.ini
date.timezone = Europe/Moscow mbstring.func_overload = 2 mbstring.internal_encoding = "utf-8"
2. Подключаем новый php в панели
Для этого нам нужно создать новый wrapper и затем создать пакет в панели который использует этот wrapper.
cd /usr/local/vesta/data/templates/web/httpd cp phpfcgid.sh phpfcgid56.sh ---------------------------- vim phpfcgi56.sh --- и тут меняем PHPRC на новый путь --- PHPRC=/usr/local/php-5.6.29/lib --- меняем exec на новый путь --- exec /usr/local/php-5.6.29/bin/php-cgi ---------------------------- Потом копируем шаблоны cp phpfcgid.stpl phpfcgid56.stpl cp phpfcgid.tpl phpfcgid56.tpl chmod +x phpfcgid56.* service httpd restart
Затем заходим в панельку под админом, идем в «Пакеты» и создаем там новый пакет (видим что появился новый wrapper - phpfcgid56):
Создаем нового пользователя с новым пакетом:
Потом создаем у него новый хост, кидаем туда скрипт с phpinfo() и видим что все круто:
Вот собственно и все.