Installation - osadi/yrgo GitHub Wiki
Installationsanvisningar för vår utvecklingsmiljö.
Composer
Det första vi behöver är Composer. Composer är en Dependency Manager, en beroendehanterare, eller en pakethanterare. Vi kan alltså använda oss av Composer för att säga att vår applikation är beroende av paket X, paket Y och paket Z. Man kan även säga vilken version av dessa paket som vi vill ha.
Tillexempel, paket X version 1.2.*.
Composer kommer att installera den senaste versionen av paket X, som är inom version 1.2, så vi skulle kunna få 1.2.3 eller 1.2.14. Allt detta följer en standard som kallas för semver.
curl, som används i anvisningarna för Composer följer med som standard i de flesta OS. OS X, Linux mm. Det är ett användbart verktyg för mycket mer än installation av Composer, så saknar man det, eller bara vill läsa mer kan man läsa vidare här http://curl.haxx.se/ Vill du testa om du har curl så starta en terminal och skriv:
curl
är det installerat bör du få något som liknar detta
curl
curl: try 'curl --help' or 'curl --manual' for more information
Composer självt är skrivet i php och packat till en fil som heter .phar, som står för php archive.
Installation av Composer
Detaljerade anvisningar finns här: Get Composer
För Windows så räcker det att köra installern:
Composer-Setup.exe
OSX och Linux kan läsa igenom det här stycket.
När du har kört curl, eller php så är det enda som egentligen händer att du har laddat hem en fil till den mappen som du står i med din terminal. Har du precis startat en så är oddsen rätt stora att du är i din hemkatalog.
curl -sS https://getcomposer.org/installer | php
#!/usr/bin/env php
All settings correct for using Composer
Downloading...
Composer successfully installed to: /Users/XXXX/composer.phar
Use it: php composer.phar
Du bör nu ha composer 'installerat' på din maskin. Men för att vi ska kunna komma åt det från alla mappar så behöver vi lägga det någonstans där vårt OS letar efter filer som går att exekvera.
mv composer.phar /usr/local/bin/composer
Detta flyttar filen composer.phar till mappen /usr/local/bin och ger den filnamnet composer.
Får du ett fel här så testa att lägga till sudo
före:
sudo mv composer.phar /usr/local/bin/composer
Nu ska du kunna skriva composer
från vilken mapp som helst i din terminal.
VirtualBox
VirtualBox är ett program som vi kommer att använda oss av för att virtualisera ett OS på vår egen maskin. Denna virtuella maskin benämns som guest, och vår egen benämns som host. Detta ger oss möjligheten att köra ex Windows is OSX och linux. Linux i Windows osv..
Följ installationsanvisningarna här för att komma igång: VirtualBox
Vagrant
Create and configure lightweight, reproducible, and portable development environments.
Detta är en mjukvara för att skriva något som vi kan likna vid recept till en virtuell miljö. Man beskriver vilken basimage man vill använda sig av. Sedan kan man specificera eventuella script som ska startas och därigenom vilka paket som ska installeras. En sådan bas-image benämns som en box.
När man har ett sådant färdigt recept så kan man via en terminal skriva vagrant up
för att starta sin box. Vi kommer att använda oss av en box som är skriven för just Laravel och med hjälp-programmet 'homestead' som vi kommer att installera med Composer så kan vi enkelt kontrollera vår virtuella server.
Först behöver vi installera Vagrant: https://www.vagrantup.com/downloads.html
För att verifiera att det fungerar kan vi i en terminal skriva vagrant
. Om allt är ok bör vi få upp en lista med tillgängliga kommandon.
Det kommando vi är intresserade av är box add för vi vill lägga till en färdig box som har allt vi behöver för vår utveckling.
Vi kan alltså lägga till den boxen vi vill ha med kommandot:
vagrant box add laravel/homestead
Detta kommer att ladda hem en image och lägga till den i vagrants lista över tillgängliga boxar. Vi kan titta på vilka vi har i systemet genom:
vagrant box list
laravel/homestead (virtualbox, 0.2.5)
Homestead
Homestead är både en image för en virtuell server och ett verktyg för att hantera denna image. Vi har precis installerat boxen, och nu ska vi installera verktyget för att enkelt kunna styra den.
Vi använder oss av Composer för att lägga till paketet:
composer global require "laravel/homestead=~2.0"
Detta kommer att installera homestead med en version av 2.0 eller högre, men inte så högt som version 3, in en mapp i din hemmamapp.
om du gör:
ls ~/.composer/vendor/laravel/
så bör du kunna se en mapp som heter 'homestead' i listan.
Vi behöver sen tala om för operativsystemet att vi har filer som det ska känna till i den mappen.
Om vi är på OSX eller någon linuxversion gör vi det genom att redigera en fil som heter .bash_profile som ligger i vår hemmamapp.
$ nano ~/.bash_profile
I fönstret vi får upp skriver vi:
export PATH=$PATH:$HOME/.composer/vendor/bin
Är vi på Windows så finns även där en PATH, men här behöver vi göra på ett annorlunda sätt. Följande fråga på Stack Overflow bör vara till god hjälp: [http://stackoverflow.com/questions/9546324/adding-directory-to-path- environment-variable-in-windows](http://stackoverflow.com/questions/9546324/adding-directory-to-path- environment-variable-in-windows)
Efter att detta är gjort måste vi stänga av och starta vår terminal igen för att inställningarna ska börja gälla.
Vi kan nu testa genom att skriva homestead
i vår terminal. Vi bör där få en lista över kommandon som vi kan använda oss av.
Det första vi vill göra är att köra homestead init
. Detta kommer att skapa en konfigurationsfil i ~/.homestead
som heter homestead.yaml.
I Windows så hittar vi filen under %APPDATA% (behöver kompletteras).
Yaml är ett format likt xml som man kan uttrycka beroenden och konfigurationer med. Arv visar man med indentering, arrayer med -. Det är viktigt att denna är korrekt rent syntaxmässigt.
För att konfigurera filen kan vi skriva homestead edit
. Detta kommer att starta din editor och ladda in filen, redo för oss att redigera.
---
ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox
authorize: ~/.ssh/id_rsa.pub
keys:
- ~/.ssh/id_rsa
folders:
- map: ~/homestead
to: /home/vagrant/Code
sites:
- map: homestead.app
to: /home/vagrant/Code/Laravel/public
databases:
- homestead
variables:
- key: APP_ENV
value: local
# blackfire:
# - id: foo
# token: bar
Vi går igenom varje del i konfigurationen här.
ip: "192.168.10.10"
Detta är det ip-nummer som vår box kommer att få. Dvs vår virtuella server.
authorize: ~/.ssh/id_rsa.pub
keys:
- ~/.ssh/id_rsa
Här specificerar du sökvägen till dina privata och publika nycklar. Detta för att kunna logga in med ssh på boxen utan att behöva använda användarnamn och lösenord.
folders:
- map: ~/homestead
to: /home/vagrant/Code
Detta behöver vi bara ställa in en gång.
map är sökvägen på din dator där du kommer att ha koden för alla Laravel-projekt. I standardfallet så är det din hemmamapp och i den mappen homestead. Vi kan ändra den till vad som helst som stämmer med hur du vill strukturera det på din dator.
to är sökvägen inne i vår server. Du behöver inte redigera denna då den inte kommer att påverka oss alls. Det som händer här är att Vagrant kommer att skapa en koppling mellan dessa mappar, från vår host till vår guest så att filerna hålls i synk mellan maskinerna.
sites:
- map: homestead.app
to: /home/vagrant/Code/Laravel/public
Detta beskriver vilka sites som finns tillgängliga för webbservern.
map kan vara 'my-projekt.dev', 'pirate-ship.app' eller vad som helst som representerar ditt projekt. Det är via det här namnet som vi kommer åt vår app ifrån webbläsaren. ex. http://pirate-ship.app
to beskriver var på servern som filerna för projektet finns. Eftersom vi tidigare synkade mapparna mellan vår host och vår guest så kan vi här se sambandet.
Om vi utgår från standardinställningarna, så behöver du alltså skapa en mapp i ~/homestead som heter Laravel för att din sites ska veta var den ska hitta filerna. Man kan se det som att man ersätter /home/vagrant/Code
med sökvägen till din mapp på din lokala dator där du har projekten.
databases:
- homestead
Detta talar om för homestead vilka databaser vi vill ha. Lägger du till en här så kommer den att skapas upp automatiskt nästa gång vi säger åt homestead att läsa sina konfigurationsfiler. För att lägga till en ny, så kopiera - homestead, lägg på en ny rad och byt bara namn.
När vi känner oss ok med våra inställningar så startar vi allt med homestead up
. Första gången vi kör detta kommandot så kommer vår virtuella miljö att startas och konfigureras. Nästa gång vi kör det kommer miljön inte att konfigureras, utan bara startas med sina senaste inställningar.
Detta innebär att om vi utför ändringar i vår homestead.yaml så måste vi köra homestead provision
. Detta talar om för boxen att den ska läsa in konfigurationsfilerna på nytt.
hosts-filen
Det sista vi behöver göra är att tala om för vår dator var den ska hitta det nya projektet. Det gör vi genom att redigera en fil som heter hosts, som finns på alla operativsystem. Den finns dock på lite olika ställen.
I OSX och linux hittar vi den under /etc/hosts
, så för att redigera den skriver vi:
sudo nano /etc/hosts
I Windows hittar vi den under
C:\Windows\System32\Drivers\etc\hosts
Öppna filen med en texteditor som ex Sublime eller notepad. (Note: man måste öppna den som admin på vissa versioner av windows för att få skriva till den)
Filen ser ut ungefär såhär:
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost
192.168.10.10 pirate-ship.app
Det som vi fått lägga till är 192.168.10.10 pirate-ship.app
och detta talar om för vår dator att det finns en server med namnet pirate-ship.app på det ip-nummer 192.168.10.10. IP-numret är det som vi angav i vår homestead.yaml tidigare.