Configurer Apache2 VirtualHost pour plusieurs blogs WordPress

  • Eustace Evans
  • 0
  • 3084
  • 40

Alors, vous souhaitez héberger plusieurs blogs WordPress sur un seul serveur? Avec la fonctionnalité Apache2 VirtualHost, on peut facilement exécuter plusieurs sites Web sur un seul serveur, et ce bref tutoriel va vous montrer comment y parvenir.

Chaque hôte virtuel fonctionne indépendamment des autres. Donc, si vous allez exécuter un site Web WordPress sur chaque VirtualHost, il fonctionnera comme s'il s'agissait du seul site Web sur le serveur. Cela vous permet de réduire les coûts sur les serveurs et les ressources supplémentaires.

Ce tutoriel sera court… et ne vous fera pas perdre de temps avec d’autres choses inutiles.

Étape 1: configuration du serveur Ubuntu

Je trouve Ubuntu facile à gérer et à maintenir, donc ce tutoriel va être basé sur Ubuntu Linux. Vous pouvez faire fonctionner Apache2 VirtualHost sur d'autres distributions Linux, mais Ubuntu est une excellente distribution pour les nouveaux utilisateurs et les débutants.

Alors, installez Ubuntu avec un accès root et exécutez les commandes ci-dessous pour le mettre à jour.

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

Étape 2: installer le serveur Web Apache2

Après la mise à jour d'Ubuntu, exécutez les commandes ci-dessous pour installer le serveur Web Apache2.

sudo apt-get installer apache2

Étape 3: installer le serveur de base de données MySQL

Après avoir installé Apache2, exécutez les commandes ci-dessous pour installer le serveur de base de données MySQL.

sudo apt-get install serveur-mysql client-mysql

Lors de l'installation, vous serez invité à créer un nouveau mot de passe pour l'utilisateur root MySQL. Fais le! Ce mot de passe sera utilisé pour se connecter au serveur MySQL.

Étape 4: Installez PHP et d'autres modules

Après avoir installé le serveur MySQL, exécutez les commandes ci-dessous pour installer PHP et d'autres modules PHP.
sudo apt-get install php libapache2-mod-php php-mysql php-curl php-gd php-pear php-imagick php-imap php-mcrypt php-recode php-tidy php-xmlrpc

À ce stade, tous les serveurs et packages dont WordPress a besoin pour fonctionner sont installés. Les prochaines étapes seront de créer des bases de données WordPress, de configurer Apache2 VirtualHosts et de télécharger du contenu WordPress en ligne.

Étape 5: Créez des bases de données et des utilisateurs WordPress

Exécutez les commandes ci-dessous pour vous connecter au serveur MySQL

sudo mysql -u racine -p

WordPress nécessite une base de données. Exécutez les commandes ci-dessous pour créer de nouvelles bases de données ainsi que des utilisateurs de base de données. Il suffit de dupliquer les commandes pour des bases de données supplémentaires et des utilisateurs autant que vous le souhaitez. Assurez-vous qu'ils ont tous des noms uniques.

Les commandes ci-dessous créent une nouvelle base de données appelée wpdatabase

CREATE DATABASE wpdatabase;

Les commandes ci-dessous créent un nouvel utilisateur de base de données appelé wpuser et accordent à l'utilisateur l'accès à wpdatabase.

GRANT ALL ON wpdatabase. * TO 'wpuser' @ 'localhost' IDENTIFIED BY 'type_new_password_here';

[alert-note] Répétez les étapes ci-dessus pour créer des bases de données supplémentaires pour des sites WordPress supplémentaires. Par exemple, créez la base de données wpdatabase1, wpdatabase2 ainsi que les utilisateurs des sites Web WordPress supplémentaires. [/ Alert-note]

Lorsque vous avez terminé, exécutez les commandes ci-dessous pour enregistrer vos modifications et quitter.

PRIVILÈGES DE RINÇAGE; sortie 

Étape 6: Créez plusieurs VirtualHost pour plusieurs sites

Après avoir créé plusieurs bases de données pour les multiples sites WordPress que vous souhaitez exécuter, suivez le guide ci-dessous pour créer plusieurs VirtualHosts pour les sites. Copiez le fichier de configuration de site Apache2 par défaut pour créer des VirtualHosts supplémentaires (sites).

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 

Vous voyez que nous créons deux hôtes virtuels pour deux sites Web différents… (example.com.conf et example.net.conf)

Chacun des fichiers de configuration de site ci-dessus hébergera un domaine unique.

Ouvrez maintenant chaque fichier en exécutant les commandes ci-dessous pour chacun…

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

