Из-за обновления Ubuntu я сделал ошибку, чтобы обновить Apache 2.2 до 2.4 - многие вещи пошли не так.
Понятия не имею как указать версию после apt-get remove apache2
. apt-get install apache2
всегда устанавливает 2.4.
Как я могу это сделать?
apache-2.2
ubuntu
apache-2.4
Mithril
источник
источник
Как установить Apache 2.2 в дистрибутив Ubuntu, в котором его нет в репозиториях.
Требования
Для этого вам нужно установить пакет build-essentials.
Чтобы дать Apache возможность сжимать вывод в браузерах, которые его поддерживают, вам нужно установить zlib. Загрузите текущий выпуск с zlip Hompage (zlib-1.2.11.tar.gz на момент написания), распакуйте его, перейдите к извлеченной папке, соберите и установите.
Установите Apache 2.2
Загрузите текущую версию со страницы загрузки Apache (httpd-2.2.32.tar.gz на момент написания), распакуйте ее, перейдите к извлеченной папке, соберите и установите.
Запустите Apache:
Проверьте, все ли в порядке
Перейдите на http: // localhost в вашем браузере, где вы должны увидеть сообщение «Это работает!».
В качестве альтернативы вы можете сделать это через терминал:
Который должен выводить что-то вроде этого в терминале:
Создать «сервис» для Apache2
Подсказка: теперь вы можете вызвать apachectl с помощью службы sudo apache22 .
Заставить Apache запускаться во время загрузки
Безопасный Apache
Проверьте новые настройки
Если вывод терминала последней команды показывает несколько строк, начинающихся с «apache», то все в порядке.
Настройте свой сайт (ы)
Если вы хотите настроить Apache только для одного сайта, просто отредактируйте httpd.conf
Основные параметры, которые вы можете изменить:
Если вы хотите настроить более одного сайта, загляните на httpd-vhosts.conf
Вам нужно будет добавить раздел <Directory> с <VirtualHost>, аналогичным указанному выше, но для корневого каталога документа VitualHost. Например:
источник
/etc/init.d/apache2
файл с совершенно другим содержанием.sudo service apachectl stop
не останавливает службу.Смотрите руководство по Ubuntu по закреплению пакетов :
Редактировать файл
/etc/apt/preferences
В файле «предпочтений» происходит фактическое закрепление. Чтобы закрепить пакет, установите для него более высокий номер. Вот пример:
Тест перед запуском
apt-get update
илиapt-get install
сapt-cache policy apache2
Смотрите
man apt_preferences
подробности. Я выбралraring
выпуск пиннинга , потому что таким образом вы все равно будете получать обновления в ветке 2.2.x. Не забывайте, что вы должны сделать пакет доступным для APT, добавивraring
URL-адреса хранилища.Обновление :
Как
raring
и EOL, вы можете использовать все еще поддерживаемыеprecise
или архивныеraring
пакеты с http://old-releases.ubuntu.com .Использование этого как
/etc/apt/sources.list.d/raring.list
позволит вам установить более старые пакеты:источник
raring
. Конечно, если вы хотите использоватьprecise
версию,/etc/apt/preferences
должны быть изменены соответственно.Для установки apache2.2 используйте следующий процесс:
В более позднем дистрибутиве (например, 16.04) я скачал 2.2.31 с сайта Apache.
Я построил его, используя следующую конфигурацию:
Затем, конечно, настроить файлы httpd.conf и ssl.conf.
После этого я просто запускаю ./httpd -k start
И это работает!
обратите внимание, что я добавил apache2.4 через apt-get, но никогда не удалял его. Это означает, что после запуска системы мне нужно завершить процесс apache2. И тогда я могу запустить apache2.2. Я должен был установить apache2.4, чтобы использовать apachectl, но позже отменил это, потому что я использую ./httpd
источник
Вы обновились с Ubuntu 13.04 до 13.10? Невозможно вернуть Apache 2.2, не выходя за пределы репозиториев пакетов Ubuntu. Лучше просто исправить конфигурацию Apache, чтобы она работала с 2.4.
источник