GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment héberger plusieurs sites dans une seule installation Wordpress sur CentOS 7

Ce document décrit comment installer et configurer plusieurs sites WordPress avec la dernière version de WordPress sur CentOS 7 dans une seule instance WordPress. WordPress a commencé en 2003 avec un seul morceau de code pour améliorer la typographie de l'écriture quotidienne et avec moins d'utilisateurs que vous ne pouvez en compter sur vos doigts et vos orteils. Depuis lors, il est devenu le plus grand outil de blogging auto-hébergé au monde, utilisé sur des millions de sites et vu par des dizaines de millions de personnes chaque jour. Ce tutoriel explique le processus d'installation de WordPress 4.0 sur CentOS 7.0 sous la forme d'un guide simple à suivre.

1 Remarque préliminaire

Ce didacticiel est basé sur le serveur CentOS 7.0, vous devez donc configurer une installation de base du serveur CentOS 7.0 avant de poursuivre ce didacticiel. Le système doit avoir une adresse IP statique. J'utilise 192.168.0.100 comme adresse IP dans ce tutoriel et server1.example.com comme nom d'hôte. Vous devez avoir un serveur LAMP installé dans CentOS 7.0 comme mentionné dans le tutoriel pour continuer plus loin.

2 Initialisation de la base de données

Je vais créer la base de données pour WordPress 4.0 comme suit :

mysql -u root -p

Ici, nous ajoutons database=wordpressdb user=wordpressuser et password=wordpresspassword :

CREATE DATABASE wordpressdb;
CREATE USER [email protected] IDENTIFIED BY 'wordpresspassword';
GRANT ALL PRIVILEGES ON wordpressdb.* TO [email protected];

Pour aller plus loin :

FLUSH PRIVILEGES;
exit

Redémarrer les services

service httpd restart
service mariadb restart

De plus, vous devez autoriser le Firewall-cmd à http et https comme suit :

firewall-cmd --permanent --zone=public --add-service=http 
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload

3 Installation de WordPress 4.0

Nous allons d'abord faire un répertoire temp dans lequel je vais ensuite télécharger la dernière version de WordPress comme suit :

mkdir temp
cd temp
yum install wget unzip net-tools
wget http://wordpress.org/latest.zip

Si vous souhaitez travailler avec des images, installer des plug-ins et mettre à jour le site avec des informations d'identification SSH, nous installerons :

yum install php-gd 
service httpd restart

décompressez le fichier zip Wordpress 4.0 dans le dossier :

unzip -q latest.zip -d /var/www/html/

Donnez maintenant les autorisations appropriées dans le répertoire

chown -R apache:apache /var/www/html/wordpress
chmod -R 755 /var/www/html/wordpress

De plus, nous devons créer manuellement le répertoire de téléchargement sous le répertoire wp-content à la racine de notre document. Ce sera le répertoire parent de notre contenu : 

mkdir -p /var/www/html/wordpress/wp-content/uploads

Nous devons autoriser le serveur Web lui-même à écrire dans ce répertoire. Nous pouvons le faire en attribuant la propriété de groupe de ce répertoire à notre serveur Web. Cela permettra au serveur Web de créer des fichiers et des répertoires sous ce répertoire, ce qui nous permettra de télécharger du contenu sur le serveur. Procédez comme ceci :

chown -R :apache /var/www/html/wordpress/wp-content/uploads


Maintenant, nous avons besoin de l'exemple de fichier de configuration, pour le copier dans le fichier de configuration par défaut pour que WordPress reconnaisse le fichier. L'exemple de fichier de configuration est disponible sur /var/www/html/wordpress :

cd /var/www/html/wordpress/
cp wp-config-sample.php wp-config.php
nano wp-config.php
[...]

// ** MySQL settings - You can get this info from your web host ** // /** The name of the database for WordPress */ define('DB_NAME', 'wordpressdb'); /** MySQL database username */ define('DB_USER', 'wordpressuser'); /** MySQL database password */ define('DB_PASSWORD', 'wordpresspassword');

[...]

Modifiez les valeurs comme vous l'avez indiqué lors de l'initialisation de la base de données.

3.1 Configuration multi-sites

Nous allons maintenant procéder à la configuration de plusieurs sites, pour cela nous devons ajouter ces lignes à notre fichier wp-config.php juste au-dessus du /* C'est tout, arrêtez d'éditer ! Bon blog. */ ligne.

nano /var/www/html/wordpress/wp-config.php
[...]
/* Multisite */
define('WP_ALLOW_MULTISITE', true);
/* That's all, stop editing! Happy blogging. */

[...]

3.2 Réécriture Apache

Nous allons modifier le fichier d'hôte virtuel apache pour WordPress afin qu'il soit autorisé pour les remplacements .htaccess. Pour cela, nous allons éditer le fichier de l'hôte virtuel et ajouter les entrées comme :

nano /etc/httpd/conf/httpd.conf
[...]
# Further relax access to the default document root: <Directory "/var/www/html"> # # Possible values for the Options directive are "None", "All", # or any combination of: # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # Note that "MultiViews" must be named *explicitly* --- "Options All" # doesn't give it to you. # # The Options directive is both complicated and important. Please see # http://httpd.apache.org/docs/2.4/mod/core.html#options # for more information. # Options Indexes FollowSymLinks # # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit # AllowOverride All
[...]

