SERVIS<>
012016<><>

Linux server za početnike (2)

Kako ’dići veb-server?

Najveći broj veb-sajtova radi na javnim serverima koje pokreće neka vrsta operativnog sistema baziranog na Linuxu. U ovom tekstu ćemo demonstrirati proceduru za podizanje veb-servera radi vežbe administracije jednog takvog servera ili vežbe izrade nekog veb-sajta ili veb-aplikacije

Gradićemo ovaj veb-server na bazi koju smo podigli i opisali u prethodnom broju. Ukoliko već niste podigli Ubuntu server po našim uputstvima, pročitajte tekst „Virtuelni server za eksperimente” u rubrici „Servis” u prethodnom broju.

Sastojci

Jedan veb-server se često drugačije naziva i LAMP server. Iako zvuči duhovito, ime LAMP je zapravo skraćenica koja se sastoji od početnih slova softverskih paketa koji sačinjavaju jedan takav server: Linux, Apache, MySQL i PHP.

Update

S obzirom na to da se duže vreme nismo „igrali” sa našim serverčićem (kad pre prođe mesec dana, c, c, c...), potrebno je prvo nadograditi ga friškim paketima. Za to postoji nekoliko načina, a ovaj put ćemo to uraditi ovako: prvo ćemo se ulogovati na server, prebaciti se u Super User režim rada (root), pa tek onda ukucati komande za nadogradnju. Na ovaj način skraćujemo postupak za nekoliko sudo komandi (tačnije tri). Prelazak u Super User režim rada postiže se komandom

sudo su

i ukucavanjem lozinke. Onda kao sekvencu za Update možemo ukucati samo

apt-get update && apt-get upgrade -y && apt-get dist-upgrade -y

bez početnih sudo komandi (izvrši kao Super User) za svaku komandu u lancu. Za kraj je potrebno restartovati server (za svaki slučaj) i proveriti nakon startovanja opet za Update na isti način. Restart servera se radi komandom reboot. Kada se uverimo da su nam svi paketi na najnovijim verzijama, nastavljamo dalje.

Potrebni programi

S obzirom na to da nam je Linux deo LAMP servera već instaliran i nadograđen, preostaje nam samo još „AMP” deo: Apache, MySQL i PHP. Apache je softver koji ima ulogu veb-servera (HTTP servera), MySQL je program koji ima ulogu sistema za upravljanje relacionim bazama podataka, a PHP je server-side scripting programski jezik predviđen uglavnom za upotrebu na vebu, ali se takođe može koristiti i kao opšti programski jezik.

Apache instalacija

Apache web/HTTP server se može instalirati pomoću komande

apt-get install apache2 -y

ukoliko smo ulogovani kao SU, ili dodavanjem sudo komande ispred ako nismo. Glavni direktorijum za smeštanje dokumenata je /var/www/html na Ubuntu serveru, a konfiguracioni fajl se nalazi na putanji /etc/apache2/apache2.conf.

PHP instalacija

Da bi se PHP pravilno instalirao na server, potrebno je pored samog PHP-a instalirati i PHP modul za Apache veb-server. Ovo se može uraditi jednom komandom:

apt-get install php5 libapache2-mod-php5 –y

U toj komandi se instalira PHP 5 (php5) i modul za veb-server (libapache2-mod-php5). Nakon toga, potrebno je restartovati Apache servis, što se radi komandom

service apache2 restart

MySQL instalacija

Da bismo instalirali MySQL server i njegovu podršku za PHP, potrebno je da instaliramo MySQL i PHP 5 MySQL paket. To se može uraditi komandom

apt-get install mysql-server php5-mysql -y

U samom procesu potrebno je podesiti lozinku za root korisnički nalog MySQL baze i nakon toga obavezan je restart Apache 2 servisa komandom

service apache2 restart

Dodatni PHP 5 moduli

Da bi se omogućile dodatna funkcionalnost, dobra je ideja da se instaliraju još neki dodatni PHP 5 moduli, jer je moguće da su potrebni za neku od vrsta primene za koju server i dižemo. Dostupni PHP 5 moduli se mogu potražiti komandom

apt-cache search php5

Na spisku se recimo mogu pronaći curl, gd, intl, pear, imagick, imap, mcrypt, memcache, ming, ps, pspell, recode, snmp, sqlite, tidy, xmlrpc i xsl.

Pre instalacije potrebno je odabrati željene module. Nakon toga mogu se instalirati u jednom cugu. Recimo svi moduli se mogu instalirati komandom

apt-get install php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl -y

Dakle, koristi se komanda apt-get install i zatim nabroje sa razmakom svi paketi koje je potrebno instalirati. Nakon instalacije, naravno, potrebno je restartovati Apache server.

Primera radi, Xcache je besplatan i otvoren PHP opcode cacher koji služi za keširanje i optimizaciju PHP posredničkog koda. Sličan je drugim PHP opcode kešerima kao što su eAccelerator i APC. Strogo se preporučuje da se na serveru ima instaliran jedan od ovih kešera radi ubrzanja serviranja PHP stranica. Xcache se može instalirati pomoću komande

