GNU/Linux >> Tutoriales Linux >  >> Cent OS

Instalar Magento 2 en CentOS 7

Magento es una plataforma líder de comercio electrónico de clase empresarial basada en tecnología de código abierto que combina funciones potentes con flexibilidad y una interfaz fácil de usar.

Con funciones como Experiencias de compra atractivas, Arquitectura modular flexible y Escalabilidad y rendimiento de nivel empresarial, Magento es una plataforma elegida por la mayoría de los comerciantes en línea.

Esta es la primera publicación de la serie Cómo instalar y configurar Magento 2 en CentOS 7. En este tutorial, lo guiaremos a través de los pasos para instalar Magento 2 en su máquina CentOS 7.

Requisitos previos #

Como requisitos previos para seguir este tutorial, necesitará:

  • Servidor CentOS 7, de acuerdo con los requisitos oficiales del sistema Magento 2, necesita al menos 2 GB de RAM. Si está utilizando un servidor con menos de 2 GB de RAM, debe crear un archivo de intercambio.
  • Iniciar sesión como una cuenta de usuario con privilegios sudo.
  • Un nombre de dominio que apunte a la IP de su servidor público. En este tutorial, usaremos example.com .
  • Nginx, MySQL y PHP 7.1 instalados y configurados. Si no lo ha hecho, consulte nuestra guía LEMP en CentOS 7.
  • Un certificado SSL válido. Si no tiene uno, puede crear un certificado SSL gratuito de Let's Encrypt siguiendo Secure Nginx con Let's Encrypt en CentOS 7.

Par de claves de acceso de Magento #

Necesitamos generar claves de acceso para autenticar el acceso al repositorio de código de Magento 2 y extensiones y temas de terceros.

Si no tiene una cuenta de Magento Marketplace, puede crear una aquí. Una vez que cree la cuenta, consulte estas instrucciones sobre cómo generar un nuevo conjunto de claves de acceso.

Crear base de datos MySQL #

Magento 2 es compatible con MySQL 5.6 y 5.7, MariaDB 10.x y Percona 5.7. Si no tiene instalado MySQL o MariaDB en su servidor, puede consultar esta guía.

Inicie sesión en el shell de MySQL:

mysql -u root -p

Y ejecute los siguientes comandos para crear una nueva base de datos y usuario y otorgar privilegios a ese usuario sobre la base de datos recién creada:

CREATE DATABASE magento;GRANT ALL ON magento.* TO magento@localhost IDENTIFIED BY 'P4ssvv0rD';

Instalar extensiones de PHP #

Suponemos que ya ha habilitado el repositorio PHP 7.1 Remi usando nuestra guía.

Instale todas las extensiones de PHP requeridas con el siguiente comando:

sudo yum install php-mysql php-opcache php-xml php-mcrypt php-gd php-soap php-redis php-bcmath php-intl php-mbstring php-json php-iconv php-fpm php-zip

Una vez que se complete la instalación, configure las opciones PHP requeridas y recomendadas editando el php.ini archivo con sed :

sudo sed -i "s/memory_limit = .*/memory_limit = 756M/" /etc/php.inisudo sed -i "s/upload_max_filesize = .*/upload_max_filesize = 256M/" /etc/php.inisudo sed -i "s/zlib.output_compression = .*/zlib.output_compression = on/" /etc/php.inisudo sed -i "s/max_execution_time = .*/max_execution_time = 18000/" /etc/php.inisudo sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php.inisudo sed -i "s/;opcache.save_comments.*/opcache.save_comments = 1/" /etc/php.d/10-opcache.ini

Instalar compositor #

Composer es un administrador de dependencias para PHP que se utiliza para instalar, actualizar y administrar bibliotecas.

Para instalar composerglobalmente, descargue el instalador de Composer con curl y mueva el archivo a /usr/local/bin directorio:

curl -sS https://getcomposer.org/installer | phpsudo mv composer.phar /usr/local/bin/composer

Crear un nuevo número de usuario del sistema

Cree un nuevo usuario y grupo, que ejecutará nuestra instalación de Magento, para simplificar nombraremos a nuestro usuario magento :

sudo useradd -m -U -r -d /opt/magento magento

Agregue el nginx usuario al magento grupo y cambie el /opt/magento permisos de directorio para que Nginx pueda acceder a nuestra instalación de Magento:

sudo usermod -a -G magento nginxsudo chmod 750 /opt/magento

Configurar PHP FPM #

A continuación, debemos configurar PHP y crear un grupo de FPM para nuestro magento usuario.

Abre tu editor de texto y crea el siguiente archivo:

/etc/php-fpm.d/magento.conf
[magento]
user = magento
group = nginx
listen.owner = magento
listen.group = nginx
listen = /run/php-fpm/magento.sock
pm = ondemand
pm.max_children =  50
pm.process_idle_timeout = 10s
pm.max_requests = 500
chdir = /

Guarde el archivo y reinicie el servicio PHP FPM para que los cambios surtan efecto:

sudo systemctl restart php-fpm

Instalar Magento #

Hay varias formas de instalar Magento. Evite instalar Magento desde el repositorio de Github porque esa versión está diseñada para desarrollo y no para instalaciones de producción. En este tutorial, instalaremos Magento desde sus repositorios usando composer.

Cambiar al usuario magento :

sudo su - magento

Inicie la instalación descargando los archivos de magento en /opt/magento/public_html directorio:

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

