Stel Apache2 VirtualHost in voor meerdere WordPress-blogs

  • Yurii Anneticus
  • 0
  • 614
  • 54

Dus je wilt meerdere WordPress-blogs op één server hosten? Met de Apache2 VirtualHost-functie kan men eenvoudig meerdere websites op een enkele server draaien, en deze korte tutorial zal u laten zien hoe u dat kunt bereiken.

Elke virtualhost draait onafhankelijk van de andere. Dus als je een WordPress-website op elke VirtualHost gaat draaien, zal deze draaien alsof het de enige website op de server is. Hierdoor kunt u kosten besparen op extra servers en bronnen.

Deze tutorial zal kort zijn… en zal je tijd niet verspillen met andere onnodige dingen.

Stap 1: Ubuntu Server instellen

Ik vind Ubuntu gemakkelijk te beheren en te onderhouden, dus deze tutorial zal gebaseerd zijn op Ubuntu Linux. U kunt Apache2 VirtualHost laten werken op andere Linux-distributies, maar Ubuntu is een geweldige distributie voor nieuwe gebruikers en beginners.

Installeer dus Ubuntu met root-toegang en voer de onderstaande opdrachten uit om het bij te werken.

sudo apt-get update && sudo apt-get dist-upgrade && sudo apt-get autoremove

Stap 2: Installeer Apache2-webserver

Voer na het updaten van Ubuntu de onderstaande opdrachten uit om de Apache2-webserver te installeren.

sudo apt-get install apache2

Stap 3: Installeer MySQL Database Server

Voer na het installeren van Apache2 de onderstaande opdrachten uit om de MySQL-databaseserver te installeren.

sudo apt-get install mysql-server mysql-client

Tijdens de installatie wordt u gevraagd om een ​​nieuw wachtwoord te maken voor de MySQL-rootgebruiker. Doe het! Dit wachtwoord wordt gebruikt om in te loggen op de MySQL-server.

Stap 4: Installeer PHP en andere modules

Voer na het installeren van MySQL-server de onderstaande opdrachten uit om PHP en andere PHP-modules te installeren.
sudo apt-get install php libapache2-mod-php php-mysql php-curl php-gd php-peer php-imagick php-imap php-mcrypt php-hercoderen php-netjes php-xmlrpc

Op dit punt zijn alle servers en pakketten die WordPress nodig heeft om te functioneren, geïnstalleerd. De volgende stappen zijn het maken van WordPress-databases, het configureren van Apache2 VirtualHosts en het downloaden van WordPress-inhoud van online.

Stap 5: Maak WordPress-databases en -gebruikers

Voer de onderstaande opdrachten uit om in te loggen op de MySQL-server

sudo mysql -u root -p

WordPress vereist een database. Voer de onderstaande opdrachten uit om zowel nieuwe databases als databasegebruikers te maken. Dupliceer gewoon de opdrachten voor extra databases en gebruikers voor zoveel u wilt. Zorg ervoor dat ze allemaal een unieke naam hebben.

De onderstaande commando's maken een nieuwe database aan met de naam wpdatabase

DATABASE MAKEN wpdatabase;

De onderstaande commando's maken een nieuwe databasegebruiker aan met de naam wpuser en verlenen de gebruiker toegang tot de wpdatabase.

VERLEENT ALLES OP wpdatabase. * AAN 'wpuser' @ 'localhost' GEÏDENTIFICEERD DOOR 'type_new_password_here';

[alert-note] Herhaal de bovenstaande stappen om extra databases te maken voor extra WordPress-sites. Maak bijvoorbeeld de database wpdatabase1, wpdatabase2 en de gebruikers voor de extra WordPress-websites. [/ Alert-note]

Als u klaar bent, voert u de onderstaande opdrachten uit om uw wijzigingen op te slaan en af ​​te sluiten.

VOORRECHTEN VOOR SPOELEN; Uitgang 

Stap 6: Maak meerdere VirtualHost voor meerdere sites

Nadat u meerdere databases heeft gemaakt voor de meerdere WordPress-sites die u wilt gebruiken, volgt u de onderstaande gids om meerdere VirtualHosts voor de sites te maken. Kopieer het standaard Apache2-siteconfiguratiebestand om extra VirtualHosts (sites) te maken.

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/example.com.conf sudo cp /etc/apache2/sites-available/000-default.conf / etc / apache2 /sites-available/example.net.conf 

U ziet dat we twee virtualhosts maken voor twee verschillende websites ... (voorbeeld.com.conf en example.net.conf)

Elk van de bovenstaande site-configuratiebestanden zal een uniek domein hosten.

Open nu elk bestand door de onderstaande opdrachten uit te voeren voor elk ...

sudo nano /etc/apache2/sites-available/example.com.conf