apt-get install php5-xcache

Zatim je bitno (opet) restartovati veb-server.

Instalacija phpMyAdmin panela

phpMyAdmin je veb-interfejs kroz koji možemo na lakši način upravljati našim MySQL bazama podataka. Dobra je ideja instalirati ga. To se radi pomoću komande

apt-get install phpmyadmin –y

Nakon toga, instalacija postavlja još dva pitanja: „Web server to reconfigure automatically?” i „Configure database for phpmyadmin with dbconfig-common?”. Odgovor na prvo pitanje je odabir opcije „apache2”, zato što za veb-server koristimo Apache, a na drugo „No”.

Da li to sve radi?

Nakon uspešne instalacije svih potrebnih elemenata, jako je bitno isprobati da li sve to zapravo radi. Da bismo ovu našu test spravu isprobali, potrebno je prvo napomenuti nekoliko stvari. Ukoliko nam se server nalazi u Virtualbox VM, potrebno je da isključimo server ukoliko je uključen (recimo komandom poweroff) i onda za taj VM podesimo mrežu na Bridged Networking (Virtualbox: NašVM: Settings: Network: Attached to: Bridged Adapter). Ovo služi za prebacivanje VM sa „virtuelne” na „pravu” mrežu. Preciznije, kada je ovo podešeno, Virtualbox se povezuje sa jednim od mrežnih adaptera i razmenjuje mrežne pakete direktno, tako zaobilazeći mrežni stack host OS-a. Na taj način se omogućava da naš server obavlja napredne mrežne operacije, kao što su simulacije i probe, iako se on nalazi u VM. Ukoliko ste pak server digli na fizičkoj mašini, ceo ovaj korak preskočite.

Sledeći korak je važan i za one koji su podigli VM server i za one koji su podigli fizički server. Naime, da bi se pristupalo serveru, potrebno je da znamo na kojoj se IP adresi nalazi. Ukoliko server koristite samo za probe i niste mu fiksirali IP adresu pri inicijalnoj konfiguraciji (ručno ili putem DHCP servera), to se može proveriti na nekoliko načina. Prvi način je pregled na info sekciji koja se pojavljuje odmah nakon logina na server. Ukoliko ste pak radili nešto, i više nemate info u vidnom polju ekrana, uvek možete saznati sve mrežne informacije uključujući i IP adresu pomoću komande ifconfig.

Proba HTTP/veb-servera

Kao primer u tekstu koristićemo IP adresu 192.168.254.253. Da bismo isprobali da li radi HTTP/veb-server, u brauzeru kucamo IP servera, odnosno u našem slučaju http://192.168.254.253. Na taj upit, u brauzeru bi trebalo da se pojavi izuzetno poznata „It works!” početna strana Apache servera. Fajlovi se smeštaju u koreni direktorijum za javne fajlove, koji se nalazi na putanji /var/www/html. Tu je potrebno smestiti sve HTML fajlove budućeg test sajta ili aplikacije.

PHP test

Za probu PHP-a potrebno je malo više gimnastike za naše prste. Potrebno je prvo kreirati jedan prostiji PHP fajl. Mi smo odlučili da to bude fajl koji će sadržati funkciju info, jer je svakako korisno imati takav fajl sa svim potrebnim informacijama o PHP-u, radi uvida u testnom okruženju, kao što su verzija PHP-a, instalirani moduli i mnoge druge. Odlučili smo da ga nazovemo info.php, a potrebno ga je smestiti u javni direktorijum čiju putanju smo već spominjali u prethodnom pasusu. Sam fajl se najlakše generiše pomoću komande vi i kucanjem putanje do samog fajla. Cela komanda glasi

vi /var/www/html/info.php

čime se dolazi do praznog (još nesnimljenog) info.php fajla na pomenutoj putanji. Sada je potrebno u taj prazan fajl ukucati kod „<?php phpinfo(); ?>” i to snimiti pritiskom na kombinaciju tastera ’Ctrl + C’, kucanjem komande :exit i pritiskom na taster ’Enter’ nakon toga. Za kraj probe u brauzeru je potrebno ukucati adresu tog fajla, što je u našem slučaju http://192.168.254.253/info.php.

Proba phpMyAdmin panela

Proba phpMyAdmin veb-interfejsa nije preterano komplikovana, s obzirom na to da je cela konfiguracija urađena pri instalaciji MySQL servera i samog panela. Potrebno je samo u brauzeru otkucati adresu koja vodi do njega, a to je u našem slučaju http://192.168.254.253/phpmyadmin/. Podaci za prijavu su root za korisničko ime i lozinka postavljena pri instalaciji MySQL servera.

Instalacija CMS-a

Glavna prednost modernog doba je ta što postoji veliki broj besplatnih i slobodnih alatki za korišćenje koje mogu da nam pomognu u izradi određenog projekta. Dobar primer pomoćnog alata za projekat veb-servera bio bi neki od open source CMS-ova (Content Management System). Za pokaznu vežbu mi smo odabrali Wordpress, koji je nastao kao veb-aplikacija koja omogućava lako blogovanje, ali s obzirom na to da je u međuvremenu postao jedan od ozbiljnijih CMS-ova otvorenog kôda, uz određene modifikacije njegovog kôda može se doći do zanimljivih rešenja.

