In diesem Artikel erfahren Sie Schritt für Schritt, wie Sie eine Webumgebung auf einem Linux-Server konfigurieren. Zunächst sollten Sie verstehen, dass ein typischer Webserver aus mehreren interagierenden Komponenten besteht:
- HTTP-Server
- Programmierspracheninterpreter
- Datenbankverwaltungssystem (DBMS)
Zur Verwaltung Ihrer Website müssen Sie außerdem ein Content-Management-System (CMS), eine Weboberfläche zur Datenbankverwaltung und einen FTP-Zugriff einrichten.
Betrachten wir die Einrichtung einer sehr beliebten Konfiguration: Apache-PHP-MySQL (MariaDB) unter Linux. Wir installieren außerdem den FTP-Server vsftpd, phpMyAdmin – eine Weboberfläche zur Datenbankverwaltung – und das Content-Management-System WordPress.
Zum Anfang bitte VPS-Server bestellen or dedizierten Server. Beispielsweise haben wir einen virtuellen Server mit statischer IP-Adresse verwendet, auf dem Ubuntu Server 18.04 läuft. Alle Befehle wurden vom Root-Benutzer ausgeführt.
Apache HTTP Server-Konfiguration
1. Installation
apt install apache2
Wenn die Installation abgeschlossen ist, öffnen Sie einen Browser und überprüfen Sie „http://[IP-Adresse des Servers]“
Wenn Sie eine Willkommensseite wie im obigen Screenshot sehen, bedeutet dies, dass Ihr HTTP-Server funktioniert.
2. Erstellen Sie eine Testseite
Das Standardstammverzeichnis für die Website ist „/var/www/html“. Hier finden Sie die Willkommensseite, die Sie gerade gesehen haben. Erstellen wir ein separates Verzeichnis „/var/www/sites“ für virtuelle Hosts und einen Unterordner „/var/www/sites/site1“ mit der Indexseite Ihrer Testwebsite.
cd /var/www/
mkdir -p sites/site1
echo "<H1>Welcome</H1>" > sites/site1/index.html
Im Ergebnis wird die Datei „/var/www/sites/site1/index.html“ sollte nur eine Zeile HTML-Code enthalten:
<H1>Welcome</H1>
3. Apache-Serverkonfiguration
Konfigurationsdateien der Websites befinden sich in „/etc/apache2/sites-available/“ Katalog. Erstellen wir eine Konfigurationsdatei für einen neuen virtuellen Host und verwenden die Standardkonfiguration aus der Datei „000-default.conf“ als Grundlage.
cd /etc/apache2/sites-available/
cp 000-default.conf site1.conf
Öffnen Sie die Datei „site1.conf“ und ändere die „DocumentRoot“ Attribut. Geben Sie den Pfad Ihrer Website als Wert ein, in unserem Fall also „/var/www/sites/site1“
Da wir den gleichzeitigen Betrieb mehrerer Websites noch nicht konfigurieren müssen, können wir die Standardwebsite deaktivieren und die neue Website aktivieren. Laden Sie die Serverkonfiguration neu, um die Änderungen zu übernehmen.
a2dissite 000-default
a2ensite site1
systemctl reload apache2
Öffne den Link „http://[IP-Adresse des Servers]“ erneut und stellen Sie sicher, dass wir anstelle der Standard-Willkommensseite unsere neue Seite haben.
Wir haben die Konfiguration unseres HTTP-Servers abgeschlossen und können mit dem nächsten Schritt fortfahren.
FTP-Serverkonfiguration
1. Installation
Installieren wir unseren FTP-Server und ein zusätzliches Paket „db-util“, dass wir virtuelle Benutzer konfigurieren müssen
apt install vsftpd db-util
2. Lokales Konto erstellen
Der vsftpd-Server ermöglicht uns eine sehr flexible Konfiguration der Zugriffsrechte. Für unsere Aufgaben benötigen wir FTP-Benutzern Folgendes:
- vollen Zugriff auf die Inhalte von „/var/www/sites/“;
- Deaktivieren Sie alles, was oben steht „/var/www/“;
- Verbindung mit einem virtuellen Konto;
Erstellen Sie ein lokales Konto „virtuell“ ohne Anmeldeberechtigung, aber mit Zugriff auf den Home-Ordner „/var/www/“. Dieses Konto wird von FTP-Benutzern verwendet, um eine Verbindung zum Server herzustellen
useradd -d /var/www virtual
"Wurzel" wird der Eigentümer der „/var/www“ Ordner standardmäßig. Um FTP-Benutzern die Möglichkeit zu geben, den Inhalt der Websites zu ändern, ändern wir den Besitzer von „/var/www/sites/“ einschließlich Unterordner von „virtuell“.
chown -R virtual:root /var/www/sites
Als Ergebnis kann der Benutzer „virtuell“ können Sie den Inhalt von „/var/www/“ und schreibe in die „/var/www/sites/“ Unterordner.
3. Configuration
Die Hauptkonfiguration befindet sich in der Datei „/etc/vsftpd.conf“, also öffnen wir es und bearbeiten es wie folgt:
#enable virtual users
anonymous_enable=NO
local_enable=YES
guest_enable=YES
guest_username=virtual
#configure permission
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_world_readable_only=NO
anon_umask=0022
chroot_local_user=YES
#launch settings
listen=YES
pasv_min_port=30000
pasv_max_port=30999
4. Erstellen Sie die Datenbank
Sie benötigen eine Datenbank, um Daten virtueller Konten zu speichern.
Erstellen wir zunächst eine einfache Textdatei „users.txt“ im Home-Ordner und speichern Sie die Zugangsdaten (Login und Passwort) der virtuellen Benutzer in jeder zweiten Zeile. Beispielsweise benötigen wir einen virtuellen Benutzer mit dem Login „ftp“ und das Passwort „Qwe123“. Die Datei sieht dann folgendermaßen aus:
ftp
Qwe123
Erstellen wir die Datenbank
db_load -T -t hash -f ~/users.txt /etc/vsftpd_login.db
Ändern wir die Standard-PAM-Datei „/etc/pam.d/vsftp“ wie folgt:
auth required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd_login
account required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd_login
Bitte beachten Sie, dass der Pfad des „pam_userdb.so“ Die Bibliothek kann unterschiedlich sein, Sie können sie jedoch bei Bedarf ändern.
Laden Sie den vsftpd-Server neu, um die Änderungen zu übernehmen.
systemctl restart vsftpd
Wir haben die Konfiguration des FTP-Servers abgeschlossen.
Verbindungsdetails:
- ftp://[IP-Adresse des Servers]
- Anmeldung: ftp
- Passwort: Qwe123
PHP-Serverkonfiguration
1. Installation von PHP
Die aktuellste stabile PHP-Version ist PHP 7.4.5. Diese ist nicht in den offiziellen Ubuntu-Repositories enthalten. Verbinden wir uns mit einem Drittanbieter-Repository und installieren wir die neueste PHP-Version.
apt update
apt install software-properties-common
add-apt-repository ppa:ondrej/php
apt update
apt install php7.4
2. Prüfen
Damit PHP ausgeführt werden kann, muss die Webseitendatei „.php“ Erweiterung. Benennen wir unsere Testseite um:
cd /var/www/sites/site1/
mv index.html index.php
Fügen Sie der Datei die folgende PHP-Zeile hinzu „/var/www/sites/site1/index.php“, daher sollte die Datei folgendermaßen aussehen:
<H1>Welcome</H1>
<?php
phpinfo();
?>
Speichern Sie die Änderungen und überprüfen Sie das Ergebnis im Browser.
Wenn Sie das Ergebnis der Funktion sehen „phpinfo()“Der PHP-Interpreter funktioniert einwandfrei. Fahren wir nun mit dem nächsten Schritt fort.
MySQL (MariaDB)-Konfiguration
1. Installation
Lassen Sie uns MariaDB und ein PHP-Modul für MySQL installieren und dann Apache neu laden.
apt install mariadb-server php-mysql
systemctl restart apache2
Aktualisieren Sie die Testseite und gehen Sie zum Abschnitt PDO in der PHP-Konfigurationstabelle. Wenn Sie den Abschnitt finden „PDO_mysql“, dann bedeutet dies, dass der Treiber für MySQL korrekt installiert ist.
Anschließend müssen wir die anfängliche Sicherheitskonfiguration von MariaDB durchführen und das Passwort für die "Wurzel" Benutzer, deaktivieren Sie den Fernzugriff und löschen Sie alle Gastkonten.
mysql_secure_installation
Im ersten Schritt müssen wir die "Wurzel" Benutzerkennwort für den Zugriff auf DBMS oder drücken Sie die Eingabetaste, wenn kein Kennwort vorhanden ist. Da für den "Wurzel" Benutzer nach der Installation einfach drücken "Eingeben".
Bitte beachten Sie, dass es in MariaDB bereits eigene Konten gibt, die nichts mit den Betriebssystemkonten zu tun haben. Der einzige Benutzer, mit dem wir in MariaDB zu tun haben, ist "Wurzel".
Anschließend fordert uns der Konfigurator auf, das Passwort für den Root-Benutzer festzulegen. Geben Sie "Y" zur Bestätigung und Eingabe des neuen Passworts. In unserem Fall ist es „Qwe123“
antworten "Y" auf alle übrigen Fragen bis zum Schluss.
Die Konfiguration ist abgeschlossen!
MariaDB-Zugriffsdetails:
- Anmeldung: root
- Passwort: Qwe123
phpMyAdmin-Konfiguration
1. Installation
Installieren wir die notwendige Erweiterung für PHP - mbstring.
apt install php-mbstring
Im offiziellen Repository gibt es nur eine veraltete Version von phpMyAdmin, also installieren wir die neue manuell.
Öffnen Sie die offizielle Website des Projekts „https://www.phpmyadmin.net/“ und laden Sie das neueste Archiv herunter.
Kopieren Sie das Archiv auf den Server im „/var/www/sites/“ Ordner mit einem beliebigen FTP-Client.
Entpacken Sie den Ordner und benennen Sie ihn um in „phpMyAdmin“. Vergessen Sie nicht, die „entpacken“ Dienstprogramm. Sie können das Archiv löschen, nachdem Sie es dearchiviert haben.
apt install unzip
cd /var/www/sites/
unzip phpMyAdmin-5.0.2-all-languages.zip
mv phpMyAdmin-5.0.2-all-languages phpMyAdmin
rm phpMyAdmin-5.0.2-all-languages.zip
Erstellen Sie den folgenden Ordner „/var/www/sites/phpMyAdmin/tmp“ für temporäre Dateien und aktivieren Sie den Zugriff für alle. Andernfalls meldet phpMyAdmin den Zugriff auf den temporären Ordner als verweigert.
cd /var/www/sites/phpMyAdmin/
mkdir tmp
chmod 777 tmp
2. Erstellen Sie einen Alias
Da phpMyAdmin kein separater virtueller Host ist und sich außerhalb des Stammverzeichnisses befindet, konfigurieren wir den Alias.
Öffnen Sie die Datei „/etc/apache2/mods-available/alias.conf“ und füge diese Zeile hinzu:
Alias /pma “/var/www/sites/phpMyAdmin"
in diesem Abschnitt:
<IfModule alias_module>
</IfModule>
Laden Sie Apache neu, um die Änderungen zu übernehmen.
systemctl reload apache2
Der Alias ist gesetzt, so dass wir hier auf phpMyAdmin zugreifen können „http://[IP-Adresse des Servers]/pma“.
3. Vorbereiten der Datenbank
Da wir die Verwendung des Root-Benutzers während der Erstkonfiguration von MariaDB eingeschränkt haben, müssen wir ein neues Konto mit allen Berechtigungen erstellen, das für den Zugriff auf phpMyAdmin verwendet wird.
Außerdem benötigen wir zum Aktivieren zusätzlicher Funktionen von phpMyAdmin eine Servicedatenbank und ein Konto für den Zugriff darauf.
Lassen Sie uns die Konten erstellen
mariadb -u root -p
GRANT ALL PRIVILEGES ON *.* TO 'pma'@'localhost' IDENTIFIED BY 'Qwe123' WITH GRANT OPTION;
GRANT SELECT, INSERT, UPDATE, DELETE ON `phpmyadmin`.* TO 'pmaservice'@'localhost' IDENTIFIED BY 'Qwe123' WITH grant option;
quit
Bitte beachten Sie, dass der Datenbankname in der zweiten Anfrage in Backsparks „… ON“ steht. `phpmyadmin`.* AN 'pma'@'localhost' IDENTIFIZIERT DURCH …“,
Im Ergebnis werden in MariaDB zwei Konten erstellt:
- Login: pma, Passwort: Qwe123Vollzugriff, wird für die Anmeldung bei phpMyAdmin verwendet
- Login: pmaservice, Passwort: Qwe123Das Servicekonto ist erforderlich, damit zusätzliche Funktionen funktionieren
Im nächsten Schritt werden wir diese Details in der Konfigurationsdatei festlegen „config.inc.php“.
Dann müssen wir die Datenbank aus der Datei importieren „phpMyAdmin/sql/create_tables.sql“.
Importieren wir es mit Hilfe von phpMyAdmin.
Öffne den Link „http://[IP-Adresse des Servers]/pma“
Login eingeben „pma“ und das Passwort „Qwe123“
Gehe zu "Importieren", klicken "Datei aussuchen" und wählen Sie die Datei „sql/create_tables.sql“ im Stammverzeichnis von phpMyAdmin. Dort sollte sich der Ordner auf Ihrem PC befinden „phpMyAdmin“ mit Dateien. Entarchivieren Sie es bei Bedarf.
Klicke "Nächster" um mit dem Import zu beginnen.
4. Configuration
Kopieren wir die Konfigurationsdatei aus der Vorlage
cd /var/www/sites/phpMyAdmin/
cp config.sample.inc.php config.inc.php
Öffnen wir die Konfigurationsdatei „/var/www/sites/phpMyAdmin/config.inc.php“ und nehmen Sie die folgenden Änderungen vor:
Legen Sie einen zufälligen 32-stelligen Wert für das Attribut fest „$cfg['blowfish_secret']“. Verwenden Sie hierfür einen beliebigen Passwortgenerator.
Entfernen Sie die Kommentare aus allen Zeilen des „Einstellungen für den phpMyAdmin-Konfigurationsspeicher“ Abschnitt und legen Sie den Benutzernamen und das Passwort des MariaDB-Dienstkontos für die „Kontrollbenutzer“ mit einem „Kontrollpass“ Attribute entsprechend. In unserem Fall ist es pmaservice mit einem Qwe123.
Speichern Sie die Änderungen.
Zugangsdaten für phpMyadmin:
- http://[server’s_ip_address]/pma/
- Login: pma
- Passwort: Qwe123
So installieren und konfigurieren Sie WordPress auf einem Linux-Server
1. Platzierung von WordPress-Paketen und Dateien
Gehen Sie zur offiziellen WP-Website „https://ru.wordpress.org/“ und laden Sie das Archiv auf Ihren lokalen PC herunter.
Laden Sie das Archiv auf den Server in das „/var/www/sites/“ Ordner und entpacken Sie ihn in den „WordPress" Mappe.
Kopieren Sie den Inhalt der „/var/www/sites/wordpress/“ Stammordner des „/var/www/sites/site1/“ Webseite.
Da wir die Dateien über die Konsole mit Root-Rechten kopiert haben, ändern wir den Besitzer der „/var/www/sites/“ Ordner mit dem Inhalt von „virtuell“Dies ist erforderlich, um den vollständigen Zugriff für die FTP-Verbindung über den Client zu ermöglichen.
cd /var/www/sites/
tar -xzvf wordpress-5.4-ru_RU.tar.gz
cp -R wordpress/* site1/
chown -R virtual:root /var/www/sites
2. Erstellen Sie eine Datenbank für WordPress
Melden Sie sich bei phpMyAdmin an und klicken Sie auf „Datenbank erstellen“. Geben Sie einen beliebigen Datenbanknamen an, in unserem Fall „wordpress_db“, und klicken Sie auf die Schaltfläche „Erstellen“.
Wählen Sie im linken Bereich die neue Datenbank aus und klicken Sie auf „Privilegien“
Dann klick „Benutzerkonto hinzufügen“.
Geben Sie den Benutzernamen und das Passwort ein (wpservice / Qwe123) im geöffneten Fenster, überprüfen Sie „Erteilen Sie alle Berechtigungen in der wordpress_db“ und klicken auf "Nächster"
Klicken Sie auf der nächsten Seite auf „Alles abbrechen“ , um alle Berechtigungen auf Datenbankebene zurückzusetzen und klicken Sie auf "Nächster".
3. WordPress-Konfiguration auf einem Linux-Server
Gehen Sie in das Stammverzeichnis Ihrer Website und kopieren Sie die Konfigurationsdatei aus der Vorlage
cd /var/www/sites/site1/
cp wp-config-sample.php wp-config.php
Öffnen Sie den Microsoft Store auf Ihrem Windows-PC. „wp-config.php“ Datei und geben Sie die Datenbankverbindungsparameter ein, die wir im vorherigen Schritt erstellt haben, und speichern Sie die Änderungen.
4. CMS WordPress installieren
Öffnen Sie den folgenden Link im Browser „http://[IP-Adresse des Servers]/wp-admin/install.php“.
Füllen Sie alle Felder aus und klicken Sie auf „WordPress installieren“. Legen Sie einen zufälligen Benutzernamen und ein Passwort fest. In unserem Fall ist es wpadmin mit einem Qwe123 entsprechend.
Diese Angaben werden für den Zugriff auf WordPress verwendet.
Nachdem Sie die Installation abgeschlossen haben, öffnen Sie den Link „http://[IP-Adresse des Servers]/wp-login.php“, geben Sie die Zugangsdaten ein und melden Sie sich bei WordPress an.
Auf der Hauptseite sollte eine der WordPress-Vorlagen angezeigt werden.
Die Konfiguration ist abgeschlossen.
WordPress-Zugangsdaten:
- http://[server’s_ip_address]/wp-login.php
- Anmeldung: wpadmin
- Passwort: Qwe123