GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come installare Magento 2.1 su CentOS 7

Magento è un negozio open source (software di e-commerce) e un sistema di gestione dei contenuti per siti Web di e-commerce basato su PHP Zend Framework. Magento applica le convenzioni della programmazione orientata agli oggetti e dell'architettura MVC (Model-View-Controller) e utilizza MySQL/MariaDB come database. Il software sviluppato è stato avviato nel 2008 da Varien Inc. Negli ultimi anni, Magento è diventata una piattaforma affidabile per il software di e-commerce che alimenta le aziende online di tutto il mondo.

In questo tutorial, ti guiderò attraverso l'installazione di Magento 2.1. Installeremo Magento 2.1 con Nginx e Php7.0-fpm e MySQL come database. A tale scopo, utilizzerò un server CentOS 7 con SELinux abilitato.

Passaggio 1:installa Nginx

In questo passaggio, installeremo Nginx dal repository epel. Epel non è disponibile per impostazione predefinita, quindi è necessario installare epel-repository prima di installare Nginx.

Installa epel-repository con questo comando yum.

yum -y install epel-release

Ora possiamo installare Nginx da epel-repository.

yum -y install nginx

Al termine dell'installazione, avvia Nginx e aggiungilo all'avvio all'avvio.

systemctl start nginx
systemctl enable nginx

Nginx è avviato sulla porta 80, puoi verificarlo con il comando netstat di seguito.

netstat -plntu

Nel caso in cui vedi il risultato "comando non trovato", puoi installare net-tools come questo.

yum -y install net-tools

Fase 2 - Installa e configura PHP-FPM

In questo tutorial, utilizzeremo PHP-FPM 7 per l'installazione di Magento. Userò i pacchetti PHP 7 dal repository Webtatic.

Scarica e aggiungi un nuovo repository webtatic al sistema.

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

Ora esegui il comando seguente per installare PHP-FPM7 con tutti i pacchetti e le estensioni necessarie per l'installazione di Magento.

yum -y install php70w-fpm php70w-mcrypt php70w-curl php70w-cli php70w-mysql php70w-gd php70w-xsl php70w-json php70w-intl php70w-pear php70w-devel php70w-mbstring php70w-zip php70w-soap

Quando l'installazione di PHP-FPM7 è completa, è necessario configurarla. Configureremo il file php.ini e il file 'www.conf' di configurazione php-fpm.

Modifica php.ini con vim.

vim /etc/php.ini

Decommenta la riga cgi.fix_pathinfo 762 e cambia il valore in 0.

cgi.fix_pathinfo=0

Configura il limite di memoria, il tempo massimo di esecuzione e abilita la compressione dell'output zlib, assicurati di impostare i valori come mostrato di seguito.

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

Decommenta la directory del percorso di sessione e cambia la directory come di seguito.

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

Salva ed esci.

Quindi, modifica il file di configurazione php-fpm www.conf con il comando vim.

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

PHP-FPM7 verrà eseguito sotto l'utente e il gruppo 'nginx', cambierà il valore in 'nginx' per le righe dell'utente e del gruppo.

user = nginx
group = nginx

Eseguiremo php-fpm sotto un file socket, non una porta del server. Cambia il valore della linea di ascolto nel percorso del file socket.

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

Il file socket deve essere di proprietà dell'utente e del gruppo 'nginx', decommentare le righe di ascolto e modificare i valori come mostrato di seguito.

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

Infine, decommenta le righe di ambiente PHP-FPM 366-370.

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

Salva ed esci.

Quindi, crea una nuova directory per il percorso della sessione e il percorso del file sock php. Quindi cambia il proprietario nell'utente e nel gruppo 'nginx'.

Crea una nuova directory per il percorso della sessione.

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

Crea una nuova directory per la posizione del file socket php-fpm.

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

La configurazione di PHP-FPM7 è completa, avvia il demone ora e abilitalo all'avvio all'avvio con il comando systemctl di seguito.

systemctl start php-fpm
systemctl enable php-fpm

Quando non ci sono errori, puoi usare il comando seguente per verificare se php-fpm è in esecuzione nel file socket.

