V tem članku vam bomo podali navodila po korakih, kako konfigurirati spletno okolje na strežniku z operacijskim sistemom Linux. Najprej morate razumeti, da je tipičen spletni strežnik sestavljen iz nekaj medsebojno povezanih komponent:
- strežnik HTTP
- tolmač programskega jezika
- sistem za upravljanje baz podatkov (DBMS)
Za upravljanje vaše spletne strani boste morali vzpostaviti tudi sistem za upravljanje vsebin (CMS), spletni vmesnik za upravljanje baze podatkov in FTP dostop.
Razmislimo o nastavitvi zelo priljubljene konfiguracije Apache-PHP-MySQL(MariaDB) v Linuxu. Namestili bomo tudi ftp strežnik vsftpd, phpMyAdmin - spletni vmesnik za upravljanje podatkovnih baz in sistem za upravljanje vsebin WordPress.
Za začetek prosim naročite VPS strežnik or Namenski strežnik. Uporabili smo na primer virtualni strežnik s statičnim naslovom IP, ki izvaja Ubuntu Server 18.04. Vse ukaze je izvedel root uporabnik.
Konfiguracija strežnika HTTP Apache
1. namestitev
apt install apache2
Ko je namestitev končana, odprite brskalnik in preverite “http://[strežnikov_ip_naslov]”
Če vidite pozdravno stran, kot je ta na zgornjem posnetku zaslona, to pomeni, da vaš strežnik HTTP deluje.
2. Ustvarite testno stran
Privzeti korenski imenik spletnega mesta je “/var/www/html”. Tukaj lahko najdete pozdravno stran, ki ste jo pravkar videli. Ustvarimo ločen imenik “/var/www/sites” za virtualne gostitelje in podmapo “/var/www/sites/site1” z indeksno stranjo vašega testnega spletnega mesta.
cd /var/www/
mkdir -p sites/site1
echo "<H1>Welcome</H1>" > sites/site1/index.html
Kot rezultat datoteke “/var/www/sites/site1/index.html” mora vsebovati samo eno vrstico kode html:
<H1>Welcome</H1>
3. Konfiguracija strežnika Apache
Konfiguracijske datoteke spletnih mest so v “/etc/apache2/sites-available/” katalog. Ustvarimo konfiguracijsko datoteko za novega virtualnega gostitelja, pri čemer vzamemo privzeto konfiguracijo iz datoteke “000-default.conf” kot osnova.
cd /etc/apache2/sites-available/
cp 000-default.conf site1.conf
Odprite datoteko “site1.conf” in spremenite "DocumentRoot" atribut. Pot vašega spletnega mesta postavite kot vrednost, tako da je v našem primeru “/var/www/sites/site1”
Na tej stopnji nam ni treba konfigurirati hkratnega delovanja več spletnih mest, zato lahko onemogočimo privzeto spletno mesto in omogočimo novo spletno mesto. Znova naložite konfiguracijo strežnika, da uveljavite spremembe.
a2dissite 000-default
a2ensite site1
systemctl reload apache2
Odprite povezavo “http://[strežnikov _ip_naslov]” znova in se prepričajte, da imamo namesto privzete pozdravne strani našo novo stran.
Končali smo konfiguracijo našega HTTP strežnika in lahko nadaljujemo z naslednjim korakom.
Konfiguracija strežnika FTP
1. namestitev
Namestimo naš ftp strežnik in dodatni paket "db-util", da bomo morali konfigurirati virtualne uporabnike
apt install vsftpd db-util
2. Ustvarite lokalni račun
Strežnik vsftpd nam omogoča konfiguracijo dovoljenj za dostop na zelo prilagodljiv način. Za naše naloge moramo uporabnikom ftp zagotoviti naslednje:
- popoln dostop do vsebine “/var/www/sites/”;
- onemogočite vse zgoraj “/var/www/”;
- povezava z virtualnim računom;
Ustvarite lokalni račun “virtualno” brez dovoljenja za prijavo, vendar z dostopom do domače mape “/var/www/”. Ta račun bodo uporabniki ftp uporabljali za povezavo s strežnikom
useradd -d /var/www virtual
"Koren" bo lastnik “/var/www” privzeto mapo. Da bi uporabnikom ftp omogočili spreminjanje vsebine spletnih mest, zamenjajmo lastnika “/var/www/sites/” vključno s podmapami “virtualno”.
chown -R virtual:root /var/www/sites
Kot rezultat, uporabnik “virtualno” si bodo lahko ogledali vsebino “/var/www/” in zapišite v “/var/www/sites/” podmapa.
3. konfiguracija
Glavna konfiguracija je v datoteki “/etc/vsftpd.conf”, zato ga odprimo in uredimo na naslednji način:
#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. Ustvarite bazo podatkov
Za shranjevanje podatkov virtualnih računov boste potrebovali bazo podatkov.
Najprej ustvarimo preprosto besedilno datoteko “users.txt” v domačo mapo in shranite podatke o dostopu (prijavo in geslo) virtualnih uporabnikov v vsako drugo vrstico. Potrebovali bomo na primer virtualnega uporabnika s prijavo "ftp" in geslo “Qwe123”. Potem bo datoteka videti takole:
ftp
Qwe123
Ustvarimo bazo podatkov
db_load -T -t hash -f ~/users.txt /etc/vsftpd_login.db
Spremenimo privzeto datoteko PAM “/etc/pam.d/vsftp” kot sledi:
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
Upoštevajte, da pot do “pam_userdb.so” knjižnica je lahko drugačna, vendar jo lahko po potrebi spremenite.
Znova naložite strežnik vsftpd, da uveljavite spremembe.
systemctl restart vsftpd
Končali smo konfiguracijo FTP strežnika.
Podrobnosti povezave:
- ftp://[strežnikov_ip_naslov]
- prijava: ftp
- geslo: Qwe123
Konfiguracija strežnika PHP
1. Namestitev PHP
Danes je najnovejša stabilna različica PHP php 7.4.5, ki ni vključena v uradne repozitorije Ubuntu. Povežimo repozitorij tretje osebe in namestimo najnovejšo različico PHP.
apt update
apt install software-properties-common
add-apt-repository ppa:ondrej/php
apt update
apt install php7.4
2. Preveri
Da bi se PHP izvajal, mora imeti datoteka spletne strani “.php” razširitev. Preimenujmo našo testno stran:
cd /var/www/sites/site1/
mv index.html index.php
V datoteko dodajte naslednjo vrstico php “/var/www/sites/site1/index.php”, zato bi morala datoteka izgledati takole:
<H1>Welcome</H1>
<?php
phpinfo();
?>
Shranite spremembe in preverite rezultat v brskalniku.
Če vidite rezultat funkcije “phpinfo()”, tolmač PHP deluje pravilno. Zdaj pa nadaljujmo z naslednjim korakom.
Konfiguracija MySQL (MariaDB).
1. namestitev
Namestimo MariaDB in PHP modul za MySQL in nato znova naložimo Apache.
apt install mariadb-server php-mysql
systemctl restart apache2
Osvežite preskusno stran in pojdite na razdelek PDO v konfiguracijski tabeli PHP. Če najdete razdelek “PDO_mysql”, pomeni, da je gonilnik za Mysql pravilno nameščen.
Nato bomo morali narediti začetno varnostno konfiguracijo MariaDB in nastaviti geslo za "Root" uporabnika, onemogočite oddaljeni dostop in izbrišite vse račune gostov.
mysql_secure_installation
Na prvem koraku moramo vnesti "koren" uporabniško geslo za dostop do DBMS ali pritisnite Enter, če gesla ni. Ker ni nastavljeno geslo za "koren" uporabnik po namestitvi samo pritisnite "Enter".
Upoštevajte, da v MariaDB že obstajajo lastni računi, ki nimajo nobene zveze z računi OS. Edini uporabnik, s katerim imamo opravka v MariaDB, je torej "koren".
Po tem nas bo konfigurator prosil, da nastavimo geslo za root uporabnika. Vrsta "Y" za potrditev in vnos novega gesla. V našem primeru je “Qwe123”
Odgovori "Y" na vsa ostala vprašanja do samega konca.
Konfiguracija je narejena!
Podrobnosti o dostopu do MariaDB:
- Prijava: root
- Geslo: Qwe123
konfiguracija phpMyAdmin
1. namestitev
Namestimo potrebno razširitev za PHP - mbstring.
apt install php-mbstring
V uradnem repozitoriju je samo zastarela različica phpMyAdmin, zato novo namestimo ročno.
Odprite uradno spletno stran projekta “https://www.phpmyadmin.net/” in prenesite najnovejši arhiv.
Kopirajte arhiv na strežnik v “/var/www/sites/” mapo s katerim koli odjemalcem ftp.
Odstranite mapo iz arhiva in jo preimenujte v “phpMyAdmin”. Ne pozabite namestiti "razpakiraj" uporabnost. Ko razarhivirate arhiv, ga lahko izbrišete.
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
Ustvarite naslednjo mapo “/var/www/sites/phpMyAdmin/tmp” za začasne datoteke in omogočite dostop vsem. Če tega ne storite, bo phpMyAdmin prijavil zavrnjen dostop do začasne mape.
cd /var/www/sites/phpMyAdmin/
mkdir tmp
chmod 777 tmp
2. Ustvarite vzdevek
Ker phpMyAdmin ni ločen virtualni gostitelj in se nahaja zunaj korenskega imenika, konfigurirajmo vzdevek.
Odprite datoteko “/etc/apache2/mods-available/alias.conf” in dodajte to vrstico:
Alias /pma “/var/www/sites/phpMyAdmin"
znotraj tega razdelka:
<IfModule alias_module>
</IfModule>
Znova naložite Apache, da uveljavite spremembe.
systemctl reload apache2
Vzdevek je nastavljen, tako da lahko tukaj dostopamo do phpMyAdmin “http://[strežnikov_ip_naslov]/pma”.
3. Pripravite bazo podatkov
Ker smo med začetno konfiguracijo MariaDB omejili uporabo root uporabnika, bomo morali ustvariti nov račun z vsemi dovoljenji, ki bodo uporabljena za dostop do phpMyAdmin.
Poleg tega bomo za omogočanje dodatnih funkcij phpMyAdmin potrebovali podatkovno bazo storitve in račun za dostop do nje.
Ustvarimo račune
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
Upoštevajte, da je ime baze podatkov v drugi zahtevi v iskrah »… ON `phpmyadmin`.* TO 'pma'@'localhost' IDENTIFICIED BY …”,
Posledično bosta v MariaDB ustvarjena dva računa:
- Prijava: pma, Geslo: Qwe123Poln dostop, bo uporabljen za prijavo v phpMyAdmin
- Prijava: pmaservice, Geslo: Qwe123 Račun storitve je potreben za delovanje dodatnih funkcij
V naslednjem koraku bomo te podrobnosti nastavili v konfiguracijski datoteki “config.inc.php”.
Nato bomo morali uvoziti bazo podatkov iz datoteke “phpMyAdmin/sql/create_tables.sql”.
Uvozimo ga s pomočjo phpMyAdmin.
Odprite povezavo “http://[strežnikov_ip_naslov]/pma”
Vnesite prijavo “pma” in geslo “Qwe123”
Pojdi na "Uvoz", Kliknite "Izberi datoteko" in izberite datoteko ”sql/create_tables.sql” v korenskem imeniku phpMyAdmin. Ta mapa naj bi bila na vašem računalniku “phpMyAdmin” z datotekami. Po potrebi ga odstranite iz arhiva.
klik "Naslednji" za začetek uvoza.
4. konfiguracija
Kopirajmo konfiguracijsko datoteko iz predloge
cd /var/www/sites/phpMyAdmin/
cp config.sample.inc.php config.inc.php
Odprimo konfiguracijsko datoteko “/var/www/sites/phpMyAdmin/config.inc.php” in naredite naslednje spremembe:
Za atribut nastavite naključno 32-mestno vrednost “$cfg['blowfish_secret']”. Za to uporabite kateri koli generator gesel.
Odstranite komentarje iz vseh vrstic “Nastavitve shranjevanja konfiguracije phpMyAdmin” ter nastavite prijavo in geslo storitvenega računa MariaDB za “krmilnik” in "kontrolni pas" ustrezno atribute. V našem primeru je pmaservice in Qwe123.
Spremembe shranite.
Podrobnosti o dostopu za phpMyadmin:
- http://[server’s_ip_address]/pma/
- Prijava: pma
- Geslo: Qwe123
Kako namestiti in konfigurirati WordPress na strežniku Linux
1. Paket WordPress in postavitev datotek
Pojdite na uradno spletno stran WP "https://ru.wordpress.org/” in prenesite arhiv na svoj lokalni računalnik.
Naložite arhiv na strežnik v “/var/www/sites/” mapo in jo razarhivirajte v “wordpressMapo.
Kopirajte vsebino “/var/www/sites/wordpress/” korensko mapo “/var/www/sites/site1/” spletne strani.
Ker smo kopirali datoteke prek konzole s korenskimi dovoljenji, spremenimo lastnika datoteke “/var/www/sites/” mapo z vsebino “virtualno”. To je potrebno za omogočanje polnega dostopa za povezavo ftp prek odjemalca.
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. Ustvarite zbirko podatkov za WordPress
Prijavite se v phpMyAdmin in kliknite »Ustvari bazo podatkov«. Določite poljubno ime baze podatkov, v našem primeru "wordpress_db" in kliknite gumb "Ustvari".
V levem delu izberite novo zbirko podatkov in kliknite "Privilegiji"
Nato kliknite "Dodaj uporabniški račun".
Vnesite prijavo in geslo (wpservice / Qwe123) v odprtem oknu preverite »Dodeli vse privilegije v wordpress_db« in kliknite "Naslednji"
Na naslednji strani kliknite "Prekliči vse" da ponastavite vse privilegije na ravni baze podatkov in kliknite "Naslednji".
3. Konfiguracija WordPress-a na strežniku Linux
Pojdite v korenski imenik svojega spletnega mesta in kopirajte konfiguracijsko datoteko iz predloge
cd /var/www/sites/site1/
cp wp-config-sample.php wp-config.php
odprite “wp-config.php” datoteko in vnesite parametre povezave z bazo podatkov, ki smo jih ustvarili v prejšnjem koraku, in shranite spremembe.
4. Namestite CMS WordPress
V brskalniku odprite naslednjo povezavo “http://[strežnikov_ip_naslov]/wp-admin/install.php”.
Izpolnite vsa polja in kliknite "Namesti WordPress". Nastavite naključno uporabniško ime in geslo. V našem primeru je wpadmin in Qwe123 ustrezno.
Ti podatki bodo uporabljeni za dostop do WordPressa.
Ko končate namestitev, odprite povezavo “http://[strežnikov_ip_naslov]/wp-login.php”, vnesite podatke za dostop in se prijavite v WordPress.
Na glavni strani bi morali videti eno od predlog WordPress.
Konfiguracija je končana.
Podrobnosti o dostopu do WordPressa:
- http://[server’s_ip_address]/wp-login.php
- Prijava: wpadmin
- Geslo: Qwe123