introduktion
Apache HTTP-serveren er den mest anvendte .ebserver i verden. Det giver mange kraftfulde funktioner, herunder dynamisk belastbare moduler, robust mediesupport og omfattende integration med andre populære soft .are.
i denne vejledning forklarer vi, hvordan du installerer en Apache-webebserver på din Ubuntu 20.04-server.
forudsætninger
før du begynder denne vejledning, skal du have en almindelig, ikke-root bruger med sudo privilegier konfigureret på din server., Derudover skal du aktivere en grundlæggende fire .all til at blokere ikke-væsentlige porte. Du kan lære at konfigurere en almindelig brugerkonto og oprette en fire .all til din server ved at følge vores indledende serveropsætningsguide til Ubuntu 20.04.
Når du har en konto tilgængelig, skal du logge ind som din IKKE-root-bruger for at begynde.
Trin 1 — Installation af Apache
Apache er tilgængelig i Ubuntu ‘ s standard software repositories, der gør det muligt at installere det ved hjælp af konventionelle værktøjer til pakkehåndtering.,
Lad os begynde med at opdatere den lokale pakke indeks for at afspejle den seneste opstrøms ændringer:
- sudo apt update
installer Derefter apache2
package:
- sudo apt install apache2
Efter at bekræfte installationen, apt
vil installere Apache og alle de nødvendige afhængigheder.
Trin 2 — Justering af Firewall
Før test Apache, det er nødvendigt at ændre firewall-indstillingerne for at tillade ekstern adgang til den standard web-porte., Forudsat at du fulgte instruktionerne i forudsætningerne, skal du have en UF.fire .all konfigureret til at begrænse adgangen til din server.
Under installationen, Apache registrerer sig med UFW at give et par ansøgning profiler, der kan bruges til at aktivere eller deaktivere adgang til Apache gennem firewall ‘ en.,>
Du vil derefter modtage en liste over anvendelsen profiler:
OutputAvailable applications: Apache Apache Full Apache Secure OpenSSH
Som angivet af den produktion, der er tre profiler til rådighed for Apache:
- Apache: Denne profil åbnes kun port 80 (normal, krypteret web-trafik)
- Apache Fuld: Denne profil åbnes både af port 80 (normal, krypteret web-trafik) og port 443 (TLS/SSL-krypteret trafik)
- Apache Sikkert: Denne profil åbnes kun, port 443 (TLS/SSL-krypteret trafik)
Det anbefales, at du aktiverer den mest restriktive profil, der stadig vil tillade den trafik, som du har konfigureret., Da vi ikke har konfigureret SSL til vores server, men i denne guide, vil vi kun har brug for at tillade trafik på port 80:
- sudo ufw allow 'Apache'
Du kan kontrollere, ændre ved at skrive:
- sudo ufw status
output vil give en liste over tilladte HTTP-trafik:
Som angivet af output, når den valgte profil er blevet aktiveret for at tillade adgang til Apache web server.
Trin 3 — Kontrol af din Serverebserver
i slutningen af installationsprocessen starter Ubuntu 20.04 Apache. Webebserveren skal allerede være i gang.,
kontroller medsystemd
initsystem for at sikre, at tjenesten kører ved at skrive:
- sudo systemctl status apache2
som bekræftet af denne output, er tjenesten startet med succes. Den bedste måde at teste dette på er imidlertid at anmode om en side fra Apache.
Du kan få adgang til standard Apache destinationsside for at bekræfte, at soft .aren kører korrekt gennem din IP-adresse. Hvis du ikke kender din servers IP-adresse, kan du få det et par forskellige måder fra kommandolinjen.,
prøv at skrive dette på din servers kommandoprompt:
- hostname -I
Du får tilbage et par adresser adskilt af mellemrum. Du kan prøve hver i din browebbro .ser for at afgøre, om de fungerer.,
en Anden mulighed er at bruge Icanhazip værktøj, der skal give dig din offentlige IP-adresse, som læses fra et andet sted på internettet:
- curl -4 icanhazip.com
Når du har din server, IP-adresse, kan du indtaste det i din browsers adresselinje:
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 At starte en web-server når det er stoppet, type:
- sudo systemctl start apache2
for At stoppe og så starte tjenesten igen, skriv:
- sudo systemctl restart apache2
Hvis du er blot at foretage ændringer i konfigurationen, kan Apache ofte reload uden at tabe forbindelser., For at gøre dette skal du bruge denne kommando:
- sudo systemctl reload apache2
Som standard er Apache konfigureret til at starte automatisk, når serveren starter. Hvis dette ikke er hvad du ønsker, skal du deaktivere denne adfærd ved at skrive:
- sudo systemctl disable apache2
for At aktivere tjenesten til at starte op ved opstart, skriv:
- sudo systemctl enable apache2
Apache skal nu starte automatisk, når serveren støvler igen.,
Trin 5 — etablering af Virtuelle Værter (Anbefales)
Når du bruger Apache web-server, kan du bruge virtuelle værter (svarende til server blokke i Nginx) til at indkapsle konfiguration detaljer og vært for mere end et domæne fra en enkelt server. Vi vil oprette et domæne kaldet your_domain, men du bør erstatte dette med dit eget domænenavn. Hvis du opretter et domænenavn med DigitalOcean, henvises til vores Netværksdokumentation.
Apache på Ubuntu 20.,04 har en serverblok aktiveret som standard, der er konfigureret til at vise dokumenter fra mappen /var/www/html
. Selvom dette fungerer godt for et enkelt sted, det kan blive uhåndterligt, hvis du er vært for flere sitesebsteder. I stedet for at ændre /var/www/html
, lad os oprette en mappe struktur i /var/www
for en dit_domæne hjemmeside, forlader /var/www/html
i stedet som standard mappe, der skal forkyndes, hvis en klient ikke passer til nogen andre steder.,
Opret mappe for dit_domæne som følger:
- sudo mkdir /var/www/your_domain
Næste, kan tildele ejerskab af bibliotek med $USER
miljø-variabel:
- sudo chown -R $USER:$USER /var/www/your_domain
tilladelser af din web rødder skal være korrekte, hvis du ikke har ændret din umask værdi, der sætter standard fil tilladelser., For at sikre, at dine rettigheder er korrekte og gøre det muligt for ejeren at læse, skrive og udføre de filer, mens udstedelse af kun at læse og udføre tilladelser til grupper og andre, kan du indtaste følgende kommando:
- sudo chmod -R 755 /var/www/your_domain
Næste, kan du oprette en prøve index.html
side ved hjælp af nano
eller dit foretrukne redigeringsprogram:
- sudo nano /var/www/your_domain/index.html
Inde, skal du tilføje følgende HTML-eksempler:
<html> <head> <title>Welcome to Your_domain!</title> </head> <body> <h1>Success! The your_domain virtual host is working!</h1> </body></html>
Gem og luk filen, når du er færdig.,
for at Apache skal kunne betjene dette indhold, er det nødvendigt at oprette en virtuel værtsfil med de korrekte direktiver. I stedet for at ændre standardkonfigurationen-fil på /etc/apache2/sites-available/000-default.conf
direkte, lad os lave en ny på /etc/apache2/sites-available/your_domain.conf
:
- sudo nano /etc/apache2/sites-available/your_domain.conf
Indsæt i følgende konfiguration blok, som er magen til den som standard, men opdateret til vores nye bibliotek og domænenavn:
Bemærk, at vi har opdateret DocumentRoot
til vores nye bibliotek og ServerAdmin
til en e-mail, at dit_domæne site administrator kan få adgang til. Vi har også tilføjet to direktiver: ServerName
, der fastsætter base domæne, der skal matche for denne virtual host-definition, og ServerAlias
, som definerer yderligere navne, der skal svare, som om de var base navn.
Gem og luk filen, når du er færdig.,
Lad os sætte fil med a2ensite
af:
- sudo a2ensite your_domain.conf
Deaktiver standard site, der er defineret i 000-default.conf
:
- sudo a2dissite 000-default.conf
Næste, lad os teste for konfiguration fejl:
- sudo apache2ctl configtest
Du bør modtage følgende output:
OutputSyntax OK
Genstart Apache til at gennemføre ændringerne:
- sudo systemctl restart apache2
Apache bør nu være tjener dit domæne navn., Du kan teste dette ved at gå til , hvor du bør se noget som dette:
Trin 6 – Bliver Bekendt med Vigtige Apache Filer og Mapper
Nu, at du ved, hvordan til at håndtere Apache service i sig selv, du bør tage et par minutter til at sætte dig med et par vigtige mapper og filer.,
Indhold
-
/var/www/html
: Den faktiske web-indhold, der som standard kun består af standard Apache side, som du så tidligere, er der serveres ud af/var/www/html
bibliotek. Dette kan ændres ved at ændre Apache konfigurationsfiler.
serverkonfiguration
-
/etc/apache2
: Apache-konfigurationsmappen. Alle Apache-konfigurationsfiler findes her. -
/etc/apache2/apache2.conf
: den vigtigste Apache-konfigurationsfil. Dette kan ændres for at foretage ændringer i Apache globale konfiguration., Denne fil er ansvarlig for indlæsning af mange af de andre filer i konfigurationsmappen. -
/etc/apache2/ports.conf
: denne fil angiver de porte, som Apache vil lytte til. Som standard lytter Apache på port 80 og lytter desuden på port 443, når et modul, der leverer SSL-funktioner, er aktiveret. -
/etc/apache2/sites-available/
: den mappe, hvor virtuelle værter pr. Apache vil ikke bruge de konfigurationsfiler, der findes i denne mappe, medmindre de er knyttet tilsites-enabled
mappen., Typisk udføres al serverblokkonfiguration i denne mappe og aktiveres derefter ved at linke til den anden mappe med kommandoena2ensite
. -
/etc/apache2/sites-enabled/
: den mappe, hvor aktiveret per-site virtuelle værter gemmes. Typisk oprettes Disse ved at linke til konfigurationsfiler, der findes isites-available
– biblioteket meda2ensite
. Apache læser konfigurationsfiler og links, der findes i denne mappe, når den starter eller genindlæser for at kompilere en komplet konfiguration., -
/etc/apache2/conf-available/
/etc/apache2/conf-enabled/
: Disse mapper har de samme forhold somsites-available
ogsites-enabled
lister, men er brugt til at lagre konfigurationen fragmenter, der ikke hører til i en virtuel vært. Filer iconf-available
– mappen kan aktiveres med kommandoena2enconf
og deaktiveres med kommandoena2disconf
. -
/etc/apache2/mods-available/
,/etc/apache2/mods-enabled/
: disse mapper indeholder henholdsvis de tilgængelige og aktiverede moduler., Filer der ender i.load
indeholder fragmenter til at indlæse specifikke moduler, mens filer, der ender i.conf
indeholder konfigurationen for disse moduler. Moduler kan aktiveres og deaktiveres ved hjælp af kommandoena2enmod
oga2dismod
.
serverlogs
-
/var/log/apache2/access.log
: som standard registreres enhver anmodning til din webebserver i denne logfil, medmindre Apache er konfigureret til at gøre andet. -
/var/log/apache2/error.log
: som standard registreres alle fejl i denne fil.,LogLevel
direktivet i Apache-konfigurationen angiver, hvor meget detaljer fejllogfilerne vil indeholde.
Konklusion
Nu, hvor du har din web-server er installeret, har du mange muligheder for den type af indhold, du kan tjene og teknologier, du kan bruge til at skabe en rigere oplevelse.
Hvis du gerne vil opbygge en mere komplet applikationsstabel, kan du læse denne artikel om, hvordan du konfigurerer en LAMPESTACK på Ubuntu 20.04