Apache HTTP

Apache VirtualHost configureren op Ubuntu 18 Ubuntu.04 LTS

Apache VirtualHost configureren op Ubuntu 18 Ubuntu.04 LTS
Apache VirtualHost wordt gebruikt om meerdere websites op dezelfde Apache-server te draaien. Het is een geweldige functie van de Apache 2-webserver voor de implementatie van websites met hoge dichtheid op een enkele server. Apache heeft twee soorten VirtualHost-configuraties, op IP gebaseerde VirtualHost en op naam gebaseerde VirtualHost.IP-gebaseerde VirtualHost: In op IP gebaseerde VirtualHost heeft een Apache-server meerdere IP-adressen en reageert deze met verschillende websites op basis van het IP-adres.

Fig 1: Apache IP-gebaseerde VirtualHost.

Op naam gebaseerde VirtualHost: In op naam gebaseerde VirtualHost heeft een Apache-server een enkel IP-adres en meerdere domeinnamen geconfigureerd voor elke website. In een DNS-server wordt aan elk van deze domeinnamen het IP-adres van de Apache-server toegewezen. Afhankelijk van de domeinnaam die de client heeft gebruikt, retourneert de server verschillende websites.

Fig 2: op Apache-naam gebaseerde VirtualHost.

In dit artikel laat ik je zien hoe je de op Apache-naam gebaseerde VirtualHost configureert. Ik zal Ubuntu 18 . gebruiken.04 LTS voor de demonstratie. Maar het zou moeten werken op elke moderne Linux-distributie met weinig tot geen verandering. Dus laten we beginnen.

Apache 2-webserver installeren:

Apache 2-webserver is beschikbaar in de officiële pakketrepository van Ubuntu 18.04 LTS. U kunt het dus eenvoudig installeren met de APT-pakketbeheerder.

Werk eerst de cache van de APT-pakketrepository bij met de volgende opdracht:

$ sudo apt-update

Voer nu de volgende opdracht uit om de Apache 2-webserver te installeren:

$ sudo apt installeer apache2

Druk nu op ja en druk vervolgens op doorgaan.

Apache 2-webserver moet zijn geïnstalleerd.

DNS configureren:

Nu moet u de DNS-server configureren om de domeinnamen die u voor VirtualHost wilt gebruiken toe te wijzen aan het IP-adres van uw Apache-server.

U kunt het IP-adres van uw Apache-server vinden met het volgende commando:

$ ip een | egrep "inet"

Zoals je kunt zien, is het IP-adres in mijn geval: 192.168.21.166. Het zal voor jou anders zijn. Dus zorg ervoor dat je het vanaf nu vervangt door de jouwe.

Als u wilt leren hoe u Apache VirtualHost lokaal kunt configureren, kunt u de /etc/hosts bestand voor lokale DNS/naamomzetting.

Om lokale DNS-resolutie te configureren, opent u de /etc/hosts bestand met nano als volgt:

$ sudo nano /etc/hosts

Voeg nu de regel toe zoals aangegeven in de onderstaande schermafbeelding aan het bestand. Druk vervolgens op + X gevolgd door ja en om het bestand op te slaan.

Nu zou de lokale naamomzetting moeten werken.

Directory-structuren:

Ik wil alle websitegegevens van mijn Apache VirtualHost in een specifieke map bewaren /www. Hier wil ik een map maken voor elke gebruiker. Elke gebruiker heeft zijn/haar eigen public_html/ en logboeken/ map ook.

Bijvoorbeeld voor 3 gebruikers bob (voorbeeld1.com), alice (voorbeeld2.com), linda (voorbeeld3.com), de mappenstructuur is als volgt:

/www
- voorbeeld 1.com/
- www/
- public_html/
- inhoudsopgave.html
- logboeken/
- voorbeeld2.com/
- www/
- public_html/
- inhoudsopgave.html
- logboeken/
- voorbeeld3.com/
- www/
- public_html/
- inhoudsopgave.html
- logboeken/

Een gemakkelijke manier om dat te doen, is door een sjabloon- of skeletmap te maken en de mapstructuur daar te plaatsen.  Maak vervolgens elke gebruiker met behulp van deze skeletmap.

Kopieer eerst de inhoud van de standaard skeletmap /etc/skel naar een andere map /etc/skel-www als volgt:

$ sudo cp -rv /etc/skel /etc/skel-www

Navigeer nu als volgt naar de nieuwe skeletmap:

$ cd /etc/skel-www

Maak vervolgens als volgt de gewenste directorystructuur in de skeletdirectory:

$ sudo mkdir -p www/public_html,logs

U kunt ook een standaard maken inhoudsopgave.html bestand in de public_html/ map als je wilt.

$ echo "

Het werkt

" | sudo tee www/public_html/index.html

Maak nu de /www map met het volgende commando:

$ sudo mkdir /www

Gebruikers aanmaken:

Nu kunt u de gebruiker maken bob voor www.voorbeeld 1.com als volgt:

$ sudo useradd --create-home --home-dir /www/example1.com --shell
/bin/bash --gid www-data --skel /etc/skel-www bob