netstat -pl | grep php-fpm.sock

Passaggio 3:installazione del server MySQL 5.7

Magento 2.1 richiede una versione corrente di MySQL, puoi usare MySQL 5.6 o 5.7 per l'installazione. In questo tutorial utilizzeremo MySQL 5.7 che può essere installato dal repository ufficiale di MySQL. Quindi dobbiamo prima aggiungere il nuovo repository MySQL.

Scarica e aggiungi il nuovo repository MySQL per l'installazione di MySQL 5.7.

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

Ora installa MySQL 5.7 dal repository MySQL con il comando yum di seguito.

yum install mysql-community-server

Al termine dell'installazione, avvia mysql e aggiungilo all'avvio all'avvio.

systemctl start mysqld
systemctl enable mysqld

MySQL 5.7 è stato installato con una password di root predefinita, è memorizzata nel file mysqld.log. Usa il comando grep per vedere la password predefinita per MySQL 5.7. Esegui il comando seguente.

grep 'temporary' /var/log/mysqld.log

Ora vedi la password di root MySQL corrente, dovresti cambiare la password predefinita.

Connettiti alla shell mysql con root utente e password predefinita.

mysql -u root -p
TYPE DEFAULT PASSWORD

Modifica la password di root predefinita con la query seguente. Userò la nuova password "[email protected]" qui. Scegli una password sicura.

ALTER USER 'root'@'localhost' IDENTIFIED BY '[email protected]';
flush privileges;

La password di root MySQL predefinita è stata modificata. Successivamente dobbiamo creare un nuovo utente e un nuovo database per l'installazione di Magento.

Creeremo un nuovo database denominato "magentodb" e un nuovo utente "magentouser" con password "[email protected]". Quindi concedi tutti i privilegi del database al nuovo utente. Esegui la query mysql di seguito.

create database magentodb;
create user [email protected] identified by '[email protected]';
grant all privileges on magentodb.* to [email protected] identified by '[email protected]';
flush privileges;

L'installazione e la configurazione di MySQL 5.7 sono terminate ed è stato creato un database per l'installazione di Magento.

Fase 4 Installa e configura Magento

In questo passaggio, inizieremo a installare e configurare Magento. Per la directory principale web, utilizzeremo la directory '/var/www/magento2'. Abbiamo bisogno del compositore PHP per l'installazione del pacchetto Magento.

Installa PHP Composer

Useremo Composer per l'installazione delle dipendenze del pacchetto PHP. Installa il compositore con il comando curl qui sotto.

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

Al termine dell'installazione, puoi controllare la versione del compositore come mostrato di seguito.

composer -v

PHP Composer è stato installato.

Scarica ed estrai Magento

Vai alla directory '/var/www' e scarica il codice Magento con il comando wget.

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

Installa unzip con yum.

yum -y install unzip

Estrai il codice Magento e rinomina la directory nella directory 'magento2'.

unzip 2.1.zip
mv magento2-2.1 magento2

Installa dipendenze PHP

Vai alla directory magento2 e installa tutte le dipendenze Magento con il comando composer.

cd magento2
composer install -v

Attendi il completamento dell'installazione delle dipendenze PHP.

Configura l'host virtuale Magento

Vai alla directory Nginx e crea un nuovo file di configurazione dell'host virtuale chiamato 'magento.conf' nella directory 'conf.d'.

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

Incolla la configurazione dell'host virtuale di seguito.

upstream fastcgi_backend {
        server  unix:/run/php/php-fpm.sock;
}

server {

        listen 80;
        server_name magento.hakase-labs.com;
        set $MAGE_ROOT /var/www/magento2;
        set $MAGE_MODE developer;
        include /var/www/magento2/nginx.conf.sample;
}

Salva ed esci.

Ora prova la configurazione. Quando non ci sono errori, riavvia il servizio Nginx.

nginx -t
systemctl restart nginx

Installa Magento 2.1

Vai alla directory magento2 per installare Magento sulla riga di comando.

cd /var/www/magento2

Esegui il comando seguente, assicurati di avere la configurazione corretta. I valori che devono essere modificati dall'utente sono spiegati di seguito.

