
2016-06-05
Telepítés fejlesztéshez: Magento 2
Magento 2 áruházat többféleképpen is lehet telepíteni. Ez a cikk azt a módszert mutatja be, amely során feltelepítjük és konfiguráljuk a teljes szervert és a Magento 2-t - előkészítve a fejlesztésre. A következő leírás a telepítés folyamatának részletes ismertetésén túl egy videót is bemutat, amely az automatizált installáció megvalósítását prezentálja.
A telepítéshez a jelenleg legfejlettebb technológiák kerültek kiválasztásra. A hosszú távon támogatott Ubuntu 16 operációs rendszerre telepítjük a nagy kapacitású Nginx webszervert, az új generációs PHP7-et, a legújabb MySQL adatbázist, a Postfix email küldőt és persze a Magento 2 webshopot.
Magento 2 - Automatizált szerver és áruház telepítő
A telepítés és konfigurálás egy meglehetősen bonyolult eljárás. Ezért készült a következő installer, amely nulláról indulva feltelepíti és konfigurálja a teljes Magento 2 szervert emberi beavatkozás nélkül: Magento 2 - Automatizált szerver és áruház telepítő script. (A telepítő readme fájlja ismerteti az installer használatát.):
Szedjük le az installert gittel:
git clone https://github.com/DoveID/magento2-server-configuration.git
Állítsuk be a hozzáférési adatokat a konfigurációs fájlban:
nano install.ini
Végül indítsuk el a telepítőt:
sudo bash install.sh
A telepítés eltarthat akár 30 percig is, ugyanis a telepítő egy teljes webszervert és Magento-t telepít, illetve konfigurál. A 30 perces automatizált telepítéssel legalább fél napnyi idő takarítható meg. A folyamatot a következő videó mutatja be:
Manuális telepítés: Magento 2, Nginx, PHP7, MySQL, Postfix, Composer
Ha a fenti installert mégsem szeretnénk használni és inkább manuálisan telepítenénk a szervert, esetleg néhány lépés kihagyására lenne szükség, akkor erre az esetre az alábbiakban felsorolt parancsok mutatják be a Magento 2 szerver telepítését és beállításást.
Feltételezzük, hogy már van egy Ubuntu 16 operációs rendszerünk feltepítve internet kapcsolattal, ezen kívül pedig semmink nincs a Linuxon a gyári csomagokon kívül.
Frissítsük a csomaglistát:
sudo apt-get update
Nginx, MySQL és PHP7 telepítés
Az alábbiak szerint telepísük az Nginx és a MySQL szervereket. A MySQL kérni fog egy jelszót a root felhasználóhoz. Itt majd a MySQL leendő root felhasználó jelszavát kell megadni.
sudo apt-get install nginx
sudo apt-get install mysql-server
Indítsuk el a MySQL konfigurációs scriptjét. Igenekkel és nemekkel válaszolva menjünk végig a folyamaton:
sudo mysql_secure_installation
Lépjünk be a MySQL-be:
mysql -u root -p
Hozzuk létre a Magento adatbázisát, majd lépjünk ki a MySQL-ből:
CREATE SCHEMA magento2
Telepítsük a PHP7-et és minden kiegészítőjét, amire a Magento 2-nek szükséges van, majd indítsuk újra a PHP-t:
sudo apt-get install php-fpm php-mysql php-mcrypt php-curl php-cli php-gd php7.0-xsl php-json php-intl php-pear php-dev php-common php-soap php-mbstring php-zip --yes
sudo service php7.0-fpm restart
Nginx Magento 2 konfiguráció
Hozzuk létre a könyvtárakat a Magento számára:
sudo mkdir /var/www/magento2
sudo mkdir /var/www/magento2/webroot
sudo mkdir /var/www/magento2/log
Szedjük le a GitHubról a Magento legfrissebb verzióját. A hivatalos verzók ezen az oldalon szerepelnek: Magento 2 Releases.
wget https://github.com/magento/magento2/archive/2.1.0.zip
A letöltött zip fájlt csomagoljuk ki és mozgassuk át a webrootba. Ha nincs unzip, akkor telepítsünk egyet:
sudo apt-get install unzip
unzip 2.1.0.zip -d /var/www/magento2
mv /var/www/html/magento2/magento2-2.1.0 /var/www/magento2/webroot
Hozzuk létre a Magento oldalunk Nginx konfigurációs fájlját és másoljuk be a linken található mintát: Magento 2 Nginx konfiguráció. A $MAGE_ROOT változóban írjuk át az elérési útvonalát a Magentonak, esetünkben ez a /var/www/magento2/webroot /magento2-2.1.0 A server_name-ben adjuk meg a shop domain címét.
sudo nano /etc/nginx/sites-available/magento2
Aktiváljuk a most létrehozott Nginx oldalt:
sudo ln -s /etc/nginx/sites-available/magento2 /etc/nginx/sites-enabled
sudo service nginx reload
sudo service nginx restart
Composer telepítése
Telepítsük a Composert, amely a PHP csomagokért felel:
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/bin/composer
Ha Ubuntu 16-ot és annak a GUI nélküli szerver kiadását használjuk, akkor swap memóriát kell beállítanunk, elsősorban a Composer miatt.
sudo dd if=/dev/zero of=/swapfile bs=1024 count=256k
sudo mkswap /swapfile
sudo swapon /swapfile
sudo nano /etc/fstab
A fentebb megnyitott /etc/fstab fáj végére illesztük be ezt a sor:
/swapfile none swap sw 0 0
Futassuk le még a következő parancsokat, a végén beállítva a swap fájl jogosultságát.
echo 10 | sudo tee /proc/sys/vm/swappiness
echo vm.swappiness = 10 | sudo tee -a /etc/sysctl.conf
sudo chown root:root /swapfile
sudo chmod 0600 /swapfile
Magento 2 telepítés
Hozzunk létre egy linux felhasználót a Magento számára és adjuk hozzá a www-data csoporthoz:
sudo adduser magento
sudo usermod -g www-data magento
Állítsuk be a fájl jogosultságokat a Magentora:
cd /var/www/magento2/webroot
sudo chown -R :www-data .
sudo find . -type d -exec chmod 770 {} \;
sudo find . -type f -exec chmod 660 {} \;
sudo chmod u+x bin/magento
Lépjünk be a létrehozott magento linux felhasználóval és telepítsük a Magento 2 projektünket:
su magento
composer install
A Composer kérni fog egy felhasználó nevet és jelszavat. Ez a Magento Connect kulcspár lesz, amelynek a létrehozását a fenti videó mutatja be.
Miután létrejött a Magento projektünk már használhatjuk a Magento 2-t, de egyelőre még csak parancssorból. Így most telepítenünk kell magát a Magento 2-t a következő paranccsal - a hozzáférési adatokat és a változók értékeit cseréljük le.
php bin/magento setup:install --base-url=http://mywebshop.com/ \
--db-host=localhost --db-name=magento2 --db-user=root --db-password=titkos \
--admin-firstname=Magento --admin-lastname=User --admin-email=user@example.com \
--admin-user=admin --admin-password=titkos --language=hu_HU \
--currency=HUF --timezone=America/Chicago --use-rewrites=1
Most, hogy feltelepült a Magentonk telepítsük a minta adatokat és indítsunk egy élesítési folyamatot:
php bin/magento sampledata:deploy
composer update
php bin/magento setup:upgrade
php bin/magento setup:static-content:deploy hu_HU
php bin/magento cache:clean
php bin/magento cache:flush
Mostmár a böngészőben egy feltelepült és működő Magento 2 webáruház töltődik be a domain címünkön. Ha jogosultsági probléma miatt az oldal mégsem töltődne be, akkor adjuk hozzá a webrootban lévő fájlokat a www-data csoporthoz
sudo chown -R :www-data .
Email kiküldés, Spam elkerülése
Ha szeretnénk, hogy majd a szerverünket használva a Magento képes legyen emaileket kiküldeni, akkor telepítsük a Postfix email küldőt.
sudo apt-get install postfix
sudo apt-get install mailutils
Nyissuk meg szerkesztésre a Postfix konfigurációs fájlját és cseréljük le a tartalmát ezen a linken lévő konfigurációra: Postfix konfig séma.
sudo nano /etc/postfix/main.cf
A konfigurációs fájlban cseréljük le a mywebshop.com domain címet a sajátunkra, majd mentsük el a módosításokat.
Nyissuk meg az email címeket tároló fájlt és adjuk meg azokat a címeket, amelyeket az áruházunk fog használni email kiküldésre.
sudo nano /etc/postfix/virtual
Az alábbi formában adjuk meg az adatokat (fontos, hogy a Linux csoportok jól legyenek megadva, különben spambe fognak kerülni a kimenő emailek):
root,www-data info@mywebshop.com
Aktiváljuk az email címeket és indítsuk újra a Postfix levelezőt az alábbi parancsokkal.
sudo postmap /etc/postfix/virtual
sudo service postfix reload
sudo service postfix restart