недеља, август 17, 2014

Apache

Apač je veb server što znači da je njegova osnovna funkcija da putem HTTP protokola prosleđuje veb stranice veb klijentima kao što su Fajerfoks i Hrom. U pitanju je besplatan softver otvorenog koda te ga stoga može svako preuzeti sa Interneta, instalirati i koristiti po sopstvenoj želji, bilo da želite samo da ga instalirate na svom računaru kako biste se bavili razvojem recimo PHP aplikacija, bilo da želite da ga koristite kao server u vašoj lokalnoj mreži ili pak želite da krenete sa publikovanjem sadržaja na Internetu. 

Mi ćemo na lokalnom računaru koji radi pod Arč Linuksom instalirati paket pod nazivom apache koristeći program pacman:
pacman -S apache
Instalacija podrazumeva da će nam osnovni direktorijum za smeštanje naših veb strana (tzv. document root) biti /srv/http/, a logovi će se upisivati u /var/log/httpd/ . Sada ćemo da otvorimo datoteku sa podešavanjima
/etc/httpd/conf/httpd.conf
i da izvršimo još neka dodatna podešavanja. Najpre ćemo da isključimo extra/httpd-userdir.conf i da uključimo extra/httpd-default.conf. Da proverimo da li nam server radi.
systemctl list-unit-files | grep http
bi trebalo da izlista httpd.service. Komandom
systemctl status httpd.service
vidimo status servisa a sam servis možemo da pokrenemo sa
systemctl start httpd.service
Ako sve prođe bez grešaka, u veb brauzeru kucamo adresu http://localhost i trebalo bi da se pojavi podrazumevana strana veb servera.

Da krenemo da se bavimo virtuelnim sajtovima. U direktorijum /srv/http/ napravimo novi direktorijum pod nazivom projekat. U taj direktorijum ćemo da snimimo neki jednostavan index.html dokument. Idemo natrag u
/etc/httpd/conf/httpd.conf
i uključujemo extra/httpd-vhosts.conf. Datoteka
/etc/httpd/conf/extra/httpd-vhosts.conf
sadrži podešavanja vezana za virtuelne sajtove. Možemo da zakomentarišemo sve što je već predefinisano u njoj i da definišemo naš novi virtuelni sajt:
<VirtualHost *:80>
    DocumentRoot "/srv/http/projekat"
    ServerName projekat.local
    ErrorLog "/var/log/httpd/projekat-error_log"
    CustomLog "/var/log/httpd/projekat-access_log" common
</VirtualHost>
Još jednu izmenu je potrebno da izvršimo i to datoteci /etc/hosts gde ćemo dodati
127.0.0.1 projekat.local
Restart servera
systemctl restart httpd.service
u brauzeru kucamo http://projekat.local i trebalo bi da se otvori index.html iz /srv/http/projekat/.

Da bi nam se Apač pokrenuo kod svakog restarta sistema, otkucaćemo
systemctl enable httpd.service
Već smo rekli da se document root nalazi u direktorijumu /srv/http/ koji se fizički nalazi na korenoj (root) particiji. Ako radimo na većem broju većih projekata i pritom imamo i baze podataka (koje se takođe čuvaju na korenoj particiji), neretko se dešava da nam ponestane mesta na njoj. U takvim situacijama naš direktorijum projekat možemo da držimo i na recimo home particiji negde u
/home/korisnik/projekti/
koja po pravilu ima više slobodnog prostora, uz kreiranje simboličkog linka u /srv/http/ koji će da ukazuje na njega. Da bi Apač mogao da pristupi direktorijumu projekat, potrebno je svoj nalog dodati u Apač grupu (najčešće je to http grupa), podesiti grupu za /home/korisnik/ na http (umesto users) i dodeliti x dozvolu za http grupu:
ls -l /home/ => drwx--x--- 112 korisnik http   4096 Jul  7 22:22 korisnik
Na kraju još treba proći kroz celo stablo /home/korisnik/projekti/projekat/, proveriti da li Apač može da pročita sve fajlove i dodati dozvolu w nad fajlovima i direktorijumima u koje Apač treba da može da piše.

