Как известно, обычными средствами поставить php 5.3 на Ubuntu 14.04 невозможно, т.к. ставиться последняя версия php 5.5. Но что делать, если старые сайты, еще написанные под php 5.3, необходимо запустить на новой системе?
Ниже привожу пошаговое руководство как установить php 5.3 на свеже-установленную систему. Все написанное ниже было проверенно на свеже-установленной Ubuntu 14.04 minimal.
Для начала устанавливаем локацию, чтобы избежать последующих ошибок:
Далее обновляем список пакетов и обновляем все установленные пакеты до последних доступных версий:
Проверяем, не установлен ли apache или php:
Если что-то установлено - сносим:
Подменяем репозиторий Ubuntu 14.04 на репозиторий Ubuntu 12.04 с trusty на precise
Еще раз обновляем список пакетов:
Устанавливаем php 5.3 и apache2. Если Вам нужны какие-то дополнительные модули PHP устанавливать их следует на этом же этапе:
При возврате обратно списка репозиториев и обновлении списка пакетов, система предложит обновить установленные нами ранее нужные пакеты, соответственно, чтобы этого не произошло, - блокируем эти обновления:
Возвращаем репозиторий Ubuntu 14.04:
И еще раз обновляем список пакетов и обновляем все установленные пакеты (кроме заблокированных ранее) до последних доступных версий:
Готово!
Ниже привожу пошаговое руководство как установить php 5.3 на свеже-установленную систему. Все написанное ниже было проверенно на свеже-установленной Ubuntu 14.04 minimal.
Для начала устанавливаем локацию, чтобы избежать последующих ошибок:
# locale-gen en_US.UTF-8
Далее обновляем список пакетов и обновляем все установленные пакеты до последних доступных версий:
# apt-get update
# apt-get upgrade
Проверяем, не установлен ли apache или php:
# dpkg -l|grep apache
# dpkg -l|grep php
Если что-то установлено - сносим:
# apt-get purge [список найденных пакетов php] apache2
Подменяем репозиторий Ubuntu 14.04 на репозиторий Ubuntu 12.04 с trusty на precise
# sed -i.bak "s/trusty/precise/g" /etc/apt/sources.list
Еще раз обновляем список пакетов:
# apt-get update
Устанавливаем php 5.3 и apache2. Если Вам нужны какие-то дополнительные модули PHP устанавливать их следует на этом же этапе:
#apt-get install apache2 php5 libapache2-mod-php5 apache2-mpm-itk libapache2-mod-rpaf php-pear php5-gd php5-mysql php5-common
#apt-get install php5-sybase php5-odbc freetds-common
При возврате обратно списка репозиториев и обновлении списка пакетов, система предложит обновить установленные нами ранее нужные пакеты, соответственно, чтобы этого не произошло, - блокируем эти обновления:
# apt-mark hold libapache2-mod-php5 php-pear php5 php5-cgi php5-cli php5-common php5-gd php5-mysql php5-sybase php5-odbc freetds-common
# apt-mark hold apache2 apache2-doc apache2-mpm-itk apache2-utils apache2.2-bin apache2.2-common libapache2-mod-rpaf
Возвращаем репозиторий Ubuntu 14.04:
# sed -i.bak "s/precise/trusty/g" /etc/apt/sources.list
И еще раз обновляем список пакетов и обновляем все установленные пакеты (кроме заблокированных ранее) до последних доступных версий:
# apt-get update
# apt-get upgrade
Готово!
# php -v
PHP 5.3.10-1ubuntu3.18 with Suhosin-Patch (cli) (built: Apr 17 2015 15:11:25)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies
Спасибо тебе добрый человек. Только твоя инструкция мне помогла, самая вменяемая.
ОтветитьУдалитьЕще раз респект.
Плюсадин, спасибо большое, инструкция сработала.
ОтветитьУдалитьОтличная статья! Но мне пришлось установить явно пакет apache2.2-common. Т.е. у меня команда на установку получилась:
ОтветитьУдалитьapt-get install apache2 php5 libapache2-mod-php5 apache2-mpm-itk libapache2-mod-rpaf php-pear php5-gd php5-mysql php5-common php5-curl php5-cli apache2.2-common