U ovom članku dat ćemo vam upute korak po korak o tome kako konfigurirati web okruženje na poslužitelju koji pokreće Linux. Kao prvo, trebate razumjeti da se tipični web poslužitelj sastoji od nekoliko komponenti koje međusobno djeluju:
- HTTP poslužitelj
- prevoditelj programskog jezika
- sustav za upravljanje bazom podataka (DBMS)
Za upravljanje Vašom web stranicom također ćete trebati postaviti sustav 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đer ćemo instalirati vsftpd ftp server, phpMyAdmin - web sučelje za upravljanje bazom podataka, te sustav za upravljanje sadržajem WordPress.
Za početak molim naručiti VPS server or Posvećena poslužitelj. Na primjer, koristili smo virtualni poslužitelj sa statičkom IP adresom koji pokreće Ubuntu Server 18.04. Sve naredbe je pokrenuo root korisnik.
Konfiguracija Apache HTTP poslužitelja
1. Montaža
apt install apache2
Kada instalacija završi, otvorite preglednik i provjerite “http://[ip_adresa_poslužitelja]”
Ako vidite stranicu dobrodošlice poput ove na gornjoj snimci zaslona, to znači da vaš HTTP poslužitelj radi.
2. Napravite probnu stranicu
Zadani korijenski direktorij web stranice je “/var/www/html”. Ovdje možete pronaći stranicu dobrodošlice koju ste upravo vidjeli. Kreirajmo zaseban imenik “/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 sadržavati samo jedan redak html koda:
<H1>Welcome</H1>
3. Konfiguracija Apache poslužitelja
Konfiguracijske datoteke web-mjesta nalaze se “/etc/apache2/sites-available/” katalog. Kreirajmo konfiguracijsku datoteku za novi virtualni 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 promijenite “DocumentRoot” atribut. Stavite put vaše web stranice kao vrijednost, tako da je u našem slučaju “/var/www/sites/site1”
U ovoj fazi ne trebamo konfigurirati istovremeni rad više web stranica, tako da možemo onemogućiti zadanu web stranicu i omogućiti novu web stranicu. Ponovno učitajte konfiguraciju poslužitelja da biste primijenili promjene.
a2dissite 000-default
a2ensite site1
systemctl reload apache2
Otvorite vezu “http://[ip_adresa poslužitelja]” ponovno i uvjerite se da umjesto zadane stranice dobrodošlice imamo našu novu stranicu.
Završili smo konfiguraciju našeg HTTP poslužitelja i možemo nastaviti sa sljedećim korakom.
Konfiguracija FTP poslužitelja
1. Montaža
Instalirajmo naš ftp poslužitelj i dodatni paket “db-util”, da ćemo morati konfigurirati virtualne korisnike
apt install vsftpd db-util
2. Stvorite lokalni račun
Poslužitelj vsftpd omogućuje nam konfiguraciju dopuštenja pristupa na vrlo fleksibilan način. Za naše zadatke moramo osigurati ftp korisnicima sljedeće:
- puni pristup sadržaju “/var/www/sites/”;
- onemogući sve što je gore “/var/www/”;
- povezivanje s virtualnim računom;
Napravite lokalni račun “virtualno” bez dopuštenja za prijavu, ali s pristupom početnoj mapi “/var/www/”. Ovaj će račun koristiti ftp korisnici za povezivanje s poslužiteljem
useradd -d /var/www virtual
"Korijen" bit će vlasnik “/var/www” mapa prema zadanim postavkama. Kako bismo korisnicima ftp-a omogućili izmjenu sadržaja web stranica, promijenimo vlasnika “/var/www/sites/” uključujući podmape od “virtualno”.
chown -R virtual:root /var/www/sites
Kao rezultat toga, korisnik “virtualno” 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”, otvorimo ga 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
Za pohranjivanje podataka virtualnih računa trebat će vam baza podataka.
Prvo, stvorimo jednostavnu tekstualnu datoteku “users.txt” u početnu mapu i spremite podatke o pristupu (prijavu i lozinku) virtualnih korisnika u svaki drugi redak. Na primjer, trebat će nam virtualni korisnik s prijavom "ftp" i zaporku “Qwe123”. Tada će datoteka izgledati ovako:
ftp
Qwe123
Kreirajmo bazu podataka
db_load -T -t hash -f ~/users.txt /etc/vsftpd_login.db
Promijenimo zadanu PAM datoteku “/etc/pam.d/vsftp” kako 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 staza “pam_userdb.so” biblioteka može biti drugačija, ali je možete promijeniti ako je potrebno.
Ponovno učitajte vsftpd poslužitelj za primjenu promjena.
systemctl restart vsftpd
Završili smo s konfiguracijom FTP poslužitelja.
Detalji veze:
- ftp://[ip_adresa_poslužitelja]
- prijava: ftp
- lozinka: Qwe123
PHP konfiguracija poslužitelja
1. Instalacija PHP-a
Danas je najnovija stabilna verzija PHP-a php 7.4.5 koja nije uključena u službena Ubuntu spremišta. Povežimo repozitorij 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. Provjeriti
Kako bi se PHP mogao izvršiti, datoteka web stranice mora imati “.php” proširenje. Preimenujmo našu testnu stranicu:
cd /var/www/sites/site1/
mv index.html index.php
Dodajte sljedeći php red u datoteku “/var/www/sites/site1/index.php”, pa bi datoteka trebala izgledati ovako:
<H1>Welcome</H1>
<?php
phpinfo();
?>
Spremite promjene i provjerite rezultat u pregledniku.
Ako vidite rezultat funkcije “phpinfo()”, PHP interpreter radi ispravno. Sada prijeđimo na sljedeći korak.
MySQL (MariaDB) konfiguracija
1. Montaža
Instalirajmo MariaDB i PHP modul za MySQL, a zatim ponovno učitajmo Apache.
apt install mariadb-server php-mysql
systemctl restart apache2
Osvježite testnu stranicu i idite na odjeljak PDO u PHP konfiguracijskoj tablici. Ako možete pronaći odjeljak “PDO_mysql”, to znači da je upravljački program za Mysql ispravno instaliran.
Zatim ćemo morati napraviti početnu sigurnosnu konfiguraciju MariaDB-a i postaviti lozinku za "Korijen" korisnika, onemogući daljinski pristup i izbriše sve račune gostiju.
mysql_secure_installation
Na prvom koraku moramo unijeti "korijen" korisničku lozinku za pristup DBMS-u ili pritisnite Enter ako nema lozinke. Budući da nije postavljena lozinka za "korijen" korisnik nakon instalacije, samo pritisnite "Unesi".
Imajte na umu da u MariaDB-u već postoje vlastiti računi koji nemaju nikakve veze s računima OS-a. Dakle, jedini korisnik s kojim imamo posla u MariaDB-u je "korijen".
Nakon toga, konfigurator će tražiti da postavimo lozinku za root korisnika. Tip "Y" za potvrdu i unos nove lozinke. U našem slučaju je “Qwe123”
odgovor "Y" na sva ostala pitanja do samog kraja.
Konfiguracija je gotova!
Detalji pristupa MariaDB:
- Prijava: root
- Lozinka: Qwe123
phpMyAdmin konfiguracija
1. Montaža
Instalirajmo potrebno proširenje za PHP - mbstring.
apt install php-mbstring
U službenom repozitoriju postoji samo zastarjela verzija phpMyAdmina, pa instalirajmo novu ručno.
Otvorite službenu web stranicu projekta “https://www.phpmyadmin.net/” i preuzmite najnoviju arhivu.
Kopirajte arhivu na poslužitelj u “/var/www/sites/” mapu koristeći bilo koji ftp klijent.
Dearhivirajte mapu i preimenujte je u “phpMyAdmin”. Ne zaboravite instalirati "otvoriti rajsfešlus" korisnost. Arhivu možete izbrisati nakon što je poništite iz arhive.
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
Stvorite sljedeću mapu “/var/www/sites/phpMyAdmin/tmp” za privremene datoteke i omogućiti pristup svima. Ako to ne učinite, phpMyAdmin će prijaviti odbijeni pristup privremenoj mapi.
cd /var/www/sites/phpMyAdmin/
mkdir tmp
chmod 777 tmp
2. Stvorite alias
Budući da phpMyAdmin nije zaseban virtualni host i nalazi se izvan korijenskog direktorija, konfigurirajmo alias.
Otvorite datoteku “/etc/apache2/mods-available/alias.conf” i dodajte ovaj redak:
Alias /pma “/var/www/sites/phpMyAdmin"
unutar ovog odjeljka:
<IfModule alias_module>
</IfModule>
Ponovno učitajte Apache za primjenu promjena.
systemctl reload apache2
Alias je postavljen, tako da ovdje možemo pristupiti phpMyAdmin-u “http://[ip_adresa_poslužitelja]/pma”.
3. Pripremite bazu podataka
Budući da smo ograničili korištenje root korisnika tijekom početne konfiguracije MariaDB-a, morat ćemo stvoriti novi račun sa svim dozvolama koje će se koristiti za pristup phpMyAdmin-u.
Osim toga, kako bismo omogućili dodatne značajke phpMyAdmina, trebat će nam servisna baza podataka i račun 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 naziv baze podataka u drugom zahtjevu u pozadini iskri “… ON `phpmyadmin`.* NA 'pma'@'localhost' IDENTIFICIRAN BY...”,
Kao rezultat, bit će stvorena dva računa u MariaDB-u:
- Prijava: pma, Lozinka: Qwe123 Pun pristup, koristit će se za prijavu na phpMyAdmin
- Prijava: pmaservice, Lozinka: Qwe123 Račun usluge potreban je za rad dodatnih značajki
U sljedećem koraku postavit ćemo te detalje u konfiguracijsku datoteku “config.inc.php”.
Zatim ćemo morati uvesti bazu podataka iz datoteke “phpMyAdmin/sql/create_tables.sql”.
Uvezimo ga uz pomoć phpMyAdmina.
Otvorite vezu “http://[ip_adresa_poslužitelja]/pma”
Unesite prijavu "pma" i zaporku “Qwe123”
Idi na "Uvoz", Kliknite “Odaberi datoteku” i odaberite datoteku ”sql/create_tables.sql” u korijenskom direktoriju phpMyAdmin-a. Mapa bi trebala biti na vašem računalu “phpMyAdmin” s datotekama. Dearhivirajte ga ako je potrebno.
Kliknite "Sljedeći" za početak uvoza.
4. konfiguracija
Kopirajmo konfiguracijsku datoteku iz predloška
cd /var/www/sites/phpMyAdmin/
cp config.sample.inc.php config.inc.php
Otvorimo konfiguracijsku datoteku “/var/www/sites/phpMyAdmin/config.inc.php” i napravite 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 redaka “Postavke pohrane konfiguracije phpMyAdmin” odjeljak i postavite prijavu i lozinku servisnog računa MariaDB za “kontroler” i "kontrolna propusnica" atribute prema tome. U našem slučaju je 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 poslužitelju
1. WordPress paket i smještaj datoteka
Idite na službenu WP stranicu “https://ru.wordpress.org/” i preuzmite arhivu na svoje lokalno računalo.
Prenesite arhivu na poslužitelj u “/var/www/sites/” mapu i dearhivirajte je u “wordpressMapa.
Kopirajte sadržaj “/var/www/sites/wordpress/” korijenska mapa “/var/www/sites/site1/” web stranicu.
Budući da smo kopirali datoteke preko konzole s root dopuštenjima, promijenimo vlasnika “/var/www/sites/” mapa uključujući sadržaj “virtualno”. 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. Napravite bazu podataka za WordPress
Prijavite se na phpMyAdmin i kliknite na "Izradi bazu podataka". Navedite proizvoljan naziv baze podataka, u našem slučaju "wordpress_db" i kliknite gumb "Stvori".
Odaberite novu bazu podataka u lijevom dijelu i kliknite “Privilegije”
Zatim kliknite “Dodaj korisnički račun”.
Unesite prijavu i lozinku (wpservice / Qwe123) u otvorenom prozoru provjerite “Dodijelite sve privilegije u wordpress_db” i kliknite "Sljedeći"
Na sljedećoj stranici kliknite “Otkaži sve” za resetiranje svih privilegija na razini baze podataka i kliknite "Sljedeći".
3. WordPress konfiguracija na Linux poslužitelju
Idite u korijenski direktorij svoje 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 veze s bazom podataka koje smo kreirali u prethodnom koraku i spremite promjene.
4. Instalirajte CMS WordPress
Otvorite sljedeću vezu u pregledniku “http://[ip_adresa_poslužitelja]/wp-admin/install.php”.
Ispunite sva polja i kliknite “Instalirajte WordPress”. Postavite nasumično korisničko ime i lozinku. U našem slučaju je wpadmin i Qwe123 prema tome.
Ovi će se detalji koristiti za pristup WordPressu.
Nakon završetka instalacije otvorite poveznicu “http://[ip_adresa_poslužitelja]/wp-login.php”, unesite podatke o pristupu i prijavite se na WordPress.
Trebali biste vidjeti jedan od WordPress predložaka na glavnoj stranici.
Konfiguracija je gotova.
Detalji pristupa WordPressu:
- http://[server’s_ip_address]/wp-login.php
- Prijava: wpadmin
- Lozinka: Qwe123