Замена PHP 5.3 на PHP 5.4 на Ubuntu 12.04 LBS | |||||
|
Наверняка многие, установив 12.04, с удивлением обнаружили, что в ней живет PHP версии 5.3.х. Меня это не слишком устраивало, так как проекты я стараюсь писать на "свежей" версии языка, чтобы было поменьше проблем при обновлениях на сервере. Итак, перелопатив кучу советов и настроив-таки рабочую машину, делюсь с вами своим опытом. Не браните громко, ибо сие произведение - мой первый опыт блоготворчества :) Внимание! Если PHP 5.5 для вас не критичен, рекомендую пока воздержаться и дождаться официального пакета - я убил пол дня на обновление. В итоге, я установил PHP 5.5 только после обновления Ubuntu до 13.04. Если все желаете обновлять PHP на Ubuntu 12.10 - рекомендую удалить текущую версию PHP и Apache, а также "вычистить" все их модули вместе с конфигами. Конфиги предварительно скопируйте куда-нибудь. apt-get remove --purge php5 php5-... Важно! PHP 5.5 зависит от Apache > 2.4 (изменения в Apache 2.4). Поэтому, нужно будет после установки поправить конфиги mod_rewrite Основное изменение: Order allow,deny Allow from all >> заменить на: Require all granted В противном случае вы получите 403 Error. Обновление PHP 5.5 и Apache 2.4 Добавить репозиторий: add-apt-repository ppa:ondrej/php5 Обновить информацию о доступных пакетах и обновить их: apt-get update apt-get upgrade Установить PHP 5.5, Apache 2.4 и основные модули: apt-get install apache2 php5 libapache2-mod-php5 apache2-utils php5-curl php5-gd php5-intl php5-mcrypt php5-mysql php5-odbc php5-dev Перезагрузка системы! Примечания и рекомендации Каталог /conf.d больше не используется! Ошибка: Directory /etc/apache2/conf.d is not empty - leaving as is. Please note, that directory is considered obsolete and not read anymore by default. В Apache конфиги из каталога /etc/apache2/conf.d больше не используются - удалите его! Проблемы с зависимостями Если при установке новой версии PHP в системе возникли не разрешенные зависимости (я, например, изначально не удалил предыдущий PHP и Apache), при которых вы не можете ни установить, ни удалить пакеты - используйте: // найдите нужные пакеты dpkg -l | grep php dpkg -l | grep apache // удалите все пакеты php и apache dpkg -r package-name Установка модулей Apache 2.4 Не забудьте включить нужные вам модули, например mod_rewrite: a2enmod rewrite /etc/init.d/apache2 restart Ошибка ServerName Ошибка: AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message Нужно задать имя хоста по умолчанию в файле /etc/apache2/apache2.conf: ServerName localhost Устанавливайте параметр ServerName именно в файле apache2.conf, не в httpd.conf! Теперь все файлы сайтов в /etc/apache2/sites-available/ должны иметь расширение .conf . С расширением, конечно, правильней смотрится, но почему нельзя было оставить и предыдущий синтаксис без .conf? Переименовываю файл конфигурации моего сервера: mv /etc/apache2/sites-available/atlant.test /etc/apache2/sites-available/atlant.test.conf Если у вас много сайтов, которым нужно будет добавить расширение .conf, то вот вам команда: find /etc/apache2/sites-available/ ! -iname '*.conf' -type f -exec mv '{}' '{}'.conf \ Настройка доступа для phpMyAdmin Удалите прошлую версию phpmyadmin apt-get remove --purge phpmyadmin Добавьте репозитарий с phpmyadmin add-apt-repository ppa:nijel/phpmyadmin apt-get update apt-get install python-software-properties Обновите кэш phpmyadmin из репозитариев apt-cache policy phpmyadmin Установите phpmyadmin заново apt-get install phpmyadmin Для того что бы зайти в phpmyadmin введите в адресную строку вашего браузера: https://YOUR_IP_OR_DOMAIN/phpmyadmin Легкого Вам апдейта! ☺ |