CentOS: установка Linux, Apache, MySQL, PHP (LAMP). Установка centos php


Установка PHP 5.6 на CentOS через Yum

PHP версии 5.6.2 была анонсирована на официальном сайте разработчика второго октября 2014 и уже доступна для CentOS/RHEL 6.5 или 7.0 на Webtatic, причём можно пользоваться Yum!

Уже была опубликована статья об установке свежей версии PHP, но сейчас мы поднимем версию ещё выше.

В PHP 5.6 добавлены следующие функции:

  • Постоянные скалярные выражения
  • Функции с переменным числом аргументов
  • Распаковка независимых переменных
  • Возведение в степень операторов
  • Поддержка больших (>2ГБ) файлов загрузки
  • Улучшения SSL/TLS, включая одноранговую проверку по умолчанию
  • Новый отладчик командной строки, под названием phpdbg

Перед установкой нам понадобится добавить репозиторий (хранилище пакетов) WebtaticEL, соответствующее вашей версии CentOS/RHEL в yum:

CentOS/RHEL 7.x:

rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

CentOS/RHEL 6.x:

rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm

Теперь можно установить PHP 5.6 (вместе с кэшером операционного кода), для установки запустим yum со следующими параметрами:

yum install -y php56w php56w-opcache

Если вам нужно обновить php до данной версии, рекомендуется сначала проверить, поддерживает ли ваша система установку обновления, например попробовать запустить специализированное ПО типа CPanel после обновления.

Даже если вы отдаёте отчет своим действиям, рискованно обновлять существующую систему. Безопаснее будет установить обновление на чистый сервер.

Если вы уверены в том, что делаете, то можно обновить PHP, запустив yum со следующими параметрами:

yum install -y yum-plugin-replace yum replace --enablerepo=webtatic-testing php-common --replace-with=php56w-common

Вероятнее всего у вас появится сообщение типа “WARNING: Unable to resolve all providers …”. Это нормально, продолжить можно нажав “y“. Затем вы увидите какие пакеты будут установлены и заменены перед тем, как подтвердить установку.

SAPIs – различные модули

  • mod_php NTS (непотоковая безопасность) ‒ содержится в пакете php56w, данная SAPIвходит в состав ApacheHttpd 2.2 и представляет собой стандартное SAPI для использования с httpd prefork mpm (режим по умолчанию httpd). Данное SAPI не использует потоковую безопасность, так как здесь не применяются потоки. Адрес расположения: /usr/lib[64]/httpd/modules/libphp5.so
  • cli ‒ Содержится в пакете php56w-cli, данное SAPI позволяет запускать скрипты с командной строки, так же в состав входит встроенный веб-сервер для расширенного использования. Адрес расположения: /usr/bin/php
  • fpm ‒ содержится в пакете php56w-fpm, fpm (диспетчер процессов FastCGI) варьируемый процессFastCGI, работающий аналогично Httpd preforkmpm, который управляет разветвлением. Адрес расположения: /usr/sbin/php-fpm, контролируется с помощью служебного скрипта /etc/init.d/php-fpm
  • phpdbg ‒ содержится в пакете php56w-phpdbg, phpdbg имеет возможность отладки скриптов, используя контрольные точки из командной строки, также phpdbg имеет возможность удалённой отладки при помощи внешнего Java-клиента для удалённой коммуникации.
  • Embedded ‒ содержится в пакете php56w-embedded, данноеSAPIпозволяет встраивать PHPв другие приложения.Библиотека Embedded расположена по адресу:/usr/lib[64]/libphp5.so
  • cgi, fastcgi ‒ содержится в пакете php56w-cli, данные SAPI не рекомендованы к использованию, но при необходимости могут быть использованы. Данные SAPI существуют в двоичном коде и находятся по адресу: /usr/bin/php-cgi.
  • mod_phpTS (Потоковая безопасность) ‒ содержится в пакете php56w, данное SAPIвходит в состав ApacheHttpd 2.2. Это стандартноеSAPI для использования с httpdworkermpm. Предполагается, что данное SAPI поддерживает потоковую безопасность, но это необязательно так, особенно при использовании дополнительных расширений PHP. Лучше использовать FastCGISAPI. Адрес расположения: /usr/lib[64]/httpd/modules/libphp5-zts.so.

Opcode Cache

В дистрибутив PHP теперь входит opcode cache ZendOptimizer+, который теперь называется расширение ZendOPcache. Это дополнение необязательно, вы можете выбрать любое другое, на ваше усмотрение.

Поскольку данное дополнение входит в состав исходного дистрибутива PHP, то оно поддерживается разработчиком и удобно для использования, в отличии от других Opcodecache, обновляемых в течении ближайших месяцев.

Для установки запустим yum со следующими параметрами:

yum install -y php56w-opcache

Сообщение об ошибке E_ALL теперь включает E_STRICT

Вы можете получить намного больше ошибок в протоколах ошибок, если по умолчанию error_reporting установлена E_ALL, без отключения отключения E_STRICT. По умолчаниюphp.ini, который поставляется в PHP-пакете отключает E_STRICT,но если вы обновляете существующую установку, ваш php.ini не может быть обновлен, а это означает, что вероятно E_STRICT будет включен.

Автоматизация обновления

Обновление в кратчайшие сроки путем запуска одной строчки:

service mysqld stop && service nginx stop && service httpd stop && yum erase php54 php54-gd php54-imap php54-pdo php54-mysql php54-xml php54-common php54-process php54-mbstring php54-cli php54-ldap -y && yum install php56w php56w-gd php56w-imap php56w-pdo php56w-mysql php56w-xml php56w-common php56w-process php56w-mbstring php56w-cli php56w-ldap php56w-devel -y && service mysqld start && service nginx start && service httpd start

drach.pro

Как установить PHP 5.6 на CentOS 6.x

На голом сервере проблема решается в две строчки. Сначала подключаем репозиторий webtatic, где всегда есть самые свежие версии PHP (кстати, на момент написания этой заметки там есть и PHP 7 для CentOS 6). Потом ставим ряд нужных нам пакетов (php 5.6 и его популярные расширения) из нового репозитория.

rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm yum install -y php56w-common php56w-opcache php56w-cli php56w-fpm php56w-gd \ php56w-mbstring php56w-mcrypt php56w-mysql php56w-pdo php56w-xml

Обратите внимание, что пакеты в webtatic в названии содержат версию. Так что если захотите, то можете ставить, например, не php56*, а php55*.

ОК, с проблемой установки свежего php на голый сервер мы разобрались выше. Но ситуация немного усложняется, если у вас уже стоит php 5.3 из дефолтного репозитория. И вы хотите, не удаляя php, обновить его версию до php 5.6.

Стоп! А почему бы собственно сначала не удалить старый через yum remove? А потому что при удалении дефолтного php — у вас удалятся зависимые от него пакеты, типа phpMyAdmin. Нам этого не надо, поэтому действуем так:

rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm yum install -y yum-plugin-replace yum replace php-common --replace-with=php56w-common

В процессе установки вас могут напугать чем-то таким:WARNING: Unable to resolve all providers: ['config(php-common)', 'curl.so', 'fileinfo.so', 'json.so', 'phar.so', 'zip.so', 'config(php-mbstring)', 'mbstring.so', 'bcmath.so', 'config(php-bcmath)', 'config(php-pdo)', 'pdo.so', 'pdo_sqlite.so', 'sqlite3.so', 'config(php-mysql)', 'mysql.so', 'mysqli.so', 'pdo_mysql.so', 'config(php-process)', 'posix.so', 'sysvmsg.so', 'sysvsem.so', 'sysvshm.so', 'config(php-xml)', 'dom.so', 'wddx.so', 'xmlreader.so', 'xmlwriter.so', 'xsl.so', 'config(php-gd)', 'gd.so', 'config(php-tidy)', 'tidy.so', 'config(php)', 'libphp5.so']This may be normal depending on the package. Continue? [y/N]

