Installatie Codeigniter 2.1.3 Om met Codeigniter te kunnen werken, heb je een werkende Codeigniter 2.1.3. omgeving nodig. Die gaan we hier maken. We zullen eerst deze omgeving gaan opzetten en inrichten.
Het opzetten van deze applicatie Stap 1 - Zip file uitpakken Download Codeigniter vanaf de volgende locatie: http://ellislab.com/codeigniter Pak de files uit in een door jou gemaakte directorie in de root of directorie van jouw webserver Onthoud deze plek Voorbeeld van directorie codeigniter213
Stap 2 - Database aanmaken Maak een database aan met bijvoorbeeld de naam codeigniter213 Meestal wordt hier het web programma phpMyAdmin voor gebruikt. Als je al een .sql bestand, kun je deze nu gaan gebruiken anders kun je verder gaan met stap 3. Selecteer de net gemaakte database Klik op importeren Selecteer het bestand adressen.sql in de map MySQL van deze applicatie en klik op Start
Stap 3 - Config files aanpassen Pas de volgende file aan ./application/config/config.php Pas regel 17 aan naar het juiste pad in jouw test omgeving Gebruik hier voor de naam uit stap 1 (voorbeeld codeigniter213 ) Gebruik je een directory als begin punt, dien je die te vermelden. Werk je vanuit de root van je webserver, dan uiteraard niet Werk je vanuit een subdomein van je webserver, dien je de naam van het subdomein te gebruiken Voorbeeld http://subdomein.testserver.nl
base_url 1
$config['base_url'] = 'http://www.testserver.nl/codeigniter213/';
?
Pas de volgende file aan ./application/config/database.php Pas de regels 52, 53 en 54 aan naar de juiste aanmeld gegevens voor jouw database Gebruik in dit geval de database codeigniter213
database 1 2 3 4
$db['default']['hostname'] $db['default']['username'] $db['default']['password'] $db['default']['database']
= = = =
'localhost'; 'gebruiker'; 'wachtwoord'; 'codeigniter213';
?
Stap 4 - meer functionaliteiten beschikbaar maken Voor een startpunt van een installatie is dit voldoende. Voor een uitgebreidere applicatie zul je meer functionaliteiten standaard tot je beschikking willen hebben. Je kunt je afvragen waarom deze al niet bij voorbaat geactiveerd zijn. Het antwoord is: dat je niet van te voren weet wat je nodig hebt. En wat je niet nodig hebt, hoef je ook niet te activeren. Wat niet geactiveerd is, neemt geen bronnen (werkgeheugen bv.) in beslag. En hoe minder bronnen in beslag, hoe sneller de applicatie blijft.
Ok, wat gaan we dan nu wel gebruiken? De functionaliteiten welke we standaard willen kunnen aanroepen zitten in de: Helpers Libraries
Kijk bij de gebruikers gids voor verdere naslag. Helpers Helpers zijn erop gericht binnen een complete taak één specifiek deel voor hun rekening te nemen. Zij breiden de bestaande functionaliteit iets verder uit (vandaar helper) Een voorbeeld hiervan is de URL helper Na het laden van de helper url helper url 1
$this->load->helper('url');
?
heb je functie base_url() 1
base_url()
?
tot je beschikking. Deze geeft de site URL welke je in de config gezet hebt weer. Libraries Libraries zijn erop gericht binnen een complete taak een deelgebied voor hun rekening te nemen, waarbij veelal informatie gedeeld wordt binnen de library. Een voorbeeld is de database library library database 1
$this->load->database();
Ok, wat gaan we dan nu wel gebruiken. (tweede keer)
?
Als extra libraries gaan we de volgende gebruiken. database
Als extra helpers gaan we de volgende gebruiken. url form datum_helper Deze is enige extra toegevoegd en helpt bij het leesbaar maken van de datums. Het bestand bevindt zich in ./application/helpers/datum_helper.php html
En hoe doen we dat? Deze aanpassingen vinden plaats in de file autoload.php ./application/config/autoload.php Libraries 1 2 3 4 5 6 7 8 9 10 11 12 13
/* | ------------------------------------------------------------------| Auto-load Libraries | ------------------------------------------------------------------| These are the classes located in the system/libraries folder | or in your application/libraries folder. | | Prototype: | | $autoload['libraries'] = array('database', 'session', 'xmlrpc'); */
?
$autoload['libraries'] = array('database');
Helpers 1 2 3 4 5 6 7 8 9 10
/* | ------------------------------------------------------------------| Auto-load Helper Files | ------------------------------------------------------------------| Prototype: | | $autoload['helper'] = array('url', 'file'); */ $autoload['helper'] = array('url', 'form', 'datum_helper', 'html' );
Stap 5 - Rechten mappen goedzetten
Als je op een Linux machine werkt, dien je de volgende mappen de rechten 777 te geven: ./application/cache ./application/logs
Gebruik hier voor een FTP programma zoals bijvoorbeeld Filezilla Documentatie hierover is te vinden op http://wiki.filezilla-project.org/Documentation Om van mappen en/of bestanden de rechten te veranderen kun je de volgende stappen nemen. Selecteer de map en/of het bestand met de rechter muis toets
?
Klik op Bestandsrechten
Je ziet dan een een soortgeljk scherm Het lichte gedeelte is het belangrijkste
Verander het getal in 777 Voor meer uitleg zie: http://www.cybertux.nl/linux/permissies.html
Als de onderliggende mappen ook aangepast dienen te worden, dien je onderstaande stap ook te doen.
Stap 6 - htaccess / ht.acl gebruik Als je op een Linux webserver werkt, kun je gebruik maken van .htaccess Zie hiervoor .htaccess voor Codeigniter Als je op een Windows webserver werkt, kun je gebruik maken van ht.acl Zie hiervoor .htaccess op een Windows webserver en .htaccess voor Codeigniter
Stap 7 - De test Ga naar http://www.testserver.nl/codeigniter213/ Voorbeeld voor lokale test webservers http://localhost/codeigniter213/
Stap 8 - Aanvullende modules
Bij gebruik van aanvullende modules dien je soms de rechten van een directorie aan te passen of een config file aan te passen. Maak je bv. gebruik van een WYSIWYG editor zoals TinyMCE en je maakt gebruik van de ajaxfilemanager dien je de rechten van enkele directories nog aan te passen Zie hiervoor de documentatie van he betreffende onderdeel.
FAQ. De applicatie werkt niet? (404 fouten) Heb je pad in ./application/config/config.php goed gezet? Heb je het .htaccess of ht.acl mechanisme geactiveerd? Zie hiervoor .htaccess op een Windows webserver en .htaccess voor Codeigniter
De database wordt niet gevonden? Is de nieuwe database aangemaakt? Zijn de waarden in ./application/config/database.php correct?
Tot slot Codeigniter is nu ingericht en heeft een verbinding met een database en zou nu moeten werken. Probeer het uit, zou ik zeggen.
Veel programmeer plezier ermee. Tot ziens, Ubel Jan van Wijhe van Wijhe Consultancy E-mail naar
[email protected]