Magento es un software de comercio electrónico de código abierto y un sistema de gestión de contenido para sitios web de comercio electrónico basado en PHP Zend Framework. Utiliza MySQL o MariaDB como base de datos. Varien inició el desarrollo de Magento en 2008.
En este tutorial, le mostraré cómo instalar Magento 2 con Nginx, PHP 7.0 en modo FPM y MariaDB como base de datos. Usaré ubuntu 16.04 (Xenial Xerus) como sistema operativo de servidor. Si aún no tiene una configuración de servidor mínima, consulte este tutorial para obtener una configuración básica adecuada.
Requisitos previos:
- Ubuntu 16.04 - 64 bits.
- Privilegios de raíz.
Paso 1:instalar Nginx
Inicie sesión en su servidor Ubuntu con su cuenta raíz (por ejemplo, por SSH) y actualice el repositorio.
sudo su
apt-get update
Luego instale Nginx:
apt-get install nginx -y
Verifique que nginx se haya instalado correctamente comprobando el puerto:
netstat -plntu | grep 80
Paso 2:instalar y configurar PHP-FPM
En este paso instalaremos PHP 7 en modo PHP-FPM. Además, instalaremos las siguientes extensiones PHP requeridas por magento.
- php-gd
- php-mhash
- php-mcrypt
- php-xsl
- php-pera
- php-soap
Instale los paquetes con el comando apt a continuación:
apt-get install php7.0-fpm php7.0-mcrypt php7.0-curl php7.0-cli php7.0-mysql php7.0-gd php7.0-xsl php7.0-json php7.0-intl php-pear php7.0-dev php7.0-common php7.0-mbstring php7.0-zip php-soap libcurl3 curl -y
Ahora edite los archivos php.ini para fpm y cli.
vim /etc/php/7.0/fpm/php.ini
vim /etc/php/7.0/cli/php.ini
y aumente el límite de memoria y el tiempo de ejecución de php y active la compresión zlib agregando las siguientes líneas al final de los archivos:
memory_limit = 512M
max_execution_time = 1800
zlib.output_compression = On
Guarde el archivo y salga del editor.
Reinicie el servicio PHP-FPM para aplicar los cambios de configuración:
systemctl restart php7.0-fpm
Paso 3:instalar y configurar MariaDB
Usaré MariaDB en lugar de MySQL aquí. Instale MariaDB con el comando apt:
apt-get install mariadb-server mariadb-client -y
Establezca la contraseña de usuario root de MariaDB con este comando:
mysqladmin -u root password mypassword
mysql_secure_installation
Set root password? [Y/n] Y
New password:
Re-enter new password: <-- Enter the new password
Remove anonymous users? [Y/n] Y
... Success!
Disallow root login remotely? [Y/n] Y
... Success!
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
... Success!
Luego conéctese al shell de MySQL (el shell de MariaDB se inicia con el comando mysql ) con su contraseña raíz, cree una base de datos con el nombre 'magentodb ' y un usuario 'magentouser ' con la contraseña '[email protected] '. Elija una contraseña segura para el 'magentouser' en su servidor y no la de '[email protected] ' que usé en este ejemplo!
Inicie sesión en el shell de MySQL:
mysql -u root -p
En el shell de MySQL, ejecute estos comandos:
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;
\q
Base de datos creada y configurada.
Paso 4:instalar y configurar Magento 2
Instalaremos Magento en el directorio '/var/www/magento2'. Para la instalación de Magento, necesitamos el compositor de PHP.
- Instalar php composer
Vaya al directorio raíz, descargue el archivo de instalación de Composer con curl y ejecútelo para instalar Composer.
cd ~/
curl -sS https://getcomposer.org/installer | php
Mueva el archivo 'composer.phar' al directorio bin de su servidor y cámbiele el nombre a composer para que pueda ejecutarse fácilmente:
mv composer.phar /usr/bin/composer
Ahora verifique que el comando composer esté funcionando:
composer -v
- Descarga y Extrae Magento 2
Vaya al directorio web '/var/www/' y descargue Magento desde su repositorio de Github, luego descomprima el archivo tar.gz descargado:
cd /var/www/
wget https://github.com/magento/magento2/archive/2.0.7.tar.gz
tar -xzvf 2.0.7.tar.gz
mv magento2-2.0.7/ magento2/
Listo.
- Configurar la clave Magento
Registre una cuenta en el sitio web de Magento repo.magento.com. Esta cuenta es necesaria para usar Magento y la tienda de compositores de Magento. Cuando se haya registrado, vaya a la pestaña 'Mi cuenta> Desarrollador> Clave segura s', luego genere sus claves.
- Instalar componentes de terceros para Magento
Vaya al directorio de instalación de Magento 2 '/var/www/magento2' y ejecute el comando composer:
cd /var/www/magento2/
composer install -v
Se le pedirá la autenticación de Magento, use la clave pública como nombre de usuario y la clave privada como contraseña.
- Configurar el host virtual de Nginx
Magento ofrece una configuración de host virtual Nginx lista para usar, por lo que solo tenemos que incluirla en nuestra configuración.
Vaya al directorio de host virtual de Nginx y cree un nuevo archivo llamado magento:
cd /etc/nginx/sites-available/
vim magento
Pegue la configuración a continuación:
upstream fastcgi_backend {
server unix:/run/php/php7.0-fpm.sock;
}
server {
listen 80;
server_name www.newmagento.com;
set $MAGE_ROOT /var/www/magento2;
set $MAGE_MODE developer;
include /var/www/magento2/nginx.conf.sample;
}
Reemplace www.newmagento.com con el nombre de dominio del sitio web que usará su tienda.
Guardar y salir.
Ahora active el host virtual y reinicie Nginx:
ln -s /etc/nginx/sites-available/magento /etc/nginx/sites-enabled/
systemctl restart nginx
- Instalar Magento
Instalaremos magento en la línea de comandos. En el directorio de Magento '/var/www/magento2/' hay un archivo binario con el nombre 'magento' que se usa para instalar y administrar magento. Ejecute el comando:
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://www.newmagento.com" \
--base-url-secure="https://www.newmagento.com" \
--admin-user=adminuser \
[email protected] \
[email protected] \
--admin-firstname=admin \
--admin-lastname=user \
--cleanup-database
backend-frontname =la página de administración de nuestro sitio magento, usamos 'adminlogin '.
Clave =nuestras claves magento, podemos generarlas o encontrarlas aleatoriamente en http://randomkeygen.com/.
Base-url =asegúrese de que sea lo mismo con la configuración del host virtual.
Al final del procedimiento de instalación debería ver estas líneas:
[SUCCESS]: Magento installation complete. [SUCCESS]: Magento Admin URI: /adminlogin
Antes de probar la instalación de Magento, asegúrese de que el propietario del directorio web sea 'www-data ', luego reinicie nginx.
cd /var/www/magento2/
chmod 700 /var/www/magento2/app/etc
chown -R www-data:www-data .
systemctl restart nginx
Ahora abra el dominio de Magento en su navegador:
En mi caso, el nombre de dominio es:www.newmagento.com .
Intente iniciar sesión en el panel de administración de Magento:
www.newmagento.com/adminlogin
Nota:
Si recibe un error sobre un cronjob indexador de Magento faltante, puede resolverlo agregando el siguiente cronjob a su servidor:
crontab -u www-data -e
Agregue las siguientes líneas:
* * * * * /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
Guardar y salir.
Magento 2 con Nginx y PHP-FPM 7 en Ubuntu 16.04 ya está instalado.
Conclusión
Magento es una plataforma de comercio electrónico de código abierto basada en PHP Zend Framework. Es un software de comercio electrónico complejo para ayudarlo con su negocio en línea. Magento utiliza una arquitectura MVC (Model-View-Controller) y MySQL o MariaDB como base de datos. Magento es fácil de instalar, podemos instalarlo con el servidor web Nginx o Apache. Magento se ha convertido en uno de los software de comercio electrónico más populares de Internet y muchos sitios web de tiendas de éxito lo utilizan en todo el mundo.