Magento ver 2.1.7 installimine serverikontole

Viimasel ajal on kliendid raporteerinud eri tõrgete kohta Magento 2.* versioonide installimisel oma serverikontole. Üritan siin teemas täpsemalt lahti kirjutada võimalikud soovitused ja murekohad.

1. Soovitused / eeltööd
2. Magento install: Installatron (DirectAdmin)
3. Magento install: Installatron (cPanel)
4. Magento install: Manuaalselt SSH kaudu (DirectAdmin)
5. Magento install: Manuaalselt SSH kaudu (cPanel)

1. Soovitused / eeltööd

1. Olemasolev domeen või alamdomeen peaks juba kasutajakontol olema (kuna Magento Installimine alamkausta alla ei ole otseselt out-of-box toimiv ning võib anda erinevaid veateateid)
2. Tuleks luua/kontrollida kontol HTTPS võimalust (kuna uus magento versioon tahab vaikimisi HTTPS installi)
Kui domeenile/alamdomeenile ei ole veel HTTPS tuge vaikimisi määratud ja sertifikaati lisatud, leiab selleks juhendid siit: LetsEncrypt (Public BETA) sertifikaadid Radicenteri serveritel / kuidas paigaldada
3. Domeenil olev PHP versioon peaks olema vastavuses CLI/serveri PHP versiooniga (vaikimisi hetkel php 5.6 – NB! CLI php versiooni kahjuks DirectAdmin kaudu muuta ei saa!)
PHP versiooni kontrollimiseks, muutmiseks leiate juhendid siit: PHP versiooni muutmine DirectAdminis

2. Magento install: Installatron (DirectAdmin)

