Support » Allgemeine Fragen » Mehrere WordPress-Installationen auf einemal
Mehrere WordPress-Installationen auf einemal
-
Hallo zusammen
ich gebe WordPress-Workshops. Für jeden Teilnehmer muss ich eine eigene WordPress-Umgebung einrichten. Ich suche nach einer schnellen Möglichkeit, z.B. 10 WordPress-Installationen auf meinem Hoster mit einem Skript oder so einzurichten.
– ich habe das wp quick install script gefunden, aber das ist nur für „eine“ website auf einmal
– wordpress multisite ist in meinen augen auch keine option, weil ich ihnen zeigen möchte, wie man plugins, themes etc. verwaltet.Hat jemand eine Idee, wie ich mehrere WordPress-Installationen mit Namen und Admin-Benutzern wie user1, user2, user3 etc. einrichten kann?
Danke! Jonas
-
Hallo,
ich kann mir vorstellen, dass man das ganz gut mit WP CLI in einer lokalen Entwicklungsumgebung unter Laragon einrichten kann, z. B. in der folgenden Art. Dazu habe ich ein Script angepasst, das hier zu finden ist. Das Script erstellst du z. B. alswp_install.sh
.#!/bin/bash #Double-check you're ready to rock and roll with an update # https://n8finch.com/wrote-first-bash-script-implement-wp-cli-managed-sites read -r -p "Are you sure you want to install WordPress? [y/N] " response # username, database-name, sitename wpuser='hagege' # a web page with the name "Neue Testseite" and the database "test_db" should always be created dbname='test_db' sitename='Neue Testseite' dir='neue_testseite' # remove directory (show the process: v) # rm -rv $dir; # Make a new directory mkdir $dir; # Change directory cd $dir; echo "=================================================================" echo "Awesome WordPress Installer!!" echo "=================================================================" # accept user input for the databse name - here deactivated # echo "Database Name: " # read -e dbname # accept the name of our website - here deactivated # echo "Site Name: " # read -e sitename # download the WordPress core files # php ../wp-cli.phar wp core download php ../wp-cli.phar core download # create the wp-config file php ../wp-cli.phar core config --dbname=$dbname --dbuser=root --dbpass= # php ../wp-cli.phar core config --dbname=$dbname --dbuser=root --dbpass= # parse the current directory name currentdirectory=${PWD##*/} # generate random 12 character password password=$(LC_CTYPE=C tr -dc A-Za-z0-9_\!\@\#\$\%\^\&\*\(\)-+= < /dev/urandom | head -c 12) # delete database php ../wp-cli.phar db drop # create database, and install WordPress php ../wp-cli.phar db create php ../wp-cli.phar core install --url="http://localhost/$currentdirectory" --title="$sitename" --admin_user="$wpuser" --admin_password="$password" --admin_email="postmaster@aachenerkinder.de" # Change User-Password: php ../wp-cli.phar user create User1 user1@example.com --role=administrator --user_pass=Test_2019 # german language: php ../wp-cli.phar language core install de_DE php ../wp-cli.phar language core activate de_DE # php ../wp-cli.phar site switch-language de_DE # install the _s theme # php ../wp-cli.phar theme install https://github.com/Automattic/_s/archive/master.zip --activate # clear php ../wp-cli.phar plugin install updraftplus --activate php ../wp-cli.phar updraftplus restore 99d2af14ce61 echo "=================================================================" echo "Installation is complete. Your username/password is listed below." echo "" echo "Username: $wpuser" echo "Password: $password" echo "" echo "=================================================================" read -p "FINISHED - Press [Enter] key to continue..."
Für Deine Zwecke müsste das noch etwas angepasst werden.
Zu Laragon habe ich hier einen Beitrag erstellt.Nachtrag: An sich ist das hier off topic, da wir uns hier um WordPress-Anwendungsfragen kümmern.
Viele Grüße
Hans-Gerd- Diese Antwort wurde geändert vor 2 Jahren, 7 Monaten von Hans-Gerd Gerhards.
- Diese Antwort wurde geändert vor 2 Jahren, 7 Monaten von Hans-Gerd Gerhards. Grund: Ergänzung
Das hängt ein wenig von der Schulungs-Umgebung ab. Ich hab schon mal in einem Schulungsraum gesessen und ewig darauf gewartet, bis in einem extrem langsamen Netzwerk ein lokaler Webserver (sowas wie Laraogn) auf alle Schulungsrechner verteilt wurde. Im Zweifelsfall gibt es noch Einschränkungen, die z.B. für einen lokalen Domain-Namen Administratoren-Rechte erfordern und wenn du das erst fünf Minuten nach Beginn des Kurses feststellst … alles schon mitgemacht, war nicht so lustig.
Inzwischen setze ich deshalb für kleinere Schulungen (zehn, zwölf Teilnehmende) rasch einen LAMP-Stack auf DigitalOcean auf – kostet in der kleinsten, völlig ausreichenden Version 5,– US-$ im Monat, abgerechnet wird aber stundenweise. Dort lege ich dann zehn + 1 (Dozent) Datenbanken an, die alle einem Datenbank-User
wordpress
zugewiesen sind und richte im Apache2-Server mit einem Bash-Skript zehn virtuelle Hosts an.
Danach lasse ich dann ein Batch-Skript laufen, in dem ich mehrere Verzeichnisse in/var/www
anlege, in den Verzeichnissen mit WP-CLI einewp-config.php
erstelle und dann die Installation laufen lasse. Damit die Teilnehmenden alle den gleichen Stand haben, wird eine Auswahl an Themes und Plugins mit WP-CLI vorinstalliert, aber (aus didaktischen Gründen) noch nicht aktiviert. Ich lade auch per WP-CLI ein paar Bilder in der Mediathek hoch, mit denen gleich bei der ersten Webseite gearbeitet werden kann.Im Prinzip also sehr, sehr ähnlich wie bei @hage, nur dass ich mehr mit Arrays im Bashscript arbeite, um die Webseiten gleich in den Verzeichnissen
wordpress01
biswordpress10
zu installieren. Sinngemäß sowas wie …for i in {01..10} do mkdir /var/www/wordpress$i cd /var/www/wordpress$i wp core download wp config create --dbname=wordpress$i --dbuser=wordpress --dbpass=wp#$1 --locale=de_DE wp core install --url=tn$i.wp-kurs.de --title="WordPress für Einsteiger" --admin_user=admin --admin_password=password --admin_email=user$i@wp-kurs.de done
Der letzte Schritt kann aus ausbleiben, wenn die Teilnehmenden tatsächlich selber installieren sollen. Da die meisten Webhoster aber One-Click-Installationen vorgeben, erspare ich das (auch aus Zeitgründen) den Teilnehmenden.
Ich verwende für alle Teilnehmenden die (für den produktiven Einsatz natürlich nicht zu emfehlenden) Username/Passwort-Kombination von
admin
undpassword
, weil erfahrungsgemäß sonst großes Durcheinander entsteht, wenn jeder einen anderen Benutzernamen und ein anderes Passwort verwendet. Auch die Zugangsdaten zur Datenbank sind nur eingeschränkt empfehlenswert. Gleichzeitig versehe ich aber alle Websites mit einem serverseitigen Passwortschutz (.htpasswd
) und der komplette Server wird eine Woche nach Kursbeginn komplett gelöscht. (So lange können die Teilnehmenden auch noch von zuhause Dinge ausprobieren – ich finde das einen Vorteil gegenüber lokalen Webserver-Installationen auf dem Schulungs-Computer, an den die Teilnehmenden nach Verlassen des Raums nicht mehr drankommen.Eine Multisite-Installation macht nur dann Sinn, wenn z.B. der Umgang mit dem Block-Editor geübt und auf fertig vorinstallierte Themes und Plugins zugegriffen werden soll. Für einen Einsteigerkurs fände ich das auch nicht optimal. Mit individuellen WordPress-Instanzen auf Subdomains klappt es aber ganz gut, vor allem wenn die Teilnehmenden einen ausgedruckten Serienbrief mit „ihrer“ URL, „ihrem“ Link zum Anmeldeformular und „ihren“ Zugangsdaten bekommen.
Alles klar, keine weiteren Fragen. Genau was ich gesucht habe.
Vielen herzlichen Dank!
@ampluswp
dann wäre es noch schön, wenn du das Thema als gelöst markierst. Danke.
- Das Thema „Mehrere WordPress-Installationen auf einemal“ ist für neue Antworten geschlossen.