Sådan oprettes Apache Virtual Hosts på CentOS 7

Apache er en open source webserver udviklet til moderne operativsystemer, herunder UNIX og Windows. Det er en sikker, effektiv og udvidelig server, der giver HTTP-tjenester synkroniseret med de nuværende HTTP-standarder.

Mange bruger det til at være vært for deres websites og apps. Faktisk er Apache ifølge den seneste statistik den mest anvendte webserver i verden, med Windows IIS følger i anden og tredje det russiske maskineri, der er Nginx.

Apaches funktionalitet er fantastisk, og man kan finde masser af gode funktioner til sin hjemmeside eller applikation. I denne vejledning vil vi give dig information om Apache Virtual Host gennem konfigurationseksempler på en CentOS 7 VPS.

En virtuel vært er faktisk en enhed, der beskriver et individuelt domæne i Apache-webserveren. Det giver dig mulighed for at være vært for flere websteder ved hjælp af en server, som er meget nyttig for personer, der har mere end et websted.

Ethvert domæne, der er konfigureret med et virtuelt værtsdirektiv i Apaches konfiguration, vil lede den besøgende til en bestemt mappe, hvor den meget websitet er hostet på serveren. Du kan f.eks. Have dit WordPress-websted installeret i / Var / www / wordpress / så når du opretter det virtuelle værtsdirektiv, vil dokumentets rod for webstedet blive indstillet til / Var / www / wordpress/ som gør det muligt for webserveren at trække hjemmesidens data fra den respektive konfigurerede mappe.

Så lad os fokusere på vores opgave ved hånden nu.

Krav

Vi bruger vores SSD 1 Linux VPS hosting plan til denne vejledning.

Log ind på din server via SSH:

# ssh [Email protected]_IP

Før du starter, skal du indtaste kommandoen nedenfor for at kontrollere, om du har den korrekte version af CentOS installeret på din maskine:

# cat / etc / redhat-release

som skal give dig nedenstående output:

CentOS Linux release 7.2.1511 (Core)

Opdater systemet

Sørg for, at din server er fuldt opdateret:

# yum opdatering

På vores CentOS 7-servere er Apache som standard installeret. Men hvis du ikke har Apache installeret på din server, kan du gøre det med en forholdsvis enkel kommando:

# yum installere httpd

Engag Apache og aktiver den til at starte ved opstart:

# systemctl start httpd.service # systemctl aktivere httpd.service

De fleste webmastere bruger i dag WordPress som en platform til at være vært for deres hjemmeside. EN WordPress site kører med en database, så hvis du planlægger at bruge denne artikel til at oprette virtuelle værter til et WordPress-websted / s (eller enhver platform, der kræver en database for den sags skyld), skal du installere MySQL og PHP på din server, som fuldfører en såkaldt LAMP (Linux Apache, MariaDB & PHP) stack. Vi har en fremragende artikel om, hvordan du installerer LAMP på CentOS 7, så du måske vil tjekke det ud her.

Apache konfigurationsindstillinger

Apache har en global konfigurationsfil, hvor alle standardindstillingerne gemmes og anvendes til serveren. Det virtuelle værtsdirektiv kan gemmes i samme standard httpd.conf fil eller en anden, som vil være respekt for den konfigurerede hjemmeside / domæne.

Den globale Apache-konfigurationsfil i CentOS 7 er /etc/httpd/conf/httpd.conf. Du kan bruge en teksteditor efter eget valg og kontrollere indholdet af den pågældende fil, så du får et indblik i, hvordan Apache er konfigureret.

Konfigureringsfilen har kommenteret linjer før hver indstilling, der forklarer deres brug. Så f.eks ServerRoot Indstilling er toppen af ​​katalogtræet, hvorunder Apache-konfigurationsfilerne ligger.

Den Lyt Direktivet binder Apache til en bestemt IP-adresse og -port. Apache's standard lytteport er 80.

Bruger- / gruppeværdierne er navne på den bruger / gruppe, som HTTPD (apache) kører som. I CentOS er brugeren og gruppen apache / apache og i Ubuntu / Debian er værdierne www-data / www-data.

En anden vigtig indstilling er DocumentRoot som er den mappe, hvorfra dataene bliver serveret til den besøgende. Normalt er standarddotatroteren til Apache i de fleste distroer indstillet til / Var / www / html / så hvis du lægger data i / Var / www / html / Du kan få adgang til de samme data via en webbrowser ved hjælp af din server-IP-adresse.

