An dësem Artikel ginn mir Iech Schrëtt-fir-Schrëtt Instruktioune wéi Dir Webëmfeld op engem Server mat Linux konfiguréiert. Als éischt musst Dir verstoen datt en typesche Webserver aus e puer interagéierende Komponenten besteet:
- HTTP Server
- Programméiersprooch Dolmetscher
- Datebank Management System (DBMS)
Fir Är Websäit ze verwalten musst Dir och en Inhaltsmanagementsystem (CMS), e Webinterface fir Datebankverwaltung a FTP Zougang opbauen.
Loosst eis betruechten eng ganz populär Konfiguratioun Apache-PHP-MySQL (MariaDB) op Linux opzestellen. Mir wäerten och vsftpd ftp Server installéieren, phpMyAdmin - e Webinterface fir Datebankverwaltung, an en Inhaltsmanagementsystem WordPress.
Fir unzefänken weg bestellen VPS Server or dedizéierten Server. Zum Beispill hu mir e virtuelle Server mat statesch IP Adress benotzt Ubuntu Server 18.04. All Kommandoe goufen vum Root-Benotzer ausgeführt.
Apache HTTP Server Konfiguratioun
1. Installatioun
apt install apache2
Wann d'Installatioun fäerdeg ass, öffnen e Browser a kontrolléiert "http://[Server's_IP_Address]"
Wann Dir eng Begréissungssäit wéi dës um Screenshot hei uewen gesitt, heescht dat datt Ären HTTP Server funktionnéiert.
2. Schafen eng Test Säit
De Standard Root Verzeechnes fir d'Websäit ass "/var/www/html". Hei fannt Dir d'Begréissungssäit déi Dir grad gesinn hutt. Loosst eis e separaten Verzeechnes erstellen "/var/www/sites" fir virtuell Hosten an e Subfolder "/var/www/sites/site1" mat der Index Säit vun Ärer Test Websäit.
cd /var/www/
mkdir -p sites/site1
echo "<H1>Welcome</H1>" > sites/site1/index.html
Als Resultat vun der Datei "/var/www/sites/site1/index.html" sollt nëmmen eng Zeil vum HTML Code enthalen:
<H1>Welcome</H1>
3. Apache Server Configuratioun
Konfiguratiounsdateien vun de Websäite sinn an "/etc/apache2/sites-available/" Katalog. Loosst eis eng Konfiguratiounsdatei fir en neie virtuelle Host erstellen, deen d'Standardkonfiguratioun vun der Datei hëlt "000-default.conf" als Basis.
cd /etc/apache2/sites-available/
cp 000-default.conf site1.conf
Datei opmaachen "site1.conf" an änneren "DocumentRoot" Attribut. Setzt de Wee vun Ärer Websäit als Wäert, also an eisem Fall ass et "/var/www/sites/site1"
Op dëser Etapp brauche mir d'simultan Operatioun vu verschidde Websäiten net ze konfiguréieren, sou datt mir d'Standardwebsäit auszeschalten an den neie Site aktivéieren. Lued d'Serverkonfiguratioun nei fir d'Ännerungen z'applizéieren.
a2dissite 000-default
a2ensite site1
systemctl reload apache2
Den Link opmaachen "http://[IP_Adress vum Server]" erëm a gitt sécher datt amplaz vun der Standardbegréissungssäit mir eis nei Säit hunn.
Mir hunn d'Konfiguratioun vun eisem HTTP-Server fäerdeg gemaach a mir kënnen op den nächste Schrëtt weidergoen.
FTP Server Konfiguratioun
1. Installatioun
Loosst eis eise ftp-Server an en zousätzleche Package installéieren "db-util", datt mir virtuell Benotzer musse konfiguréieren
apt install vsftpd db-util
2. Schafen lokal Kont
De vsftpd Server erlaabt eis Zougangsrechter op eng ganz flexibel Manéier ze konfiguréieren. Fir eis Aufgaben musse mir ftp Benotzer déi folgend ubidden:
- voll Zougang zum Inhalt vun "/var/www/sites/";
- deaktivéieren alles wat uewen ass "/var/www/";
- Verbindung mat engem virtuelle Kont;
Schafen eng lokal Kont "virtuell" ouni Login Erlaabnis awer mat Zougang zu doheem Dossier "/var/www/". Dëse Kont gëtt vu ftp Benotzer benotzt fir mam Server ze verbannen
useradd -d /var/www virtual
"Root" wäert de Besëtzer vun der "/var/www" Dossier par défaut. Fir ftp Benotzer z'erméiglechen den Inhalt vun de Websäiten z'änneren, loosst eis de Besëtzer änneren "/var/www/sites/" dorënner subfolders vun "virtuell".
chown -R virtual:root /var/www/sites
Als Resultat, de Benotzer "virtuell" wäert kënnen den Inhalt vun gesinn "/var/www/" a schreift an de "/var/www/sites/" Ënnerfolder.
3. Konfiguratioun
D'Haaptkonfiguratioun ass an der Datei "/etc/vsftpd.conf", also loosst eis et opmaachen an et wéi follegt änneren:
#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. Schafen der Datebank
Dir braucht eng Datebank fir Daten vu virtuelle Konten ze späicheren.
Als éischt, loosst eis eng einfach Textdatei erstellen "users.txt" am Dossier doheem a späichert Zougangsdetailer (Login a Passwuert) vu virtuelle Benotzer an all aner Linn. Zum Beispill brauche mir e virtuelle Benotzer mam Login "ftp" a Passwuert "Qwe123". Da wäert d'Datei esou ausgesinn:
ftp
Qwe123
Loosst eis d'Datebank erstellen
db_load -T -t hash -f ~/users.txt /etc/vsftpd_login.db
Loosst eis d'Default PAM Datei änneren "/etc/pam.d/vsftp" wéi follegt:
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
Maacht weg datt de Wee vun der "pam_userdb.so" Bibliothéik kann anescht sinn awer Dir kënnt et änneren wann néideg.
Reload de vsftpd Server fir Ännerungen z'applizéieren.
systemctl restart vsftpd
Mir hunn d'Konfiguratioun vum FTP Server fäerdeg gemaach.
Verbindung Detailer:
- ftp://[Server's_IP_Address]
- Login: ftp
- Passwuert: Qwe123
PHP Server Konfiguratioun
1. Installatioun vun PHP
Haut ass déi lescht stabil Versioun vu PHP php 7.4.5 déi net an offiziellen Ubuntu Repositories abegraff ass. Loosst eis en Drëtt Partei Repository verbannen an déi lescht Versioun vu PHP installéieren.
apt update
apt install software-properties-common
add-apt-repository ppa:ondrej/php
apt update
apt install php7.4
2. Kontrolléieren
Fir datt PHP ausgefouert gëtt, sollt d'Websäit Datei hunn ".php" Verlängerung. Loosst eis eis Testsäit ëmbenennen:
cd /var/www/sites/site1/
mv index.html index.php
Füügt déi folgend php Linn an d'Datei "/var/www/sites/site1/index.php", also soll de Fichier esou ausgesinn:
<H1>Welcome</H1>
<?php
phpinfo();
?>
Späichert d'Ännerungen a kontrolléiert d'Resultat am Browser.
Wann Dir d'Resultat vun der Funktioun gesinn "phpinfo()", de PHP Dolmetscher funktionnéiert richteg. Loosst eis elo op den nächste Schrëtt weidergoen.
MySQL (MariaDB) Konfiguratioun
1. Installatioun
Loosst eis MariaDB an e PHP Modul fir MySQL installéieren an dann Apache nei lueden.
apt install mariadb-server php-mysql
systemctl restart apache2
Erfrëscht d'Test Säit a gitt op d'Sektioun PDO an der PHP Konfiguratiounstabell. Wann Dir der Rubrik fannen kann "PDO_mysql", dann heescht et datt de Chauffer fir Mysql richteg installéiert ass.
Da musse mir déi initial Sécherheetskonfiguratioun vu MariaDB maachen an d'Passwuert fir de "Root" Benotzer, de Fernzougang auszeschalten an all Gaaschtkonten läschen.
mysql_secure_installation
Um éischte Schrëtt musse mir an d' "root" Benotzerpasswuert fir Zougang zu DBMS ze kréien oder dréckt Enter wann et kee Passwuert gëtt. Well et kee Passwuert fir de "root" Benotzer no Installatioun, Press just "Gitt".
Notéiert w.e.g. datt an der MariaDB scho seng eege Konten sinn, déi näischt mat den OS Konten ze dinn hunn. Also deen eenzege Benotzer mat mir an MariaDB këmmeren ass "root".
Duerno freet de Konfigurator eis d'Passwuert fir de Root Benotzer ze setzen. Typ "Y" fir ze bestätegen an dat neit Passwuert aginn. An eisem Fall ass et "Qwe123"
Antwort "Y" op all déi aner Froen bis zum Schluss.
Konfiguratioun ass gemaach!
MariaDB Zougang Detailer:
- Login: root
- Passwuert: Qwe123
phpMyAdmin Konfiguratioun
1. Installatioun
Loosst eis déi néideg Extensioun fir PHP installéieren - mbstring.
apt install php-mbstring
Am offiziellen Repository gëtt et nëmmen eng al Versioun vu phpMyAdmin, also loosst eis déi nei manuell installéieren.
Öffnen déi offiziell Websäit vum Projet "https://www.phpmyadmin.net/” an lued dat lescht Archiv erof.
Kopéiert d'Archiv op de Server an der "/var/www/sites/" Dossier benotzt all ftp Client.
Unarchive den Dossier an ëmbenennen et op "phpMyAdmin". Vergiesst net d'installéieren "unzip" Utility. Dir kënnt d'Archiv läschen nodeems Dir et unarchivéiert hutt.
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
Erstellt de folgenden Dossier "/var/www/sites/phpMyAdmin/tmp" fir temporär Dateien an erméiglechen Zougang fir jiddereen. Wann Dir dëst net maacht, mellt phpMyAdmin den Zougang zum temporäre Dossier refuséiert.
cd /var/www/sites/phpMyAdmin/
mkdir tmp
chmod 777 tmp
2. Schafen en Alias
Zënter phpMyAdmin ass keen separaten virtuellen Host an ass ausserhalb vum Root-Verzeichnis läit, loosst eis den Alias konfiguréieren.
Datei opmaachen "/etc/apache2/mods-available/alias.conf" a füügt dës Linn derbäi:
Alias /pma “/var/www/sites/phpMyAdmin"
an dëser Rubrik:
<IfModule alias_module>
</IfModule>
Reload Apache fir d'Ännerungen anzesetzen.
systemctl reload apache2
Alias ass agestallt, sou datt mir hei op phpMyAdmin kommen "http://[Server's_IP_Address]/pma".
3. Bereet d 'Datebank
Well mir de Root Benotzer während der initialer Konfiguratioun vu MariaDB beschränkt hunn, musse mir en neie Kont erstellen mat all Permissiounen déi benotzt gi fir Zougang zu phpMyAdmin.
Ausserdeem, fir zousätzlech Features vu phpMyAdmin z'aktivéieren, brauche mir eng Service-Datebank an e Kont fir et z'erreechen.
Loosst eis d'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
Notéiert w.e.g. datt den Numm vun der Datebank an der zweeter Ufro am Réckspark ass "... ON `phpmyadmin`.* BIS 'pma'@'localhost' IDENTIFIERT VUN ...",
Am Resultat ginn et zwee Konten erstallt an MariaDB:
- Login: pma, Passwuert: Qwe123Full Zougang, gëtt benotzt fir op phpMyAdmin umellen
- Login: pmaservice, Passwuert: Qwe123De Servicekonto ass erfuerderlech fir zousätzlech Funktiounen ze schaffen
Um nächste Schrëtt wäerte mir dës Detailer an der Konfiguratiounsdatei setzen "config.inc.php".
Da musse mir d'Datebank aus der Datei importéieren "phpMyAdmin/sql/create_tables.sql".
Loosst eis et mat der Hëllef vu phpMyAdmin importéieren.
Den Link opmaachen "http://[Server's_IP_Address]/pma"
Gitt Login "pma" a Passwuert "Qwe123"
Go ze "Importéieren"klickt "Fichier auswielen" a wielt de Fichier "sql/create_tables.sql" am Root Verzeechnes vun phpMyAdmin. Do soll den Dossier op Ärem PC sinn "phpMyAdmin" mat Fichieren. Unarchive et wann néideg.
klickt "Nächst" importéieren ufänken.
4. Konfiguratioun
Loosst eis d'Konfiguratiounsdatei aus der Schabloun kopéieren
cd /var/www/sites/phpMyAdmin/
cp config.sample.inc.php config.inc.php
Loosst eis d'Konfiguratiounsdatei opmaachen "/var/www/sites/phpMyAdmin/config.inc.php" a maacht déi folgend Ännerungen:
Setzt en zoufälleg 32-Charakter Wäert fir den Attribut "$cfg['blowfish_secret']". Benotzt all Passwuert Generator fir et ..
Ewechzehuelen kommentéieren aus all Linnen vun der "phpMyAdmin Configuration Storage Settings" Sektioun a setzt de Login a Passwuert vum MariaDB Servicekonto fir de "Kontroll Benotzer" an "controlpass" Attributer deementspriechend. An eisem Fall ass et pmaservice an Qwe123.
Späichert d'Ännerungen.
Zougang Detailer fir phpMyadmin:
- http://[server’s_ip_address]/pma/
- Login: pma
- Passwuert: Qwe123
Wéi installéiere a konfiguréieren WordPress op engem Linux Server
1. WordPress Package an Dateie Placement
Gitt op déi offiziell WP Websäit "https://ru.wordpress.org/" a luet den Archiv op Äre lokalen PC erof.
Eroplueden den Archiv op de Server an de "/var/www/sites/" Dossier an unarchivéieren et an den "wordpress”Dossier.
Kopéiert den Inhalt vun der "/var/www/sites/wordpress/" root Dossier vun der "/var/www/sites/site1/" Websäit.
Well mir d'Dateien iwwer d'Konsole mat root Permissiounen kopéiert hunn, loosst eis de Besëtzer vun der "/var/www/sites/" Dossier dorënner den Inhalt vun "virtuell". Dëst ass erfuerderlech fir voll Zougang fir ftp Verbindung iwwer de Client z'erméiglechen.
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. Erstellt eng Datebank fir WordPress
Loggt Iech op phpMyAdmin a klickt op "Datebank erstellen". Gitt e arbiträren Datebanknumm un, an eisem Fall "wordpress_db" a klickt op de "Create" Knäppchen.
Wielt déi nei Datebank an der lénkser Sektioun a klickt "Privilegien"
Klickt duerno "Benotzerkont dobäisetzen".
Gitt de Login a Passwuert (wpservice / Qwe123) an der opgemaachter Fënster, kontrolléiert "Gitt all Privilegien am wordpress_db" a klickt op "Nächst"
Op der nächster Säit klickt "Alles annuléieren" fir all Privilegien op der Datebankniveau zréckzesetzen a klickt "Nächst".
3. WordPress Konfiguratioun op engem Linux Server
Gitt an de Root Verzeechnes vun Ärer Websäit a kopéiert d'Konfiguratiounsdatei aus der Schabloun
cd /var/www/sites/site1/
cp wp-config-sample.php wp-config.php
Open de "wp-config.php" Datei a gitt d'Datebankverbindungsparameter déi mir am virege Schrëtt erstallt hunn a späichert d'Ännerungen.
4. Installéiert CMS WordPress
Öffnen de folgende Link am Browser "http://[Server's_ip_address]/wp-admin/install.php".
Fëllt all d'Felder a klickt "WordPress installéieren". Setzt en zoufälleg Benotzernumm a Passwuert. An eisem Fall ass et wpadmin an Qwe123 entspriechen.
Dës Detailer gi benotzt fir Zougang zu WordPress.
Nodeems Dir d'Installatioun fäerdeg gemaach hutt, öffnen de Link "http://[Server's_ip_address]/wp-login.php", gitt d'Zougangsdetailer a loggt Iech op WordPress un.
Dir sollt ee vun de WordPress Templates op der Haaptsäit gesinn.
D'Konfiguratioun ass fäerdeg.
WordPress Zougang Detailer:
- http://[server’s_ip_address]/wp-login.php
- Login: wpadmin
- Passwuert: Qwe123