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.
Bitte bestellen Sie zunächst einen VPS-Server oder einen dedizierten Server . Wir haben beispielsweise einen virtuellen Server mit statischer IP-Adresse unter Ubuntu Server 18.04 verwendet. 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://[Server-IP-Adresse]“.
Wenn Sie eine Willkommensseite wie im obigen Screenshot sehen, bedeutet dies, dass Ihr HTTP-Server funktioniert.
2. Erstellen Sie eine Testseite
Das Standard-Stammverzeichnis der Website ist „/var/www/html“ . Dort finden Sie die soeben gesehene Willkommensseite. Erstellen wir nun ein separates Verzeichnis „/var/www/sites“ für virtuelle Hosts und einen Unterordner „/var/www/sites/site1“ mit der Startseite Ihrer Testwebsite.
cd /var/www/
mkdir -p sites/site1
echo "<H1>Welcome</H1>" > sites/site1/index.html
Das Ergebnis ist, dass die Datei „/var/www/sites/site1/index.html“ nur eine einzige Zeile HTML-Code enthalten sollte:
<H1>Welcome</H1>
3. Apache-Serverkonfiguration
Die Konfigurationsdateien der Websites befinden sich im Verzeichnis „/etc/apache2/sites-available/“ . Wir erstellen nun eine Konfigurationsdatei für einen neuen virtuellen Host, wobei wir die Standardkonfiguration aus der Datei „000-default.conf“ als Grundlage verwenden.
cd /etc/apache2/sites-available/
cp 000-default.conf site1.conf
Öffnen Sie die Datei „site1.conf“ und ändern Sie das Attribut „DocumentRoot“ . Tragen 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
Öffnen Sie den Link „http://[Server-IP-Adresse]“ erneut und vergewissern Sie sich, dass anstelle der Standard-Willkommensseite unsere neue Seite angezeigt wird.
Wir haben die Konfiguration unseres HTTP-Servers abgeschlossen und können mit dem nächsten Schritt fortfahren.
FTP-Serverkonfiguration
1. Installation
Installieren wir nun unseren FTP-Server und das zusätzliche Paket „db-util“ , das wir zur Konfiguration virtueller Benutzer benötigen.
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 namens „virtual“ ohne Anmeldeberechtigung, aber mit Zugriff auf das Home-Verzeichnis „/var/www/“ . Dieses Konto wird von FTP-Benutzern verwendet, um sich mit dem Server zu verbinden.
useradd -d /var/www virtual
„Root“ ist standardmäßig der Eigentümer des Ordners „/var/www“ . Um FTP-Benutzern die Möglichkeit zu geben, die Inhalte der Webseiten zu ändern, ändern wir den Eigentümer von „/var/www/sites/“ einschließlich der Unterordner von „virtual“.
chown -R virtual:root /var/www/sites
Als Ergebnis wird der Benutzer „virtual“ in der Lage sein, den Inhalt von „/var/www/“ einzusehen und in den Unterordner „/var/www/sites/“ zu schreiben.
3. Configuration
Die Hauptkonfiguration befindet sich in der Datei „/etc/vsftpd.conf“ . Öffnen wir sie also und bearbeiten wir sie 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.
Zuerst erstellen wir im Home-Verzeichnis eine einfache Textdatei namens „users.txt“ und speichern die Zugangsdaten (Benutzername und Passwort) der virtuellen Benutzer in jeder zweiten Zeile. Wir benötigen beispielsweise einen virtuellen Benutzer mit dem Benutzernamen „ftp“ und dem 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 zur Bibliothek „pam_userdb.so“ abweichen kann; Sie können ihn 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 die Dateiendung „.php“ haben . Benennen wir unsere Testseite um:
cd /var/www/sites/site1/
mv index.html index.php
Fügen Sie die folgende PHP-Zeile in die Datei „/var/www/sites/site1/index.php“ ein , sodass die Datei wie folgt aussehen sollte:
<H1>Welcome</H1>
<?php
phpinfo();
?>
Speichern Sie die Änderungen und überprüfen Sie das Ergebnis im Browser.
Wenn Sie das Ergebnis der Funktion „phpinfo()“ sehen , funktioniert der PHP-Interpreter ordnungsgemäß. 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 in der PHP-Konfigurationstabelle zum Abschnitt „PDO“. Wenn Sie dort den Abschnitt „PDO_mysql“ finden , ist der MySQL-Treiber korrekt installiert.
Anschließend müssen wir die initiale Sicherheitskonfiguration von MariaDB vornehmen und das Passwort für den Benutzer „root“ festlegen , den Fernzugriff deaktivieren und alle Gastkonten löschen.
mysql_secure_installation
Im ersten Schritt muss das Passwort des Benutzers „root“ für den Zugriff auf das DBMS eingegeben werden. Falls kein Passwort festgelegt ist, genügt es, die Eingabetaste zu drücken. Da nach der Installation kein Passwort für den Benutzer „root“ festgelegt wurde , genügt ein einfaches Drücken der Eingabetaste.
Bitte beachten Sie, dass MariaDB eigene Konten verwendet, die nichts mit den Betriebssystemkonten zu tun haben. Der einzige Benutzer, mit dem wir in MariaDB arbeiten, ist „root“.
Anschließend werden Sie vom Konfigurator aufgefordert, das Passwort für den Root-Benutzer festzulegen. Geben Sie „J“ zur Bestätigung ein und geben Sie das neue Passwort ein. In unserem Fall lautet es „Qwe123“.
Beantworten Sie alle übrigen Fragen bis zum Schluss mit „J“ .
Die Konfiguration ist abgeschlossen!
MariaDB-Zugriffsdetails:
- Anmeldung: root
- Passwort: Qwe123
phpMyAdmin-Konfiguration
1. Installation
Installieren wir nun 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 mit einem beliebigen FTP-Client auf den Server in den Ordner „/var/www/sites/“ .
Entpacken Sie den Ordner und benennen Sie ihn in „phpMyAdmin“ um . Vergessen Sie nicht, das Programm „unzip“ zu installieren . Sie können das Archiv nach dem Entpacken löschen.
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 Ordner „/var/www/sites/phpMyAdmin/tmp“ für temporäre Dateien und gewähren Sie allen Benutzern Zugriff darauf. Andernfalls meldet phpMyAdmin einen verweigerten Zugriff auf den temporären Ordner.
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ügen Sie 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 eingerichtet, sodass wir über „http://[Server-IP-Adresse]/pma“ auf phpMyAdmin zugreifen können.
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 steht: „… ON `phpmyadmin` .* TO 'pma'@'localhost' IDENTIFIED BY …“.
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 „config.inc.php“ festlegen.
Dann müssen wir die Datenbank aus der Datei „phpMyAdmin/sql/create_tables.sql“ importieren.
Importieren wir es mit Hilfe von phpMyAdmin.
Öffnen Sie den Link „http://[Server-IP-Adresse]/pma“
Geben Sie als Benutzernamen „pma“ und als Passwort „Qwe123“ ein.
Gehen Sie zu „Importieren“ , klicken Sie auf „Datei auswählen“ und wählen Sie die Datei „sql/create_tables.sql“ im Stammverzeichnis von phpMyAdmin aus. Auf Ihrem PC sollte sich der Ordner „phpMyAdmin“ mit den Dateien befinden. Entpacken Sie ihn gegebenenfalls.
Klicken Sie auf „Weiter“ , um mit dem Importieren 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 Sie die Konfigurationsdatei „/var/www/sites/phpMyAdmin/config.inc.php“ und nehmen Sie die folgenden Änderungen vor:
Weisen Sie dem Attribut „$cfg['blowfish_secret']“ einen zufälligen 32-stelligen Wert zu . Verwenden Sie dazu einen beliebigen Passwortgenerator.
Entfernen Sie die Kommentarzeichen aus allen Zeilen des Abschnitts „phpMyAdmin-Konfigurationsspeichereinstellungen“ und tragen Sie den Benutzernamen und das Passwort des MariaDB-Dienstkontos für die Attribute „controluser“ und „controlpass“ entsprechend ein. In unserem Fall lauten dies pmaservice und 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 auf die offizielle WP-Website „ https://ru.wordpress.org/ “ und laden Sie das Archiv auf Ihren lokalen PC herunter.
Laden Sie das Archiv auf den Server in den Ordner „/var/www/sites/“ hoch und entpacken Sie es in den Ordner „wordpress “.
Kopieren Sie den Inhalt des Stammverzeichnisses „/var/www/sites/wordpress/“ der Website „/var/www/sites/site1/“ .
Da wir die Dateien über die Konsole mit Root-Rechten kopiert haben, ändern wir nun den Besitzer des Ordners „/var/www/sites/“, einschließlich des Inhalts von „virtual“ . Dies ist erforderlich, um dem Client vollen Zugriff für die FTP-Verbindung 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 „Berechtigungen“.
Klicken Sie anschließend auf „Benutzerkonto hinzufügen“.
Geben Sie im geöffneten Fenster den Benutzernamen und das Passwort ( wpservice / Qwe123 ) ein, aktivieren Sie die Option „Alle Berechtigungen in der wordpress_db erteilen“ und klicken Sie auf „Weiter“.
Klicken Sie auf der nächsten Seite auf „Alle abbrechen“ , um alle Berechtigungen auf Datenbankebene zurückzusetzen, und klicken Sie dann auf „Weiter“.
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 die Datei „wp-config.php“ , geben Sie die im vorherigen Schritt erstellten Datenbankverbindungsparameter ein und speichern Sie die Änderungen.
4. CMS WordPress installieren
Öffnen Sie den folgenden Link im Browser : „http://[Server-IP-Adresse]/wp-admin/install.php“.
Füllen Sie alle Felder aus und klicken Sie auf „WordPress installieren“ . Wählen Sie einen zufälligen Benutzernamen und ein zufälliges Passwort. In unserem Fall lauten diese wpadmin und Qwe123.
Diese Angaben werden für den Zugriff auf WordPress verwendet.
Nach Abschluss der Installation öffnen Sie den Link „http://[Server-IP-Adresse]/wp-login.php“ , geben die Zugangsdaten ein und melden 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