web-dev-qa-db-fra.com

Réinitialiser le site Wordpress

J'ai un site Web pour démo des plugins et je veux permettre aux utilisateurs de se connecter, mais je ne sais pas comment réinitialiser le site Web une fois qu'ils se seront déconnectés. Est-il possible de créer une instance distincte de Wordpress pour chaque nouvel utilisateur, puis de se supprimer une fois que cet utilisateur se déconnecte? Ou est-il possible de réinitialiser un site Wordpress une fois par jour (pas de réinitialiser la base de données ni de réinitialiser complètement le site), tout en maintenant le plug-in activé et le programme d'installation?

1
Firelight

Une façon de résoudre ce problème consiste à configurer votre site de démonstration exactement comme vous le souhaitez chaque jour (utilisez un nom d'utilisateur standard et transmettez-le comme "admin" et "testpass"), puis vider la base de données et compresser les fichiers. Ensuite, placez le fichier Zip quelque part sur votre serveur. Configurez un script BASH qui supprime le contenu du répertoire Wordpress actuel, supprime toutes les tables de la base de données, copie le fichier Zip, le décompresse, puis importe le fichier de base de données dans la base de données. Ensuite, vous pouvez configurer un cron pour exécuter le fichier tous les soirs à minuit. Voici quelques informations sur la configuration d'un cron:

http://www.cyberciti.biz/faq/how-do-i-add-jobs-to-cron-under-linux-or-unix-oses/

Donnez-moi un peu et je vais vous donner un exemple de code.

MODIFIER:

Une fois vos fichiers compressés, vous pouvez écrire un script BASH comme ceci:

#!/bin/bash

rm -rf ~/path/to/your-website/*
mysql -u your-db-username -pyour-db-password -e "DROP DATABASE wordpress_database"
cp ~/path/to/your.Zip ~/path/to/your-website
unzip ~/path/to/your-website/your.Zip
mysql -u your-db-username -pyour-db-password -e "CREATE DATABASE wordpress_database"
mysql -u your-db-username -pyour-db-password wordpress_database < ~/path/to/your-website/db-dump.sql

Quelque chose comme ça devrait faire le travail. Il suffit de mettre cela dans un fichier du type "reset-test-site.sh" et de configurer un cron pour exécuter le script tous les soirs à minuit.

Notez également l'absence d'espace dans la commande mysql entre l'option "-p" et le mot de passe actuel. Ce n'est pas une faute de frappe, et c'est ainsi que cette commande fonctionne. Je voulais juste m'assurer que vous savez que ce n'est pas une erreur.

3