U ovom članku daćemo vam detaljna uputstva o tome kako da konfigurišete veb okruženje na serveru koji koristi Linux. Prvo morate shvatiti da se tipičan web server sastoji od nekoliko komponenti koje međusobno djeluju:
- HTTP server
- interpretator programskog jezika
- sistem za upravljanje bazom podataka (DBMS)
Da biste upravljali svojom web lokacijom, također ćete morati postaviti sistem za upravljanje sadržajem (CMS), web sučelje za upravljanje bazom podataka i FTP pristup.
Razmotrimo postavljanje vrlo popularne konfiguracije Apache-PHP-MySQL(MariaDB) na Linuxu. Takođe ćemo instalirati vsftpd ftp server, phpMyAdmin - web interfejs za upravljanje bazom podataka i sistem za upravljanje sadržajem WordPress.
Za početak, molimo vas da naručite VPS server ili dedicirani server . Na primjer, mi smo koristili virtuelni server sa statičkom IP adresom na kojem je pokrenut Ubuntu Server 18.04. Sve naredbe je izvršavao root korisnik.
Konfiguracija Apache HTTP servera
1. instalacija
apt install apache2
Kada je instalacija završena, otvorite pretraživač i provjerite „http://[ip_adresa_servera]“
Ako vidite stranicu dobrodošlice poput ove na slici iznad, to znači da vaš HTTP server radi.
2. Kreirajte probnu stranicu
Zadani korijenski direktorij za web stranicu je "/var/www/html" . Ovdje možete pronaći stranicu dobrodošlice koju ste upravo vidjeli. Kreirajmo zaseban direktorij "/var/www/sites" za virtualne hostove i podmapu "/var/www/sites/site1" s indeksnom stranicom vaše testne web stranice.
cd /var/www/
mkdir -p sites/site1
echo "<H1>Welcome</H1>" > sites/site1/index.html
Kao rezultat, datoteka „/var/www/sites/site1/index.html“ treba da sadrži samo jednu liniju html koda:
<H1>Welcome</H1>
3. Konfiguracija Apache servera
Konfiguracijske datoteke web stranica nalaze se u katalogu "/etc/apache2/sites-available/" . Kreirajmo konfiguracijsku datoteku za novi virtualni host uzimajući zadanu konfiguraciju iz datoteke "000-default.conf" kao osnovu.
cd /etc/apache2/sites-available/
cp 000-default.conf site1.conf
Otvorite datoteku „site1.conf“ i promijenite atribut „DocumentRoot“ . Kao vrijednost unesite putanju vaše web stranice, tako da je u našem slučaju to „/var/www/sites/site1“.
U ovoj fazi ne moramo da konfigurišemo istovremeni rad više veb lokacija, tako da možemo da onemogućimo podrazumevanu veb lokaciju i omogućimo novu. Ponovo učitajte konfiguraciju servera da biste primijenili promjene.
a2dissite 000-default
a2ensite site1
systemctl reload apache2
Ponovo otvorite link „http://[ip_adresa_servera]“ i provjerite da li umjesto zadane početne stranice imamo našu novu stranicu.
Završili smo konfiguraciju našeg HTTP servera i možemo preći na sljedeći korak.
Konfiguracija FTP servera
1. instalacija
Instalirajmo naš ftp server i dodatni paket "db-util" , koji će nam trebati za konfiguraciju virtuelnih korisnika.
apt install vsftpd db-util
2. Kreirajte lokalni nalog
Vsftpd server nam omogućava da konfigurišemo dozvole pristupa na veoma fleksibilan način. Za naše zadatke moramo omogućiti ftp korisnicima sljedeće:
- pun pristup sadržaju “/var/www/sites/”;
- isključite sve što je gore “/var/www/”;
- povezivanje sa virtuelnim nalogom;
Kreirajte lokalni račun "virtualni" bez dozvole za prijavu, ali s pristupom početnoj mapi "/var/www/" . Ovaj račun će koristiti ftp korisnici za povezivanje sa serverom.
useradd -d /var/www virtual
"Root" će prema zadanim postavkama biti vlasnik mape "/var/www" . Da bismo omogućili ftp korisnicima da mijenjaju sadržaj web stranica, promijenimo vlasnika mape "/var/www/sites/", uključujući i podmape mape "virtual".
chown -R virtual:root /var/www/sites
Kao rezultat toga, korisnik „virtual“ će moći vidjeti sadržaj direktorijuma „/var/www/“ i pisati u poddirektorij „/var/www/sites/“.
3. Konfiguracija
Glavna konfiguracija se nalazi u datoteci "/etc/vsftpd.conf" , pa je otvorimo i uredimo na sljedeći 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. Kreirajte bazu podataka
Trebat će vam baza podataka kako biste pohranili podatke o virtuelnim računima.
Prvo, kreirajmo jednostavnu tekstualnu datoteku „users.txt“ u početnom folderu i sačuvajmo pristupne podatke (korisničko ime i lozinku) virtuelnih korisnika u svaki drugi red. Na primjer, trebat će nam virtuelni korisnik sa prijavnim imenom „ftp“ i lozinkom „Qwe123“ . Tada će datoteka izgledati ovako:
ftp
Qwe123
Kreirajmo bazu podataka
db_load -T -t hash -f ~/users.txt /etc/vsftpd_login.db
Hajde da modificiramo zadanu PAM datoteku "/etc/pam.d/vsftp" na sljedeći način:
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
Imajte na umu da putanja biblioteke "pam_userdb.so" može biti drugačija, ali je možete promijeniti ako je potrebno.
Ponovo učitajte vsftpd server da biste primijenili promjene.
systemctl restart vsftpd
Završili smo konfigurisanje FTP servera.
Detalji veze:
- ftp://[ip_adresa_servera]
- prijava: ftp
- lozinka: Qwe123
PHP konfiguracija servera
1. Instalacija PHP-a
Danas je najnovija stabilna verzija PHP-a php 7.4.5 koja nije uključena u zvanična Ubuntu repozitorijuma. Povežimo repozitorijum treće strane i instalirajmo najnoviju verziju PHP-a.
apt update
apt install software-properties-common
add-apt-repository ppa:ondrej/php
apt update
apt install php7.4
2. Provjeri
Da bi se PHP kod izvršio, datoteka web stranice mora imati ekstenziju ".php" . Preimenujmo našu testnu stranicu:
cd /var/www/sites/site1/
mv index.html index.php
Dodajte sljedeću php liniju u datoteku "/var/www/sites/site1/index.php" , tako da datoteka treba izgledati ovako:
<H1>Welcome</H1>
<?php
phpinfo();
?>
Sačuvajte promene i proverite rezultat u pretraživaču.
Ako vidite rezultat funkcije "phpinfo()" , PHP interpreter radi ispravno. Sada pređimo na sljedeći korak.
MySQL (MariaDB) konfiguracija
1. instalacija
Hajde da instaliramo MariaDB i PHP modul za MySQL, a zatim ponovo učitamo Apache.
apt install mariadb-server php-mysql
systemctl restart apache2
Osvježite testnu stranicu i idite na odjeljak PDO u PHP konfiguracijskoj tabeli. Ako možete pronaći odjeljak "PDO_mysql" , to znači da je drajver za Mysql ispravno instaliran.
Zatim ćemo morati izvršiti početnu sigurnosnu konfiguraciju MariaDB-a i postaviti lozinku za "root" korisnika, onemogućiti udaljeni pristup i izbrisati sve gostujuće račune.
mysql_secure_installation
U prvom koraku moramo unijeti lozinku "root" korisnika za pristup DBMS-u ili pritisnuti Enter ako nema lozinke. Budući da nakon instalacije nije postavljena lozinka za "root" korisnika, samo pritisnite "Enter".
Imajte na umu da u MariaDB-u već postoje vlastiti računi koji nemaju nikakve veze s računima operativnog sistema. Dakle, jedini korisnik s kojim se suočavamo u MariaDB-u je "root".
Nakon toga, konfigurator će nas pitati da postavimo lozinku za root korisnika. Upišite "Y" za potvrdu i unesite novu lozinku. U našem slučaju, to je "Qwe123"
Odgovorite sa „Da“ na sva ostala pitanja do samog kraja.
Konfiguracija je obavljena!
Detalji pristupa MariaDB:
- Prijava: root
- Lozinka: Qwe123
phpMyAdmin konfiguracija
1. instalacija
Instalirajmo potrebnu ekstenziju za PHP - mbstring.
apt install php-mbstring
U službenom spremištu postoji samo zastarjela verzija phpMyAdmin-a, pa hajde da ručno instaliramo novu.
Otvorite službenu web stranicu projekta „ https://www.phpmyadmin.net/ “ i preuzmite najnoviju arhivu.
Kopirajte arhivu na server u folder "/var/www/sites/" koristeći bilo koji ftp klijent.
Raspakujte folder i preimenujte ga u "phpMyAdmin" . Ne zaboravite instalirati uslužni program "unzip" . Arhivu možete izbrisati nakon što je raspakujete.
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
Kreirajte sljedeću mapu "/var/www/sites/phpMyAdmin/tmp" za privremene datoteke i omogućite pristup svima. Ako to ne učinite, phpMyAdmin će prijaviti da je pristup privremenoj mapi odbijen.
cd /var/www/sites/phpMyAdmin/
mkdir tmp
chmod 777 tmp
2. Kreirajte pseudonim
Pošto phpMyAdmin nije poseban virtuelni host i nalazi se izvan osnovnog direktorijuma, hajde da konfigurišemo alias.
Otvorite datoteku “/etc/apache2/mods-available/alias.conf” i dodajte ovaj red:
Alias /pma “/var/www/sites/phpMyAdmin"
unutar ovog odjeljka:
<IfModule alias_module>
</IfModule>
Ponovo učitajte Apache da primijenite promjene.
systemctl reload apache2
Alias je postavljen, tako da možemo pristupiti phpMyAdmin-u ovdje „http://[ip_adresa_servera]/pma“.
3. Pripremite bazu podataka
Pošto smo ograničili korištenje root korisnika tokom početne konfiguracije MariaDB-a, morat ćemo kreirati novi nalog sa svim dozvolama koje će se koristiti za pristup phpMyAdmin-u.
Osim toga, da bismo omogućili dodatne funkcije phpMyAdmin-a, trebat će nam servisna baza podataka i nalog za pristup.
Kreirajmo 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
Imajte na umu da se naziv baze podataka u drugom zahtjevu nalazi u pozadinskim sparks funkcijama “… ON `phpmyadmin` .* TO 'pma'@'localhost' IDENTIFIED BY …”,
Kao rezultat, u MariaDB-u će biti kreirana dva naloga:
- Prijava: pma, Lozinka: Qwe123 Potpuni pristup, koristit će se za prijavu na phpMyAdmin
- Prijava: pmaservice, Lozinka: Qwe123Nalog usluge je potreban da bi dodatne funkcije radile
U sljedećem koraku, postavit ćemo ove detalje u konfiguracijskoj datoteci „config.inc.php“.
Zatim ćemo morati uvesti bazu podataka iz datoteke „phpMyAdmin/sql/create_tables.sql“.
Uvezimo ga uz pomoć phpMyAdmin-a.
Otvorite link „http://[ip_adresa_servera]/pma“
Unesite prijavu „pma“ i lozinku „Qwe123“
Idite na "Uvoz" , kliknite na "Odaberi datoteku" i odaberite datoteku "sql/create_tables.sql" u korijenskom direktoriju phpMyAdmin-a. Na vašem računaru bi trebala biti mapa "phpMyAdmin" sa datotekama. Raspakujte je ako je potrebno.
Kliknite na "Dalje" da biste započeli uvoz.
4. Konfiguracija
Kopirajmo konfiguracijski fajl iz šablona
cd /var/www/sites/phpMyAdmin/
cp config.sample.inc.php config.inc.php
Otvorimo konfiguracijsku datoteku “/var/www/sites/phpMyAdmin/config.inc.php” i napravimo sljedeće promjene:
Postavite slučajnu vrijednost od 32 znaka za atribut "$cfg['blowfish_secret']" . Koristite bilo koji generator lozinki za to.
Uklonite komentare iz svih redova odjeljka „phpMyAdmin postavke pohrane konfiguracije“ i postavite korisničko ime i lozinku servisnog računa MariaDB-a za atribute „controluser“ i „controlpass“ u skladu s tim. U našem slučaju, to su pmaservice i Qwe123.
Spremite promjene.
Detalji pristupa za phpMyadmin:
- http://[server’s_ip_address]/pma/
- Prijava: pma
- Lozinka: Qwe123
Kako instalirati i konfigurirati WordPress na Linux serveru
1. WordPress paket i postavljanje datoteka
Idite na službenu WP web stranicu „ https://ru.wordpress.org/ “ i preuzmite arhivu na svoj lokalni računar.
Otpremite arhivu na server u folder "/var/www/sites/" i raspakujte je u folder "wordpress ".
Kopirajte sadržaj korijenske mape "/var/www/sites/wordpress/" web stranice "/var/www/sites/site1/".
Pošto smo kopirali datoteke putem konzole s root dozvolama, promijenimo vlasnika mape "/var/www/sites/", uključujući i sadržaj mape "virtual" . Ovo je potrebno za omogućavanje punog pristupa ftp konekciji putem klijenta.
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. Kreirajte bazu podataka za WordPress
Prijavite se na phpMyAdmin i kliknite na “Kreiraj bazu podataka”. Navedite proizvoljno ime baze podataka, u našem slučaju “wordpress_db” i kliknite na dugme “Kreiraj”.
Odaberite novu bazu podataka u lijevom odjeljku i kliknite na "Privilegije"
Zatim kliknite na "Dodaj korisnički račun".
U otvoreni prozor unesite korisničko ime i lozinku ( wpservice / Qwe123 ), označite polje "Dodijeli sve privilegije u wordpress_db" i kliknite na "Dalje".
Na sljedećoj stranici kliknite na "Otkaži sve" da biste resetovali sve privilegije na nivou baze podataka i kliknite na "Dalje".
3. WordPress konfiguracija na Linux serveru
Idite na korijenski direktorij vaše web stranice i kopirajte konfiguracijsku datoteku iz predloška
cd /var/www/sites/site1/
cp wp-config-sample.php wp-config.php
Otvorite datoteku „wp-config.php“ i unesite parametre veze s bazom podataka koje smo kreirali u prethodnom koraku i sačuvajte promjene.
4. Instalirajte CMS WordPress
Otvorite sljedeći link u pregledniku „http://[ip_adresa_servera]/wp-admin/install.php“.
Popunite sva polja i kliknite na "Instaliraj WordPress" . Postavite nasumično korisničko ime i lozinku. U našem slučaju, to su wpadmin i Qwe123.
Ovi detalji će se koristiti za pristup WordPress-u.
Nakon što završite instalaciju, otvorite link „http://[ip_adresa_servera]/wp-login.php“ , unesite pristupne podatke i prijavite se na WordPress.
Trebali biste vidjeti jedan od WordPress šablona na glavnoj stranici.
Konfiguracija je gotova.
Detalji pristupa WordPress-u:
- http://[server’s_ip_address]/wp-login.php
- Prijava: wpadmin
- Lozinka: Qwe123