Sådan installeres Magento 2.1 på CentOS 7

Sådan installeres Magento 2.1 på CentOS 7

Magento er en open source-butik (e-handelssoftware) og content management system til e-handelswebsteder baseret på PHP Zend Framework. Magento anvender konventionerne af Objektorienteret Programmering og MVC (Model-View-Controller) arkitektur og bruger MySQL / MariaDB som database. Den udviklede software er startet i 2008 af Varien Inc. I de seneste år er Magento blevet en pålidelig platform for e-handelssoftware, der driver online-virksomheder over hele verden.

I denne vejledning vil jeg lede dig gennem Magento 2.1 installationen. Vi installerer Magento 2.1 med Nginx og Php7.0-fpm og MySQL som database. Til dette formål vil jeg bruge en CentOS 7-server med SELinux aktiveret.

Trin 1 - Installer Nginx

I dette trin vil vi installere Nginx fra epel-repository. Epel er ikke tilgængelig som standard, så vi skal installere epel-repository før du installerer Nginx.

Installer epel-repository med denne yum kommando.

yum-du installerer epel-release

Nu kan vi installere Nginx fra epel-repository.

yum-du installerer nginx

Efter installationen er færdig, start Nginx og tilføj den for at starte ved opstartstidspunktet.

systemctl start nginx
systemctl enable nginx

Nginx er startet på port 80, du kan tjekke det med netstat kommandoen nedenfor.

netstat -plntu

Installer Nginx på CentOS 7

Hvis du ser resultatet 'kommando ikke fundet', kan du installere net-toolslike dette.

yum-du installerer netværktøjer

Trin 2 - Installer og konfigurér PHP-FPM

I denne vejledning bruger vi PHP-FPM 7 til Magento-installationen. Jeg vil bruge PHP 7 pakker fra Webtatic repository.

Download og tilføj et nyt webtatic repository til systemet.

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

Kør nu kommandoen nedenfor for at installere PHP-FPM7 med alle pakker og udvidelser, der er nødvendige for Magento-installationen.

yum -y installere php70w fpm php70w-mcrypt php70w-krøller php70w-cli php70w-mysql php70w-gd php70w-xsl php70w-JSON php70w-intl php70w-pære php70w-devel php70w-mbstring php70w-zip php70w-sæbe

Når en PHP-FPM7-installation er færdig, skal vi konfigurere den. Vi konfigurerer php.ini filen og php-fpm konfigurationen 'www.conf' fil.

Rediger php.ini med vim.

vim /etc/php.ini

Uncomment cgi.fix_pathinfo linje 762 og ændre værdi til 0.

cgi.fix_pathinfo = 0

Konfigurer hukommelsesgrænse, maksimal eksekveringstid og aktiver zlib-udgangskomprimeringen, sørg for at indstille værdierne som vist nedenfor.

memory_limit = 512M
max_execution_time = 1800
zlib.output_compression = Til

Uncomment session path directory og ændre mappen som nedenfor.

session.save_path = "/ var / lib / php / session"

Gem og luk.

Dernæst rediger du php-fpm konfigurationsfilen www.conf med vim-kommandoen.

vim /etc/php-fpm.d/www.conf

PHP-FPM7 vil køre under 'nginx' brugeren og gruppen, ændre værdien til 'nginx' for bruger- og gruppelinjerne.

bruger = nginx
gruppe = nginx

Vi kører php-fpm under en socketfil, ikke en serverport. Skift værdien af ​​lyttelinjen til stikkontakten.

lyt = /var/run/php/php-fpm.sock

Socket-filen skal være ejet af 'nginx'-brugeren og -gruppen, uden bemærkninger lytlinjerne og ændre værdierne som vist nedenfor.

listen.owner = nginx
listen.group = nginx
listen.mode = 0660

Endelig bemærker du ikke PHP-FPM-miljølinierne 366-370.

env [HOSTNAME] = $ HOSTNAME
env [PATH] = / usr / local / bin: / usr / bin: / bin
env [TMP] = / tmp
env [TMPDIR] = / tmp
env [TEMP] = / tmp

Gem og luk.

Dernæst opret en ny mappe til sessionsbanen og php sokfilens placering. Derefter ændrer ejeren til 'nginx' bruger og gruppe.

Opret en ny mappe til sessionsti.

mkdir -p / var / lib / php / session /
chown -R nginx: nginx / var / lib / php / session /

Opret en ny mappe til php-fpm socket fil placering.

mkdir -p / run / php /
chown -R nginx: nginx / run / php /

PHP-FPM7 konfigurationen er færdig, start daemonen nu og aktiver den til at starte ved opstartstid med kommandoen systemctl nedenfor.

systemctl start php-fpm
systemctl aktiver php-fpm

Når der ikke er fejl, kan du bruge kommandoen nedenfor til at kontrollere, om php-fpm kører under socketfilen.

