Das letzte Update war vor 11. August 2022 von Vinzenz Schächner
Einen Home Server selbst zu hosten und installieren, sowie konfigurieren ist sehr, sehr viel Arbeit und deswegen gibt es einen, hoffentlich, übersichtlichen Leitartikel mit dem wir Sie unterstützen werden.
Wie Ihr sicher schon bemerkt habt, ist die Installation von WordPress und NextCloud und vielleicht kommenden Installationen ziemlich ähnlich. Wir werden euch heute das Prinzip dahinter erklären.
Das liegt daran, dass diese Dienste alle sogenannte „Web-Dienste“ sind, die wir im Verzeichnis /var/www speichern. Alle Installationen in diesem Verzeichnis haben meistens eine Weboberfläche und irgendeinen Dienst wie NextCloud oder WordPress.
Das Verzeichnis /var/www ist das „Web-Verzeichnis“.
Fangen wir von vorne an.
Datenbank
Zuerst erstellen wir mit
mysql
und dann
CREATE DATABASE datenbankame;
sowie
CREATE USER 'datenbankname'@'localhost' IDENTIFIED BY 'Passwort';
und
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost';
FLUSH PRIVILEGES;
EXIT;
eine Datenbank mit dem dazugehörigen Benutzer und Berechtigungen.
Eine Datenbank ist eigentlich einfach gesagt, ein Speicher, in dem die Benutzer, Passwörter und Daten von z.B. WordPress/Nextcloud/… gespeichert werden. Diese braucht man für jedes dieser Programme und der Code ist, bis auf den Datenbank Namen und Benutzernamen immer gleich. (Manchmal auch noch das Passwort, wenn man es genau nimmt🙄)
Download und verschieben + ähnliches.
Jetzt kommen wir zu einem, eigentlich auch einfachen Teil.
Zuerst wechseln wir mit
cd /tmp
Immer ins temporäre Verzeichnis, das muss nicht sein.
Danach laden wir mit
wget https://example.com/latest.zip
ein Paket mit dem Programm von der offiziellen Website herunter. Der Pfad kann variieren, aber am Ende befindet sich oft ein /latest.zip, das bedeutet, dass die letzte Version gedownloadet wird.
Das Paket wird als Zip-Datei geliefert und das müssen wir mit
unzip latest.zip
einfach entpacken.
Jetzt kommen wir zu einem wichtigen Teil. Sie wissen ja bereits, dass das /var/www Verzeichnis das Web-Verzeichnis ist. In diese müssen wir das Paket von WordPress / Nextcloud / Example hineinschieben, bei Bedarf auch in /var/www/1.Installation im Webverzeichnis. Das geht einfach mit dem Befehl
sudo mv example /var/www
Virtual Host
Das folgende ist auch nicht unwichtig:
Wir müssen eine Virtual Host erstellen. Das ist speziell bei Apache und dieser sorgt dafür, dass man mehrere Webseiten, bzw. Web-Dienste auf einem Server installieren kann. Das funktionier mit dem Befehl
nano /etc/apache2/sites-available/example.conf
Hier erstellt man die example.conf (z.B. wordpress.conf) Datei für apache2 und fügt folgenden Inhalt hinzu:
<VirtualHost *:80>
ServerAdmin [email protected] //Hier kommt die E-Mail-Adresse des Administrators hin.
DocumentRoot /var/www/wordpress/ //Das ist der Document Root, der wird auf das Verzeichnis geändert
ServerName xn--schchner-2za.de // Hier kommt die Domain dazu, unter die später der Dienst erreicht werden soll.
ServerAlias schächner.de // Und noch ein Alternativer Alias/
Alias /wordpress "/var/www/wordpress/" //Das ist wieder das Verzeichnis
<Directory /var/www/wordpress/> //Das ist wieder das Verzeichnis
Options +FollowSymlinks //Systemeinstellungen
AllowOverride All //Systemeinstellungen
Require all granted //Systemeinstellungen
<IfModule mod_dav.c> //Systemeinstellungen
Dav off //Systemeinstellungen
</IfModule> //Systemeinstellungen
SetEnv HOME /var/www/wordpress //Das ist wieder das Verzeichnis
SetEnv HTTP_HOME /var/www/wordpress //Das ist wieder das Verzeichnis
</Directory> //Systemeinstellungen
ErrorLog ${APACHE_LOG_DIR}/error.log //Systemeinstellungen
CustomLog ${APACHE_LOG_DIR}/access.log combined //Systemeinstellungen
</VirtualHost> //Systemeinstellungen
Die erstellte Datei speichern wir zuerst mit strg + o ab und schließen sie dann mit strg + x.
Die gerade erstellte Datei müssen wir noch mit
a2ensite example.conf
aktivieren. Bei Bedarf müssen wir auch noch die Berechtigungen mit
sudo chown -R www-data:www-data /var/www/installation
und
sudo chmod 755 /var/www/installation
vergeben. Und am besten den Apache2 Webserver neustarten mit
service apache2 restart
und
systemctl restart apache2.service
Das war schon!
Und weiter geht fleißig mit dem Installieren!