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 molim naručiti VPS server or posvećen server. Na primjer, koristili smo virtuelni server sa statičkom IP adresom koji pokreće Ubuntu Server 18.04. Sve komande je pokrenuo root korisnik.
Konfiguracija Apache HTTP servera
1. instalacija
apt install apache2
Kada se instalacija završi, 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 lokaciju je “/var/www/html”. Ovdje možete pronaći stranicu dobrodošlice koju ste upravo vidjeli. Kreirajmo poseban direktorij “/var/www/sites” za virtuelne hostove i podfolder “/var/www/sites/site1” sa indeksnom stranicom vaše testne web stranice.
cd /var/www/
mkdir -p sites/site1
echo "<H1>Welcome</H1>" > sites/site1/index.html
U rezultatu fajl “/var/www/sites/site1/index.html” treba da sadrži samo jednu liniju html koda:
<H1>Welcome</H1>
3. Konfiguracija Apache servera
Konfiguracijski fajlovi web stranica su u “/etc/apache2/sites-available/” katalog. Kreirajmo konfiguracijsku datoteku za novi virtuelni host uzimajući zadanu konfiguraciju iz datoteke “000-default.conf” kao osnova.
cd /etc/apache2/sites-available/
cp 000-default.conf site1.conf
Otvorite datoteku “site1.conf” i promenite “DocumentRoot” atribut. Stavite putanju vaše web stranice kao vrijednost, tako da je u našem slučaju “/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
Otvorite vezu “http://[ip_adresa servera]” ponovo i uvjerite se da umjesto zadane stranice dobrodošlice 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
Hajde da instaliramo naš ftp server i dodatni paket “db-util”, da ćemo morati da konfigurišemo virtuelne korisnike
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 nalog "virtuelno" bez dozvole za prijavu, ali sa pristupom početnom folderu “/var/www/”. Ovaj nalog će koristiti ftp korisnici za povezivanje sa serverom
useradd -d /var/www virtual
“korijen” će biti vlasnik “/var/www” folder podrazumevano. Kako bismo omogućili ftp korisnicima da mijenjaju sadržaj web stranica, promijenimo vlasnika “/var/www/sites/” uključujući podfoldere of "virtuelno".
chown -R virtual:root /var/www/sites
Kao rezultat toga, korisnik "virtuelno" moći će vidjeti sadržaj “/var/www/” i upišite u “/var/www/sites/” podmapa.
3. Konfiguracija
Glavna konfiguracija je u datoteci “/etc/vsftpd.conf”, pa hajde da ga otvorimo i uredimo na sledeć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, napravimo jednostavnu tekstualnu datoteku “users.txt” u početnom folderu i spremite pristupne podatke (login i lozinku) virtuelnih korisnika u svaki drugi red. Na primjer, trebat će nam virtualni korisnik sa prijavom “ftp” i lozinku “Qwe123”. Tada će fajl izgledati ovako:
ftp
Qwe123
Kreirajmo bazu podataka
db_load -T -t hash -f ~/users.txt /etc/vsftpd_login.db
Hajde da izmenimo podrazumevani PAM fajl “/etc/pam.d/vsftp” kao što slijedi:
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 je put do “pam_userdb.so” biblioteka 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 izvršio fajl web stranice treba da ima “.php” proširenje. Preimenujmo našu test stranicu:
cd /var/www/sites/site1/
mv index.html index.php
Dodajte sljedeću php liniju u datoteku “/var/www/sites/site1/index.php”, pa bi fajl trebao 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 idemo 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 probnu stranicu i idite na odjeljak PDO u PHP konfiguracijskoj tabeli. Ako možete pronaći odjeljak “PDO_mysql”, onda to znači da je drajver za Mysql ispravno instaliran.
Zatim ćemo morati napraviti početnu sigurnosnu konfiguraciju MariaDB-a i postaviti lozinku za "Root" korisnika, onemogućite daljinski pristup i izbrišite sve naloge gostiju.
mysql_secure_installation
Na prvom koraku moramo ući u "korijen" korisničku lozinku za pristup DBMS-u ili pritisnite Enter ako nema lozinke. Pošto nije postavljena lozinka za "korijen" korisnik nakon instalacije, samo pritisnite "Enter".
Imajte na umu da u MariaDB-u već postoje vlastiti nalozi koji nemaju nikakve veze sa OS nalozima. Dakle, jedini korisnik s kojim imamo posla u MariaDB je "korijen".
Nakon toga, konfigurator će od nas tražiti da postavimo lozinku za root korisnika. Tip "Y" da potvrdite i unesete novu lozinku. U našem slučaju jeste “Qwe123”
odgovor "Y" na sva ostala pitanja do samog kraja.
Konfiguracija je obavljena!
Detalji pristupa MariaDB:
- Prijava: root
- Lozinka: Qwe123
phpMyAdmin konfiguracija
1. instalacija
Hajde da instaliramo 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 “/var/www/sites/” folder koristeći bilo koji ftp klijent.
Dearhivirajte folder i preimenujte ga u “phpMyAdmin”. Ne zaboravite da instalirate “raspakirati” korisnost. Možete izbrisati arhivu nakon što ste je dearhivirali.
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ći pristup svima. Ako to ne uradite, phpMyAdmin će prijaviti odbijen pristup privremenoj fascikli.
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 phpMyAdminu 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 je ime baze podataka u drugom zahtjevu u pozadini iskri “… ON `phpmyadmin`.* DO 'pma'@'localhost' IDENTIFIKOVANO OD ...”,
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, ove detalje ćemo postaviti u konfiguracijski fajl “config.inc.php”.
Zatim ćemo morati da uvezemo bazu podataka iz datoteke “phpMyAdmin/sql/create_tables.sql”.
Uvezimo ga uz pomoć phpMyAdmin-a.
Otvorite vezu “http://[ip_adresa_servera]/pma”
Unesite prijavu “pma” i lozinku “Qwe123”
Idi na “Uvoz”, kliknite “Odaberi fajl” i izaberite datoteku ”sql/create_tables.sql” u korijenskom direktoriju phpMyAdmin. Trebalo bi da postoji folder na vašem računaru “phpMyAdmin” sa fajlovima. Dearhivirajte ako je potrebno.
kliknite “Next” da započnete uvoz.
4. Konfiguracija
Kopirajmo konfiguracijski fajl iz šablona
cd /var/www/sites/phpMyAdmin/
cp config.sample.inc.php config.inc.php
Otvorimo konfiguracijski fajl “/var/www/sites/phpMyAdmin/config.inc.php” i uradite sljedeće promjene:
Postavite nasumične vrijednosti od 32 znaka za atribut “$cfg['blowfish_secret']”. Za to koristite bilo koji generator lozinki..
Uklonite komentare iz svih redova “Postavke pohrane konfiguracije phpMyAdmin” i postavite login i lozinku MariaDB servisnog naloga za "kontrolor" i "kontrolni prolaz" atribute u skladu s tim. U našem slučaju jeste 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 PC.
Učitajte arhivu na server u “/var/www/sites/” folder i dearhivirajte ga u “wordpress" folder.
Kopirajte sadržaj “/var/www/sites/wordpress/” korijenski direktorij “/var/www/sites/site1/” web stranice.
Pošto smo kopirali fajlove preko konzole sa root dozvolama, promenimo vlasnika “/var/www/sites/” folder uključujući sadržaj "virtuelno". Ovo je potrebno za omogućavanje punog pristupa za ftp vezu preko 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 dijelu i kliknite “Privilegije”
Zatim kliknite “Dodaj korisnički račun”.
Unesite login i lozinku (wpservice / Qwe123) u otvorenom prozoru provjerite “Daj sve privilegije u wordpress_db” i kliknite “Next”
Na sljedećoj stranici kliknite “Otkaži sve” da resetujete sve privilegije na nivou baze podataka i kliknite “Next”.
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 “wp-config.php” datoteku i unesite parametre povezivanja baze podataka koje smo kreirali u prethodnom koraku i spremite promjene.
4. Instalirajte CMS WordPress
Otvorite sljedeću vezu u pretraživaču “http://[ip_adresa_servera]/wp-admin/install.php”.
Popunite sva polja i kliknite “Instaliraj WordPress”. Postavite nasumično korisničko ime i lozinku. U našem slučaju jeste wpadmin i Qwe123 shodno tome.
Ovi detalji će se koristiti za pristup WordPress-u.
Nakon što završite instalaciju, otvorite vezu “http://[ip_adresa_servera]/wp-login.php”, unesite detalje pristupa 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