Com instal·lar Magento a CentOS 7


Magento és una plataforma de comerç electrònic de codi obert potent i altament flexible (o sistema de gestió de continguts (CMS)) escrita en PHP. S'envia en dues edicions principals: edició Enterprise i Community. L'edició comunitària està pensada per a desenvolupadors i petites empreses.

És totalment personalitzable per satisfer els requisits dels usuaris, cosa que els permet configurar i gestionar una botiga de comerç electrònic totalment operativa en qüestió de minuts. Magento s'executa en servidors web com Apache, Nginx i IIS, bases de dades de fons: MySQL o MariaDB, Percona.

En aquesta guia, mostrarem com instal·lar Magento Community Edition en un VPS CentOS 7 amb pila LAMP (Linux, Apache MariaDB i PHP). Les mateixes instruccions també funcionen en distribucions basades en RHEL i Fedora amb lleugers canvis en les ordres.

Aquest article us guiarà per instal·lar la versió més recent de \Community Edition de Magento en un sistema que s'executa:

  1. Apache versió 2.2 o 2.4
  2. PHP versió 5.6 o 7.0.xo posterior amb les extensions necessàries
  3. MySQL versió 5.6 o posterior

Nota: per a aquesta configuració, estic utilitzant el nom d'amfitrió del lloc web com a \magneto-linux-console.net i l'adreça IP és \192.168.0.106\.

Pas 1: instal·lació del servidor web Apache

1. Instal·lar el servidor web Apache és molt senzill, des dels repositoris oficials:

# yum install httpd

2. Aleshores, per permetre l'accés als serveis d'Apache des de HTTP i HTTPS, hem d'obrir els ports 80 i 443 on el dimoni HTTPD escolta de la següent manera:

------------ On CentOS/RHEL 7 ------------ 
# firewall-cmd --permanent --zone=public --add-service=http
# firewall-cmd --permanent --zone=public --add-service=https
# firewall-cmd --reload

---------- On CentOS/RHEL 6 ----------
# iptables -A INPUT -p tcp -m state --state NEW --dport 80 -j ACCEPT
# iptables -A INPUT -p tcp -m state --state NEW --dport 443 -j ACCEPT
# service iptables save

Pas 2: instal·leu el suport de PHP per a Apache

Com he dit, Magento requereix PHP 5.6 o 7.0 i el dipòsit per defecte de CentOS inclou PHP 5.4, que no és compatible amb l'última versió de Magento 2.

3. Per instal·lar PHP 7, heu d'afegir el repositori EPEL i IUS (Inline with Upstream Stable) per instal·lar PHP 7 amb yum:

# yum install -y http://dl.iuscommunity.org/pub/ius/stable/CentOS/7/x86_64/ius-release-1.0-14.ius.centos7.noarch.rpm
# yum -y update
# yum -y install php70u php70u-pdo php70u-mysqlnd php70u-opcache php70u-xml php70u-mcrypt php70u-gd php70u-devel php70u-mysql php70u-intl php70u-mbstring php70u-bcmath php70u-json php70u-iconv
# yum -y update
# yum -y install epel-release
# wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
# wget https://centos6.iuscommunity.org/ius-release.rpm
# rpm -Uvh ius-release*.rpm
# yum -y update
# yum -y install php70u php70u-pdo php70u-mysqlnd php70u-opcache php70u-xml php70u-mcrypt php70u-gd php70u-devel php70u-mysql php70u-intl php70u-mbstring php70u-bcmath php70u-json php70u-iconv

4. A continuació, obriu i modifiqueu la configuració següent al fitxer /etc/php.ini:

max_input_time = 30
memory_limit= 512M
error_reporting = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR
error_log = /var/log/php/error.log
date.timezone = Asia/Calcutta

Nota: El valor de date.timezone variarà segons la zona horària del vostre sistema. Consulteu la configuració de la zona horària a Linux.

5. A continuació, per recuperar una informació completa sobre la instal·lació de PHP i totes les seves configuracions actuals des d'un navegador web, creem un fitxer info.php a l'Apache DocumentRoot (/var/www/html) utilitzant la següent comanda.

# echo "<?php  phpinfo(); ?>" > /var/www/html/info.php