Modifiez la valeur de AllowOverride None à AllowOverride All, puis redémarrez le service :

service httpd restart

3.3  Créer un fichier .htaccess

Nous allons maintenant créer le fichier .htaccess à la racine du document, cela permettra à Apache de réécrire :

touch /var/www/html/wordpress/.htaccess

Nous avons besoin que le serveur Web soit le propriétaire du groupe, nous devons donc ajuster la propriété comme suit :

chown apache /var/www/html/wordpress/.htaccess

Si vous souhaitez que WordPress mette automatiquement à jour ce fichier avec des règles de réécriture, vous pouvez vous assurer qu'il dispose des autorisations appropriées pour le faire en utilisant :

chmod 664 /var/www/html/wordpress/.htaccess

Si vous souhaitez mettre à jour ce fichier manuellement pour un petit gain de sécurité, vous pouvez autoriser le serveur Web à ne lire que les privilèges en tapant :

chmod 644 /var/www/html/wordpress/.htaccess

Dans mon cas, j'utilise les autorisations 644.

3.4 Webinstallation

Passez maintenant à l'installation Web de WordPress 4.0. Accédez à l'URL http://192.168.0.100/wordpress/wp-admin/install.php :

Sélectionnez la langue et appuyez sur Continuer :

Suivant

Donnez maintenant les valeurs que j'ai données dans mon cas

Site Title = Wordpress-testsite
Admin Email = [email protected]
Username = admin
Admin password = howtoforge
Confirm Admin Password = howtoforge

Les valeurs ci-dessus différeront dans votre cas, vous pouvez donner les valeurs de votre choix. Après avoir donné les valeurs, appuyez sur InstallWordpress :


 

Nous allons maintenant procéder vers la page de connexion en appuyant sur LogIn :

Donnez les informations d'identification que vous avez sélectionnées au moment de l'installation Web de WordPress :



Ce sera votre fenêtre de bienvenue par défaut de WordPress. Nous pouvons vérifier la version de WordPress dans le navigateur comme :

3.5 Configuration de sites multiples 

Allez maintenant dans Outils-->Configuration réseau

Donnez les entrées comme suit

Titre du réseau =Wordpress-testsite multisite
Courriel de l'administrateur du réseau =[email protected]

et appuyez sur Installer

Cela donnera la fenêtre suivante :

Ajoutez ce qui suit à votre fichier wp-config.php dans /var/www/html/wordpress/ au-dessus de la ligne indiquant /* C'est tout, arrêtez d'éditer ! Bon blog. */ :

nano /var/www/html/wordpress/wp-config.php

Donnez les entrées selon votre sortie après l'installation multisite. Dans mon cas c'était :

[...]
/* Multisite */ define('WP_ALLOW_MULTISITE', true); define('MULTISITE', true); define('SUBDOMAIN_INSTALL', false); define('DOMAIN_CURRENT_SITE', '192.168.0.100'); define('PATH_CURRENT_SITE', '/wordpress/'); define('SITE_ID_CURRENT_SITE', 1); define('BLOG_ID_CURRENT_SITE', 1);
 /* That's all, stop editing! Happy blogging. */
[...]

Remarque :Dans mon cas, j'utilise 192.168.0.100, ce qui sera différent dans votre cas

Ajoutez les entrées suivantes à votre fichier .htaccess dans /var/www/html/wordpress/, en remplaçant les autres règles WordPress :

nano /var/www/html/wordpress/.htaccess
RewriteEngine On
RewriteBase /wordpress/
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]

Après le redémarrage d'Apache

systemctl restart httpd.service

Maintenant, reconnectez-vous à WordPress. Après avoir configuré avec succès le réseau multisite, vous devez basculer vers le tableau de bord réseau pour configurer les paramètres réseau, ajouter de nouveaux sites et faire beaucoup d'autres choses. Placez votre souris sur le menu Mes sites dans la barre d'outils d'administration, une fenêtre contextuelle apparaîtra. Cliquez sur Administrateur réseau-->Tableau de bord.



Il vous dirigera vers le tableau de bord du multisite WordPress.




Vous pouvez maintenant créer un nouveau site en cliquant sur Sites-->Ajouter un nouveau



Ajoutez simplement les valeurs selon vos besoins.




Félicitations ! Vous avez maintenant une instance WordPress 4.0 entièrement fonctionnelle avec un réseau de sites multiples sur votre CentOS 7.0 :)

  • WordPress :http://wordpress.org/
  • CentOS :http://www.centos.org/

Cent OS
  1. Comment installer WordPress sur RHEL 8 / CentOS 8 Linux

  2. Comment installer wordpress sur CentOS 6

  3. Comment attribuer plusieurs adresses IP à une seule interface réseau sur CentOS 8

  4. Comment migrer l'installation de CentOS 8 vers le flux CentOS

  5. Configurer plusieurs sites WordPress sur un seul VPS

Comment installer NetBeans sur CentOS 8

Comment installer plusieurs versions de Java sur CentOS 8

Comment installer osCommerce sur CentOS 7

Comment installer WordPress sur CentOS 7

Comment installer WordPress sur CentOS 8

Comment installer Plesk sur CentOS 8