Magento 2 – Installera lokalt

Magento-logoMagento är en e-handelsplattform som nu i slutet av 2015 kom i en länge väntad version 2.
Jag ska installera den versionen och lära mig alla finesser som finns för att ta certifieringen ”Solution specialist”. Den här artikeln handlar om installation av Magento 2. Häng med!

Ladda ned

Du hittar Magento 2 Community Edition alldeles gratis här: https://www.magentocommerce.com/download
Det finns tre varianter här, jag kommer att använda ”Full Release with Sample Data (ZIP with sample data)” för min utvärdering denna gången.
Om du inte har ett Magento loginkonto måste du skapa ett nu innan du får ladda ned.
Det är ca 230 Mb som ska laddas ned.

Systemkrav

Magento 2 körs bäst i LAMP. Läs mer om LAMP här. https://charzam.com/2010/10/30/lamp-install/
Systemkraven är dessa. http://devdocs.magento.com/guides/v2.0/install-gde/system-requirements.html
Har du en hyffsat ny Linux med Apache, PHP, MySQL så är de antagligen av bra version för att köra Magento 2. Vi skippar att kolla alla detaljer, nu kör vi och ser om det fungerar.

Packa upp

Högerklicka på filen och välj att packa upp. Det är en nätt samling på 60 tusen filer och 500 Mb data.
Kopiera filerna i mappen till en ny mapp i din web-root. /var/www/magento2
Se till att du har bra rättigheter på mappen och alla dess filer. Byt ut ”www-data:peter” mot det du använder.

sudo chown -R www-data:peter magento2
sudo chmod -R 777 magento2

Installera

Nu ska vi installera Magento 2. Surfa till https://charzam.com/magento2
Du ska nu se välkomstskärmen. Fortsätt…

Steg 1 – Är vi redo?

I det här steget får vi se om vi har vad som krävs. Jag fick nedslag på en PHP inställning i php.ini och en PHP utökning saknades.

Hitta php.ini

Ibland kan det vara knepigt att hitta vilken php.ini som PHP använder. Skapa då en ny fil: phpinfo.php och fyll den med:

<?php
phpinfo();
?>

Surfa sedan till: https://charzam.com/magento2/phpinfo.php
Nu kan du se var php.ini finns. Min fil fanns här:

sudo nano /etc/php5/apache2/php.ini

Jag var tvungen att ändra följande:
”; always_populate_raw_post_data = on” till ”always_populate_raw_post_data = -1”
”memory_limit = 128M” till ”memory_limit = 4G” (Temporärt, återställ efter installationen)
”max-execution_time = 30” till ”max-execution_time = 108000” (Temporärt till 30 minuter, återställ efter installationen)

CTRL + W för att söka. CTRL + O för att spara. CTRL + X för att avsluta.

Eftersom jag använder xdebug så måste jag lägga till ”xdebug.max_nesting_level = 500” i min xdebug.ini-fil. Sökvägen till filen syns i phpinfo.php
Startade om Apache och såg att parametern ändrats i phpinfo.

Apache läser bara php.ini och övriga ini-filer när den startar. Du behöver starta om Apache så här:

sudo service apache2 restart

Lägga till php extension

För mig saknades en PHP extension som heter ”xsl”.

sudo apt-get install php5-xsl
sudo service apache2 restart

Nu får jag grönt ljus på allt. Vi kan fortsätta installationen.

Steg 2 – Lägg till en databas

Magento klarar sig inte på enbart sina 60 tusen filer, den behöver dessutom en databas att lagra data i. I det här steget vill den veta var databasen är och hur man loggar in. Vi måste fixa något.

Starta phpMyAdmin och skapa en ny användare ”magento2” och klicka för ”Skapa databas med samma namn och tilldela alla privilegier.”. Se till att ”Värd = Lokal = localhost”. Logga ut ur phpMyAdmin och testa att logga in me det nya kontot. När du fått det att fungera, använd det i Magento 2.

Gå in på din nya databas ”magento2” på fliken ”Operationer”, ”Kollationering” (Vad är det för svenska?) och där väljer du teckenkodningen ”utf8_unicode_ci”, tryck på ”Kör”.

steg2-teckentabell

Steg 3 – Web adress

Jag fick ett förslag på web adress som jag kommer att behålla: ”https://charzam.com/magento2/”.
Anteckna det förslag på admin adress som du får.
Det finns också avancerade inställningar, men allt sådant kan ändras senare, behåll det som står där.

steg3-web-config

Steg 4- Grundinställningar

Här ställer du in tidszon, valuta, språk. Under avancerade inställningar finns den nyhet, det ser ut som du kan avmarkera moduler som du inte vill installera. Låt allt vara som det är och fortsätt.

step4-valuta

Steg 5 – Skapa ett admin loginkonto

Ganska enkel uppgift. Fyll i boxarna och gå till nästa steg.

Steg 6 – Installera nu

I det här steget finns bara en installationsknapp. Jag trycker väl på den då.

Starta om installationen

Om du behöver starta om installationen (vilket jag behövde göra massor av gånger) så kan du göra så här:
Rensa i katalogerna magento2/var/cache och ta bort app/etc/config.xml och app/etc/env.xml
Läs om webbsidan. (CTRL + R)

Success (Framgång)

Nu segade den upp till 100% och jag är klar.
Surfar in på siten: https://charzam.com/magento2/ och får se förstasidan på Magento 2.

Klickar på en länk och får ”Sidan kan inte visas”. Vi behöver .htaccess som dirigerar om alla anrop till index.php

success

Installera .htaccess

Med en .htaccess-fil kan vi dirigera alla anrop till index.php så att Magento 2 kan ta hand om dem.

#1 Redigera webserverns inställningar

Vi behöver aktivera stödet för .htaccess i Apache 2.

sudo nano /etc/apache2/apache2.conf

Hitta raderna som ser ut så här och ändra AllowOverride till All.

<Directory /var/www/>
   Options Indexes FollowSymLinks
   AllowOverride All
   Require all granted
</Directory>

Om du behövde ändra något så behöver du också starta om Apache 2, det vet du nu hur man gör:

sudo service apache2 restart

#2 Kopiera .htaccess om den inte redan finns

Jag vet inte varför min lokala kopia av Magento 2 saknade .htaccess filen, men vi får väl kopiera den då direkt från Magentos repository på Github.
Surfa in på: https://raw.githubusercontent.com/magento/magento2/develop/.htaccess
och spara ned filen i din web-root (För mig är det /var/www/magento2)

Testa

Du ska nu kunna surfa fritt på startsidans alla länkar.

https://charzam.com/magento2/

Du ska kunna komma in i admin med de inställningar du angav under installationen.

https://charzam.com/magento2/admin

Allt fungerade nu för mig. Äventyret kan börja!!

adminproducts

Nästa grej är att aktivera ”cron”, men det får bli en separat artikel.

CharZam