Не бойтесь, это вас предупреждают, что могут быть проблемы с зависимыми расширениями. Но далее вы увидите, что умный yum-plugin-replace переставит сам все существующие библиотеки (удалив старые и поставив аналогичные новые). Соглашайтесь смелее! Проблем с расширениями при переезде с php 5.3 на php 5.6 не будет (за переезд на php 7.0 — не ручаюсь).

После обновления рекомендую доставить новомодный opcache (в 5.3 его не было, поэтому автоматически пакет не заменится). Делается это так:

yum install -y php56w-opcache

Также обратите внимание, что при установке новых версий php будут сохранены старые существующие конфигурационные файлы. Например, /etc/php.ini останется старый, а новый (из пакета php 5.6) будет записан в /etc/php.ini.rpmnew. Соответственно, если вам хочется, чтобы у вас был новый дефолтный конфиг, то можно сделать как-то так (забэкапив предварительно старый конфиг, при надобности):

echo /etc/php.ini.rpmnew > /etc/php.ini

webdevil.ru

CentOS: установка Linux, Apache, MySQL, PHP (LAMP)

Продолжаем цикл статей по настройке вашего Linux сервера, начатой в посте Linux: Мои первые 15 минут на сервере

Сегодня поговорим о разворачивании Linux, Apache, MySQL, PHP или если говорить короче — LAMP.

Так как мы «ленивые» администраторы, то мы будем использовать только готовыми репозитариями — никакого сборного софта, make-ов и т.п.

Я предпочитаю  писать проекты под относительно последние версии софта.Для этого подключаю Remi репозитарий:

rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

«Frond end» для web у меня выступает nginx, естественно подключаем и его официальный репозитарий.

rpm -Uvh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm

Маленькое лирическое отступление…

Если так получилось, что вам необходимо мигрировать с другого сервера, то можно собрать список подключенных репозитариев и пакетов, и развернуть их на новом сервере. Примерно так я и делал. Через регулярное выражение, я выдернул список пакетов с нужными мне демонами и развернул на новом сервере:

yum list installed| egrep "mysql|php|httpd|nginx|memcach" | awk {'print $1'}

Перед началом установки я запросил свободное место:

[@develop /]# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/vda 20642428 1262624 18331228 7% / none 251228 0 251228 0% /

  • Шаг первый — установка Apache:
yum --enablerepo=remi install httpd httpd-devel httpd-manual.noarch httpd-tools

  • Шаг второй — установка MySQL:

MySQL является стандартной системой управления базами данных, используется практически повсеместно, web проекты в этом списке, также не являются исключением.

yum --enablerepo=remi install mysql mysql-bench mysql-connector-java.noarch compat-mysql51 mysql-connector-odbc mysql-devel mysql-embedded mysql-embedded-devel mysql-libs mysql-server mysql-test

  • Шаг третий — установка PHP и модулей:

Устанавливаем непосредственно язык программирования и множество полезных библиотек и модулей, в частности для работы с базой данных, графикой, snmp, memcache и geoip

yum --enablerepo=remi install php php-bcmath php-cli php-common php-dba php-devel php-embedded php-enchant php-gd php-imap php-intl php-ldap php-mbstring yum --enablerepo=remi install php-mcrypt php-mysql php-odbc php-pdo php-pear.noarch php-pecl-geoip php-pecl-igbinary php-pecl-memcache php-pecl-memcached php-pgsql yum --enablerepo=remi install php-process php-pspell php-recode php-snmp php-soap php-tidy php-xml php-xmlrpc

  • Шаг четвертый — установка nginx:
yum --enablerepo=remi install nginx

  • Шаг пятый — установка необходимых расширений

В моем случае это кешер — memcached и определение пользователей по IP — geoip.

