Instalacija codeignitera

Instalacija codeignitera

Instalacija codeignitera

Instalacija codeignitera

Ovo može da se uradi na dva načina – manuelno ili putem composera. U ovom tutorijalu ću pokušati da objasnim kako se codeigniter instalira manuelno. Za preuzimanje codeigniter fajlove, idite na codeigniter.com i preuzmite poslednju stabilnu arhivu. U trenutku pisanja ovog tutorijala, aktuelna verzija je 3.0.6.

Kada preuzmete arhivu, raspakujte je na računar i postavite faljove u web root folder na serveru. Za ovaj deo posla možete koristiti bilo koji pristojan FTP klijent, ja inače koristim i preporučujem FileZilla.

U zavisnosti od hosting kompanije koju koristite, web root bi trebalo da je folder koji se zove “public_html”, “htdocs” ili “www”
Kada prebacite fajlove na server, struktura foldera na serveru bi trebalo da izgleda ovako:
| web root
| - - application
| - - system
| - - user_guide
| - - .gitignore
| - - composer.json
| - - contributing.md
| - - index.php
| - - license.txt
| - - readme.rst

Testiranje codeignitera

Sada možete pristupiti adresi vašeg sajta, i trebalo bi da vidite odgovarajuću poruku, koja izgleda kao na slici.

Ovo je bilo lako... Sada kada imamo codeigniter instaliran, možemo da nastavimo sa izradom naše aplikacije.

Podešavanja codeignitera

Sledeći korak je podešavanje naše aplikacije. Potrebno je u startu podesiti samo par stvari, kao što su “base url” (adresa sajta), pristup bazi podataka, itd.
Kao prvo, trebalo bi podesiti .htaccess fajl da bi smo se oslobodili index.php segmenta iz naših url-ova. Za korišćenje .htaccess fajla, neophodno je da modul mod_rewrite bude omogućen na serveru. Ako mod_rewrite nije omogućen, neophodno je prvo da se on omogući, mada su velike šanse da je ovo već u redu. Ako nije, morate kontaktirati hosting provajdera, ili omogućiti mod_rewrite sami.

U web root folderu kreirajte fajl koji se zove .htaccess (da, .htaccess, sa tačkom ispred i bez ekstenzije) sa sledećim sadržajem:


RewriteEngine On
RewriteBase /

# Removes access to the system folder by users
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php?/$1 [L]

# When your application folder isn't in the system folder This snippet prevents user access to the application folder
RewriteCond %{REQUEST_URI} ^application.*
RewriteRule ^(.*)$ /index.php?/$1 [L]

# Checks to see if the user is attempting to access a valid file, such as an image or css document, if this isn't true it sends the request to index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]



# If we don't have mod_rewrite installed, all 404's can be sent to index.php, and everything works as normal.
ErrorDocument 404 /index.php

Ovaj fajl je veoma koristan ne samo za izbacivanje index.php iz url-ova, već i za neke druge stvari. Kod iznad bi trebalo da radi na većini servera, a u slučaju da ne radi, morate sami “pročačkati” da bi proradilo u vašem slučaju.

Sledeći korak su osnovna podešavanja vašeg sajta.

Otvorite fajl application/config/config.php i napravite sledeće izmene:

$config['base_url'] = 'http://www.primer.com/';

Prethodno podešavanje je base url odnosno adresa vašeg sajta. Codeigniter će, u slučaju da ovo podešavanje ostavite nepopunjeno, pokušati da “pogodi” adresu vašeg sajta, odnosno base url, ali ništa vas ne košta da ovo sami uradite. Obratite pažnju da na kraju adrese treba da stoji kosa crta..

$config['index_page'] = 'index.php';

Ako ste kreirali .htaccess fajl po navedenom uputstvu, sada je potreban joše jedan korak da se oslobodima index.php segmenta iz url-ova. Da bi ste ovo završili, obrišite index.php iz navedenog podešavanja, koje bi sada trebalo da izgleda ovako:

$config['index_page'] = '';

Da bi ste vašu web aplikaciju učinili bezbednijom, ovde je potrebno dodati tzv. encryption key. Pronađite

$config['encryption_key'] = '';

i dodajte svoj ključ, nešto tipa n2Mts8pTxzEhjkuJQHeZaXBM1no766eB. Probajte da pronađete neki generator na internetu, ima ih dosta.

I za sada treba da podesimo još jednu stvar, i za sada ćemo ostaviti config.php fajl.

$config['language'] = 'english';

Ovo podešavanje služi za postavljanje osnovnog jezika aplikacije (kreiranju višejezičnih aplikacija ću pisati u nastavku ovog tutorijala). Ovde morate obratiti pažnju na jezičke fajlove koje morate imati, a oni se inače nalaze u folderima application/languages folder i system/languages folder. Codeigniter podrazumevano ima samo jezičke fajlove na engleskom jeziku, a za ostale jezike morate ili prevesti ove fajlove ili ih potražiti negde na internetu. O jezičkim podešavanjima malo kasnije. Uglavnom, za korišćenje codeignitera na engleskom, podrazumevanom jeziku, snimite config.php fajl. Kasnije ćemo se vratiti ovom fajlu za joše naka podešavanja.

Podešavanje baze podataka

Velike su šanse da će vaša web aplikacija koristiti bazu podataka, tako da je to sledeći korak. Ovde ću objasniti podešavanje mysql baze podataka.
Otvorite fajl /application/config/database.php i pronađite sledeće:

$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => '',
'password' => '',
'database' => '',
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);

Ovde je neophodno uneti podatke vezane za ime baze podataka, korisnika, lozinku, itd.

'hostname' => 'localhost',
'username' => 'vase_korisnicko_ime',
'password' => 'lozinka',
'database' => 'ime_baze_podataka',

Hostname je naziv servera na kome se nalazi baza podataka, ali s obzirom da se aplikacija i server baze podataka nalaze na istom mestu, u najvećem broju slučajeva za hostname je dovoljno da stoji localhost.

To bi bilo to za sada. Ono što smo za sada uradili je samo instalacija Codeignitera, u nekom od sledećih postova ćemo se pozabaviti stvarima kao što je Ion Auth klasa za autorizaciju/autentifikaciju, odnosno za regulisanje problema kao što su prijava i registracija korisnika, oporavak i promena lozinke, grupe korisnika, itd.