Yn dit artikel sille wy jo stap-foar-stap ynstruksjes jaan oer hoe't jo webomjouwing konfigurearje op in server mei Linux. Earste dingen earst moatte jo begripe dat in typyske webserver bestiet út in pear ynteraktive komponinten:
- HTTP-tsjinner
- programmeartaal tolk
- databankbehearsysteem (DBMS)
Om jo webside te behearjen moatte jo ek in ynhâldbehearsysteem (CMS), in webynterface foar databasebehear, en FTP-tagong ynstelle.
Litte wy beskôgje it ynstellen fan in heul populêre konfiguraasje Apache-PHP-MySQL (MariaDB) op Linux. Wy sille ek vsftpd ftp-tsjinner, phpMyAdmin ynstallearje - in webynterface foar databasebehear, en in ynhâldbehearsysteem WordPress.
Om te begjinnen asjebleaft oarder VPS tsjinner or tsjinner server. Wy brûkten bygelyks in firtuele server mei statysk IP-adres mei Ubuntu Server 18.04. Alle kommando's waarden útfierd troch de root-brûker.
Apache HTTP Server konfiguraasje
1. Ynstallaasje
apt install apache2
As de ynstallaasje klear is, iepenje in browser en kontrolearje "http://[server's_ip_adres]"
As jo in wolkomside lykas dizze sjogge op 'e skermôfbylding hjirboppe, betsjut dat dat jo HTTP-tsjinner wurket.
2. Meitsje in test side
De standert root-map foar de webside is "/var/www/html". Dit is wêr't jo de wolkomside kinne fine dy't jo krekt sjoen hawwe. Litte wy in aparte map meitsje "/var/www/sites" foar firtuele hosts en in submap "/var/www/sites/site1" mei de yndeksside fan jo testwebside.
cd /var/www/
mkdir -p sites/site1
echo "<H1>Welcome</H1>" > sites/site1/index.html
Yn it resultaat de triem "/var/www/sites/site1/index.html" moat mar ien rigel fan html-koade befetsje:
<H1>Welcome</H1>
3. Apache tsjinner konfiguraasje
Konfiguraasjebestannen fan 'e websiden binne yn "/etc/apache2/sites-available/" katalogus. Litte wy in konfiguraasjetriem oanmeitsje foar in nije firtuele host dy't de standertkonfiguraasje fan it bestân nimt "000-default.conf" as basis.
cd /etc/apache2/sites-available/
cp 000-default.conf site1.conf
Iepenje it bestân "site1.conf" en feroarje de "DocumentRoot" attribút. Set it paad fan jo webside as de wearde, dus yn ús gefal is it "/var/www/sites/site1"
Op dit stadium hoege wy de simultane operaasje fan meardere websiden net te konfigurearjen, sadat wy de standertwebside kinne útskeakelje en de nije side ynskeakelje. Laad de serverkonfiguraasje opnij om de wizigingen oan te passen.
a2dissite 000-default
a2ensite site1
systemctl reload apache2
Iepenje de link "http://[server's _ip_adres]" wer en soargje derfoar dat ynstee fan de standert wolkom side wy hawwe ús nije side.
Wy hawwe de konfiguraasje fan ús HTTP-tsjinner klear en wy kinne trochgean nei de folgjende stap.
FTP-tsjinner konfiguraasje
1. Ynstallaasje
Litte wy ús ftp-tsjinner en in ekstra pakket ynstallearje "db-util", dat wy firtuele brûkers moatte konfigurearje
apt install vsftpd db-util
2. Meitsje lokaal akkount
De vsftpd-tsjinner lit ús tagongsrjochten op in heul fleksibele manier konfigurearje. Foar ús taken moatte wy ftp-brûkers it folgjende leverje:
- folsleine tagong ta de ynhâld fan "/var/www/sites/";
- útskeakelje alles dat hjirboppe is "/var/www/";
- ferbining mei in firtuele akkount;
Meitsje in lokaal akkount "firtuele" sûnder oanmelde tastimming mar mei tagong ta thús map "/var/www/". Dit akkount sil brûkt wurde troch ftp-brûkers om te ferbinen mei de tsjinner
useradd -d /var/www virtual
"Woartel" sil wêze de eigner fan de "/var/www" map standert. Om ftp-brûkers yn te skeakeljen om de ynhâld fan 'e websiden te feroarjen, litte wy de eigner fan "/var/www/sites/" ynklusyf submappen fan "firtuele".
chown -R virtual:root /var/www/sites
As gefolch, de brûker "firtuele" sil by steat wêze om te sjen de ynhâld fan "/var/www/" en skriuw yn 'e "/var/www/sites/" submap.
3. Konfiguraasje
De haadkonfiguraasje is yn 'e triem "/etc/vsftpd.conf", dus litte wy it iepenje en it as folgjend bewurkje:
#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. Meitsje de databank
Jo sille in databank nedich wêze om gegevens fan firtuele akkounts op te slaan.
Lit ús earst in ienfâldich tekstbestân oanmeitsje "users.txt" yn 'e thúsmap en bewarje tagongsdetails (oanmelding en wachtwurd) fan firtuele brûkers yn elke oare rigel. Wy sille bygelyks in firtuele brûker nedich hawwe mei de oanmelding "ftp" en wachtwurd "Qwe123". Dan sil de triem der sa útsjen:
ftp
Qwe123
Litte wy de databank oanmeitsje
db_load -T -t hash -f ~/users.txt /etc/vsftpd_login.db
Litte wy it standert PAM-bestân feroarje "/etc/pam.d/vsftp" as folgjend:
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
Tink derom dat it paad fan 'e "pam_userdb.so" biblioteek kin oars wêze, mar jo kinne it feroarje as it nedich is.
Laad de vsftpd-tsjinner opnij om wizigingen oan te passen.
systemctl restart vsftpd
Wy binne klear mei it konfigurearjen fan de FTP-tsjinner.
Ferbiningsdetails:
- ftp://[ip_adres fan tsjinner]
- oanmelde: ftp
- wachtwurd: Qwe123
PHP tsjinner konfiguraasje
1. Ynstallaasje fan PHP
Hjoed is de lêste stabile ferzje fan PHP php 7.4.5 dy't net opnommen is yn offisjele Ubuntu-repositories. Litte wy in repository fan tredden ferbine en de lêste ferzje fan PHP ynstallearje.
apt update
apt install software-properties-common
add-apt-repository ppa:ondrej/php
apt update
apt install php7.4
2. Kontrolearje
Om PHP út te fieren moat websidebestân hawwe ".php" útwreiding. Litte wy ús testside omneame:
cd /var/www/sites/site1/
mv index.html index.php
Foegje de folgjende php-rigel ta oan it bestân "/var/www/sites/site1/index.php", dus it bestân moat der sa útsjen:
<H1>Welcome</H1>
<?php
phpinfo();
?>
Bewarje de wizigingen en kontrolearje it resultaat yn 'e browser.
As jo sjogge it resultaat fan funksje "phpinfo()", wurket de PHP-tolk goed. Litte wy no trochgean nei de folgjende stap.
MySQL (MariaDB) konfiguraasje
1. Ynstallaasje
Litte wy MariaDB en in PHP-module foar MySQL ynstallearje en Apache opnij laden.
apt install mariadb-server php-mysql
systemctl restart apache2
Ferfarskje de testside en gean nei de seksje PDO yn 'e PHP-konfiguraasjetabel. As jo de seksje kinne fine "PDO_mysql", dan betsjut it dat de stjoerprogramma foar Mysql goed ynstallearre is.
Dan moatte wy de earste befeiligingskonfiguraasje fan MariaDB dwaan en it wachtwurd ynstelle foar de "Woartel" brûker, útskeakelje tagong op ôfstân, en wiskje alle gast akkounts.
mysql_secure_installation
By de earste stap, wy moatte ynfiere de "woartel" brûkerswachtwurd om tagong te krijen ta DBMS of druk op Enter as d'r gjin wachtwurd is. Sûnt d'r gjin wachtwurd is ynsteld foar de "woartel" brûker nei ynstallaasje, druk gewoan op "Yngean".
Tink derom dat yn MariaDB al har eigen akkounts binne dy't neat te krijen hawwe mei de OS-akkounts. Dat de ienige brûker wêrmei wy te krijen hawwe yn MariaDB is "woartel".
Dêrnei sil de konfigurator ús freegje om it wachtwurd yn te stellen foar de root-brûker. Type "Y" om te befêstigjen en it nije wachtwurd yn te fieren. Yn ús gefal is it "Qwe123"
Antwurdzje "Y" oan alle oare fragen oant it ein.
Konfiguraasje is dien!
MariaDB tagong details:
- Oanmelde: root
- Wachtwurd: Qwe123
phpMyAdmin konfiguraasje
1. Ynstallaasje
Litte wy de nedige tafoeging foar PHP ynstallearje - mbstring.
apt install php-mbstring
Yn it offisjele repository is d'r mar in ferâldere ferzje fan phpMyAdmin, dus litte wy de nije manuell ynstallearje.
Iepenje de offisjele webside fan it projekt "https://www.phpmyadmin.net/” en download it lêste argyf.
Kopiearje it argyf nei de tsjinner yn de "/var/www/sites/" map mei elke ftp-kliïnt.
Unarchyf de map en omneame it nei "phpMyAdmin". Ferjit net te ynstallearjen de "útpakke" nut. Jo kinne it argyf wiskje nei't jo it argivearre hawwe.
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
Meitsje de folgjende map "/var/www/sites/phpMyAdmin/tmp" foar tydlike triemmen en ynskeakelje tagong foar elkenien. As jo dit net dogge, sil phpMyAdmin melde tagong wegere ta de tydlike map.
cd /var/www/sites/phpMyAdmin/
mkdir tmp
chmod 777 tmp
2. Meitsje in alias
Om't phpMyAdmin gjin aparte firtuele host is en bûten de root-map leit, litte wy de alias konfigurearje.
Iepenje it bestân "/etc/apache2/mods-available/alias.conf" en foegje dizze rigel ta:
Alias /pma “/var/www/sites/phpMyAdmin"
binnen dizze seksje:
<IfModule alias_module>
</IfModule>
Laad Apache opnij om de wizigingen oan te passen.
systemctl reload apache2
Alias is ynsteld, dus wy kinne hjir tagong krije ta phpMyAdmin "http://[server's_ip_adres]/pma".
3. Tariede de databank
Om't wy it brûken fan root-brûker beheind hawwe tidens de earste konfiguraasje fan MariaDB, sille wy in nij akkount moatte oanmeitsje mei alle tagongsrjochten dy't sille wurde brûkt om tagong te krijen ta phpMyAdmin.
Neist, om ekstra funksjes fan phpMyAdmin yn te skeakeljen, hawwe wy in tsjinstdatabase en in akkount nedich om tagong te krijen.
Litte wy de akkounts oanmeitsje
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
Tink derom dat de databasenamme yn it twadde fersyk yn 'e efterkant sparks "... ON `phpmyadmin`.* TO 'pma'@'localhost' IDENTIFISEERD DOOR …”,
Yn it resultaat sille d'r twa akkounts wurde makke yn MariaDB:
- Oanmelde: pma, Wachtwurd: Qwe123Folsleine tagong, sil brûkt wurde om oan te melden by phpMyAdmin
- Oanmelde: pmaservice, Wachtwurd: Qwe123De tsjinst account is nedich foar ekstra funksjes te wurkjen
By de folgjende stap sille wy dizze details ynstelle yn it konfiguraasjetriem "config.inc.php".
Dan moatte wy de databank ymportearje út it bestân "phpMyAdmin/sql/create_tables.sql".
Litte wy it ymportearje mei help fan phpMyAdmin.
Iepenje de link "http://[server's_ip_adres]/pma"
Oanmelde ynfiere "pma" en wachtwurd "Qwe123"
gean nei "Ymport", klikke "Selektearje triem" en selektearje de triem "sql/create_tables.sql" yn 'e rootmap fan phpMyAdmin. D'r soe de map op jo PC wêze moatte "phpMyAdmin" mei triemmen. Unargyf it as nedich.
Klik "Folgjende" om te begjinnen mei ymportearjen.
4. Konfiguraasje
Litte wy it konfiguraasjetriem kopiearje fan it sjabloan
cd /var/www/sites/phpMyAdmin/
cp config.sample.inc.php config.inc.php
Litte wy it konfiguraasjetriem iepenje "/var/www/sites/phpMyAdmin/config.inc.php" en meitsje de folgjende wizigingen:
Stel in willekeurich 32-karakter wearde foar it attribút “$cfg['blowfish_secret']”. Brûk dêr elke wachtwurdgenerator foar ..
Fuortsmite kommentaar út alle rigels fan de "phpMyAdmin konfiguraasje opslach ynstellings" seksje en set de oanmelding en wachtwurd yn fan MariaDB's tsjinstkonto foar de "kontrôlebrûker" en "controlpass" attributen neffens. Yn ús gefal is it pmaservice en Qwe123.
Bewarje de wizigingen.
Tagongsdetails foar phpMyadmin:
- http://[server’s_ip_address]/pma/
- Oanmelde: pma
- Wachtwurd: Qwe123
Hoe kinne jo WordPress ynstallearje en konfigurearje op in Linux-tsjinner
1. WordPress pakket en triemmen pleatsing
Gean nei de offisjele WP-webside "https://ru.wordpress.org/” en download it argyf nei jo lokale PC.
Upload it argyf nei de tsjinner yn de "/var/www/sites/" map en unargivearje it nei de "wordpressMap.
Kopiearje de ynhâld fan 'e "/var/www/sites/wordpress/" root map fan de "/var/www/sites/site1/" webside.
Sûnt wy kopiearre de triemmen fia de konsole mei root tagongsrjochten, lit ús feroarje de eigner fan de "/var/www/sites/" map ynklusyf de ynhâld fan "firtuele". Dit is nedich om folsleine tagong foar ftp-ferbining fia de kliïnt yn te skeakeljen.
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. Meitsje in databank foar WordPress
Oanmelde by phpMyAdmin en klikje op "Databank oanmeitsje". Spesifisearje in willekeurige databasenamme, yn ús gefal "wordpress_db" en klikje op de knop "Meitsje".
Selektearje de nije databank yn 'e linker seksje en klikje "Privilezjes"
Dan klikje "Brûkersakkount tafoegje".
Fier de oanmelding en wachtwurd yn (wpservice / Qwe123) yn it iepene finster, kontrolearje "Jou alle privileezjes yn 'e wordpress_db" en klikke "Folgjende"
Klikje op de folgjende side "Alles annulearje" om alle privileezjes op it databanknivo werom te setten en klikje "Folgjende".
3. WordPress konfiguraasje op in Linux tsjinner
Gean nei de rootmap fan jo webside en kopiearje it konfiguraasjetriem fan it sjabloan
cd /var/www/sites/site1/
cp wp-config-sample.php wp-config.php
Iepenje de "wp-config.php" bestân en fier de databankferbiningsparameters yn dy't wy makke hawwe yn 'e foarige stap en bewarje de wizigingen.
4. Ynstallearje CMS WordPress
Iepenje de folgjende keppeling yn 'e browser "http://[server's_ip_address]/wp-admin/install.php".
Folje alle fjilden yn en klikje "Ynstallearje WordPress". Stel in willekeurige brûkersnamme en wachtwurd yn. Yn ús gefal is it wpadmin en Qwe123 dêrneffens.
Dizze details sille brûkt wurde om tagong te krijen ta WordPress.
Neidat jo de ynstallaasje foltôge, iepenje de keppeling "http://[server's_ip_address]/wp-login.php", Fier de tagongsdetails yn en meld jo oan by WordPress.
Jo moatte ien fan 'e WordPress-sjabloanen sjen op' e haadside.
De konfiguraasje is klear.
WordPress tagong details:
- http://[server’s_ip_address]/wp-login.php
- Oanmelde: wpadmin
- Wachtwurd: Qwe123