6. Un cop s'hagi completat tota la configuració necessària, és hora d'iniciar el servei Apache i habilitar-lo perquè s'iniciï automàticament des de la següent arrencada del sistema, així com:

------------ On CentOS/RHEL 7 ------------ 
# systemctl start httpd
# systemctl enable httpd

------------ On CentOS/RHEL 6 ------------
# service httpd start
# chkconfig httpd on

7. A continuació, podem comprovar que Apache i PHP funcionen bé; obriu un navegador remot i escriviu l'adreça IP del vostre servidor mitjançant el protocol HTTP a l'URL i hauria d'aparèixer la pàgina d'informació Apache2 i PHP predeterminada.

http://server_domain_name_or_IP/
http://server_domain_name_or_IP/info.php

Pas 3: instal·leu i configureu la base de dades MariaDB

8. Hem de tenir en compte que Red Hat Enterprise Linux/CentOS 7.0 va passar de ser compatible amb MySQL a MariaDB com a sistema de gestió de bases de dades per defecte.

Per instal·lar la base de dades MariaDB, hem d'afegir el següent dipòsit oficial de MariaDB al fitxer /etc/yum.repos.d/MariaDB.repo tal com es mostra.

[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/rhel7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos6-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/rhel6-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

9. Un cop creat el fitxer de repo, ara podem instal·lar MariaDB de la següent manera:

# yum install mariadb-server mariadb
OR
# yum install MariaDB-server MariaDB-client

10. Un cop finalitzada la instal·lació dels paquets MariaDB, inicieu el dimoni de la base de dades durant el temps mitjà i activeu-lo perquè s'iniciï automàticament al següent arrencada.

------------ On CentOS/RHEL 7 ------------ 
# systemctl start mariadb
# systemctl enable mariadb

------------ On CentOS/RHEL 6 ------------
# service mysqld start
# chkconfig mysqld on

11. A continuació, executeu l'script mysql_secure_installation per protegir la base de dades (establir la contrasenya d'arrel, desactivar l'inici de sessió d'arrel remot, eliminar la base de dades de prova i eliminar usuaris anònims) de la següent manera:

# mysql_secure_installation

12. A continuació, creeu una base de dades magento i un usuari tal com es mostra.

# mysql -u root -p

## Creating New User for Magento Database ##
mysql> CREATE USER magento@localhost IDENTIFIED BY "your_password_here";

## Create New Database ##
mysql> create database magento;

## Grant Privileges to Database ##
mysql> GRANT ALL ON magento.* TO magento@localhost;

## FLUSH privileges ##
mysql> FLUSH PRIVILEGES;

## Exit ##
mysql> exit

Pas 4: instal·leu Magento Community Edition

12. Ara, aneu al lloc web oficial de Magento i creeu un compte d'usuari en cas que sou un nou client (o simplement inicieu sessió si ja teniu un compte) i descarregueu l'última versió de Magento Community Edition.

  1. http://www.magentocommerce.com/download

13. Després de descarregar el fitxer tar de Magento, extreu-ne el contingut a l'arrel del document Apache (/var/www/html) de la següent manera:

# tar -zxvf Magento-CE-2.1.5-2017-02-20-05-36-16.tar.gz -C /var/www/html/

14. Ara heu d'establir la propietat d'Apache als fitxers i carpetes.

# chown -R apache:apache /var/www/html/

15. Ara obriu el vostre navegador i navegueu a l'URL següent, se us presentarà l'assistent d'instal·lació de Magento.

http://server_domain_name_or_IP/

16. A continuació, l'assistent realitzarà una comprovació de preparació per a la versió correcta de PHP, els permisos de fitxer i la compatibilitat.

17. Introduïu la configuració de la base de dades magento.

18. Configuració del lloc web de Magento.

19. Personalitzeu la vostra botiga Magento configurant la zona horària, la moneda i l'idioma.

20. Creeu un nou compte d'administrador per gestionar la vostra botiga Magento.

21. Ara feu clic a Instal·la ara per continuar amb la instal·lació de Magento.

Això és! heu instal·lat Magento amb èxit a CentOS 7. Si us trobeu amb algun error durant la instal·lació, no dubteu a demanar ajuda als comentaris.