четвртак, јул 31, 2014

LAMP

LAMP je zajednički naziv za paket besplatnih proizvoda otvorenog koda: operativni sistem Linuks, veb server Apač, baza podataka MySQL i skripting jezik PHP. Za ovaj paket se smatra da vam je i više nego dovoljan za razvoj veb aplikacija. Iako se u nazivu spominje Linuks, ostale proizvode iz paketa je moguće pokrenuti i na Vindouzu, Meku i drugim manje poznatim sistemima pa su tako nastali i razni derivati originalnog paketa sličnih naziva: WAMP, MAMP itd. Verovatno najpoznatiji LAMP paket je XAMPP (X dolazi kao oznaka za višeplatformnost a drugo P se odnosi na Perl), možete ga besplatno preuzeti sa sajta Apache Friends, instalirati, pokrenuti i baciti se na programiranje. Mi ćemo da krenemo težim zanimljivijim putem pa ćemo da instaliramo svaki od proizvoda (a i još neke druge) ručno, jedan po jedan, na mom omiljenom operativnom sistemu, Arč Linuksu i usput ponešto da naučimo.

Dakle:



среда, јул 30, 2014

Makstonove tajne

Kako sam u potpunosti prešao sa Fajerfoksa na Makston za Linuks, počeo sam malo dublje da čeprkam po podešavanjima :-)

Stranica sa podešavanjima se nalazi na adresi mx://mxsettings/ što je isto kao i da kliknete na sličicu Settings. Međutim, Makston ima podešavanja i na adresi mx://settings/ i tu možemo recimo da isključimo antifišing zaštitu. Još jedna interesantna stranica sa podešavanjima se nalazi na adresi mx://flags/ . Naime, imao sam problema sa WebGL-om a na Arč Vikiju sam našao informaciju da je moguće da je Makston stavio moju grafičku karticu na bleklistu. Rešenje je bilo da uključim opciju Override software rendering list i restartujem brauzer.


недеља, јул 13, 2014

Čuvar lozinki

Program KeePass služi za to da sve lozinke čuvate na jednom mestu. Ideja je da ubuduće pamtite samo jednu lozinku, lozinku za pristup svim ostalim lozinkama koje su pohranjene u ovom programu. Sem čuvanja lozinki, program može i da vam ih generiše i to poprilično komplikovane, teško provaljive kobaje, koje ionako više ne treba da pamtite. Program je otvorenog koda, radi pod Vindouzom, Linuksom i Mekom a postoji i Android aplikacija koja može da čita bazu lozinki koju ste kreirali na računaru i obratno. Još ako bazu budete držali na Drop boksu ili, još bolje, sopstvenom oblaku, veoma lako ćete uvek imati sinhronizovane podatke.


Sieve

Sieve je programski jezik za filtriranje mejlova. Gledan kao programski jezik, Sieve je poprilično siromašan (npr. nema promenljivih i petlji) ali je zato pogodan za niz ispitivanja "šta-ako" i preduzimanje odgovarajućih akcija nad mejlovima u zavisnosti od rezultata tih ispitivanja (a to je u stvari i suština filtriranja mejlova). Primer jednostavnog skripta koji će neželjene mejlove (koje je SpamAssassin obeležio kao neželjene) da smesti u spem folder:

require ["fileinto", "regex", "imapflags"];
if header :contains ["X-Spam-Flag"] "YES"
{
    setflag "\\Seen";
    fileinto "INBOX.Spam";
}

Skript se postavlja na mejl server (za to će vam možda biti potrebna pomoć sistem administratora) i server ga izvršava nad svakim pristiglim mejlom. Pomoću Sieve skripta sam se rešio spema koji mi je stizao na K-9 Mail, program za mejl za Android a koji u sebi nema opcije filtriranja.

Više o programskom jeziku Sieve možete naći na Vikipediji.