yum --enablerepo=remi install libmemcached libmemcached-devel yum --enablerepo=remi install memcached memcached-devel php-pecl-memcache php-pecl-memcached python-memcached yum --enablerepo=remi install mod_geoip php-pecl-geoip

 

После установки, объем диска получился следующим:

[root@develop /]# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/vda 20642428 1918760 17675092 10% / none 251228 0 251228 0% /dev/shm

 

Как видно, прирос по месту не такой уж и большой. Если брать безлимитный интернет канал, вся установка у вас займет примерно 10 минут.В следующий раз мы поговорим непосредственно о настройке установленных выше демонов.

Вы можете оставить комментарий ниже.

shurshun.ru

Установка PHP 5.4/PHP 5.5/PHP 5.6 на CentOS/RedHat/Fedora

В своей теме «Установка PHP 5.4/PHP 5.5/PHP 5.6 на CentOS/RedHat/Fedora» хочу рассказать как можно поставить себе на сервер PHP 5.4 или PHP 5.5 или PHP 5.6 на CentOS, RedHat, Fedora. Информация проверялась на моей тестовой машине CentOS 6 и 7.

Первое что необходимо сделать, так это подключить репозиторий EPEL, для этого у меня есть написанная статья:

Как включить EPEL репозиторий на CentOS

Чтобы начать установку PHP5.4, PHP5.5 или PHP5.6 стоит добавить еще один репозиторий:

Включить webtatic репозиторий на CentOS

Далее, выбираем необходимую версию для установки и следуем моим инструкциям.

Установка PHP 5.4 на CentOS/RedHat/Fedora

Для того чтобы установить PHP, используйте команду:

# yum install php54w

Если вы хотели бы обновить PHP до этой версии рекомендуется проверить поддержку для вашей системы и убедиться что она будет поддерживать обновление.

Если вы не знаете, что вы делаете, это рискованная модернизации существующей системы. Гораздо безопаснее выполнить инициализацию на отдельном сервере и посмотреть работу.

Если вы знаете, что вы делаете, вы можете обновить PHP по данной команде:

# yum install yum-plugin-replace

и

#yum replace php-common --replace-with=php54w-common

Скорей всего, выдаст вам сообщение «WARNING: Unable to resolve all providers …». Это нормально, и вы можете продолжать, нажав «Y». Вам будет предоставлена возможность увидеть, какие пакеты будут установлены и удалены и у вас будет шанс отметить все или нажать «y» для продолжения.

Установка Opcode Caches

Скомпилированных пакет APC для PHP доступен в качестве кэш-памяти, которая рекомендуется для повышения производительности. Он может быть установлен с помощью:

# yum install php54w-pecl-apc

Zend уже выпустили Zend Optimizer Plus opcode cache с открытым исходным кодом, и в настоящее время известен как Zend OPcache. Он более активно поддерживается чем APC и его можно установить с помощью:

# yum install php54w-pecl-zendopcache

Так же, возможно вам пригодятся следующие модули:

# yum install php54w-common php54w-cli php54w-devel php54w-gd php54w-mbstring php54w-mcrypt php54w-mysql php54w-odbc php54w-pdo php54w-soap php54w-tidy php54w-xml php54w-xmlrpc

Установка PHP 5.5 на CentOS/RedHat/Fedora

я установлю PHP 5.5 с поддержкой opcode cache , выполнив:

# yum install php55w php55w-opcache

Если вы хотели бы обновить PHP до этой версии рекомендуется проверить поддержку для вашей системы и убедиться что она будет поддерживать обновление.

Если вы не знаете, что вы делаете, это рискованная модернизации существующей системы. Гораздо безопаснее выполнить инициализацию на отдельном сервере и посмотреть работу.

Если вы знаете, что вы делаете, вы можете обновить PHP по данной команде:

# yum install yum-plugin-replace

и

# yum replace php-common --replace-with=php55w-common