Configureer vervolgens, bijvoorbeeld.com.conf, het server naam, serveralias, DocumentRoot en andere die uniek zijn voor het domein example.com. Herhaal hetzelfde voor andere virtualhosts.

 # U moet het echter expliciet instellen voor elke andere virtuele host. Servernaam example.com ServerAlias ​​www.example.com ServerAdmin [email protected] DocumentRoot /var/www/html/example.com # Beschikbare logniveaus: trace8,…, trace1, debug, info, bericht, waarschuwen, # fout, kritiek, alert, emerg. # Het is ook mogelijk om het logniveau voor bepaalde # modules te configureren, bijv. #LogLevel info ssl: waarschuw ErrorLog $ APACHE_LOG_DIR /error.log CustomLog $ APACHE_LOG_DIR /access.log gecombineerd # Voor de meeste configuratiebestanden van conf-available /, die op globaal niveau zijn # ingeschakeld of uitgeschakeld, is het mogelijk om een ​​regel op te nemen voor slechts één bepaalde virtuele host. De volgende regel # schakelt bijvoorbeeld de CGI-configuratie voor deze host alleen # in nadat deze globaal is uitgeschakeld met "a2disconf". # Inclusief conf-available / serve-cgi-bin.conf  # vim: syntax = apache ts = 4 sw = 4 st = 4 sr noet

Doe het bovenstaande voor alle sites die u wilt hosten ... elk met een unieke identiteit, inclusief de DocumentRoot, ServerName, ServerAlias ​​en Domain

Wanneer je klaar bent. sla uw wijzigingen op en sluit af.

Schakel vervolgens de sites in die u zojuist hebt gemaakt door de onderstaande opdrachten uit te voeren voor elk van de virtualhosts.

sudo a2ensite example.com.conf sudo a2ensite example.net.conf 

Schakel ook andere modules in

sudo a2enmod headers sudo a2enmod herschrijven sudo a2enmod env sudo a2enmod dir sudo a2enmod mime

Ga nu naar de volgende stap.

Stap 7: Maak elke directory voor de sites

Nu je de meerdere sites in Apache2 hebt geconfigureerd, ga je de DocumentRoot-mappen maken voor elk van de sites die je hebt gedefinieerd in de bovenstaande configuratie ... De regel die DocumentRoot leest, moet overeenkomen met elke locatie.

sudo mkdir -p /var/www/html/example.com sudo mkdir -p /var/www/html/example.net

Configureer de juiste mapmachtigingen voor alle sites

sudo chown -R www-data: www-data / var / www / html sudo chmod -R 755 / var / www / html 

Start de Apache2-webserver opnieuw door de onderstaande opdrachten uit te voeren

sudo systemctl herstart apache2

Op dit punt zouden al uw sites al geschikt moeten zijn voor WordPress-inhoud. Ga vervolgens WordPress-inhoud downloaden en uitpakken in het DocumentRoot map voor elke site.

Stap 8: download WordPress-inhoud

Download nu WordPress-inhoud en pak deze uit in de hoofdmap voor elke site.

cd / tmp / && wget http://wordpress.org/latest.tar.gz

Pak vervolgens het gedownloade bestand uit.

tar -xzvf latest.tar.gz

En kopieer naar elke hoofdmap voor elke site.

sudo cp -R wordpress / * /var/www/html/example.com sudo cp -R wordpress / * /var/www/html/example.net 

Stap 9: Configureer de WordPress-database-instellingen

Voer de onderstaande opdrachten uit om WordPress te maken wp-config.php instellingenbestand uit zijn voorbeeld.

sudo cp /var/www/html/example.com/wp-config-sample.php /var/www/html/example.com/wp-config.php sudo cp /var/www/html/example.net/wp -config-sample.php /var/www/html/example.net/wp-config.php

Open dan wp-config.php bestand en breng de volgende gemarkeerde wijzigingen aan om te verwijzen naar de database en gebruiker die u hierboven hebt gemaakt.

sudo nano /var/www/html/example.com/wp-config.php

Wanneer het bestand wordt geopend, brengt u de wijzigingen aan en slaat u op.

// ** MySQL-instellingen - U kunt deze informatie opvragen bij uw webhost ** // / ** De naam van de database voor WordPress * / define ('DB_NAME', 'wpdatabase'); / ** MySQL-database gebruikersnaam * / define ('DB_USER', 'wpuser'); / ** MySQL database wachtwoord * / define ('DB_PASSWORD', 'type_password_here'); / ** MySQL-hostnaam * / define ('DB_HOST', 'localhost'); / ** Database-tekenset om te gebruiken bij het maken van databasetabellen. * / define ('DB_CHARSET', 'utf8'); / ** Het type Database-sortering. Verander dit niet bij twijfel. * / define ('DB_COLLATE', ");

Doe het bovenstaande voor elke site die u maakt, en zorg ervoor dat de databaseverbindingsinformatie voor elke site correct is.

sudo systemctl herlaad apache2

Open nu uw webbrowser en blader naar de serverdomeinen en u zou de standaardinstellingenpagina van WordPress voor elke site moeten zien.

Genieten!




Niemand heeft nog op dit artikel gereageerd.