Kui peatükis 1. väljatoodud seaded on kontrollitud saab jätkata magento installiga Installatroni alt.
– Installatron -> Applications browser -> Magento
– Seadetest “Domain” – valige oma soovitud domeen või alamdomeen (mille url’is oleks HTTPS:// )
– Seadetest “Directory (Optional)” – jätke palun tühjaks (MAgento uus versioon ei soosi alamkausta installi ja tahab kindlasti saada alamdomeeni või põhidomeeni kausta installitud!)
– NB! Valige seadetest: “Give me a clean Magento install (I’ll add my own content!)”
(“Please add the Magento demo content during install” annab kahjuks 8/10 veateate installi korral)
– Kui ei soovi muid väljasi täita, võib need jätta Installatroni poolt automaatselt täidetavaks ning vajutada nupule “Install”

Kui kogu leht töötab kuid admin lehele sisse logides tuleb veateade “errorstack” ja mingi number, kontrolli faili kaustas: magentoinstallikaust/var/report/ – kui seal raporti numbriga failis on rida: “… Warning: is_dir(): open_basedir restriction in effect. File(/etc/pki/tls/certs) is not within the allowed path(s) …” – tuleks muuta faili composer.json ja otsida rida:

"config": {
        "use-include-path": true
    }

Ning muuta vastavalt:

"config": {
        "use-include-path": true,
        "disable-tls": true
    }

NB! Kuna automaatselt ei lisatud CRON töid, tuleks need manuaalselt lisada! Vajalikud juhendid on leitavad lehtedelt:
Magento: Configure and run cron
CRON toimingud DirectAdmin all

2. Magento install: Installatron (cPanel)

Kui peatükis 1. väljatoodud seaded on kontrollitud saab jätkata magento installiga Installatroni alt.
NB! cPaneli all ei ole võimalik kasutada LetsEncrypti tasuta SSL sertifikaate. Kui teil järgmiseks päevaks ei ole tekkinud Comodo tasuta AutoSSL sertifikaat, võtke palun ühendust klienditoega!
– “MultiPHP INI Editor” alt tuleks muuta/kontrollida teie poe poolt kasutataval domeenil PHP settinguid järgnevalt:
1. allow_url_fopen -> Enabled
2. max_execution_time -> 90
2. memory_limit -> 768M
(NB! Alati ei aita limiit 768M – kui sellest jääb väheks soovitan muuta see 900M)
– Installatron -> Applications browser -> Magento
– Seadetest “Domain” – valige oma soovitud domeen või alamdomeen (mille url’is oleks HTTPS:// )
– Seadetest “Directory (Optional)” – jätke palun tühjaks (MAgento uus versioon ei soosi alamkausta installi ja tahab kindlasti saada alamdomeeni või põhidomeeni kausta installitud!)
– NB! Valige seadetest: “Give me a clean Magento install (I’ll add my own content!)”
(“Please add the Magento demo content during install” annab kahjuks 8/10 veateate installi korral)
– Kui ei soovi muid väljasi täita, võib need jätta Installatroni poolt automaatselt täidetavaks ning vajutada nupule “Install”

Kui kogu leht töötab kuid admin lehele sisse logides tuleb veateade “errorstack” ja mingi number, kontrolli faili kaustas: magentoinstallikaust/var/report/ – kui seal raporti numbriga failis on rida: “… Warning: is_dir(): open_basedir restriction in effect. File(/etc/pki/tls/certs) is not within the allowed path(s) …” – tuleks muuta faili composer.json ja otsida rida:

"config": {
        "use-include-path": true
    }

Ning muuta vastavalt:

"config": {
        "use-include-path": true,
        "disable-tls": true
    }

NB! Kuna automaatselt ei lisatud CRON töid, tuleks need manuaalselt lisada! Vajalikud juhendid on leitavad lehtedelt:
Magento: Configure and run cron
CRON toimingud DirectAdmin all

NB! Et oleks kasutusel sama PHP versioon nii CLI kui ka apachega – peab kasutusel olema muudetud custom php.ini mõlemas kohas. Cron’i näidisrida on kujul:/usr/local/bin/php -c /home/rXXXXXX/domains/TEIEDOMEENINIMI.ee/public_html/php.ini /home/rXXXXXX/domains/TEIEDOMEENINIMI.ee/public_html/bin/magento cron:run | grep -v "Ran jobs by schedule" >> /home/rXXXXXX/domains/TEIEDOMEENINIMI.ee/public_html/var/log/magento.cron.log
Kus siis:
1./usr/local/bin/php” – on php asukoht cPaneli serveris
2.-c /home/rXXXXXX/domains/TEIEDOMEENINIMI.ee/public_html/php.ini” – on tee reaalse teie poolt muudetud php.ini failini, mida kasutab ka teie Magento veebipood!
3./home/rXXXXXX/domains/TEIEDOMEENINIMI.ee/public_html/bin/magento ….” – ja järgnev sealt on siis vastav käsk koos asukohaga, mis magento e-poe mootor tegema peaks!
(rXXXXXX on teie kasutajakonto nimi ja TEIEDOMEENINIMI.ee on teie poolt kasutatav domeeninimi.)

4. Magento install: Manuaalselt SSH kaudu

Kui peatükis 1. väljatoodud seaded on kontrollitud saab jätkata magento installiga Installatroni alt.
1. Installige endale Composer lisatarkvara (juhend leitav SIIT)
2. Lisage oma Magento marketplace’i tunnused composeri auth faili:

mkdir $HOME/.composer (kui sellist kataloogi ei ole)
cd $HOME/.composer/ (kui selline kataloog on)
nano auth.json
{
    "http-basic": {
        "repo.magento.com": {
            "username": "YOURPUBLICAPIKEY",
            "password": "YOURPRIVATEAPIKEY"
        }
    }
}

NB! Need tunnused saate lehelt https://marketplace.magento.com/customer/accessKeys/, kui teil veel neid ei ole. Kui teil ei ole ka Magento kasutajakontot, tuleks see ennem luua!
3. Kontrollige, et domeeni või alamdomeeni kaust, kuhu soovite magentot installida oleks tühi! Ja liikuge käsureal sinna kausta
4. Installige Magento CE

composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition=2.1.7 ./

NB! Antud käsurida installib Magento poe tarkvara sellesse kausta, kust see käivitatakse (eeldusel et kaust on tühi!)!
5. Muutke composer.json faili vastavalt – otsida rida:

"config": {
        "use-include-path": true
    }

Ning muuta vastavalt:

"config": {
        "use-include-path": true,
        "disable-tls": true
    }

6. Lisage ome poe juurkaustas olevasse .htaccess faili järgnev kood faili algusesse:

php_value opcache.enable 0
php_value always_populate_raw_post_data -1

7. Looge oma Magento e-poe jaoks andmebaas (juhend leitav SIIT)
8. Mine oma e-poe Magento Setup lehele (https://SINUPOEAADRESS/setup/) ja vii läbi Magento poe seadistamine
9. Sätetes kontrollige/lisage:
– Web Configuration all – kindlasti HTTPS aadress poele nii esimesel real kui ka advanced all ning kindlasti valige mõlemad “Use HTTPS …”
10. Kontrollige/muutke failiõiguseid vastavalt, käivitades käsud SSH kaudu käsureal oma e-poe juurkataloogis:

find var vendor pub/static pub/media app/etc -type f -exec chmod u+w {} \;
find var vendor pub/static pub/media app/etc -type d -exec chmod u+w {} \;
chmod u+x bin/magento

11. Käivitage käsureal static-contenti taasloomine/loomine:

bin/magento setup:static-content:deploy

(Antud featuur on vajalik installi käigus tekkinud võimalike “katkiste” piltide ja sisu parandamiseks)

Kui täiendavalt ühtegi viga ei esinenud on pood edukalt installitud. Võite minna poe ADMIN lehele.
NB! Esimesel käivitusel avaneb nii storefront kui ka poe admin leht aeglasemalt, kuna genereeritakse vajalikud cache failid ja vahemälu.

NB! Kuna automaatselt ei lisatud CRON töid, tuleks need manuaalselt lisada! Vajalikud juhendid on leitavad lehtedelt:
Magento: Configure and run cron
CRON toimingud DirectAdmin all

5. Magento install: Manuaalselt SSH kaudu (cPanel)

Kui peatükis 1. väljatoodud seaded on kontrollitud saab jätkata magento installiga Installatroni alt.
1. Kuna cPaneli serveril on juba installitud vaikimisi Composer tarkvara, jätkake step 2’ga
2. Lisage oma Magento marketplace’i tunnused composeri auth faili:

mkdir $HOME/.composer (kui sellist kataloogi ei ole)
cd $HOME/.composer/ (kui selline kataloog on)
nano auth.json
{
    "http-basic": {
        "repo.magento.com": {
            "username": "YOURPUBLICAPIKEY",
            "password": "YOURPRIVATEAPIKEY"
        }
    }
}

NB! Need tunnused saate lehelt https://marketplace.magento.com/customer/accessKeys/, kui teil veel neid ei ole. Kui teil ei ole ka Magento kasutajakontot, tuleks see ennem luua!
3. Kontrollige, et domeeni või alamdomeeni kaust, kuhu soovite magentot installida oleks tühi! Ja liikuge käsureal sinna kausta
4. Installige Magento CE

composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition=2.1.7 ./

NB! Antud käsurida installib Magento poe tarkvara sellesse kausta, kust see käivitatakse (eeldusel et kaust on tühi!)!
5. Muutke composer.json faili vastavalt – otsida rida:

"config": {
        "use-include-path": true
    }

Ning muuta vastavalt:

"config": {
        "use-include-path": true,
        "disable-tls": true
    }

6. Muutke oma domeeni php.ini sätteid vastavalt::
– “MultiPHP INI Editor” alt tuleks muuta/kontrollida teie poe poolt kasutataval domeenil PHP settinguid järgnevalt:
1. allow_url_fopen -> Enabled
2. max_execution_time -> 90
2. memory_limit -> 768M
(NB! Alati ei aita limiit 768M – kui sellest jääb väheks soovitan muuta see 900M)
3. always_populate_raw_post_data =-1
(Kui sellist sätet ei ole editori all, kasutage samal lehel olevat “Editor Mode’i”)
7. Looge oma Magento e-poe jaoks andmebaas (kasutades selleks cPanelis olevat “MySQL® Database Wizard” rakendust)
8. Mine oma e-poe Magento Setup lehele (https://SINUPOEAADRESS/setup/) ja vii läbi Magento poe seadistamine
9. Sätetes kontrollige/lisage:
– Web Configuration all – kindlasti HTTPS aadress poele nii esimesel real kui ka advanced all ning kindlasti valige mõlemad “Use HTTPS …”
10. Kontrollige/muutke failiõiguseid vastavalt, käivitades käsud SSH kaudu käsureal oma e-poe juurkataloogis:

find var vendor pub/static pub/media app/etc -type f -exec chmod u+w {} \;
find var vendor pub/static pub/media app/etc -type d -exec chmod u+w {} \;
chmod u+x bin/magento

11. Käivitage käsureal static-contenti taasloomine/loomine:

bin/magento setup:static-content:deploy

(Antud featuur on vajalik installi käigus tekkinud võimalike “katkiste” piltide ja sisu parandamiseks)

Kui täiendavalt ühtegi viga ei esinenud on pood edukalt installitud. Võite minna poe ADMIN lehele.
NB! Esimesel käivitusel avaneb nii storefront kui ka poe admin leht aeglasemalt, kuna genereeritakse vajalikud cache failid ja vahemälu.

NB! Kuna automaatselt ei lisatud CRON töid, tuleks need manuaalselt lisada! Vajalikud juhendid on leitavad lehtedelt:
Magento: Configure and run cron
CRON toimingud DirectAdmin all

NB! Et oleks kasutusel sama PHP versioon nii CLI kui ka apachega – peab kasutusel olema muudetud custom php.ini mõlemas kohas. Cron’i näidisrida on kujul:/usr/local/bin/php -c /home/rXXXXXX/domains/TEIEDOMEENINIMI.ee/public_html/php.ini /home/rXXXXXX/domains/TEIEDOMEENINIMI.ee/public_html/bin/magento cron:run | grep -v "Ran jobs by schedule" >> /home/rXXXXXX/domains/TEIEDOMEENINIMI.ee/public_html/var/log/magento.cron.log
Kus siis:
1./usr/local/bin/php” – on php asukoht cPaneli serveris
2.-c /home/rXXXXXX/domains/TEIEDOMEENINIMI.ee/public_html/php.ini” – on tee reaalse teie poolt muudetud php.ini failini, mida kasutab ka teie Magento veebipood!
3./home/rXXXXXX/domains/TEIEDOMEENINIMI.ee/public_html/bin/magento ….” – ja järgnev sealt on siis vastav käsk koos asukohaga, mis magento e-poe mootor tegema peaks!
(rXXXXXX on teie kasutajakonto nimi ja TEIEDOMEENINIMI.ee on teie poolt kasutatav domeeninimi.)

, , , ,

Comments are currently closed.