Ensuite, pour le fichier example.com.conf, configurez le nom du serveur, alias de serveur, DocumentRoot et d'autres uniques au domaine example.com. Répétez la même chose pour les autres hôtes virtuels.

 # Cependant, vous devez le définir explicitement pour tout autre hôte virtuel. ServerName example.com ServerAlias ​​www.example.com ServerAdmin [email protected] DocumentRoot /var/www/html/example.com # Niveaux de journalisation disponibles: trace8,…, trace1, debug, info, notice, warn, # error, crit, alerte, émerg. # Il est également possible de configurer le niveau de journalisation pour des modules # particuliers, par ex. #LogLevel info ssl: warn ErrorLog $ APACHE_LOG_DIR /error.log CustomLog $ APACHE_LOG_DIR /access.log combiné # Pour la plupart des fichiers de configuration de conf-available /, qui sont # activés ou désactivés au niveau global, c'est possible pour # inclure une ligne pour un seul hôte virtuel particulier. Par exemple, la ligne suivante # active la configuration CGI pour cet hôte # seulement après avoir été globalement désactivée avec "a2disconf". #Include conf-available / serve-cgi-bin.conf  # vim: syntaxe = apache ts = 4 sw = 4 sts = 4 sr noet

Faites ce qui précède pour tous les sites que vous souhaitez héberger… chacun avec une identité unique, y compris DocumentRoot, ServerName, ServerAlias ​​et Domain

Lorsque vous avez terminé. enregistrez vos modifications et fermez.

Ensuite, activez les sites que vous venez de créer en exécutant les commandes ci-dessous pour chacun des hôtes virtuels.

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

Activez également d'autres modules

sudo a2enmod en-têtes sudo a2enmod réécrire sudo a2enmod env sudo a2enmod dir sudo a2enmod mime

Maintenant, passez à l'étape suivante.

Étape 7: Créez chaque répertoire pour les sites

Maintenant que vous avez configuré les multiples sites dans Apache2, allez et créez les dossiers DocumentRoot pour chacun des sites que vous avez définis dans la configuration ci-dessus… La ligne que lit DocumentRoot doit correspondre à chaque emplacement.

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

Configurer les autorisations de dossier appropriées pour tous les sites

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

Redémarrez le serveur Web Apache2 en exécutant les commandes ci-dessous

sudo systemctl redémarrer apache2

À ce stade, tous vos sites devraient déjà être destinés au contenu WordPress. Ensuite, téléchargez le contenu WordPress et extrayez-le dans le DocumentRoot dossier pour chaque site.

Étape 8: Téléchargez le contenu WordPress

Téléchargez maintenant le contenu WordPress et extrayez-le dans le répertoire racine de chaque site.

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

Puis extrayez le fichier téléchargé.

tar -xzvf latest.tar.gz

Et copiez dans chaque dossier racine de chaque site.

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

Étape 9: Configurer les paramètres de la base de données WordPress

Exécutez les commandes ci-dessous pour créer WordPress wp-config.php fichier de paramètres de son exemple.

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

Puis ouvrez wp-config.php et apportez les modifications suivantes en surbrillance pour référencer la base de données et l'utilisateur que vous avez créés ci-dessus.

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

Lorsque le fichier s'ouvre, effectuez les modifications et enregistrez.

// ** Paramètres MySQL - Vous pouvez obtenir ces informations auprès de votre hébergeur ** // / ** Le nom de la base de données pour WordPress * / define ('DB_NAME', 'wpdatabase'); / ** Nom d'utilisateur de la base de données MySQL * / define ('DB_USER', 'wpuser'); / ** Mot de passe de la base de données MySQL * / define ('DB_PASSWORD', 'type_password_here'); / ** Nom d'hôte MySQL * / define ('DB_HOST', 'localhost'); / ** Jeu de caractères de base de données à utiliser pour créer des tables de base de données. * / define ('DB_CHARSET', 'utf8'); / ** Le type d'assemblage de base de données. Ne changez pas cela en cas de doute. * / define ('DB_COLLATE', ");

Effectuez les opérations ci-dessus pour chacun des sites que vous créez, en vous assurant que les informations de connexion à la base de données sont correctes pour chaque site.

sudo systemctl recharger apache2

Maintenant, ouvrez votre navigateur Web et accédez aux domaines du serveur et vous devriez voir la page de configuration par défaut de WordPress pour chaque site.

Prendre plaisir!




Personne n'a encore commenté ce post.

Une collection utiles sur le système Linux et les nouvelles technologies
Articles frais, conseils pratiques, critiques détaillées et guides. Sentez-vous comme chez vous dans le monde du système Linux