Introduction
Ce guide complet vous explique comment héberger deux sites WordPress distincts (mysit.net et forum.mysit.net) en utilisant une seule base de données partagée. Cette approche centralisée offre des avantages en termes de gestion des utilisateurs et d’optimisation de l’espace de stockage, mais requiert une configuration plus technique et présente des risques de sécurité accrus.
Pourquoi faire ça ?
- Partage des comptes utilisateurs : Un seul compte pour tout ! Les utilisateurs s’inscrivent sur un site et hop, ils peuvent se connecter à l’autre avec les mêmes identifiants. Pratique, non ?
- Moins d’espace disque utilisé : Rassemblez vos données utilisateurs au même endroit, c’est plus économique en espace de stockage.
Prérequis
Avant de commencer, assurez-vous de disposer des éléments suivants :
- Deux noms de domaine distincts : mysit.net et forum.mysit.net
- Un compte d’hébergement Web prenant en charge l’accès à la base de données
- Un client FTP pour le téléchargement des fichiers WordPress
- Connaissances de base en administration de bases de données (MySQL)
Il est possible de configurer deux sites WordPress distincts, mysit.net et forum.mysit.net, en partageant une seule base de données tout en conservant un contenu, des thèmes, des plugins et des répertoires wp-content distincts pour chaque site. De plus, un système d’authentification unique permettra aux utilisateurs de se connecter à l’un ou l’autre site avec les mêmes identifiants de connexion.
Cependant, il est important de noter que cette configuration est déconseillée pour la plupart des utilisateurs et ne doit être envisagée que par les développeurs WordPress expérimentés. La gestion de plusieurs sites WordPress avec une seule base de données peut entraîner des complexités et des problèmes de maintenance.
Mise en place d’une architecture multisite complexe
La configuration de deux sites WordPress distincts, mysit.net et forum.mysit.net, sur une base de données partagée tout en préservant l’indépendance du contenu, des thèmes, des plugins et des répertoires wp-content requiert une approche multisite avancée. Bien que cette méthode permette une gestion centralisée des utilisateurs et une économie d’espace de stockage, elle présente des défis techniques et des risques accrus pour la maintenance et la sécurité.
Recommandations préliminaires
Il est crucial de souligner que cette configuration est déconseillée à la majorité des utilisateurs et s’adresse principalement aux développeurs WordPress expérimentés. La gestion de plusieurs sites WordPress avec une base de données partagée implique une complexité accrue et exige une vigilance particulière pour maintenir l’intégrité et la sécurité du système.
Avantages potentiels
- Gestion centralisée des utilisateurs : Un système d’authentification unique permet aux utilisateurs de se connecter aux deux sites en utilisant des identifiants de connexion partagés.
- Économie d’espace de stockage : L’utilisation d’une base de données partagée réduit l’espace de stockage requis par rapport à des installations WordPress indépendantes.
Inconvénients et défis
- Complexité accrue : La configuration et la maintenance d’une architecture multisite avec une base de données partagée sont plus complexes et nécessitent une expertise technique approfondie.
- Problèmes de maintenance : Les modifications apportées à la structure de la table ou aux données de la base de données partagée peuvent avoir un impact involontaire sur les deux sites.
- Risques de sécurité accrus : Une faille de sécurité sur l’un des sites peut compromettre les données des utilisateurs pour les deux.
Si vous êtes débutant, il est fortement recommandé d’installer et de gérer chaque site WordPress avec sa propre base de données séparée. Cela simplifiera considérablement la configuration et la maintenance.
Cependant, si vous souhaitez toujours procéder avec cette approche, voici les étapes à suivre :
Vous souhaitez créer deux sites WordPress distincts, mysit.net et forum.mysit.net, qui partagent la même base de données, mais chaque site possède son propre contenu, son installation, son thème, ses plugins et son répertoire wp-content. Vous souhaitez également activer l’authentification unique (SSO) entre les deux sites, afin que les utilisateurs puissent accéder aux deux sites avec les mêmes informations de connexion.
Pour y parvenir sans utiliser de plugins, vous devrez créer une solution personnalisée. Voici un guide étape par étape pour vous aider à configurer les deux sites :
Étape 1 : Configurer la base de données
- Créez une seule base de données MySQL qui sera partagée par les deux sites WordPress.
- Assurez-vous que chaque site WordPress a son propre préfixe de table pour éviter les conflits de données. Vous pouvez modifier le préfixe de table pour chaque site dans le fichier
wp-config.php
respectif.
Étape 2 : Créez deux installations WordPress distinctes
- Créez deux installations WordPress distinctes sur votre serveur, une pour mysit.net et une autre pour forum.mysit.net. Vous pouvez utiliser la même version PHP, la même version MySQL et la même configuration de serveur pour les deux sites.
Étape 3 : Configurer les paramètres de la base de données
- Dans le
wp-config.php
fichier de chaque site, définissez les constantes suivantes pour qu’elles pointent vers la même base de données :
define('DB_NAME', 'your_database_name');
define('DB_USER', 'your_database_username');
define('DB_PASSWORD', 'your_database_password');
define('DB_HOST', 'your_database_host');
Assurez-vous de remplacer your_database_name
, your_database_username
, your_database_password
et your_database_host
par les valeurs réelles de votre base de données.
Étape 4 : Créez des thèmes et des plugins distincts
- Pour chaque site, créez des thèmes et des plugins distincts. Cela vous permettra de personnaliser le design et les fonctionnalités de chaque site de manière indépendante.
- Par exemple, vous pouvez créer un thème pour mysit.net appelé
mysit-theme
et un autre thème pour forum.mysit.net appeléforum-theme
. De même, vous pouvez créer des répertoires de plugins distincts pour chaque site.
Étape 5 : Configurez le SSO à l’aide des fonctions principales de WordPress
- Pour activer le SSO entre les deux sites, vous devrez modifier la
wp_login
fonction dans le fichier de chaque sitewp-login.php
. Cette fonction est responsable du traitement des demandes de connexion. - Voici un exemple de la façon dont vous pouvez modifier la
wp_login
fonction dans le fichier de chaque sitewp-login.php
:
function wp_login($user_login) {
// Get the user's ID from the database
$user_id = get_user_id_by_login($user_login);
// If the user is not found, return an error
if (!$user_id) {
return new WP_Error('invalid_username', __('Invalid username or password'));
}
// Get the user's data from the database
$user_data = get_userdata($user_id);
// Set the session cookie
setcookie('wp_logged_in_' . COOKIEHASH, wp_generate_password(22), time() + 31536000);
// Update the user's session data
update_user_session_data($user_id);
// Redirect the user to their profile page
wp_redirect(get_permalink($user_data->ID));
exit;
}
Cette fonction modifiée vérifiera si un utilisateur existe dans les bases de données des deux sites et le redirigera vers sa page de profil sur l’un ou l’autre site.
Étape 6 : Configurez des répertoires wp-content distincts
- Créez
wp-content
des répertoires distincts pour chaque site. Cela vous permettra de stocker différents fichiers et plugins pour chaque site indépendamment.
Étape 7 : Configurer WordPress
- Pour chaque site, configurez les paramètres WordPress tels que le fuseau horaire, la langue et d’autres paramètres selon vos besoins.
C’est ça! Avec ces étapes, vous devriez avoir deux sites WordPress distincts qui partagent la même base de données mais qui ont leur propre contenu, thèmes, plugins et répertoires wp-content. Les utilisateurs pourront accéder aux deux sites avec les mêmes informations de connexion.
N’oubliez pas de tester minutieusement votre configuration pour vous assurer que tout fonctionne comme prévu.
Gestion des utilisateurs dans la table wp_users
partagée :
- La table
wp_users
de la base de données partagée stocke les informations d’identification des utilisateurs (noms d’utilisateur, mots de passe, adresses e-mail) pour les deux sites. - Les rôles et les autorisations des utilisateurs peuvent être gérés individuellement pour chaque site en utilisant les tables préfixées respectives (par exemple,
wp1_usermeta
etwp2_usermeta
). - Cela permet un contrôle granulaire sur les privilèges d’accès et les fonctionnalités utilisateur pour chaque site.
Utilisation de thèmes, plugins et répertoires wp-content distincts :
- Chaque site doit avoir son propre thème WordPress, ses propres plugins et son propre répertoire
wp-content
pour maintenir une personnalisation indépendante. - Les thèmes et les plugins doivent être téléchargés et installés dans leurs répertoires respectifs (
wp-content/themes
etwp-content/plugins
) pour chaque site. - Cela garantit que l’apparence, les fonctionnalités et les contenus spécifiques à chaque site ne sont pas interférés.
Configuration avancée :
- Requêtes SQL spécifiques au site : Des requêtes SQL personnalisées peuvent être nécessaires pour extraire des données spécifiques à chaque site depuis la base de données partagée.
- Fonctionnalités multisites limitées : Certaines fonctionnalités de WordPress multisite, comme la création de sous-sites, ne sont pas directement applicables dans cette configuration.
Remarques importantes :
- Sauvegardes régulières : Des sauvegardes complètes et fréquentes de la base de données et des fichiers WordPress sont essentielles pour la récupération en cas de défaillance ou de perte de données.
- Mises à jour cohérentes : Maintenez les deux sites WordPress et leurs composants (thèmes, plugins) à jour pour garantir une sécurité et une compatibilité optimales.
- Résolution des conflits : Des conflits potentiels entre les préfixes de table ou les données spécifiques au site peuvent nécessiter des solutions de contournement ou un développement personnalisé.
Considérations importantes
- Partage de la base de données : La modification de la structure de la table ou des données dans la base de données partagée peut affecter les deux sites. Soyez prudent lors de l’apport de modifications à la base de données.
- Sécurité : Le piratage d’un site peut compromettre les données des utilisateurs pour les deux sites. Il est crucial de mettre en place des mesures de sécurité robustes pour protéger vos sites WordPress.
- Complexité : La gestion de plusieurs sites WordPress avec une seule base de données peut être complexe et sujette à des erreurs. Il est recommandé aux utilisateurs débutants d’utiliser des installations WordPress distinctes avec leurs propres bases de données.
Considérations critiques
- Partage de la base de données : Exercer une prudence extrême lors de la modification de la structure de la table ou des données de la base de données partagée.
- Sécurité : Mettre en place des mesures de sécurité robustes, y compris des mises à jour régulières, des sauvegardes fréquentes et des contrôles d’accès stricts, pour minimiser les risques de piratage.
- Complexité : Envisager attentivement les défis de maintenance avant de s’engager dans cette approche.
Conclusion
L’hébergement de deux sites WordPress distincts sur une base de données partagée offre certains avantages en termes de gestion des utilisateurs et d’économie d’espace. Cependant, la complexité accrue, les problèmes de maintenance potentiels et les risques de sécurité accrus font de cette approche une option déconseillée pour la plupart des utilisateurs.
Pour les utilisateurs débutants et ceux qui privilégient la simplicité et la fiabilité, il est fortement recommandé d’utiliser des installations WordPress indépendantes avec leurs propres bases de données.
Laisser un commentaire
Vous devez vous connecter pour publier un commentaire.