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

Az install.ini fájlban kell megadni többek között a Magento Connect kulcsokat is, amelynek a magento.com weboldalon keresztüli generálását a videó is bemutatja.

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:

Magento 2 - Automatizált szerver és áruház telepítő script

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