Maak op dezelfde manier de gebruiker alice voor www.voorbeeld2.com als volgt:

$ sudo useradd --create-home --home-dir /www/example2.com --shell /bin/bash
--gid www-data --skel /etc/skel-www alice

Maak opnieuw de gebruiker linda voor www.voorbeeld3.com als volgt:

$ sudo useradd --create-home --home-dir /www/example3.com --shell /bin/bash
--gid www-data --skel /etc/skel-www linda

Hier heb ik de primaire groep van elke gebruiker toegewezen aan: www-gegevens. Standaard draait de Apache-server als deze groep. Als ik dat niet had gedaan, heeft de Apache-server geen toegang tot de bestanden in de public_html/ directory en maak logbestanden aan in de logboeken/ map.

Apache VirtualHost configureren:

Nu bent u klaar om Apache VirtualHost te configureren voor 3 gebruikers bob (www.voorbeeld 1.com), alice (www.voorbeeld2.com) en linda (www.voorbeeld3.com).

De standaard Apache-siteconfiguratiemap op Ubuntu is: /etc/apache2/sites-beschikbaar.

Navigeer nu naar de map /etc/apache2/sites-beschikbaar/ als volgt.

$ cd /etc/apache2/sites-beschikbaar/

Maak eerst een nieuw configuratiebestand voor bob www.voorbeeld 1.com.conf als volgt:

$ sudo nano www.voorbeeld 1.com.conf

Er moet een teksteditor worden geopend.

Typ nu de volgende regels:.

Servernaam voorbeeld1.com
Serveralias www.voorbeeld 1.com
DocumentRoot "/www/voorbeeld1.com/www/public_html"

Opties -VolgSymLinks +MultiViews +Indexen
ToestaanAlles overschrijven
Vereisen dat alles is verleend
ErrorLog "/www/voorbeeld1.com/www/logs/error.loggen"
CustomLog "/www/voorbeeld1.com/www/logs/access.log" gecombineerd

OPMERKING: Wijzig de vetgedrukte teksten volgens uw vereisten.

Eindelijk, het configuratiebestand www.voorbeeld.com.conf zou er als volgt uit moeten zien. druk op + X gevolgd door y en om het configuratiebestand op te slaan.

om gewoon het configuratiebestand te kopiëren voor bob (www.voorbeeld 1.com.conf) en breng de kleine wijzigingen aan die nodig zijn.

Kopieer het configuratiebestand van bob voor alice en linda met de volgende commando's:

$ sudo cp -v www.voorbeeld 1.com.conf www.voorbeeld2.com.conf
$ sudo cp -v www.voorbeeld 1.com.conf www.voorbeeld3.com.conf

Bewerk nu het configuratiebestand van alice als volgt:

$ sudo nano www.voorbeeld2.com.conf

Wijzig nu alle exemplaren van voorbeeld 1 naar voorbeeld2. Sla het bestand vervolgens op.

Doe hetzelfde voor linda.

$ sudo nano www.voorbeeld3.com.conf

Alle exemplaren van . wijzigen voorbeeld 1 naar voorbeeld3 en sla het bestand op.

VirtualHost-configuraties inschakelen:

Schakel nu de Apache-standaardwebsiteconfiguratie als volgt uit:

$ sudo a2dissite 000-standaard.conf

Schakel nu de VirtualHost-configuraties in www.voorbeeld 1.com.conf, www.voorbeeld2.com.conf, www.voorbeeld3.com.conf als volgt:

$ sudo a2ensite www.voorbeeld 1.com.conf www.voorbeeld2.com.conf www.voorbeeld3.com.conf

Start ten slotte de Apache-service als volgt opnieuw:

$ sudo systemctl herstart apache2

Virtuele Hosts testen:

Probeer nu toegang te krijgen tot de websites www.voorbeeld 1.com, www.voorbeeld2.com, www.voorbeeld3.com

Zoals je kunt zien, werken al deze websites zoals verwacht.

OPMERKING: Ik heb de standaardpagina gewijzigd inhoudsopgave.html voor elke site, zodat het voor elke website een beetje anders is voor testdoeleinden. Anders kun je niet zien of de VirtualHost-configuratie werkt of niet.

Dus zo configureer je op naam gebaseerde Apache VirtualHost op Ubuntu 18.04 LTS. Bedankt voor het lezen van dit artikel.

Hoe Xdotool te gebruiken om muisklikken en toetsaanslagen in Linux te stimuleren
Xdotool is een gratis en open source opdrachtregelprogramma voor het simuleren van muisklikken en toetsaanslagen. Dit artikel behandelt een korte hand...
Top 5 ergonomische computermuisproducten voor Linux
Veroorzaakt langdurig computergebruik pijn in uw pols of vingers?? Heb je last van stijve gewrichten en moet je constant de hand schudden?? Voelt u ee...
Hoe de muis- en touchpad-instellingen te wijzigen met Xinput in Linux
De meeste Linux-distributies worden standaard geleverd met de bibliotheek "libinput" om invoergebeurtenissen op een systeem af te handelen. Het kan in...