Скорей всего, выдаст вам сообщение «WARNING: Unable to resolve all providers …». Это нормально, и вы можете продолжать, нажав «Y». Вам будет предоставлена возможность увидеть, какие пакеты будут установлены и удалены и у вас будет шанс отметить все или нажать «y» для продолжения.

Так же, возможно вам пригодятся следующие модули:

# yum install php55w-cli php55w-common php55w-dba php55w-devel php55w-gd php55w-mbstring php55w-mcrypt php55w-mysql php55w-odbc php55w-pdo php55w-soap php55w-tidy php55w-xml php55w-xmlrpc

Установка PHP 5.6 на CentOS/RedHat/Fedora

я установлю PHP 5.6 с поддержкой opcode cache , выполнив:

# yum install php56w php56w-opcache

PS: на CentOS 5 не проверялось, работет на CentOS 6/7.

Если вы хотели бы обновить PHP до этой версии рекомендуется проверить поддержку для вашей системы и убедиться что она будет поддерживать обновление.

Если вы не знаете, что вы делаете, это рискованная модернизации существующей системы. Гораздо безопаснее выполнить инициализацию на отдельном сервере и посмотреть работу.

Если вы знаете, что вы делаете, вы можете обновить PHP по данной команде:

# yum install yum-plugin-replace

и

# yum replace php-common --replace-with=php56w-common

Скорей всего, выдаст вам сообщение «WARNING: Unable to resolve all providers …». Это нормально, и вы можете продолжать, нажав «Y». Вам будет предоставлена возможность увидеть, какие пакеты будут установлены и удалены и у вас будет шанс отметить все или нажать «y» для продолжения.

Так же, возможно вам пригодятся следующие модули:

# yum install php56w-bcmath php56w-cli php56w-common php56w-dba php56w-devel php56w-gd php56w-mbstring php56w-mcrypt php56w-mysql php56w-pdo php56w-pear php56w-pecl-apcu php56w-soap php56w-tidy php56w-xml php56w-xmlrpc

Установка PHP 7.0 на CentOS/RedHat/Fedora

я установлю PHP 5.6 с поддержкой opcode cache , выполнив:

# yum install --enablerepo=webtatic-testing php70w php70w-opcache

Эта команда установит mod_php SAPI для PHP, однако есть и другие, такие как PHP-FPM и его можно установить используя пакет php70w-fpm.

PS: на CentOS 5 не проверялось, работет на CentOS 6/7.

Если вы хотели бы обновить PHP до этой версии рекомендуется проверить поддержку для вашей системы и убедиться что она будет поддерживать обновление.

Если вы не знаете, что вы делаете, это рискованная модернизации существующей системы. Гораздо безопаснее выполнить инициализацию на отдельном сервере и посмотреть работу.

Если вы знаете, что вы делаете, вы можете обновить PHP по данной команде:

#yum install yum-plugin-replace

и

# yum replace --enablerepo=webtatic-testing php-common --replace-with=php70w-common

Скорей всего, выдаст вам сообщение «WARNING: Unable to resolve all providers …». Это нормально, и вы можете продолжать, нажав «Y». Вам будет предоставлена возможность увидеть, какие пакеты будут установлены и удалены и у вас будет шанс отметить все или нажать «y» для продолжения.

ВНИМАЕНИЕ! Данная версия PHP находиться в разработке и на момент написание статьи я ставил в качестве ознакомления.

Так же, возможно вам пригодятся следующие модули:

# yum install php70w-bcmath php70w-cli php70w-common php70w-dba php70w-devel php70w-gd php70w-mbstring php70w-mcrypt php70w-mysql php70w-odbc php70w-pdo php70w-pdo_dblib php70w-soap php70w-tidy php70w-xml php70w-xmlrpc

На этом, тема «Установка PHP 5.4/PHP 5.5/PHP 5.6 на CentOS/RedHat/Fedora» завершена.

linux-notes.org