Šiame straipsnyje pateiksime nuoseklias instrukcijas, kaip sukonfigūruoti žiniatinklio aplinką serveryje, kuriame veikia Linux. Pirmiausia turite suprasti, kad įprastą žiniatinklio serverį sudaro keli tarpusavyje sąveikaujantys komponentai:
- HTTP serveris
- programavimo kalbos vertėjas
- duomenų bazių valdymo sistema (DBVS)
Norėdami valdyti savo svetainę, taip pat turėsite nustatyti turinio valdymo sistemą (TVS), žiniatinklio sąsają duomenų bazei valdyti ir FTP prieigą.
Apsvarstykite galimybę nustatyti labai populiarią „Apache-PHP-MySQL“ (MariaDB) konfigūraciją „Linux“. Taip pat įdiegsime vsftpd ftp serverį, phpMyAdmin – žiniatinklio sąsają duomenų bazių valdymui bei turinio valdymo sistemą WordPress.
Norėdami pradėti, užsisakykite VPS serverį arba dedikuotą serverį . Pavyzdžiui, mes naudojome virtualų serverį su statiniu IP adresu ir „Ubuntu Server 18.04“. Visas komandas vykdė root vartotojas.
Apache HTTP serverio konfigūracija
1. montavimas
apt install apache2
Kai diegimas bus baigtas, atidarykite naršyklę ir patikrinkite „http://[serverio_ip_adresas]“.
Jei aukščiau esančioje ekrano kopijoje matote tokį pasveikinimo puslapį, tai reiškia, kad jūsų HTTP serveris veikia.
2. Sukurkite bandomąjį puslapį
Numatytasis svetainės šakninis katalogas yra „/var/www/html“ . Čia rasite ką tik matytą pasveikinimo puslapį. Sukurkime atskirą katalogą „/var/www/sites“ virtualiems serveriams ir poaplankį „/var/www/sites/site1“ su jūsų bandomosios svetainės indekso puslapiu.
cd /var/www/
mkdir -p sites/site1
echo "<H1>Welcome</H1>" > sites/site1/index.html
Rezultate faile „/var/www/sites/site1/index.html“ turėtų būti tik viena HTML kodo eilutė:
<H1>Welcome</H1>
3. Apache serverio konfigūracija
Svetainių konfigūracijos failai yra kataloge „/etc/apache2/sites-available/“ . Sukurkime naujo virtualaus serverio konfigūracijos failą, remdamiesi numatytąja konfigūracija iš failo „ 000-default.conf“ .
cd /etc/apache2/sites-available/
cp 000-default.conf site1.conf
Atidarykite failą „site1.conf“ ir pakeiskite atributą „DocumentRoot“ . Įveskite savo svetainės kelią kaip reikšmę, mūsų atveju tai būtų „/var/www/sites/site1“.
Šiame etape mums nereikia konfigūruoti kelių svetainių veikimo vienu metu, todėl galime išjungti numatytąją svetainę ir įjungti naują svetainę. Iš naujo įkelkite serverio konfigūraciją, kad pritaikytumėte pakeitimus.
a2dissite 000-default
a2ensite site1
systemctl reload apache2
Dar kartą atidarykite nuorodą „http://[serverio _ip_adresas]“ ir įsitikinkite, kad vietoj numatytojo pasveikinimo puslapio matome savo naują puslapį.
Baigėme HTTP serverio konfigūraciją ir galime pereiti prie kito žingsnio.
FTP serverio konfigūracija
1. montavimas
Įdiegkime FTP serverį ir papildomą paketą „db-util“ , kurio mums reikės virtualių vartotojų konfigūravimui.
apt install vsftpd db-util
2. Sukurkite vietinę paskyrą
Vsftpd serveris leidžia mums labai lanksčiai konfigūruoti prieigos teises. Norėdami atlikti savo užduotis, ftp vartotojams turime suteikti:
- visišką prieigą prie turinio „/var/www/sites/“;
- išjungti viską, kas nurodyta aukščiau „/var/www/“;
- prisijungimas prie virtualios paskyros;
Sukurkite vietinę paskyrą „virtual“ be prisijungimo teisių, bet su prieiga prie namų aplanko „/var/www/“ . Šią paskyrą FTP vartotojai naudos prisijungdami prie serverio.
useradd -d /var/www virtual
Pagal numatytuosius nustatymus aplanko „/var/www“ savininkas bus „Root“ . Kad FTP vartotojai galėtų keisti svetainių turinį, pakeiskime aplanko „/var/www/sites/“, įskaitant „virtual“ poaplankius , savininką.
chown -R virtual:root /var/www/sites
Todėl vartotojas „virtual“ galės matyti „/var/www/“ turinį ir rašyti į poaplankį „/var/www/sites/“.
3. konfigūracija
Pagrindinė konfigūracija yra faile „/etc/vsftpd.conf“ , todėl atidarykime jį ir redaguokite taip:
#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. Sukurkite duomenų bazę
Norint saugoti virtualių paskyrų duomenis, jums reikės duomenų bazės.
Pirmiausia sukurkime paprastą tekstinį failą „users.txt“ pagrindiniame aplanke ir kas antrą eilutę išsaugokime virtualių vartotojų prieigos duomenis (prisijungimo vardą ir slaptažodį). Pavyzdžiui, mums reikės virtualaus vartotojo su prisijungimo vardu „ftp“ ir slaptažodžiu „Qwe123“ . Tada failas atrodys taip:
ftp
Qwe123
Sukurkime duomenų bazę
db_load -T -t hash -f ~/users.txt /etc/vsftpd_login.db
Pakeiskime numatytąjį PAM failą „/etc/pam.d/vsftp“ taip:
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
Atkreipkite dėmesį, kad „pam_userdb.so“ bibliotekos kelias gali skirtis, bet prireikus galite jį pakeisti.
Iš naujo įkelkite vsftpd serverį, kad pritaikytumėte pakeitimus.
systemctl restart vsftpd
Baigėme konfigūruoti FTP serverį.
Išsami ryšio informacija:
- ftp://[serverio_ip_adresas]
- prisijungimas: ftp
- slaptažodis: Qwe123
PHP serverio konfigūracija
1. PHP diegimas
Šiandien naujausia stabili PHP versija yra php 7.4.5, kuri nėra įtraukta į oficialias Ubuntu saugyklas. Prijunkite trečiosios šalies saugyklą ir įdiekite naujausią PHP versiją.
apt update
apt install software-properties-common
add-apt-repository ppa:ondrej/php
apt update
apt install php7.4
2. Patikrinkite
Kad PHP būtų vykdomas, tinklalapio failo plėtinys turi būti „.php“ . Pervadinkime mūsų testo puslapį:
cd /var/www/sites/site1/
mv index.html index.php
Į failą „/var/www/sites/site1/index.php“ įtraukite šią php eilutę , kad failas atrodytų taip:
<H1>Welcome</H1>
<?php
phpinfo();
?>
Išsaugokite pakeitimus ir patikrinkite rezultatą naršyklėje.
Jei matote funkcijos „phpinfo()“ rezultatą , PHP interpretatorius veikia tinkamai. Dabar pereikime prie kito žingsnio.
MySQL (MariaDB) konfigūracija
1. montavimas
Įdiegkime MariaDB ir PHP modulį, skirtą MySQL, tada iš naujo įkelkime „Apache“.
apt install mariadb-server php-mysql
systemctl restart apache2
Atnaujinkite bandymo puslapį ir PHP konfigūracijos lentelėje eikite į skyrių „PDO“. Jei rasite skyrių „PDO_mysql“ , tai reiškia, kad „MySQL“ tvarkyklė įdiegta teisingai.
Tada turėsime atlikti pradinę „MariaDB“ saugos konfigūraciją ir nustatyti „root“ vartotojo slaptažodį, išjungti nuotolinę prieigą ir ištrinti visas svečių paskyras.
mysql_secure_installation
Pirmajame žingsnyje turime įvesti „root“ vartotojo slaptažodį, kad galėtume pasiekti DBMS, arba paspausti „Enter“, jei slaptažodžio nėra. Kadangi po įdiegimo „root“ vartotojui slaptažodis nenustatytas , tiesiog paspauskite „Enter“.
Atkreipkite dėmesį, kad „MariaDB“ jau yra atskirų paskyrų, kurios neturi nieko bendra su OS paskyromis. Taigi vienintelis vartotojas, su kuriuo dirbame „MariaDB“, yra „root“.
Po to konfigūratorius paprašys mūsų nustatyti root vartotojo slaptažodį. Įveskite „Y“ , kad patvirtintumėte, ir įveskite naują slaptažodį. Mūsų atveju tai yra „Qwe123“.
Į visus likusius klausimus iki pat pabaigos atsakykite „Y“ .
Konfigūracija atlikta!
MariaDB prieigos informacija:
- Prisijungimas: root
- Slaptažodis: Qwe123
phpMyAdmin konfigūracija
1. montavimas
Įdiegkime reikiamą PHP plėtinį – „mbstring“.
apt install php-mbstring
Oficialioje saugykloje yra tik pasenusi phpMyAdmin versija, todėl naująją įdiegkime rankiniu būdu.
Atidarykite oficialią projekto svetainę „ https://www.phpmyadmin.net/ “ ir atsisiųskite naujausią archyvą.
Nukopijuokite archyvą į serverį aplanke „/var/www/sites/“ naudodami bet kurį FTP klientą.
Išarchyvuokite aplanką ir pervadinkite jį į „phpMyAdmin“ . Nepamirškite įdiegti „unzip“ įrankio. Išarchyvavę archyvą, galėsite jį ištrinti.
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
Sukurkite šį aplanką „/var/www/sites/phpMyAdmin/tmp“ laikiniesiems failams ir suteikite prieigą visiems. Jei to nepadarysite, „phpMyAdmin“ praneš, kad prieiga prie laikinojo aplanko uždrausta.
cd /var/www/sites/phpMyAdmin/
mkdir tmp
chmod 777 tmp
2. Sukurkite slapyvardį
Kadangi phpMyAdmin nėra atskiras virtualus pagrindinis kompiuteris ir yra už šakninio katalogo ribų, sukonfigūruokime slapyvardį.
Atidarykite failą „/etc/apache2/mods-available/alias.conf“ ir pridėkite šią eilutę:
Alias /pma “/var/www/sites/phpMyAdmin"
šiame skyriuje:
<IfModule alias_module>
</IfModule>
Iš naujo įkelkite „Apache“, kad pritaikytumėte pakeitimus.
systemctl reload apache2
Slapyvardis nustatytas, todėl prie phpMyAdmin galime prisijungti čia : „http://[serverio_ip_adresas]/pma“.
3. Paruoškite duomenų bazę
Kadangi pradinės MariaDB konfigūracijos metu apribojome root vartotojo naudojimą, turėsime sukurti naują paskyrą su visais leidimais, kurie bus naudojami norint pasiekti phpMyAdmin.
Be to, norėdami įjungti papildomas phpMyAdmin funkcijas, mums reikės paslaugų duomenų bazės ir paskyros, kad galėtume ją pasiekti.
Sukurkime paskyras
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
Atkreipkite dėmesį, kad antroje užklausoje nurodytas duomenų bazės pavadinimas yra „… ON `phpmyadmin` .* TO 'pma'@'localhost' IDENTIFIED BY …“,
Dėl to MariaDB bus sukurtos dvi paskyros:
- Prisijungimas: pma, Slaptažodis: Qwe123Visa prieiga, bus naudojama prisijungiant prie phpMyAdmin
- Prisijungimas: pmaservice, Slaptažodis: Qwe123Paslaugos paskyra reikalinga, kad veiktų papildomos funkcijos
Kitame žingsnyje šiuos duomenis nustatysime konfigūracijos faile „config.inc.php“.
Tada turėsime importuoti duomenų bazę iš failo „phpMyAdmin/sql/create_tables.sql“.
Importuosime jį su phpMyAdmin pagalba.
Atidarykite nuorodą „http://[serverio_ip_adresas]/pma“
Įveskite prisijungimo vardą „pma“ ir slaptažodį „Qwe123“
Eikite į „Importuoti“ , spustelėkite „Pasirinkti failą“ ir phpMyAdmin šakniniame kataloge pasirinkite failą „sql/create_tables.sql“ . Jūsų kompiuteryje turėtų būti aplankas „phpMyAdmin“ su failais. Jei reikia, išarchyvuokite jį.
Norėdami pradėti importuoti, spustelėkite „Toliau“ .
4. konfigūracija
Nukopijuokime konfigūracijos failą iš šablono
cd /var/www/sites/phpMyAdmin/
cp config.sample.inc.php config.inc.php
Atidarykime konfigūracijos failą „/var/www/sites/phpMyAdmin/config.inc.php“ ir atlikime šiuos pakeitimus:
Nustatykite atsitiktinę 32 simbolių reikšmę atributui „$cfg['blowfish_secret']“ . Tam naudokite bet kurį slaptažodžių generatorių.
Pašalinkite komentarus iš visų „phpMyAdmin konfigūracijos saugyklos nustatymų“ skyriaus eilučių ir atitinkamai nustatykite „MariaDB“ paslaugos paskyros prisijungimo vardą ir slaptažodį atributams „controluser“ ir „controlpass“ . Mūsų atveju tai yra „pmaservice“ ir „Qwe123“.
Išsaugokite pakeitimus.
Išsami phpMyadmin prieigos informacija:
- http://[server’s_ip_address]/pma/
- Prisijungimas: pma
- Slaptažodis: Qwe123
Kaip įdiegti ir konfigūruoti „WordPress“ „Linux“ serveryje
1. WordPress paketas ir failų talpinimas
Eikite į oficialią WP svetainę „ https://ru.wordpress.org/ “ ir atsisiųskite archyvą į savo kompiuterį.
Įkelkite archyvą į serverį į aplanką „/var/www/sites/“ ir išarchyvuokite jį į aplanką „wordpress “.
Nukopijuokite „/var/www/sites/site1 /“ svetainės šakninio aplanko „/var/www/sites/ wordpress/“ turinį.
Kadangi failus nukopijavome per konsolę su root teisėmis, pakeiskime aplanko „/var/www/sites/“ savininką, įskaitant „virtual“ turinį . Tai būtina norint įjungti visišką prieigą prie FTP ryšio per klientą.
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. Sukurkite „WordPress“ duomenų bazę
Prisijunkite prie „phpMyAdmin“ ir spustelėkite „Sukurti duomenų bazę“. Nurodykite savavališką duomenų bazės pavadinimą, mūsų atveju „wordpress_db“ ir spustelėkite mygtuką „Sukurti“.
Kairiajame skyriuje pasirinkite naują duomenų bazę ir spustelėkite „Privilegijos“.
Tada spustelėkite „Pridėti vartotojo paskyrą“.
Atsidariusiame lange įveskite prisijungimo vardą ir slaptažodį ( wpservice / Qwe123 ), pažymėkite „Suteikti visas teises wordpress_db faile“ ir spustelėkite „Toliau“.
Kitame puslapyje spustelėkite „Atšaukti viską“ , kad iš naujo nustatytumėte visas teises duomenų bazės lygmenyje, ir spustelėkite „Toliau“.
3. WordPress konfigūracija Linux serveryje
Eikite į savo svetainės šakninį katalogą ir nukopijuokite konfigūracijos failą iš šablono
cd /var/www/sites/site1/
cp wp-config-sample.php wp-config.php
Atidarykite failą „wp-config.php“ ir įveskite ankstesniame žingsnyje sukurtus duomenų bazės ryšio parametrus ir išsaugokite pakeitimus.
4. Įdiekite TVS WordPress
Naršyklėje atidarykite šią nuorodą : „http://[serverio_ip_adresas]/wp-admin/install.php“.
Užpildykite visus laukus ir spustelėkite „Įdiegti WordPress“ . Nustatykite atsitiktinį vartotojo vardą ir slaptažodį. Mūsų atveju tai yra atitinkamai „wpadmin“ ir „Qwe123“ .
Ši informacija bus naudojama norint pasiekti „WordPress“.
Baigę diegti, atidarykite nuorodą „http://[serverio_ip_adresas]/wp-login.php“ , įveskite prieigos duomenis ir prisijunkite prie „WordPress“.
Pagrindiniame puslapyje turėtumėte pamatyti vieną iš „WordPress“ šablonų.
Konfigūracija baigta.
Išsami „WordPress“ prieigos informacija:
- http://[server’s_ip_address]/wp-login.php
- Prisijungimas: wpadmin
- Slaptažodis: Qwe123