Z powodu aktualizacji Ubuntu popełniłem błąd, aktualizując Apache 2.2 do 2.4 - wiele rzeczy poszło nie tak.
Nie mam pojęcia, jak określić wersję po apt-get remove apache2
. apt-get install apache2
zawsze instaluje 2.4.
Jak mogę to zrobić?
apache-2.2
ubuntu
apache-2.4
Mithril
źródło
źródło
Jak zainstalować Apache 2.2 na dystrybucji Ubuntu, która nie ma go w repozytoriach.
Wymagania
Aby to zrobić, musisz mieć zainstalowany pakiet niezbędny do kompilacji.
Aby dać Apache możliwość kompresji danych wyjściowych do przeglądarek, które ją obsługują, musisz zainstalować zlib. Pobierz bieżącą wersję z Zlip Hompage (zlib-1.2.11.tar.gz w chwili pisania), rozpakuj go, przejdź do wyodrębnionego folderu, skompiluj i zainstaluj.
Zainstaluj Apache 2.2
Pobierz aktualną wersję ze strony pobierania Apache (httpd-2.2.32.tar.gz w chwili pisania), rozpakuj ją, przejdź do wyodrębnionego folderu, skompiluj i zainstaluj.
Uruchom Apache:
Sprawdź, czy wszystko jest w porządku
Przejdź do http: // localhost w przeglądarce, gdzie powinieneś zobaczyć komunikat „To działa!”.
Alternatywnie możesz to zrobić przez terminal:
Który powinien wypisać coś takiego w terminalu:
Utwórz „usługę” dla Apache2
Wskazówka: możesz teraz wywołać apachectl z usługą sudo apache22 .
Uruchom Apache podczas uruchamiania
Bezpieczny Apache
Sprawdź nowe ustawienia
Jeśli wynik końcowy ostatniego polecenia pokazuje niektóre wiersze zaczynające się od „apache”, to wszystko jest w porządku.
Skonfiguruj swoje witryny
Jeśli chcesz skonfigurować apache tylko dla jednej strony, po prostu edytuj httpd.conf
Podstawowe parametry, które możesz chcieć zmodyfikować to:
Jeśli chcesz skonfigurować więcej niż jedną witrynę, zajrzyj na httpd-vhosts.conf
Będziesz musiał dodać sekcję <Directory> z <VirtualHost> podobną do powyższej, ale dla katalogu głównego VitualHost. Na przykład:
źródło
/etc/init.d/apache2
plik z radykalnie różną zawartością.sudo service apachectl stop
nie zatrzymuje usługi.Zobacz instrukcje Ubuntu na temat przypinania pakietów :
Edytuj plik
/etc/apt/preferences
Plik „preferencji” to miejsce, w którym ma miejsce faktyczne przypięcie. Aby przypiąć paczkę, ustaw jej Pin-Priority na wyższy numer. Oto przykład:
Testuj przed uruchomieniem
apt-get update
lubapt-get install
zapt-cache policy apache2
Zobacz
man apt_preferences
szczegóły. Wybrałemraring
wydanie przypinania , ponieważ w ten sposób nadal będziesz otrzymywać aktualizacje w gałęzi 2.2.x. Nie zapomnij, że musisz udostępnić pakiet APT, dodającraring
adresy URL repozytorium.Aktualizacja :
Podobnie jak w przypadku
raring
EOL, możesz użyć nadal obsługiwanychprecise
lub zarchiwizowanychraring
pakietów z http://old-releases.ubuntu.com .Korzystanie z tego
/etc/apt/sources.list.d/raring.list
pozwoli na zainstalowanie starszych pakietów:źródło
raring
. Oczywiście, jeśli chcesz korzystać zprecise
wersji,/etc/apt/preferences
musisz ją odpowiednio zmienić.Aby zainstalować apache2.2, użyj następującego procesu:
W późniejszej dystrybucji (np. 16.04) pobrałem 2.2.31 ze strony Apache.
Zbudowałem go przy użyciu następującej konfiguracji:
Potem oczywiście poprawianie plików httpd.conf i ssl.conf.
Potem po prostu uruchamiam ./httpd -k start
I to działa!
zauważ, że dodałem apache2.4 poprzez apt-get, ale nigdy go nie usunąłem. Oznacza to, że po uruchomieniu systemu muszę zabić proces Apache2. A potem mogę uruchomić apache2.2. Musiałem zainstalować apache2.4, aby używać apachectl, ale później go rozwiązałem, ponieważ używam ./httpd
źródło
Uaktualniłeś system z Ubuntu 13.04 do 13.10? Nie ma sposobu na odzyskanie Apache 2.2 bez wychodzenia poza repozytoria pakietów Ubuntu. Lepiej po prostu napraw konfigurację Apache, aby działała z 2.4.
źródło