Da bi se on instalirao na Ubuntu serveru potrebno je samo izvršiti sledeću komandu

apt-get install wordpress –y

Nakon instalacije potrebno je podesiti još nekoliko stvari. Za konfiguraciju prve WordPress aplikacije, potrebno je konfigurisati Apache sajt. To se radi otvaranjem putanje /etc/apache2/sites-available/wordpress.conf i upisivanjem i snimanjem sledećih linija kôda pomoću tekst editora (komanda vi):

Alias /blog /usr/share/wordpress

<Directory /usr/share/wordpress>

Options FollowSymLinks

AllowOverride Limit Options FileInfo

DirectoryIndex index.php

Order allow,deny

Allow from all

</Directory>

<Directory /usr/share/wordpress/wp-content>

Options FollowSymLinks

Order allow,deny

Allow from all

</Directory>

Sledeće što je potrebno uraditi je uključiti ovaj novi WordPress sajt. To se radi komandom

a2ensite wordpress

a odmah zatim potrebno je restartovati Apache. Sada je potrebno konfigurisati WordPress za korišćenje MySQL baze. Za to je potrebno otvoriti putanju pomoću komande

vi /etc/wordpress/config-192.168.254.253.php

te upisati u njega i snimiti sledeći kôd:

<?php

define(’DB_NAME’, ’sk’);

define(’DB_USER’, ’sk’);

define(’DB_PASSWORD’, ’sk’);

define(’DB_HOST’, ’localhost’);

define(’WP_CONTENT_DIR’, ’/usr/share/wordpress/wp-content’);

?>

gde je „sk” upisano kao naziv baze, ime korisnika i lozinka. Ovde se, naravno, radi samo o testnim okruženjima i naglašavamo da nije preporučljivo u praksi zbog bezbednosti koristiti tako kratke i jednostavne podatke za predstavljanje; obavezno se u primeni služite preporukama za generisanje kompleksnijih lozinki i korisničkih imena. Sada kada je konfiguracioni fajl zapisan, potrebno je napraviti tu bazu, korisnika i lozinku za njen pristup. Ovo je najlakše uraditi kreiranjem jednog temp fajla, koji ćemo nazvati recimo „sk.sql” (vi sk.sql) i u njega ukucati sledeće komande:

CREATE DATABASE sk;

GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER

ON sk.*

TO sk@localhost

IDENTIFIED BY ’sk’;

FLUSH PRIVILEGES;

U sledećem koraku je potrebno izvršiti ove komande posredstvom napravljenog fajla, što se može uraditi komandom

cat sk.sql | mysql --defaults-extra-file=/etc/mysql/debian.cnf

Sada naš novoformirani WordPress može biti finalno konfigurisan posetom stranici http://192.168.254.253/blog/wp-admin/install.php. Potrebno je popuniti po želji naslov, korisničko ime, lozinku i e-mail i zatim kliknuti na Install. Et Voila!

• • •

Bavili smo se podizanjem i konfigurisanjem veb-servera na osnovnom nivou, sa određenim naprednijim aspektima mogućih primena, podešavanjima i savetima. U sledećem broju ćemo podići neku drugu vrstu servera radi daljeg vežbanja i eksperimentisanja.

Petar LONČAREVIĆ

 
 NOVE TEHNOLOGIJE
Nove tehnologije i serijal „Star Wars”
Tehnologija Li-Fi

 TRŽIŠTE
Predviđanja ili lupetanja?

 NA LICU MESTA
Case Challenge 2
Intel RealSense prezentacija
Dodela nagrada MTS Android konkursa
Dodela nagrade „Petar Damjanović”
Schneider Electric konferencija

 KOMPJUTERI I FILM
The Good Dinosaur
The Revenant
Filmovi, ukratko

 SERVIS
Linux server za početnike (2)
Šta mislite o ovom tekstu?

 VREMENSKA MAŠINA
UNIX, StarTAC i kit koji je eksplodirao

 PRST NA ČELO
Lažni Rus i njegova priča

Korisne adrese
Ubuntu Server: www.ubuntu.com/download/server
Apache: httpd.apache.org
MySQL: www.mysql.com
PHP: www.php.net
phpMyAdmin: www.phpmyadmin.net
Wordpress Codex: codex.wordpress.org
Ubuntu & Wordpress: help.ubuntu.com/community/WordPress
Home / Novi brojArhiva • Opšte temeInternetTest driveTest runPD kutakCeDetekaWWW vodič • Svet igara
Svet kompjutera Copyright © 1984-2018. Politika a.d. • RedakcijaKontaktSaradnjaOglasiPretplata • Help • English
SKWeb 3.22
Opšte teme
Internet
Test Drive
Test Run
PD kutak
CeDeteka
WWW vodič
Svet igara



Naslovna stranaPrethodni brojeviOpšte informacijeKontaktOglašavanjePomoćInfo in English

Svet kompjutera