Konfiguracja i instalacja serwera httpd Apache

82

Po raz pierwszy próbuję zainstalować serwer Apache HTTP lokalnie w moim urządzeniu jako zwykły użytkownik (inny niż root).

Pobrałem wersję serwera Apache HTTP Apache 2.4.1 [http://httpd.apache.org/download.cgi]. Jednak kiedy próbuję zbudować i zainstalować lokalnie w moim pudełku, pojawia się poniższy błąd:

httpd/httpd-2.4.1 1059> ./configure
checking for chosen layout... Apache
checking for working mkdir -p... yes
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu

Configuring Apache Portable Runtime library ...

checking for APR... no
configure: error: APR not found.  Please read the documentation.

Nie jestem pewien, jakiej zależności szuka - to znaczy, że pakiet do pobrania jej nie zawiera? Co muszę zrobić, aby zbudować / wdrożyć serwer HTTP Apache?

Z góry dziękuję.

Programista
źródło
1
@JimGarrison, więc dlaczego nie jest zamknięty / przeniesiony?
Pacerier,

Odpowiedzi:

132

Kiedy mówi, Please read documentationoznacza to, że powinieneś przeczytać dokumentację Apache ( http://httpd.apache.org/docs/2.4/install.html ), która mówi

pobierz najnowsze wersje APR i APR-Util z Apache APR , rozpakuj je do ./srclib/apr i ./srclib/apr-util (upewnij się, że nazwy domen nie mają numerów wersji; na przykład dystrybucja APR musi być pod ./srclib/apr/)

to zrób

./configure --with-included-apr
Oleg Micheev
źródło
`httpd / httpd-2.4.1 1062> ./configure --with-included-apr sprawdzanie wybranego układu ... Apache sprawdza, czy działa mkdir -p ... tak, sprawdza grep, który obsługuje długie linie i -e .. . / bin / grep unknown-linux-gnu sprawdza typ systemu docelowego ... x86_64-unknown-linux-gnu Konfigurowanie przenośnej biblioteki wykonawczej Apache ... configure: error: Żądano dołączonego APR, ale nie znaleziono go pod adresem ./srclib/. Pobierz i rozpakuj odpowiednie pakiety apr i apr-util do ./srclib/. `Którą stronę należy pobrać i gdzie mam zainstalować
Programmer,
3
Słodki sukces ... trzeba zmienić linie w Makefile: #PROGRAM_LDADD = buildmark.o $ (HTTPD_LDFLAGS) $ (PROGRAM_DEPENDENCIES) $ (PCRE_LIBS) $ (EXTRA_LIBS) $ (AP_LIBS) $ (LIBS) ----> PROGRAM_LDADD = buildmark. o $ (HTTPD_LDFLAGS) $ (PROGRAM_DEPENDENCIES) $ HOME / lib / usr / local / lib / libpcre.a $ (EXTRA_LIBS) $ (AP_LIBS) $ (LIBS)
Programista
8
Zwróć uwagę, że ./srcliboznacza srclibkatalog wewnątrz twojego httpd-xxxkatalogu
HaoQi Li
20
Dlaczego po prostu tego nie dołączą? Wydaje się, że to strata czasu
David Williams
1
Czy jest jakaś korzyść z zainstalowania wcześniej apr i apr-util jako niezależnych pakietów zamiast po prostu dołączania ich źródła do Apache?
Zeeshan
38

W przypadku Ubuntu 11.10 ta opcja wydaje się działać dobrze:

 # APR

wget http://mirrors.axint.net/apache//apr/apr-1.4.6.tar.gz

tar -xvzf apr-1.4.6.tar.gz

cd apr-1.4.6/

./configure

make

make install

cd ..

# APR Utils

wget http://mirrors.axint.net/apache//apr/apr-util-1.4.1.tar.gz

tar -xvzf apr-util-1.4.1.tar.gz

cd apr-util-1.4.1

./configure --with-apr=/usr/local/apr

make

make install

cd ..

# Apache

wget http://apache.petsads.us//httpd/httpd-2.4.1.tar.gz

tar -xvzf httpd-2.4.1.tar.gz

cd httpd-2.4.1

./configure --enable-file-cache --enable-cache --enable-disk-cache --enable-mem-cache --enable-deflate --enable-expires --enable-headers --enable-usertrack --enable-ssl --enable-cgi --enable-vhost-alias --enable-rewrite --enable-so --with-apr=/usr/local/apr/

make

make install

cd ..

Więcej na ten temat znajdziesz poniżej

Źródło: VaporCreations.com

VaporCreations
źródło
jeśli nie jesteś użytkownikiem root, musisz poprzedzić „sudo” w wywołaniach „make install”
Paul Gregoire,
Dzięki. Brakowało mi kilku parametrów ./configure
Sean the Bean
Po make installtym, jak uruchomić usługę httpd w Red Hat Enterprise Linux Server w wersji 7.4 (Maipo)?
Chaminda Bandara
26

Jeśli masz Debiana / Ubuntu, możesz po prostu:

apt-get install libapr1-dev libaprutil1-dev

Następnie ./configure

Gotowe

krewetka
źródło
to pomoże mi dla użytkowników ubuntu
haidarvm
20

Oto kroki, jak zainstalowałem apache-httpd na użytkownikach innych niż root:

  1. Pobierz i rozpakuj apache-httpd-2.4.2 (ale przed ./configuring, tworzeniem i instalacją, wykonaj poniższe czynności :)
  2. Pobierz i rozpakuj APR i APR-UTIL do folderów „./srclib/apr” & ”./srclib/apr-util”. Wymaga to ./configure --with-apr =. / Apache / httpd-2.4.2 / srclib / apr (i) --with-included-apr (opcje).
  3. Pobierz, wypakuj, ./configure (z) --prefix = localURL, utwórz i zainstaluj PCRE w folderze "./pcre". Wymaga to ./configure --with-pcre = / home / username / apache / pcre (opcja).
  4. Skonfiguruj apache-httpd, wprowadzając następujące polecenie (lubię włączyć pewne opcje, jak napisano w poniższym poleceniu): ./configure --enable-file-cache --enable-cache --enable-disk-cache --enable-mem -cache --enable-deflate --enable-expires --enable-headers --enable-usertrack --enable-cgi --enable-vhost-alias --enable-rewrite --enable-so --with-apr = /home/username/apache/httpd-2.4.2/srclib/apr --prefix = / home / username / apache / httpd-2.4.2 / --with-included-apr --with-pcre = / home / username / apache / pcre Uwaga: Podczas konfigurowania apache-httpd, użyj opcji "--enable-ssl" TYLKO jeśli OpenSSL jest zainstalowany, w przeciwnym razie NIE włączaj go.
  5. Teraz w wierszu poleceń wprowadź polecenie „make” i „make install”.
  6. Otwórz i skonfiguruj plik „httpd.conf”, np .: „vi /home/eddie_kumar/apache/httpd-2.4.2/conf/httpd.conf”

WAŻNE : nie zapomnij zmienić domyślnego portu z 80 na inny, np. 8080, jest to szczególnie ważne dla użytkownika innego niż root. (Jak to zrobić? Otwórz httpd.conf -> wyszukaj „Listen 80” -> zmień na „Listen 8080”.

I to wszystko, teraz otwórz przeglądarkę i wpisz "localhost: 8080 ", powinna wyświetlić "Działa!".

Eddie
źródło
Jeśli jesteś użytkownikiem Debiana, po prostu zrób „apt-get install libpcre3-dev”
Reza S,
Po make installtym, jak uruchomić usługę httpd w Red Hat Enterprise Linux Server w wersji 7.4 (Maipo)?
Chaminda Bandara
3

Jeśli używasz fedory, możesz użyć yum do zainstalowania APR, APR-Util i PCRE . Musisz także pobrać apr-devel, apr-util-devel i pcre-devel.

Mając to na uwadze, możesz po prostu uruchomić następujące polecenie na swoim terminalu i nie będzie już żadnych błędówconfigure: błąd: nie znaleziono APR .. ..APR-Util i PCRE ”.

yum -y install arp apr-devel apr-util apr-util-devel pcre pcre-devel 

Używam Fedory 17 i planuję użyć skryptu powłoki do skonfigurowania Apache 2.4.3. Tak więc yum działa całkiem sprawnie zamiast ręcznie pobierać apr, apr-util i pcre.

sajinshrestha
źródło
Fantastyczny! Nie jest jasne, że potrzebujesz wersji -devel. To najlepsza odpowiedź, jeśli jesteś fedorą, redhatem lub instancją amazon ec2 AWS, która jest redhat.
srock,
1

1, potrzebujesz APR (przenośnego środowiska uruchomieniowego apache), który jest podstawowym elementem serwera WWW Apache

2, jeśli chcesz dokonać instalacji, możesz potrzebować konta root

3, nawet jeśli nie, apache nie może rozpocząć nasłuchiwania na nieuprzywilejowanym porcie (niższym niż 1024) bez konta root

4, zdobądź roota lub poproś kogoś z rootem o zainstalowanie Apache z oficjalnego repozytorium (nie wiem, którą dystrybucję uruchomisz), np. Używając yum, apt-get, itp.

rkosegi
źródło
0

Błędy związane z apache lub pcre wymagają pobrania źródła, a proces „konfiguracji” Apache HTTPD musi być świadomy lokalizacji tych źródeł w systemie plików. Na przykład: jeśli pobrałeś źródło APR pod adresem ./srclib (względem apache httpd), użyjesz
--with-included-apr
jako opcji konfiguracji.

Z drugiej strony, jeśli nie chcesz budować, ale zainstalować APR / APR-UTIL, potrzebujesz następujących na CentOS / RedHat:
yum install apr-util-devel apr-devel
Jednak może się tak zdarzyć, że wersja APR dostarczona przez yum nie odpowiada oczekiwaniom tej wersji serwera httpd serwera Apache. W takim przypadku możesz pobrać APR i APR-UTIL i użyć opcji --with-included-apr.

Możesz także zbudować PCRE przy użyciu tego samego procesu „konfiguruj, wykonaj, wykonaj instalację”, a następnie kontynuuj od miejsca, w którym przerwałeś budowanie serwera httpd Apache.
Lub możesz zainstalować pcre: yum install pcre-devel

Jeśli podczas budowania PCRE: widzisz „compile: unrecognized option”, być może będziesz potrzebować również innych zależności: Zobacz szczegóły na:
http://khanna111.com/wordPressBlog/2012/09/11/94087-2/
It obejmuje także "mod_deflate" i "zlib".

Khanna111
źródło
0

Podstawowe kroki

tar -xvf httpd-2.4.1-customized.tar -C ../
#Balancer folder will be created
tar -xvzf openssl-1.0.1.tar.gz  -C /balancer/
cd ->/balancer/openssl-1.0.1
./config --prefix=/usr/local/ssl/ shared zlib-dynamic enable-camellia
make depend
make
make install
tar -xvzf pcre-8.30.tar.gz -C ../balancer/

/balancer/pcre-8.30
./configure  --prefix=/usr/local/pcre/
make
make install

usuń pcre i openssl

Harsimranjit Singh Kler
źródło
0

Instalowanie i kompilowanie serwera Apache na komputerze Ubuntu

krok 1: zainstaluj Java JDK

sudo apt install openjdk-11-jdk

sudo gedit /etc/environment

JAVA_HOME="/usr/lib/jvm/openjdk-11"

source /etc/environment

echo $JAVA_HOME

sprawdź wersję java

javac --version

**** zainstaluj Inne wymagane pakiety: **

  sudo apt-get install apache2-dev -y 

sudo apt-get install libpcre3 libpcre3-dev

Krok 2: Aby zainstalować serwer Apache HTTP

# 1 W przypadku systemu ubuntu zainstaluj narzędzia programistyczne, w tym kompilator C:

sudo apt-get install build-essential checkinstall

# 2 Pobierz i rozpakuj wymagane pliki

zakładając, że wszystkie pliki zostały pobrane do katalogu ~ / Downloads

Pobierz serwer HTTP Apache httpd-2.4.41.tar.gz ze strony pobierania Apache ( https://httpd.apache.org/download.cgi )

oraz następujące biblioteki wymagane do kompilacji serwera HTTP Apache:

**** Przeczytaj sekcję dotyczącą wymagań ( http://httpd.apache.org/docs/2.4/install.html ) ***

# 3 Rozpakuj pliki tar

  • tar -xvf httpd-2.4.41.tar.gz
  • tar -xvf apr-1.7.0.tar.gz
  • tar -xvf apr-util-1.6.1.tar.gz
  • tar -xvf pcre2-10.34.tar.gz

po rozpakowaniu powinieneś zobaczyć następującą listę katalogów w ~ / Downloads

  • httpd-2.4.41
  • kwi-1.7.0
  • apr-util-1.6.1
  • pcre2-10.34

# 4 Utwórz katalog dla serwera HTTP Apache

* upewnij się, że nadałeś wszystkie prawa do tego katalogu, aby podczas kompilacji pliki mogły być odczytywane / zapisywane

 sudo mkdir /home{your username here}/apache

Aby nadać wszystkie uprawnienia do katalogu Apache:

sudo chmod -R 777 /home{your username here}/apache

# 5 skopiuj katalogi arp i arp-util do ~ / Downloads / httpd-2.4.41 / srclib /

cd ~/Downloads

mv  apr-util-1.6.1  ~/Downloads/httpd-2.4.41/srclib/apr-util

 mv  apr-1.7.0  ~/Downloads/httpd-2.4.41/srclib/apr

# 6 Skonfiguruj źródła do kompilacji. Opcji --prefix można użyć do zainstalowania serwera WWW w miejscu, w którym można zapisywać pliki.

cd ~/Downloads/httpd-2.4.41/


./configure  --prefix=/home/{username here}/apache --with-pcre=~/Downloads/pcre2-10.34

UWAGA: Jeśli masz problemy z uruchomieniem powyższego polecenia, możesz również spróbować

instalowanie pcre w / usr / local / pcre przy użyciu

./configure --prefix = / usr / local / pcre make sudo make install

polecenia, a następnie uruchamiając następujące polecenia:

   cd ~/Downloads/httpd-2.4.41/

./configure --prefix = / home / {tutaj nazwa użytkownika} / apache --with-pcre = / usr / local / pcre

robić

  sudo make install

Jeśli nadal masz problemy, upewnij się, że ~ / apache i jego zagnieżdżony katalog mają uprawnienia do odczytu / zapisu. jeśli nie, uruchom **sudo chmod -R 777 /home{your username here}/apache**ponownie polecenie.

# 7 Skompiluj serwer HTTP Apache.

cd ~/Downloads/httpd-2.2.25

sudo make

# 8 Zainstaluj serwer Apache HTTP.

cd ~/Downloads/httpd-2.2.25

sudo make install

Opcjonalny numer 9, aby przygotować plik hostów

sudo gedit /etc/hosts

27.0.0.1 localhost www.example.com

sudo gedit /home/{your username here}/apache/conf/httpd.conf

i skopiuj:

Listen 8000

ServerName www.example.com:8000

# 10 Przetestuj instalację, aby upewnić się, że serwer Apache HTTP Server działa.

/home/{your username here}//apache/bin/apachectl -k start
rafiquenazir
źródło