Существует тонна ресурсов, для которых ни один из них не полезен о том, как установить Apache 2.2 от Точного (12.04) на надежном человеке человечности (14.04).
Может кто-то помогать с подробным ответом того, как установить Apache 2.2 на Ubuntu 14.04.
Когда я делаю способный кэш, там не Apache 2.2.
Когда я добавляю источники, я затем получаю Apache 2.2, но пытающийся установить, который не работает.
Зависимости Apache 2.2 полагаются apache2.2-common
который полагается apache2.2-bin
.
Таким образом, я пытался установить apache2.2-bin
--> apache2.2-common
--> apache2-mpm-worker
затем apache2={version}
.
Но каждый раз после установки это говорит мне, что перестало работать. То, когда я перезапускаю его, говорит мне, что это перестало работать, и это не могло считать что-то из конфигурационного файла, потому что это отсутствовало.
Заранее спасибо.
Мне удалось установить его, выполнив следующую команду.
sudo apt-get install apache2=2.2.22-1ubuntu1.7 apache2.2-common=2.2.22-1ubuntu1.7 apache2.2-bin=2.2.22-1ubuntu1.7 apache2-mpm-worker=2.2.22-1ubuntu1.7
Благодаря этому вопросу здесь
Обновление: Похоже, 2.2.22-1ubuntu1.7 больше не существует. Пожалуйста, попробуйте использовать 2.2.22-1ubuntu1.10
С моим первоначальным вопросом я с тех пор обнаружил исходную проблему во время перехода на более раннюю версию, поэтому с тех пор больше не изучал эту проблему.
По состоянию на февраль 2019 года для установки Apache 2.2 на Ubuntu 14.04 я сделал следующее:
Добавить старые репозитории в sources.list:
deb http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiverse
deb-src http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ raring-updates main restricted universe multiverse
deb-src http://old-releases.ubuntu.com/ubuntu/ raring-updates main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ raring-backports main restricted universe multiverse
deb-src http://old-releases.ubuntu.com/ubuntu/ raring-backports main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ raring-proposed main restricted universe multiverse
deb-src http://old-releases.ubuntu.com/ubuntu/ raring-proposed main restricted universe multiverse
Использовал команду «apt-cache Мэдисон ^ apache2 | grep "2.22", чтобы найти соответствующие сведения о версии
Затем
apt install apache2.2=2.2.22-6ubuntu5.1 apache2-mpm-worker=2.2.22-6ubuntu5.1 apache2.2-common=2.2.22-6ubuntu5.1
Закомментировал недоступные модули и пошел дальше. Отмечу, что некоторые модули нужно было установить - их помогла найти apt-cache madison ^ libapache2. Также у меня проблемы с authz - вероятно, потому, что я не запускал чистую конфигурацию.
Как установить Apache 2.2 в дистрибутив Ubuntu, в репозиториях которого его нет.
Требования
Для этого вам необходимо установить пакет build-essentials.
~# sudo apt-get install build-essential
Чтобы дать Apache возможность для сжатия вывода в поддерживающие его браузеры необходимо установить zlib. Загрузите текущий выпуск с домашней страницы zlip (zlib-1.2.11.tar.gz на момент написания), распакуйте его, перейдите в извлеченную папку, выполните сборку и установку.
wget http://www.zlib.net/zlib-1.2.11.tar.gz
tar -xvf zlib-1.2.11.tar.gz
cd zlib-1.2.11/
./configure --prefix=/usr/local
make
sudo make install
Установите Apache 2.2
Загрузите текущую версию со страницы загрузки Apache (httpd-2.2.32.tar.gz на момент написания), извлеките ее, перейдите в извлеченную папку, соберите и установите.
wget http://www-eu.apache.org/dist/httpd/httpd-2.2.32.tar.gz
tar -xvf httpd-2.2.32.tar.gz
cd httpd-2.2.32/
./configure --prefix=/usr/local/apache2 --enable-mods-shared=all --enable-deflate --enable-proxy --enable-proxy-balancer --enable-proxy-http
make
sudo make install
Начать Apache:
sudo /usr/local/apache2/bin/apachectl start
Проверьте, все ли в порядке
Перейдите к http: // localhost в своем браузере, где вы должны увидеть сообщение «Это работает!».
Или вы можно сделать это через терминал:
wget -qO- http://localhost | grep "It works!"
Что должно вывести в терминале что-то вроде этого:
<html><body><h1>It works!</h1></body></html>
Запустить Apache во время загрузки
sudo cp /usr/local/apache2/bin/apachectl /etc/init.d/apachectl
sudo chmod +x /etc/init.d/apachectl
sudo sed -i '2i #\n### BEGIN INIT INFO\n# Provides: apache2\n# Required-Start: $remote_fs\n# Required-Stop: $remote_fs\n# Default-Start: 2 3 4 5\n# Default-Stop: 0 1 6\n# Description: apache2\n# Short-Description: The Apache webserver\n### END INIT INFO' /etc/init.d/apachectl
sudo /usr/sbin/update-rc.d apachectl defaults
Подсказка: теперь вы можете вызвать apachectl с помощью sudo service apachectl .
Secure Apache
sudo service apachectl stop
sudo adduser --system apache
sed -i -e 's/User daemon/User apache/g' /usr/local/apache2/conf/httpd.conf
sed -i -e 's/Group daemon/Group nogroup/g' /usr/local/apache2/conf/httpd.conf
sudo service apachectl start
Проверить новые настройки
ps -aux | grep httpd
Если в выводе терминала последней команды отображаются некоторые строки, начинающиеся с «apache», то все в порядке.
Настройте свой сайт (сайты)
Если вы хотите настроить свой apache f или только один сайт, просто отредактируйте httpd.conf
nano /usr/local/apache2/conf/httpd.conf
. Основные параметры, которые вы можете захотеть изменить:
ServerName www.example.com:80
DocumentRoot "/usr/local/apache2/htdocs"
<Directory "/usr/local/apache2/htdocs">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Если вы хотите настроить более одного сайта, посмотрите httpd-vhosts.conf
nano /usr/local/apache2/conf/extra/httpd-vhosts.conf
Вы необходимо будет добавить раздел
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "/usr/local/apache2/docs/dummy-host.example.com"
ServerName dummy-host.example.com
ServerAlias www.dummy-host.example.com
ErrorLog "logs/dummy-host.example.com-error_log"
CustomLog "logs/dummy-host.example.com-access_log" common
<Directory "/usr/local/apache2/docs/dummy-host.example.com">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Установить новый zlib:
wget http: //www.zlib .net / zlib-1.2.11.tar.gz
tar -xvf zlib-1.2.11.tar.gz
компакт-диск zlib-1.2.11 /
./configure --prefix = / usr / local
сделать
sudo make install
Установите apache 2.2.34:
wget http://archive.apache.org/dist/httpd/httpd-2.2.34.tar.gz
tar -xvf httpd-2.2.34.tar.gz
cd httpd-2.2.34 /
./configure --prefix = / usr / local / apache2 --enable-mods-shared = all --enable-deflate --enable-proxy --enable-proxy-balancer --enable-proxy-http
сделать
sudo make install
sudo / usr / local / apache2 / bin / apachectl start
Наслаждайтесь!
mod_access_compat
, чтобы ваши старые конфигурации работали должным образом. Вы хотите установить Apache 2.2, потому что некоторые синтаксисы для конфигураций изменились, начиная с Apache 2.3? В какой-то момент я сам боялся делать это, но, честно говоря, довольно просто изменить конфигурацию со старой на новую , как описано здесь, на официальном сайте Apache .
Но если у вас просто нет время - или вам это не совсем удобно - тогда попробуйте использовать модуль mod_access_compat
. Как объяснено на , страница, на которую я ссылался выше :
Смешивание старых и новых директив
Смешивание старых директив, таких как
Order
,Allow
илиЗапретить
новыми, такими какRequire
, технически возможно, но не рекомендуется.mod_access_compat
был создан для поддержки конфигураций, содержащих только старые директивы для облегчения обновления 2.4. Пожалуйста, ознакомьтесь с приведенными ниже примерами, чтобы лучше понять, какие проблемы могут возникнуть.
Я бы порекомендовал установить Apache 2.4, но включить mod_access_compat
, а затем, если и когда будет доступно время, просмотреть настройки Apache иметь и «модернизировать» их, чтобы использовать параметры конфигурации, совместимые с Apache 2.4.