netstat -pl | grep php-fpm.sock

Installer og konfigurer PHP-FPM7 på CentOS 7

Trin 3 - Installer MySQL 5.7 Server

Magento 2.1 kræver en nuværende MySQL-version, du kan bruge MySQL 5.6 eller 5.7 til installationen. I denne vejledning bruger vi MySQL 5.7, der kan installeres fra det officielle MySQL-depot. Så vi skal først tilføje det nye MySQL-depot.

Download og tilføj det nye MySQL-depot til MySQL 5.7-installation.

yum localinstall https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

Installer nu MySQL 5.7 fra MySQL-depotet med yum-kommandoen nedenfor.

Du installerer mysql-community-server

Når installationen er færdig, start mysql og tilføj den for at starte ved opstartstidspunktet.

systemctl start mysqld
systemctl aktiver mysqld

MySQL 5.7 er installeret med en standard rodadgangskode, den er gemt i mysqld.log-filen. Brug grep-kommandoen til at se standardadgangskoden til MySQL 5.7. Kør kommandoen nedenfor.

grep 'midlertidig' /var/log/mysqld.log

Installer og konfigurer MySQL 5.7 på CentOS 7

Nu ser du den nuværende MySQL root-adgangskode, du skal ændre standardadgangskoden.

Opret forbindelse til mysql-skalen med brugerrod og standardadgangskode.

mysql -u rod-p
TYPE DEFAULT PASSWORD

Skift standard rodadgangskode med forespørgslen nedenfor. Jeg vil bruge den nye adgangskode '[Email protected]' her. Vælg venligst et sikkert kodeord.

ALTER USER 'root' @ 'localhost' IDENTIFIERET AF '[Email protected]';
flush privilegier;

Skift Standard MySQL Root Password

Standard MySQL root password er blevet ændret. Næste skal vi oprette en ny bruger og en ny database til Magento installation.

Vi opretter en ny database med navnet 'magentodb' og en ny bruger 'magentouser' med adgangskode '[Email protected]'. Dernæst give alle rettigheder til databasen til den nye bruger. Kør spørgsmålet mysql nedenfor.

opret database magentodb;
oprette bruger [email protected] identificeret af '[Email protected]';
give alle privilegier på magentodb. * til [email protected] identificeret af '[Email protected]';
flush privilegier;

Opret ny bruger og database til magento installation

MySQL 5.7-installation og konfiguration er afsluttet, og der er oprettet en database til Magento-installationen.

Trin 4 Installer og konfigurer Magento

I dette trin begynder vi at installere og konfigurere Magento. For web rodmappen bruger vi mappen '/ var / www / magento2'. Vi har brug for PHP-komponist til Magento-pakkeinstallationen.

Installer PHP Composer

Vi bruger Composer til PHP-pakkeafhængighedsinstallation. Installer komponist med curl kommandoen nedenfor.

curl -sS https://getcomposer.org/installer | sudo php - -install-dir = / usr / bin -filename = komponist

Når installationen er færdig, kan du tjekke komponentversionen som vist nedenfor.

komponist -v

Installer PHP Composer på CentOS 7

PHP Composer er blevet installeret.

Download og uddrag Magento

Gå til mappen '/ var / www' og download Magento-koden med kommandoen wget.

cd / var / www /
wget https://github.com/magento/magento2/archive/2.1.zip

Installer unzip med yum.

yum-du installerer unzip

Uddrag Magento kode og omdøbe mappen til 'magento2' bibliotek.

udpak 2.1.zip
mv magento2-2.1 magento2

Installer PHP afhængigheder

Gå til mappen magento2 og installer alle Magento-afhængigheder med komponentkommandoen.

cd magento2
komponistinstallation -v

Installer Magento afhængigheder med komponist

Vent til installation af PHP Dependency.

Konfigurer Magento Virtual Host

Gå til Nginx-biblioteket og opret en ny virtuel værtskonfigurationsfil med navnet 'magento.conf' i 'conf.d'-biblioteket.

cd / etc / nginx /
vim conf.d / magento.conf

Indsæt den virtuelle værtskonfiguration nedenfor.

opstrøms fastcgi_backend {server unix: /run/php/php-fpm.sock; } server {lyt 80; servernavn magento.hakase-labs.com; indstil $ MAGE_ROOT / var / www / magento2; sæt $ MAGE_MODE udvikler; inkludere /var/www/magento2/nginx.conf.sample; }

Gem og luk.

Test nu konfigurationen. Når der ikke er nogen fejl, skal du genstarte Nginx-tjenesten.

nginx -t
systemctl genstart nginx

Opret ny magento virtuel vært

Installer Magento 2.1

Gå til mappen magento2 for at installere Magento på kommandolinjen.

cd / var / www / magento2

