OS X: Beginnen met Laravel

Laravel 5

Laravel 5

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

php/apache on the Mac
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.

  1. Start de Terminal op (/Applications/Utilities/Terminal)
  2. Start hier de Apache server: sudo apachectl start
  3. Check of je de website kan benaderen: http://localhost
  4. Bij “It works!” werkt de server.
  5. Pas de document-root aan naar de gewenste structuur: /Library/WebServer/Documents/
  6. Open httpd.conf: sudo nano /etc/apache2/httpd.conf
  7. 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
  8. Pas hier ook in de <Directory “Library/WebserverDocuments”> property aan:  AllowOverride naar All
  9. 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.
  10. Herstart de webserver: sudo apachectl restart
  11. 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.

  1. Download het disk image van MySQL Community Server (link)
    Je hoeft geen account te hebben, zie een link onder het formulier.
  2. Koppel de DMG, installeer de software.
  3. Start de service: sudo /usr/local/mysql/support-files/mysql.server start
    Waarschijnlijk zie je dan het woord SUCCESS
  4. Check of het werkt: /usr/local/mysql/bin/mysql -v, type exit; voor exit
  5. Zorg dat MySQL overal gestart kan worden in de terminal:
    echo ‘export PATH=/usr/local/mysql/bin:$PATH’ >> ~/.bash_profile
  6. En herlaad: door het uit te voeren source ~/.bash_profile
  7. 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
  8. Mocht je daarna je wachtwoord weer willen wijzigen, doe het als volgt:
    1. log in: mysql -u root -p met je oude wachtwoord
    2. Ga naar mysql database: use mysql;
    3. Voer uit: update user set password=PASSWORD(“ander_wachtwoord”) where User=’root’;
    4. Voer uit FLUSH PRIVILEGES;
    5. En klaar!
  9. Zorg dat er een socket file op de juiste plek staat:
    1. In de terminal
    2. sudo mkdir /var/mysql
    3. sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock
  10. 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.

  1. Download in Terminal Composer met:
    curl -sS https://getcomposer.org/installer | php
  2. Verplaats het bestand naar een lokatie waar je bij kan en geen last van hebt:
    sudo mv composer.phar  /usr/local/bin/composer
  3. 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.

  1. Zoek het pakket op wat je wilt installeren op packagist.org
  2. 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
  3. Update Laravel
  4. check /laravel/.env voor de juiste gegevens, vul de MySQL info in.
  5. Ga in je browser naar de public map van Laravel en check of het werkt
  6. 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.
  7. Als je Laravel 5 ziet, dan is het goed geïnstalleerd.
Laravel site

Laravel site

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.

  1. Ga naar de website nodejs.org
  2. 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;

  1. start de terminal
  2. Ga naar de laravel folder in je webroot
  3. 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:

  1. Start de terminal
  2. Ga naar de laravel folder in je webroot
  3. 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/.

phpStorm: Laravel

phpStorm: Laravel

 

3 replies

Trackbacks & Pingbacks

  1. […] 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 […]

  2. […] 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 […]

  3. […] 2015: OS X: Beginnen met Laravel […]

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply