OS X: Beginnen met Laravel
Ooit, lang geleden, wilde ik CodeIgniter leren om zonder veel moeite hele geavanceerde technieken te gebruiken in web applicaties. Zelf ben ik wel redelijk handig met PHP, maar op OOP-gebied schiet het me toch af en toe tekort.
Laatst wilde ik mijn vergeten project oppakken en merkte ik dat er een nieuwe speler in het PHP framework op de markt is: Laravel. Mijn broer, Bart, is er ook mee bezig. Dus dan kunnen we wat kennis delen. Nu moet ik het één en ander installeren op mijn Mac.
Nog even een opmerking tussendoor. Als je je Mac wilt inrichten om websites te ontwikkelen raad ik dit artikel van harte aan: Chris Mallinson – The Perfect Web Development Environment for Your New Mac.
Ik installeer wat zaken die ik nodig heb of wil gebruiken. Basis is noodzakelijk, de rest is overbodig maar kan het leven iets makkelijker/mooier maken:
noodzaak | service/app | wat ik heb |
---|---|---|
basis | webserver | Apache 2.4+ |
basis | database | MySQL latest |
basis | PHP >= 5.4 | PHP 5.5.27 |
handig | Composer | |
basis | Laravel | Laravel 5 |
extra | Bootstrap | twbs Bootstrap |
extra | Node.js | Node.js 4 |
extra | Elixer |
Hieronder loop ik ze na.
M.A.M.P
Mac, Apache, MySQL en PHP. Gelukkig is bijna alles al standaard geïnstalleerd op een Mac. Er zijn alleen wat nog aanpassingen nodig. Hieronder loop ik een aantal installaties na.
Apache & PHP
Apache staat al op je Mac in de volgende stappen help ik om de instellingen wat aan te passen.
- Start de Terminal op (/Applications/Utilities/Terminal)
- Start hier de Apache server: sudo apachectl start
- Check of je de website kan benaderen: http://localhost
- Bij “It works!” werkt de server.
- Pas de document-root aan naar de gewenste structuur: /Library/WebServer/Documents/
- Open httpd.conf: sudo nano /etc/apache2/httpd.conf
- Zorg dat in dit bestand geen # staat voor:
- LoadModule authz_host_module libexec/apache2/mod_authz_host.so
- LoadModule php5_module libexec/apache2/libphp5.so
- LoadModule rewrite_module libexec/apache2/mod_rewrite.so
- Pas hier ook in de <Directory “Library/WebserverDocuments”> property aan: AllowOverride naar All
- Zorg dat php instellingen goed staan
- sudo cp /etc/php.ini.default /etc/php.ini
- sudo chmod ug+w /etc/php.ini
- sudo chgrp admin /etc/php.ini
- sudo nano /etc/php.ini en verander:
- date.timezone = “Europe/Amsterdam”
- display_reporting = E_ALL
- display_errors = On (handig lokaal voor testen)
- Sla de wijzigingen op.
- Herstart de webserver: sudo apachectl restart
- Check php door in een pagina.php de volgende code te zetten:
<?php phpinfo(); ?>
Als er een PHP pagina geladen wordt dan heb je het goed gedaan.
Meer info: CoolestGuidesOnThePlanet.com
MySQL
Het database-component. Alhoewel Laravel het niet nodig heeft, deze kan ook met file-based opslag werken, vind ik het de meest logische route om je data op te slaan.
- Download het disk image van MySQL Community Server (link)
Je hoeft geen account te hebben, zie een link onder het formulier. - Koppel de DMG, installeer de software.
- Start de service: sudo /usr/local/mysql/support-files/mysql.server start
Waarschijnlijk zie je dan het woord SUCCESS
- Check of het werkt: /usr/local/mysql/bin/mysql -v, type exit; voor exit
- Zorg dat MySQL overal gestart kan worden in de terminal:
echo ‘export PATH=/usr/local/mysql/bin:$PATH’ >> ~/.bash_profile - En herlaad: door het uit te voeren source ~/.bash_profile
- Update MySQL root password naar iets wat je kent:
- zorg dat MySQL draait, eventueel met:
sudo /usr/local/mysql/support-files/mysql.server start - voer uit: mysqladmin -u root password nieuw_wachtwoord
- check door in te loggen: mysql -u root -p
- zorg dat MySQL draait, eventueel met:
- Mocht je daarna je wachtwoord weer willen wijzigen, doe het als volgt:
- log in: mysql -u root -p met je oude wachtwoord
- Ga naar mysql database: use mysql;
- Voer uit: update user set password=PASSWORD(“ander_wachtwoord”) where User=’root’;
- Voer uit FLUSH PRIVILEGES;
- En klaar!
- Zorg dat er een socket file op de juiste plek staat:
- In de terminal
- sudo mkdir /var/mysql
- sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock
- Start de MySQL service elke keer als je computer herstart met:
sudo /usr/local/mysql/support-files/mysql.server start
Meer info: CoolestGuidesOnThePlanet.com
Composer
Hiermee kan je een aantal nodige pakketten installeren. Er is wel een PHP 5.3.2 versie of hoger nodig. Het installeert pakketten in folders en nooit op je systeem zelf.
- Download in Terminal Composer met:
curl -sS https://getcomposer.org/installer | php - Verplaats het bestand naar een lokatie waar je bij kan en geen last van hebt:
sudo mv composer.phar /usr/local/bin/composer - Check of composer werkt: composer
Meer info: Laravel.com
Laravel
Laravel, het PHP framework, daar ging het om 🙂
Deze kan je nu installeren via Composer. Ik maak via Composer meteen een Laravel project aan.
- Zoek het pakket op wat je wilt installeren op packagist.org
- Vul dan de gevonden waarde in (laravel/laravel). En ik kies Laravel als folder in mijn web-root.
composer create-project laravel/laravel /Library/Webserver/Documents/Laravel - Update Laravel
- check /laravel/.env voor de juiste gegevens, vul de MySQL info in.
- Ga in je browser naar de public map van Laravel en check of het werkt
- Bij mij werkte het niet. Ik moest wat rechten aanpassen:
- weer in terminal, naar de laravel folder en:
- sudo chmod -R 777 storage/
- sudo chmod -R 777 vendor/
- sudo chmod -R 777 bootstrap/cache
- Hiermee geef je de webserver rechten om tijdelijke laravel bestanden weg te schrijven.
- weer in terminal, naar de laravel folder en:
- Als je Laravel 5 ziet, dan is het goed geïnstalleerd.
Meer info: Laravel.com
Node.js en NPM
Deze software helpt je Laravel makkelijk uit te breiden. Eigenlijk zijn ze package managers net als Composer.
- Ga naar de website nodejs.org
- Download de OS X x 64 versie en installeer deze.
Meer info: Laravel.com
Laravel Elixer en Gulp
deze applicaties zorgen voor het beheer van je javascript en css bestanden. Heb je verschillende javascript bestanden verspreid in allerlei folders? Dat kan en is ideaal misschien bij het ontwerpen. Echter als je het aanbiedt via een webserver wil je alles zo snel als mogelijk aangeboden hebben. Elixer en Gulp helpen je daarbij. Installeren is dankzij Node.js en NPM vrij eenvoudig;
- start de terminal
- Ga naar de laravel folder in je webroot
- start sudo NPM install
Meer info: Laracasts.com: Laravel fundamentals, manage your assets
Bootstrap
Ik vind de Twitter Bootstrap een mooie versie. Dit is een front-end framework en je hoeft zo minder het wiel uit te vinden bij navigatie-balken, broodkruimel features e.d.. De software download ik via composer:
- Start de terminal
- Ga naar de laravel folder in je webroot
- start: sudo composer require twbs/bootstrap
Meer info: GetBootstrap.com
Laravel: tot slot
Na het runnen van NPM, Composer en dat soort zaken. Krijg je een wit scherm bij het laden van de Laravel folder in de browser? Zet nog een keer de rechten goed via de terminal.
- sudo chmod -R 777 storage/
- sudo chmod -R 777 vendor/
- sudo chmod -R 777 bootstrap/cache
PHPMyAdmin
Voor het gemak heb ik ook een GUI geinstalleerd om de MySQL database te beheren. De meest bekende is PHPMyAdmin. Deze heb ik gedownload hier: phpmyadmin.net/downloads en in een folder in /Library/WebServer/Documents/.
Trackbacks & Pingbacks
[…] wordt niet automatisch geactiveerd op een schone installatie van OS X, maar in mijn blogpost: OSX: Beginnen met Laravel leg ik uit hoe je hier mee aan de gang kan […]
[…] schreef eerder over OS X: Beginnen met Laravel en daar ben ik lekker mee aan het stoeien. Toen kwam een update van OS X om de hoek kijken en […]
[…] 2015: OS X: Beginnen met Laravel […]
Reacties zijn gesloten.