Kør kommandoen nedenfor, sørg for at du har den rigtige konfiguration. De værdier, der skal ændres af dig, forklares nedenfor.

bin / magento setup: install -backend-frontname = "adminlogin"
–key=”biY8vdWx4w8KV5Q59380Fejy36l6ssUb”
-db-host =”localhost”
-db-name =”magentodb”
-db-user =”magentouser”
-db-password =”[Email protected]"
-Sprog =”da_DK”
-currency =”USD”
-timezone =”America / New_York”
-Brug-omskrivninger = 1
-bruge-secure = 0
videobord-url =”http://magento.hakase-labs.com”
videobord-url-sikker =”https://magento.hakase-labs.com”
-admin-user = adminuser
-[Email protected]
[Email protected]
-admin-firstname = admin
-admin-lastname = bruger
-cleanup-database

Skift værdi for:

  • -Backend-frontname: Magento admin login side "adminlogin"
  • -Key: generer din egen nøgle
  • -Db-vært: Database host localhost
  • -Db-navn: database navn 'magentodb'
  • -Db-bruger: database bruger 'magentouser'
  • -Db-adgangskode: database kodeord '[Email protected]'
  • -Base-url: Magento URL
  • -Admin-bruger: Din administrator bruger
  • -Admin-password: Din Magento admin password
  • -Admin-email: Din email adresse

Når du ikke har nogen fejl i kommandoen, vil du se resultaterne nedenfor.

Magento installeret på CentOS 7

Magento 2.1 er installeret. Kør kommandoen nedenfor for at ændre tilladelsen til mv-mappen og skift ejeren af ​​magento2-mappen til 'nginx'-brugeren.

chmod 700 / var / www / magento2 / app / etc
chown -R nginx: nginx / var / www / magento2

Konfigurer Magento Cron

Denne cronjob er nødvendig for Magento indekseren. Opret en ny cronjob som 'nginx' bruger (fordi magento kører under nginx bruger og gruppe).

crontab-u nginx -e

Indsæt konfigurationen nedenfor.

* * * * * / usr / bin / php / var / www / magento2 / bin / magento cron: run | grep -v "Ran job efter skema" >> /var/www/magento2/var/log/magento.cron.log * * * * * / usr / bin / php /var/www/magento2/update/cron.php >> /var/www/magento2/var/log/update.cron.log * * * * * / usr / bin / php / var / www / magento2 / bin / magento opsætning: cron: run >> / var / www /magento2/var/log/setup.cron.log

Gem og luk.

Trin 5 - Konfigurer SELinux og Firewalld

I denne vejledning forlader vi SELinux i 'Enforcing' mode. Kør kommandoerne nedenfor for at kontrollere SELinux status.

sestatus

Tjek SELinux-tilstand

SELinux er i 'Enforcing' mode.

Installer SELinux-styringsværktøjet 'policycoreutils-python' med yum-kommandoen nedenfor.

yum-du installerer policycoreutils-python

Gå til '/ var / www /' biblioteket.

cd / var / www /

Kør kommandoerne nedenfor for at ændre sikkerhedskonteksten for Magento-filer og -mapper.

semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/magento2(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/magento2/app/etc(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/magento2/var(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/magento2/pub/media(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/magento2/pub/static(/.*)?'
restorecon -Rv '/ var / www / magento2 /'

SELinux konfiguration er udført. Nu skal vi konfigurere firewalld.

Installer firewalld-pakke, hvis du ikke allerede har den på din server.

yum-du installerer firewalld

Start firewallen og tilføj firewalld for at starte ved opstartstidspunktet.

systemctl start firewalld
systemctl aktiver firewalld

Åbn portene til HTTP og HTTPS, så vi kan få adgang til Magento-URL'en fra en webbrowser.

firewall-cmd -permanent -add-service = http
firewall-cmd -permanent -add-service = https
firewall-cmd-reload

Se de åbne porte for tjenester med kommandoen nedenfor.

firewall-cmd -list-all

Installer og konfigurer Firewalld

HTTP og HTTPS er klar til forbindelser.

Trin 6 - Testing

Åbn din webbrowser og derefter browse Magento URL. Min er:

magento.hakase-labs.com

Og du vil se standard Magento startside.

Standard Magento Hjemmeside

Dernæst log ind på admin dashboardet ved at åbne adminlogin URL.

magento.hakase-labs.com/adminlogin

Log ind med din admin bruger og adgangskode.

Magento Admin Login

Magento admin dashboard.

Magento ADmin Dashoboard

Magento 2.1 er installeret med succes med Nginx, PHP-FPM7 og MySQL 5.7 på en CentOS 7-server.

Reference

Kilde

Giv en kommentar

Dette websted bruger Akismet til at reducere spam. Lær, hvordan dine kommentardata behandles.