Introduksjon til Apache HTTPD
Apache HTTPD pakken inneholder en
åpen kildekode HTTP server. Det er nyttig for å lage lokale
intranett nettsteder eller kjøre store nettserveringsoperasjoner.
Notat
Utviklingsversjoner av BLFS kan ikke bygge eller kjøre noen
pakker riktig hvis LFS eller avhengigheter har blitt oppdatert
siden den siste stabile versjonene av bøkene.
Pakkeinformasjon
Ytterligere Nedlastinger
Apache HTTPD Avhengigheter
Påkrevd
Apr-Util-1.6.3 og pcre2-10.44
Valgfri
Brotli-1.1.0, Doxygen-1.12.0, jansson-2.14,
libxml2-2.13.4, Lua-5.4.7, Lynx-2.9.2 eller Links-2.30 eller
ELinks, nghttp2-1.63.0, OpenLDAP-2.6.8
(Apr-Util-1.6.3 må være installert med ldap
støtte), rsync-3.3.0, Berkeley
DB (deprecated), og Distcache
Installasjon av Apache HTTPD
Av sikkerhetsgrunner, å kjøre serveren som en uprivilegert bruker
og gruppe oppfordres sterkt. Opprett følgende gruppe og bruker ved
å bruke følgende kommandoer som root
:
groupadd -g 25 apache &&
useradd -c "Apache Server" -d /srv/www -g apache \
-s /bin/false -u 25 apache
Bygg og installer Apache HTTPD ved
å kjøre følgende kommandoer:
patch -Np1 -i ../httpd-2.4.62-blfs_layout-1.patch &&
sed '/dir.*CFG_PREFIX/s@^@#@' -i support/apxs.in &&
sed -e '/HTTPD_ROOT/s:${ap_prefix}:/etc/httpd:' \
-e '/SERVER_CONFIG_FILE/s:${rel_sysconfdir}/::' \
-e '/AP_TYPES_CONFIG_FILE/s:${rel_sysconfdir}/::' \
-i configure &&
sed -e '/encoding.h/a # include <libxml/xmlstring.h>' \
-i modules/filters/mod_xml2enc.c &&
./configure --enable-authnz-fcgi \
--enable-layout=BLFS \
--enable-mods-shared="all cgi" \
--enable-mpms-shared=all \
--enable-suexec=shared \
--with-apr=/usr/bin/apr-1-config \
--with-apr-util=/usr/bin/apu-1-config \
--with-suexec-bin=/usr/lib/httpd/suexec \
--with-suexec-caller=apache \
--with-suexec-docroot=/srv/www \
--with-suexec-logfile=/var/log/httpd/suexec.log \
--with-suexec-uidmin=100 \
--with-suexec-userdir=public_html &&
make
Denne pakken kommer ikke med en testpakke.
Nå, som root
bruker:
make install &&
mv -v /usr/sbin/suexec /usr/lib/httpd/suexec &&
chgrp apache /usr/lib/httpd/suexec &&
chmod 4754 /usr/lib/httpd/suexec &&
chown -v -R apache:apache /srv/www
Parameterforklaringer
sed
'/dir.*CFG_PREFIX/s@^@#@'...: Tvinger apxs verktøyet til å bruke absolutte banenavn
for moduler, når du blir bedt om det.
sed -e '/HTTPD_ROOT/s
...: Fikser noen stier.
sed -e '/encoding.h/a
...; Fikser bygging mot libxml-2.12.x.
--enable-authnz-fcgi
: Bygg
FastCGI autorisasjonsbasert autentisering og autorisasjon
(mod_authnz_fcgi.so fast CGI-modul).
--enable-mods-shared="all
cgi"
: Modulene bør bli kompilert og brukt som Dynamic
Shared Objects (DSOer) slik at de kan inkluderes og ekskluderes fra
serveren ved å bruke kjøretidskonfigurasjonsdirektivene.
--enable-mpms-shared=all
:
Denne bryteren sørger for at alle MPM (Multi Processing Modules) er
bygget som dynamiske delte objekter (DSOer), slik at brukeren kan
velge hvilken som skal brukes under kjøring.
--enable-suexec
: Denne
bryteren aktiverer byggingen av Apache suEXEC modulen som kan brukes til å
tillate brukere til å kjøre CGI og SSI skript under andre brukere
sine IDer enn bruker IDen av den anropende webserveren.
--with-suexec-*
: Disse
bryterne kontrollerer suEXEC modulen sin oppførsel, for eksempel
standard dokumentrot, minimal UID som kan brukes til kjøre skriptet
under suEXEC. Vær oppmerksom på at med minimal UID 100, kan du ikke
kjøre CGI eller SSI skript under suEXEC som apache
bruker.
...
/usr/lib/httpd/suexec: Disse kommandoene setter
suexec innpakning på
riktig plassering, siden den ikke er ment å kjøres direkte. De
justerer også skikkelige tillatelser til binæren, noe som gjør den
setgid apache
.
chown -R apache:apache
/srv/www: Som standard, installasjonsprosessen
installerer filer (dokumentasjon, feilmeldinger, standardikoner
osv.) med eierskapet til brukeren som hentet ut filer fra tar
filen. Hvis du ønsker å endre eierskapet til en annen bruker, bør
du gjøre det på dette tidspunktet. Det eneste kravet er at
dokumentmappen må være tilgjengelige for httpd prosessen med (r-x)
tillatelser og filer må være lesbare (r--) av apache
brukeren.
Konfigurere Apache
Konfigurasjonsfiler
/etc/httpd/httpd.conf
og
/etc/httpd/extra/*
Konfigurasjonsinformasjon
Se file:///usr/share/httpd/manual/configuring.html
for detaljerte instruksjoner om å tilpasse din Apache HTTP serverkonfigurasjonsfil.
Det er ingen grunn, i det minste for nettsteder med internett,
ikke å bruke SSL kryptering. Å sette opp et sikret nettsted
koster ikke noe bortsett fra å installere et lite lite verktøy og
noen få minutter med konfigurasjonsarbeid. Bruk denne
retningslinjen på https://wiki.linuxfromscratch.org/blfs/wiki/Securing_a_website
for å opprette verdensomfattende aksepterte sertifikater og forny
dem regelmessig.
Oppstartsskript
Hvis du vil at Apache serveren
skal starte automatisk når systemet startes opp, installer
/etc/rc.d/init.d/httpd
init skriptet
inkludert i blfs-bootscripts-20240913 pakken:
make install-httpd