Vi har kun dækket hvad Apache tilbyder til brugeren, så lad os nu oprette vores første virtuelle værtsdirektiv i Apache. Du kan oprette en virtuel vært inde i main apache config filen, men for en renere og mere organiseret opsætning opretter vi en ny separat fil, hvor konfigurationslinjerne bliver gemt. Der er en indstilling (IncludeOptional) i Apaches globale konfiguration, hvis inkluderede mapper opbevarer separate konfigurationsfiler. For eksempel i CentOS 7 og Apache 2.4 (den nyeste Apache version som ved at skrive denne tutorial) IncludeOptional indstillingen er indstillet til /etc/httpd/conf.d/ hvilket betyder at hver * .conf fil oprettet i /etc/httpd/conf.d/ vil blive brugt af webserveren til at håndtere dataene.

Derfor lad os oprette en your_domain.conf fil, hvor vi vil konfigurere et virtuelt værtsdirektiv for dit domæne. Når du er logget ind på din server, skal du indtaste følgende kommando:

# nano /etc/httpd/conf.d/your_domain.conf

Indsæt nedenstående indhold i filen:

<VirtualHost *: 80> ServerAdmin [Email protected]_domain.com DocumentRoot "/ var / www / html / dit_domæne /" Servernavn your_domain.com ServerAlias ​​www.your_domain.com ErrorLog "/var/log/httpd/your_domain.com-error_log" CustomLog "/ var / log / httpd / dit_domæne .com-access_log "kombineret <Directory" / var / www / html / dit_domæne / "> DirectoryIndex index.html indeks.php Indstillinger FølgSymLinks Tillad Overgå alle Kræv alle tildelt </Directory> </VirtualHost>

Lad os forklare indstillingerne en efter en.

  • <VirtualHost *: 80> - Dette betyder, at dette virtuelle værtsdirektiv binder til enhver IP-adresse på serveren og på port 80.
  • ServerAdmin - Dette er e-mail-adressen, hvor problemer med webserveren vil blive sendt til.
  • DocumentRoot - den mappe, hvor hjemmesidens data vil blive gemt, hvilket i ovennævnte tilfælde vil være / var / www / html / your_domain /. Selvfølgelig kan du erstatte din_domæneværdien med alt, hvad du finder det passende.
  • Server navn - Denne værdi giver det navn, som serveren bruger til at identificere hjemmesiden. Her kan du indtaste dit aktuelle domæne.
  • ServerAlias - ServerAlias-direktivet angiver de alternative navne til en vært, for eksempel: www.your_domain.com. Det kan også indeholde jokertegn, hvis det er nødvendigt.
  • <Directory> og </ Directory> og er vant til at vedlægge en gruppe direktiver, der kun gælder for den navngivne mappe, undermapper i den pågældende mappe og filerne i de respektive mapper. Ethvert direktiv, der er tilladt i en katalogkontekst, kan anvendes. Directory-stien er enten den fulde sti til en mappe eller en wild-card-streng ved hjælp af Unix-shell-stil matching. I vores tilfælde gør vi det muligt FollowSymLinks mulighed som følger symbolske links i / Var / www / html / dit_domæne / vejviser. Vi sætter også AllowOverride direktiv til Alle hvilket betyder at ethvert direktiv, som har .htaccess kontekst er tilladt i .htaccess filer. De Kræve Direktivet vælger hvilke autentiserede brugere der kan få adgang til en ressource.

Denne form for config kan anvendes på de fleste platforme derude. Men nogle gange kan en bestemt WordPress-site-konfiguration som den ovenstående ikke være nok til andre typer apps. For eksempel a Magento websted vil have brug for flere funktioner aktiveret eller en Odoo site vil have brug for en omvendt proxy konfigureret.

En ting, der er værd at nævne (selvom de fleste brugere kender det) er, at alle ovenstående konfigurationsindstillinger skal installeres korrekt før eller efter oprettelsen af ​​Apache config fil. F.eks DocumentRoot skal oprettes og data hostes i det.

Sådan opretter du en katalogbrug:

# mkdir / var / www / html / din_domæne /

Upload derefter de data, du vil være vært for, i den pågældende mappe.

Tilladelser og fil ejerskab er en anden vigtig opgave for webmastere. I de fleste tilfælde i servere uden et kontrolpanel skal fil- og mappeejendommen tilhøre brugeren og gruppen under hvilken Apache opererer. I CentOS 7 kører Apache under apache som bruger og apache som gruppe. Så du skal rekursivt tildele disse værdier til filerne og mapperne i dokumentroten. Kommandoen nedenfor gør netop det:

# chown apache: apache -R / var / www / html / din_domæne /

Denne kommando vil tildele apache: apache til hver fil og mappe / undermappe indeni / Var / www / html / dit_domæne /.

Med denne artikel har vi lige kigget på Apache og virtuelle værtskonfigurationer. For mere information, skal du besøge Apaches officielle dokumentation.

Kilde

Giv en kommentar

Dette websted bruger Akismet til at reducere spam. Lær, hvordan dine kommentardata behandles.