bin/magento setup:install --backend-frontname="adminlogin" \
--key="biY8vdWx4w8KV5Q59380Fejy36l6ssUb" \
--db-host="localhost" \
--db-name="magentodb" \
--db-user="magentouser" \
--db-password="[email protected]" \
--language="en_US" \
--currency="USD" \
--timezone="America/New_York" \
--use-rewrites=1 \
--use-secure=0 \
--base-url="http://magento.hakase-labs.com" \
--base-url-secure="https://magento.hakase-labs.com" \
--admin-user=adminuser \
[email protected] \
[email protected] \
--admin-firstname=admin \
--admin-lastname=user \
--cleanup-database

Modifica il valore per:

  • --backend-frontname:pagina di accesso amministratore Magento "adminlogin"
  • --key:genera la tua chiave
  • --db-host:host del database localhost
  • --db-name:nome del database 'magentodb'
  • --db-user:utente del database 'magentouser'
  • --db-password:password del database '[email protected]'
  • --base-url:URL Magento
  • --admin-user:il tuo utente amministratore
  • --admin-password:la tua password di amministratore Magento
  • --admin-email:il tuo indirizzo email

Quando non hai errori nel comando, vedrai i risultati di seguito.

Magento 2.1 è installato. Esegui il comando seguente per modificare l'autorizzazione per la directory etc e cambiare il proprietario della directory magento2 nell'utente 'nginx'.

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

Configura Magento Cron

Questo cronjob è necessario per l'indicizzatore Magento. Crea un nuovo cronjob come utente 'nginx' (perché magento in esecuzione sotto utente e gruppo nginx).

crontab -u nginx -e

Incolla la configurazione qui sotto.

* * * * * /usr/bin/php /var/www/magento2/bin/magento cron:run | grep -v "Ran jobs by schedule" >> /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 setup:cron:run >> /var/www/magento2/var/log/setup.cron.log

Salva ed esci.

Passaggio 5 - Configura SELinux e Firewalld

In questo tutorial, lasceremo SELinux in modalità 'Enforcing'. Esegui i comandi seguenti per verificare lo stato di SELinux.

sestatus

SELinux è in modalità 'Applicazione'.

Installa lo strumento di gestione di SELinux 'policycoreutils-python' con il comando yum di seguito.

yum -y install policycoreutils-python

Vai alla directory '/var/www/'.

cd /var/www/

Esegui i comandi seguenti per modificare il contesto di sicurezza per i file e le directory Magento.

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/'

La configurazione di SELinux è terminata. Ora dobbiamo configurare firewalld.

Installa il pacchetto firewalld se non lo hai già sul tuo server.

yum -y install firewalld

Avvia il firewall e aggiungi firewalld da avviare all'avvio.

systemctl start firewalld
systemctl enable firewalld

Apri le porte per HTTP e HTTPS in modo da poter accedere all'URL di Magento da un browser web.

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

Vedi le porte aperte per i servizi con il comando seguente.

firewall-cmd --list-all

HTTP e HTTPS sono pronti per le connessioni.

Fase 6 - Test

Apri il tuo browser web e quindi sfoglia l'URL di Magento. Il mio è:

magento.hakase-labs.com

E vedrai la home page predefinita di Magento.

Quindi, accedi alla dashboard dell'amministratore aprendo l'URL di accesso dell'amministratore.

magento.hakase-labs.com/adminlogin

Accedi con il tuo utente e password amministratore.

Pannello di controllo di Magento.

Magento 2.1 è stato installato con successo con Nginx, PHP-FPM7 e MySQL 5.7 su un server CentOS 7.


Cent OS
  1. Come installare e configurare Nginx su CentOS 7

  2. Come installare Nginx su CentOS 7

  3. Come installare R su CentOS 7

  4. Come installare phpMyAdmin con Nginx su CentOS 7

  5. Come installare Nginx su CentOS 8

Come installare Nginx su CentOS 6

Come installare Magento su CentOS 7

Come installare Magento su CentOS 8

Come installare Nginx su CentOS 7

Come installare Nginx su CentOS 7?

Come installare Nginx su CentOS 8