Innledning
Apache HTTP-server er den mest brukte web-server i verden. Den tilbyr mange kraftige funksjoner, inkludert dynamisk lastbare moduler, robust media support, og omfattende integrasjon med andre populære programvare.
I denne guiden vil vi forklare hvordan du skal installere en Apache web server på din Ubuntu 20.04 server.
Forutsetninger
Før du begynner denne håndboken, bør du ha en vanlig, ikke-root-bruker med sudo-rettigheter som er konfigurert på din server., I tillegg, vil du trenger for å aktivere en grunnleggende brannmur til å blokkere ikke-essensielle porter. Du kan lære hvordan du konfigurerer en vanlig bruker-kontoen og sette opp en brannmur for din server ved å følge vår Første server setup guide for Ubuntu 20.04.
Når du har en konto som er tilgjengelig, må du logge på som ikke-root-bruker for å begynne.
Trinn 1 — Installere Apache
Apache er tilgjengelig i Ubuntu standard programvare arkiver, noe som gjør det mulig å installere det ved hjelp av konvensjonelle pakken management verktøy.,
La oss begynne med å oppdatere den lokale pakken indeksen å reflektere de nyeste oppstrøms endringer:
- sudo apt update
sett inn apache2
pakke
- sudo apt install apache2
Etter som bekrefter installasjon, apt
vil installere Apache og alle nødvendige avhengigheter.
Trinn 2 — Justere Brannmur
Før testing Apache, er det nødvendig å endre brannmurinnstillingene for å tillate ekstern tilgang til standard web-porter., Forutsatt at du har fulgt instruksjonene i forutsetningene, bør du ha en UFW brannmur er konfigurert for å begrense tilgang til din server.
Under installasjonen, Apache registrerer seg med UFW til å gi noen program profiler som kan brukes til å aktivere eller deaktivere tilgang til Apache gjennom brannmuren.,>
vil Du motta en liste over programmet profiler:
OutputAvailable applications: Apache Apache Full Apache Secure OpenSSH
Som indikert av output, det er tre tilgjengelige profiler for Apache:
- Apache: Denne profilen bare åpner port 80 (vanlig, ukryptert web-trafikk)
- Apache-Full: Denne profilen åpnes både port 80 (vanlig, ukryptert web-trafikk) og port 443 (TLS/SSL-kryptert trafikk)
- Apache Sikkert: Denne profilen bare åpner port 443 (TLS/SSL-kryptert trafikk)
Det er anbefalt at du aktiverer den mest restriktive profil som fortsatt vil tillate trafikk du har konfigurert., Siden vi ikke har konfigurert SSL for vår server, men i denne håndboken, vi trenger bare å tillate trafikk på port 80:
- sudo ufw allow 'Apache'
Du kan bekrefte endringen ved å skrive:
- sudo ufw status
output vil gi en liste over tillatte HTTP-trafikk:
Som indikert av produksjonen, profilen er aktivert for å tillate tilgang til Apache web server.
Trinn 3 — Sjekke din Web-Server
På slutten av installasjonen, Ubuntu 20.04 starter Apache. Web-serveren skal allerede være i gang.,
Sjekk med systemd
init system for å sikre at tjenesten kjører, ved å skrive:
- sudo systemctl status apache2
Som bekreftes av denne utgang, har tjenesten startet. Men er den beste måten å teste dette på er å be om en side fra Apache.
Du kan få tilgang standard Apache destinasjonssiden til å bekrefte at programvaren kjører på riktig måte gjennom din IP-adresse. Hvis du ikke kjenner-serverens IP-adresse, kan du få det med et par forskjellige måter fra kommandolinjen.,
du Prøve å skrive inn dette på din server kommandolinjen:
- hostname -I
Du vil få tilbake et par adresser adskilt med mellomrom. Du kan prøve ut hver i din nettleser for å avgjøre om de fungerer.,
et Annet alternativ er å bruke Icanhazip verktøyet, som skal gi deg den offentlige IP-adressen som leser fra et annet sted på internett:
- curl -4 icanhazip.com
Når du har din server IP-adresse, skriver du den inn i nettleserens adressefelt:
You should see the default Ubuntu 20.04 Apache web page:
This page indicates that Apache is working correctly. It also includes some basic information about important Apache files and directory locations.
Step 4 — Managing the Apache Process
Now that you have your web server up and running, let’s go over some basic management commands using systemctl
.
To stop your web server, type:
- sudo systemctl stop apache2
for Å starte web-serveren når det er sluttet, type:
- sudo systemctl start apache2
for Å stoppe og starte tjenesten på nytt, skriv:
- sudo systemctl restart apache2
Hvis du er rett og slett å gjøre konfigurasjonsendringer, Apache kan ofte laste uten å slippe tilkoblinger., For å gjøre dette, bruker du denne kommandoen:
- sudo systemctl reload apache2
som standard, Apache er konfigurert til å starte automatisk når serveren starter. Hvis dette er ikke hva du vil, kan du deaktivere dette problemet ved å skrive:
- sudo systemctl disable apache2
for Å aktivere tjenesten for å starte opp ved oppstart, skriver du:
- sudo systemctl enable apache2
Apache skal nå starte automatisk når serveren boots igjen.,
Trinn 5 — Sette Opp Virtuelle Verter (Anbefales)
Når du bruker Apache web server, kan du bruke virtuelle verter (tilsvarende server blokker i Nginx) til å kapsle inn konfigurasjon detaljer og vert for mer enn ett domene fra en enkelt server. Vi vil sette opp et domene som heter ditt_domene, men du bør erstatte dette med ditt eget domenenavn. Hvis du setter opp et domene navn med DigitalOcean, kan du gå til vårt Nettverk Dokumentasjon.
Apache på Ubuntu 20.,04 har en server og blokkerer som standard aktivert som er konfigurert til å tjene dokumenter fra /var/www/html
– katalogen. Mens dette fungerer godt for et enkelt område, kan det bli uhåndterlig hvis du er vert for flere nettsteder. I stedet for å endre /var/www/html
, la oss lage en katalog struktur innenfor /var/www
for en ditt_domene nettstedet ditt, forlater /var/www/html
på plass som standard katalog for å bli servert hvis en klient forespørsel ikke samsvarer med noen andre nettsteder.,
Opprett katalogen for ditt_domene som følger:
- sudo mkdir /var/www/your_domain
Neste, overdra eierskapet av katalogen med $USER
miljø-variabelen:
- sudo chown -R $USER:$USER /var/www/your_domain
tillatelsene for webområdet røtter skal være korrekt hvis du ikke har endret umask verdi, som setter standard fil tillatelser., For å sikre at tillatelsene er korrekte, og tillater eieren å lese, skrive og kjøre filer samtidig gir bare lese og tillatelse til å kjøre grupper og andre, kan du legge inn følgende kommando:
- sudo chmod -R 755 /var/www/your_domain
Neste, opprette et eksempel på index.html
side ved hjelp av nano
eller din favoritt editor:
- sudo nano /var/www/your_domain/index.html
Inne, legg til følgende eksempel HTML:
<html> <head> <title>Welcome to Your_domain!</title> </head> <body> <h1>Success! The your_domain virtual host is working!</h1> </body></html>
Lagre og lukk filen når du er ferdig.,
for Apache å tjene dette innholdet, er det nødvendig å opprette en virtuell vert-fil med riktig direktiver. I stedet for å endre standard konfigurasjonen ligger på /etc/apache2/sites-available/000-default.conf
direkte, la oss lage en ny en på /etc/apache2/sites-available/your_domain.conf
:
- sudo nano /etc/apache2/sites-available/your_domain.conf
Lim inn i den følgende konfigurasjon blokk, som er lik standard, men oppdatert til vår nye katalog og domene navn:
legg Merke til at vi har oppdatert DocumentRoot
til vår nye katalog og ServerAdmin
til en e-post at ditt_domene administrator kan få tilgang til. Vi har også lagt til to direktiver: ServerName
, som etablerer base domene som bør match for denne virtuelle verten definisjon, og ServerAlias
, som definerer videre navn som bør kamp som om de var basen navn.
Lagre og lukk filen når du er ferdig.,
La oss aktivere fil med a2ensite
verktøy:
- sudo a2ensite your_domain.conf
Deaktiver standard nettstedet som er definert i 000-default.conf
:
- sudo a2dissite 000-default.conf
Neste, la oss teste for konfigurasjon feil:
- sudo apache2ctl configtest
Du bør få følgende resultat:
OutputSyntax OK
Starte Apache å implementere endringer:
- sudo systemctl restart apache2
Apache skal nå være serverer ditt domenenavn., Du kan teste dette ved å navigere til , der bør du se noe slikt som dette:
Trinn 6 – Få Kjennskap til Viktige Apache-Filer og Kataloger
Nå som du vet hvordan å håndtere Apache-tjenesten i seg selv, du bør ta noen minutter til å bli kjent med noen viktige kataloger og filer.,
Innhold
-
/var/www/html
: Den faktiske innhold på nettet, som standard bare består av standard Apache siden du så tidligere, serveres ute av/var/www/html
– katalogen. Dette kan endres ved å endre Apache konfigurasjonsfiler.
– Server Konfigurasjon
-
/etc/apache2
: Apache konfigurasjon katalogen. Alle Apache konfigurasjonsfiler bor her. -
/etc/apache2/apache2.conf
: De viktigste Apache konfigurasjonsfilen. Dette kan endres for å gjøre endringer til Apache global konfigurasjon., Denne filen er ansvarlig for lasting mange av de andre filene i konfigurasjon-katalogen. -
/etc/apache2/ports.conf
: Denne filen angir hvilke porter som Apache vil lytte på. Som standard, Apache lytter på port 80 og i tillegg lytter på port 443 når en modul som gir SSL-funksjonene er aktivert. -
/etc/apache2/sites-available/
: katalogen der per-området virtuelle verter kan lagres. Apache vil ikke bruke konfigurasjonsfiler som finnes i denne katalogen, med mindre de er knyttet til.sites-enabled
– katalogen., Vanligvis, alle server-blokk konfigurasjonen er ferdig i denne katalogen, og deretter aktivert ved å knytte seg til den andre katalogen meda2ensite
– kommandoen. -
/etc/apache2/sites-enabled/
: katalogen der aktivert per-området virtuelle verter er lagret. Vanligvis, disse er laget ved å knytte seg til konfigurasjonsfiler funnet isites-available
– katalogen meda2ensite
. Apache leser konfigurasjon-filer og koblinger som finnes i denne katalogen når den starter eller laster å sammenstille en komplett konfigurasjon., -
/etc/apache2/conf-available/
,/etc/apache2/conf-enabled/
: Disse katalogene har det samme forholdet somsites-available
ogsites-enabled
kataloger, men brukes til å lagre konfigurasjonen fragmenter som ikke hører hjemme i en virtuell vert. Filer iconf-available
katalogen kan være aktivert meda2enconf
kommando og funksjonshemmede meda2disconf
– kommandoen. -
/etc/apache2/mods-available/
,/etc/apache2/mods-enabled/
: Disse katalogene inneholder tilgjengelig og aktivert moduler, henholdsvis., Filer som slutter i.load
inneholder fragmenter for å laste spesifikke moduler, mens filer som slutter i.conf
inneholder konfigurasjon for disse modulene. Modulene kan aktiveres og deaktiveres ved hjelp ava2enmod
oga2dismod
– kommandoen.
– Server Logger
-
/var/log/apache2/access.log
: standard, hver forespørsel til webserveren din er registrert i denne loggfilen mindre Apache er konfigurert til å gjøre noe annet. -
/var/log/apache2/error.log
: det er standard at alle feil blir tatt opp i denne filen.,LogLevel
direktiv i Apache-konfigurering) angir hvor mye detalj feillogger skal inneholde.
Konklusjon
Nå som du har din web server installert, har du mange alternativer for den typen innhold du kan tjene, og teknologi du kan bruke til å lage en rikere opplevelse.
Hvis du ønsker å bygge ut en mer komplett søknad stabel, du kan lese denne artikkelen om hvordan du konfigurerer en LAMPE stabelen på Ubuntu 20.04