Durante la creación del proyecto, el compositor le pedirá que ingrese las claves de acceso, copie las claves de su cuenta del mercado de Magento y guárdelas en auth.json archivo, por lo que más adelante, al actualizar su instalación, no tendrá que volver a agregar las mismas claves.

    Authentication required (repo.magento.com):
      Username: e758ec1745d190520ca246e4e832e12c
      Password:
Do you want to store credentials for repo.magento.com in /opt/magento/.config/composer/auth.json ? [Yn]

Una vez creado el proyecto podemos iniciar la instalación. Podemos instalar Magento usando la línea de comando o usando el asistente de configuración web. En este tutorial, instalaremos Magento usando la línea de comando.

Usaremos las siguientes opciones para instalar nuestra tienda Magento:

  • Las URL seguras base y base están configuradas en https://example.com , cámbielo con su dominio.
  • Administrador de Magento:
    • John Doe como nombre y apellido.
    • [email protected] como correo electrónico.
    • john como nombre de usuario y j0hnP4ssvv0rD como contraseña.
  • Nombre de la base de datos magento , nombre de usuario magento , contraseña P4ssvv0rD y el servidor de la base de datos está en el mismo host que el servidor web.
  • en_US , inglés estadounidense como idioma predeterminado.
  • USD dólares como moneda predeterminada.
  • America/Chicago como zona horaria.
Puede encontrar todas las opciones de instalación aquí.

Cambie a Magento ~/public_html directorio:

cd ~/public_html

Ejecute el siguiente comando para iniciar la instalación:

php bin/magento setup:install --base-url=https://example.com/ \
                        --base-url-secure=https://example.com/ \
                        --admin-firstname="John" \
                        --admin-lastname="Doe" \
                        --admin-email="[email protected]" \
                        --admin-user="john" \
                        --admin-password="j0hnP4ssvv0rD" \
                        --db-name="magento" \
                        --db-host="localhost" \
                        --db-user="magento" \
                        --currency=USD \
                        --timezone=America/Chicago \
                        --use-rewrites=1 \
                        --db-password="P4ssvv0rD"
No olvides cambiar la contraseña (j0hnP4ssvv0rD ) a algo más seguro.

Si la instalación es exitosa, se le presentará un mensaje que contiene el URI en el panel de administración de Magento.

[Progress: 485 / 485]
[SUCCESS]: Magento installation complete.
[SUCCESS]: Magento Admin URI: /admin_1csalp
Nothing to import.

Crea el crontab de Magento #

Magento usa trabajos cron para programar tareas como reindexación, notificaciones, mapas del sitio, correos electrónicos y más.

Para crear el crontab de Magento, ejecute el siguiente comando como magento usuario:

php ~/public_html/bin/magento cron:install

Podemos verificar que el crontab está instalado ejecutando:

crontab -l
#~ MAGENTO START adc062915d7b30804a2b340095af072d
* * * * * /usr/bin/php /opt/magento/public_html/bin/magento cron:run 2>&1 | grep -v "Ran jobs by schedule" >> /opt/magento/public_html/var/log/magento.cron.log
* * * * * /usr/bin/php /opt/magento/public_html/update/cron.php >> /opt/magento/public_html/var/log/update.cron.log
* * * * * /usr/bin/php /opt/magento/public_html/bin/magento setup:cron:run >> /opt/magento/public_html/var/log/setup.cron.log
#~ MAGENTO END adc062915d7b30804a2b340095af072d

Configurar Nginx #

Si siguió nuestra guía LEMP en CentOS 7, ya debería tener Nginx instalado en su máquina. Ahora solo necesitamos crear un nuevo bloque de servidor para nuestra instalación de Magento. Vamos a incluir la configuración predeterminada de Nginx enviada con magento:

/etc/nginx/conf.d/example.com.conf
upstream fastcgi_backend {
  server   unix:/run/php-fpm/magento.sock;
}

server {
    listen 80;
    server_name example.com www.example.com;

    include snippets/letsencrypt.conf;
    return 301 https://example.com$request_uri;
}

server {
    listen 443 ssl http2;
    server_name www.example.com;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
    include snippets/ssl.conf;

    return 301 https://example.com$request_uri;
}

server {
    listen 443 ssl http2;
    server_name example.com;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
    include snippets/ssl.conf;

    set $MAGE_ROOT /opt/magento/public_html;
    set $MAGE_MODE developer; # or production

    access_log /var/log/nginx/example.com-access.log;
    error_log /var/log/nginx/example.com-error.log;

    include /opt/magento/public_html/nginx.conf.sample;
}

Vuelva a cargar el servicio Nginx para que los cambios surtan efecto:

sudo systemctl reload nginx

Finalmente, debería poder iniciar sesión en su instalación de Magento en https://example.com/admin_1csalp usando el usuario administrador que especificó cuando ejecutó el instalador de Magento.


Cent OS
  1. Cómo instalar Vagrant en CentOS 7

  2. Cómo instalar Gitea en CentOS 8

  3. Cómo instalar Memcached en CentOS 8

  4. Cómo instalar Nginx en CentOS 7

  5. Instalar Jenkins en CentOS 8

Instale Odoo 13 en CentOS 8

Cómo instalar Magento 2.1 en CentOS 7

Cómo instalar Magento en CentOS 8

Cómo instalar Zoom en CentOS 8

Cómo instalar Nethogs en CentOS

Cómo instalar Magento en CentOS 6