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 naručite VPS poslužitelj ili dedicirani poslužitelj . Na primjer, koristili smo virtualni poslužitelj sa statičkom IP adresom na kojem je pokrenut Ubuntu Server 18.04. Sve naredbe je pokretao root korisnik.
Konfiguracija Apache HTTP poslužitelja
1. Montaža
apt install apache2
Kada je instalacija završena, 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 za web-stranicu je „/var/www/html“ . Ovdje možete pronaći početnu stranicu koju ste upravo vidjeli. Izradimo 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“ trebala bi sadržavati samo jednu liniju html koda:
<H1>Welcome</H1>
3. Konfiguracija Apache poslužitelja
Konfiguracijske datoteke web-mjesta nalaze se u katalogu “/etc/apache2/sites-available/” . Izradimo 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 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
Ponovno otvorite poveznicu „http://[ip_adresa_poslužitelja]“ i provjerite da umjesto zadane početne stranice 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" koji će nam trebati za konfiguriranje virtualnih korisnika.
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;
Izradite lokalni račun "virtualni" 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
"Root" će prema zadanim postavkama biti vlasnik mape "/var/www" . Kako bismo omogućili ftp korisnicima da mijenjaju sadržaj web stranica, promijenimo vlasnika "/var/www/sites/", uključujući podmape "virtual".
chown -R virtual:root /var/www/sites
Kao rezultat toga, korisnik „virtual“ moći će vidjeti sadržaj mape „/var/www/“ i pisati u podmapu „/var/www/sites/“.
3. konfiguracija
Glavna konfiguracija je 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
Za pohranjivanje podataka virtualnih računa trebat će vam baza podataka.
Prvo, stvorimo jednostavnu tekstualnu datoteku „users.txt“ u početnoj mapi i spremimo podatke za pristup (korisničko ime i lozinku) virtualnih korisnika u svaki drugi redak. Na primjer, trebat će nam virtualni korisnik s prijavom „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
Izmijenimo 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 put do biblioteke „pam_userdb.so“ može biti drugačiji, ali ga 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
Da bi se PHP kod mogao izvršiti, datoteka web stranice mora imati ekstenziju ".php" . Preimenujmo našu testnu stranicu:
cd /var/www/sites/site1/
mv index.html index.php
Dodajte sljedeći php redak u datoteku “/var/www/sites/site1/index.php” kako 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 tablici konfiguracije PHP-a. 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 "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 OS računima. Dakle, jedini korisnik s kojim se bavimo u MariaDB-u je "root".
Nakon toga, konfigurator će nas zamoliti da postavimo lozinku za root korisnika. Upišite "Y" za potvrdu i unesite novu lozinku. U našem slučaju, to je "Qwe123"
Na sva ostala pitanja do samog kraja odgovorite s "Y" .
Konfiguracija je gotova!
Detalji pristupa MariaDB:
- Prijava: root
- Lozinka: Qwe123
phpMyAdmin konfiguracija
1. Montaža
Instalirajmo potrebnu ekstenziju 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 mapu “/var/www/sites/” koristeći bilo koji ftp klijent.
Raspakirajte mapu i preimenujte je u "phpMyAdmin" . Ne zaboravite instalirati uslužni program "unzip" . Arhivu možete izbrisati nakon što je raspakirate.
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
Izradite 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 privremenoj mapi odbijen pristup.
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 možemo pristupiti phpMyAdminu ovdje „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 se naziv baze podataka u drugom zahtjevu nalazi u pozadinskim sparkovima “… ON `phpmyadmin` .* TO 'pma'@'localhost' IDENTIFIED 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 ove podatke 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 poveznicu „http://[ip_adresa_poslužitelja]/pma”
Unesite prijavu „pma“ i lozinku „Qwe123“
Idite na "Uvoz" , kliknite "Odaberi datoteku" i odaberite datoteku "sql/create_tables.sql" u korijenskom direktoriju phpMyAdmin. Na vašem računalu bi se trebala nalaziti mapa "phpMyAdmin" s datotekama. Po potrebi je raspakirajte.
Kliknite "Dalje" 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 napravimo sljedeće promjene:
Postavite slučajnu vrijednost od 32 znaka za atribut "$cfg['blowfish_secret']" . Za to koristite bilo koji generator lozinki.
Uklonite komentare iz svih redaka odjeljka „phpMyAdmin postavke pohrane konfiguracije“ i postavite prijavu 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 poslužitelju
1. WordPress paket i smještaj datoteka
Idite na službenu WP web stranicu „ https://ru.wordpress.org/ “ i preuzmite arhivu na svoje lokalno računalo.
Prenesite arhivu na poslužitelj u mapu "/var/www/sites/" i raspakirajte je u mapu "wordpress ".
Kopirajte sadržaj korijenske mape „/var/www/sites/wordpress/ “ web-mjesta „/var/www/sites/site1/“.
Budući da smo datoteke kopirali putem konzole s root dozvolama, promijenimo vlasnika mape "/var/www/sites/", uključujući sadržaj mape "virtual" . To je potrebno kako bi se omogućio puni pristup ftp vezi 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. 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 odjeljku i kliknite "Privilegije"
Zatim kliknite na "Dodaj korisnički račun".
U otvoreni prozor unesite korisničko ime i lozinku ( wpservice / Qwe123 ), označite "Dodijeli sve privilegije u wordpress_db" i kliknite "Dalje".
Na sljedećoj stranici kliknite "Otkaži sve" da biste resetirali sve privilegije na razini baze podataka i kliknite "Dalje".
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 datoteku „wp-config.php“ i unesite parametre veze s bazom podataka koje smo kreirali u prethodnom koraku te spremite promjene.
4. Instalirajte CMS WordPress
Otvorite sljedeću poveznicu u pregledniku „http://[ip_adresa_poslužitelja]/wp-admin/install.php”.
Ispunite 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 će se detalji koristiti za pristup WordPressu.
Nakon što završite instalaciju, otvorite poveznicu „http://[ip_adresa_poslužitelja]/wp-login.php” , unesite pristupne podatke i prijavite se u 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