Usando Linux para muchas cosas y disfrutando de videojuegos, en dispositivos moviles, consolas y pc. Using Linux for many things and enjoying video games, mobile devices, consoles and pc

Aprende a instalar Magento 2 y comienza a vender YA rapido

DriveMeca instalando y configurando Magento 2 en Linux Ubuntu Xenial Server
El mundo cada vez es mas pequeño al estar interconectados en todo momento. Esto también pasa en la forma en que compramos o vendemos productos (digitales, físicos, servicios, etc). Ecommerce (comercio electrónico) abre muchas posibilidades siempre que tengamos una base fuerte para manejar nuestra tienda virtual lo que nos lleva al tema del articulo de hoy donde te mostrare paso a paso, en español y con screenshoots como instalar y configurar Magento 2.0.4.
Magento podemos decir que es conocido por ser muy estable y poderoso para manejar grandes catálogos de productos sin ningún problema. Ahora, no es muy sencillo de instalar y configurar como otras soluciones en el medio llevando a muchos a pensarlo varias veces antes de decidirse por el (imagino que por eso me estas leyendo ahora, cierto?).


Requerimientos para instalar Magento en Linux Ubuntu Xenial Server




-Abrimos una consola de texto e instalamos dependencias. Usaremos una configuracion LEMP (Linux + Nginx + MariaDB + PHP 7)
sudo apt install php mariadb-server varnish nginx php-curl php-dom php-xsl php-intl php-mbstring php-zip php-simplexml php-gd php-mcrypt php-mysql


Configuramos MariaDB para Magento 2

-Aseguramos la configuracion de nuestro MariaDB colocandole contraseña a la cuenta root. Los valores por default son suficientes por lo que daremos Enter en las preguntas despues de crear la contraseña
sudo mysql_secure_installation

-Entramos a crear la db de Magento y un usuario con privilegios
sudo mysql -u root -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 52
Server version: 10.0.25-MariaDB-0ubuntu0.16.04.1 Ubuntu 16.04

Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> create database magentodb;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> grant all on magentodb.* to 'musr'@'localhost' identified by 'password';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> exit;
Bye


Configuramos PHP 7 para Magento 2

-Los cambios para PHP 7 son minimos, solo aumentar el valor de memoria limite
sudo vi /etc/php/7.0/fpm/php.ini
memory_limit = 1024M


Configuramos Ngix para Magento 2

-Crearemos un nuevo conf por lo cual movemos el archivo default con otro nombre
sudo mv /etc/nginx/sites-available/default /etc/nginx/sites-available/default.bck

-Creamos un nuevo default. Las lineas que comienzan con el simbolo # son comentarios
sudo vi /etc/nginx/sites-available/default
# Default server configuration
#
server {
listen 127.0.0.1:8080 default_server;
listen [::]:8080 default_server;

set $MAGE_ROOT /var/www/html/magento2/;
set $MAGE_MODE developer;

# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;

server_name _;
root $MAGE_ROOT/pub;

index index.php;
autoindex off;
charset off;

location /setup {
root $MAGE_ROOT;
location ~ ^/setup/index.php {
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

location ~ ^/setup/(?!pub/). {
deny all;
}

location ~ ^/setup/pub/ {
add_header X-Frame-Options "SAMEORIGIN";
}
}

location /update {
root $MAGE_ROOT;

location ~ ^/update/index.php {
fastcgi_split_path_info ^(/update/index.php)(/.+)$;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
include fastcgi_params;
}

# deny everything but index.php
location ~ ^/update/(?!pub/). {
deny all;
}

location ~ ^/update/pub/ {
add_header X-Frame-Options "SAMEORIGIN";
}
}

location / {
try_files $uri $uri/ /index.php?$args;
}

location /pub {
location ~ ^/pub/media/(downloadable|customer|import|theme_customization/.*\.xml) {
deny all;
}
alias $MAGE_ROOT/pub;
add_header X-Frame-Options "SAMEORIGIN";
}

location /static/ {
if ($MAGE_MODE = "production") {
expires max;
}

# Remove signature of the static files that is used to overcome the browser cache
location ~ ^/static/version {
rewrite ^/static/(version\d*/)?(.*)$ /static/$2 last;
}

location ~* \.(ico|jpg|jpeg|png|gif|svg|js|css|swf|eot|ttf|otf|woff|woff2)$ {
add_header Cache-Control "public";
add_header X-Frame-Options "SAMEORIGIN";
expires +1y;

if (!-f $request_filename) {
rewrite ^/static/(version\d*/)?(.*)$ /static.php?resource=$2 last;
}
}
location ~* \.(zip|gz|gzip|bz2|csv|xml)$ {
add_header Cache-Control "no-store";
add_header X-Frame-Options "SAMEORIGIN";
expires off;

if (!-f $request_filename) {
rewrite ^/static/(version\d*/)?(.*)$ /static.php?resource=$2 last;
}
}
if (!-f $request_filename) {
rewrite ^/static/(version\d*/)?(.*)$ /static.php?resource=$2 last;
}
add_header X-Frame-Options "SAMEORIGIN";
}

location /media/ {
try_files $uri $uri/ /get.php?$args;

location ~ ^/media/theme_customization/.*\.xml {
deny all;
}

location ~* \.(ico|jpg|jpeg|png|gif|svg|js|css|swf|eot|ttf|otf|woff|woff2)$ {
add_header Cache-Control "public";
add_header X-Frame-Options "SAMEORIGIN";
expires +1y;
try_files $uri $uri/ /get.php?$args;
}
location ~* \.(zip|gz|gzip|bz2|csv|xml)$ {
add_header Cache-Control "no-store";
add_header X-Frame-Options "SAMEORIGIN";
expires off;
try_files $uri $uri/ /get.php?$args;
}
add_header X-Frame-Options "SAMEORIGIN";
}

location /media/customer/ {
deny all;
}

location /media/downloadable/ {
deny all;
}

location /media/import/ {
deny all;
}

location ~ (index|get|static|report|404|503)\.php$ {
try_files $uri =404;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
fastcgi_buffers 1024 4k;

fastcgi_param PHP_FLAG "session.auto_start=off \n suhosin.session.cryptua=off";
fastcgi_param PHP_VALUE "memory_limit=768M \n max_execution_time=600";
fastcgi_read_timeout 600s;
fastcgi_connect_timeout 600s;
fastcgi_param MAGE_MODE $MAGE_MODE;

fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

gzip on;
gzip_disable "msie6";

gzip_comp_level 6;
gzip_min_length 1100;
gzip_proxied any;
gzip_types
text/plain
text/css
text/js
text/xml
text/javascript
application/javascript
application/x-javascript
application/json
application/xml
application/xml+rss;

location ~ \.php$ {
deny all;
}
}


Configuramos Varnish para Magento 2

-Varnish es un acelerador web cuya función básicamente es servir paginas estáticas guardadas en cache y solo dejar que el servidor web maneje las solicitudes de paginas dinámicas. Esto es muy importante para servidores web con altas cargas y ayudara a que tu tienda online no sufra de lentitud. Copiamos el script de inicio para que sea manejado por systemd
sudo cp /lib/systemd/system/varnish.service /etc/systemd/system/

-Modificamos el script cambiando el puerto y la cantidad de memoria usada por Varnish
sudo vi /etc/systemd/system/varnish.service
ExecStart=/usr/sbin/varnishd -j unix,user=vcache -F -a :80 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,1024m

-Activamos Nginx para que sea ejecutado cada vez que prendamos el equipo e iniciamos el servicio
sudo systemctl enable nginx
sudo systemctl restart nginx

-Verificamos este ejecutandose
sudo systemctl status nginx
● nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
   Active: active (running) since sáb 2016-08-06 16:24:32 COT; 5s ago
  Process: 20848 ExecStop=/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid (code=exited, status=0/SUCCESS)
  Process: 20856 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
  Process: 20852 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
 Main PID: 20859 (nginx)
    Tasks: 3
   Memory: 2.8M
      CPU: 103ms
   CGroup: /system.slice/nginx.service
           ├─20859 nginx: master process /usr/sbin/nginx -g daemon on; master_process on
           ├─20860 nginx: worker process                           
           └─20861 nginx: worker process                           

ago 06 16:24:32 ubuser systemd[1]: Starting A high performance web server and a reverse proxy server...
ago 06 16:24:32 ubuser systemd[1]: Started A high performance web server and a reverse proxy server.

-Activamos Varnish y lo ejecutamos
sudo  systemctl enable varnish
sudo  systemctl restart varnish

-Verificamos este ejecutandose
sudo  systemctl status varnish
● varnish.service - Varnish HTTP accelerator
   Loaded: loaded (/etc/systemd/system/varnish.service; enabled; vendor preset: enabled)
   Active: active (running) since sáb 2016-08-06 16:28:03 COT; 44s ago
     Docs: https://www.varnish-cache.org/docs/4.1/
           man:varnishd
 Main PID: 20920 (varnishd)
   CGroup: /system.slice/varnish.service
           ├─20920 /usr/sbin/varnishd -j unix,user=vcache -F -a :80 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,102
           └─20931 /usr/sbin/varnishd -j unix,user=vcache -F -a :80 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,102

ago 06 16:28:03 ubuser systemd[1]: Started Varnish HTTP accelerator.
ago 06 16:28:05 ubuser varnishd[20920]: Debug: Platform: Linux,4.4.0-31-generic,x86_64,-junix,-smalloc,-smalloc,-hcritbit
ago 06 16:28:05 ubuser varnishd[20920]: Platform: Linux,4.4.0-31-generic,x86_64,-junix,-smalloc,-smalloc,-hcritbit
ago 06 16:28:05 ubuser varnishd[20920]: Debug: Child (20931) Started
ago 06 16:28:05 ubuser varnishd[20920]: Child (20931) Started
ago 06 16:28:05 ubuser varnishd[20920]: Info: Child (20931) said Child starts
ago 06 16:28:05 ubuser varnishd[20920]: Child (20931) said Child starts

-Activamos y ejecutamos el servicio php7.0-fpm
sudo systemctl enable php7.0-fpm
sudo systemctl restart php7.0-fpm

-Verificamos este ejecutandose correctamente
sudo systemctl status php7.0-fpm
● php7.0-fpm.service - The PHP 7.0 FastCGI Process Manager
   Loaded: loaded (/lib/systemd/system/php7.0-fpm.service; enabled; vendor preset: enabled)
   Active: active (running) since sáb 2016-08-06 16:30:28 COT; 17s ago
  Process: 21241 ExecStartPre=/usr/lib/php/php7.0-fpm-checkconf (code=exited, status=0/SUCCESS)
 Main PID: 21254 (php-fpm7.0)
   Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec"
    Tasks: 3
   Memory: 31.6M
      CPU: 128ms
   CGroup: /system.slice/php7.0-fpm.service
           ├─21254 php-fpm: master process (/etc/php/7.0/fpm/php-fpm.conf)                      
           ├─21256 php-fpm: pool www                                                            
           └─21257 php-fpm: pool www                                                            

ago 06 16:30:27 ubuser systemd[1]: Starting The PHP 7.0 FastCGI Process Manager...
ago 06 16:30:28 ubuser systemd[1]: Started The PHP 7.0 FastCGI Process Manager.


Descargamos Magento 2 en Linux Ubuntu Xenial Server

-Nos cambiamos al directorio web y descargamos Magento 2 en su ultima versión (2.0.4 en este momento) desde el repositorio Git Magento
cd /var/www/html/
sudo git clone https://github.com/magento/magento2.git
Clonar en «magento2»...
remote: Counting objects: 1172366, done.
remote: Compressing objects: 100% (2673/2673), done.
remote: Total 1172366 (delta 1710), reused 0 (delta 0), pack-reused 1169110
Receiving objects: 100% (1172366/1172366), 286.43 MiB | 603.00 KiB/s, done.
Resolving deltas: 100% (649048/649048), done.
Comprobando la conectividad… hecho.
Extrayendo archivos: 100% (24989/24989), done.

-Entramos al directorio de Magento y continuamos
cd magento2/
sudo git checkout tags/2.0.4
Extrayendo archivos: 100% (12380/12380), done.
Note: checking out 'tags/2.0.4'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD se encuentra en b6bb8e5... MAGETWO-48486: Magento 2.0.4 Publication

-Damos permiso total en la carpeta magento2 y reiniciamos los servicios nginx y php7.0-fpm
sudo chmod -R 777 /var/www/html/magento2/
sudo systemctl restart nginx
sudo systemctl restart php7.0-fpm

-Este paso es importante. Abrimos un browser y navegamos a https://www.magentocommerce.com/ Allí creamos una cuenta (es GRATIS) y generamos una llave publica y privada que se nos pedirá en un paso mas adelante. Menú Connect - Secure Keys. Damos click al botón Generate new, escribimos un nombre y se nos mostrara la llave publica junto a la privada
DriveMeca instalando y configurando Magento 2 en Linux Ubuntu Xenial Server

-Instalamos módulos para Magento teniendo cuidado cuando llegue a pedirnos un usuario y contraseña para el repositorio de Magento. Alli debemos pegar en Username nuestra llave publica y en Password la llave privada (la llave privada no se vera cuando la pegues). Aceptamos guardar las credenciales en el directorio del usuario desde el que estamos instalando
sudo composer install
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
  - Installing magento/magento-composer-installer (0.1.6)
    Downloading: 100%         

  - Installing braintree/braintree_php (2.39.0)
    Downloading: 100%         

  - Installing justinrainbow/json-schema (1.6.1)
    Downloading: 100%         

  - Installing symfony/console (v2.6.13)
    Downloading: 100%         

  - Installing symfony/process (v2.8.4)
    Downloading: 100%         

  - Installing symfony/finder (v2.8.4)
    Downloading: 100%         

  - Installing seld/jsonlint (1.4.0)
    Downloading: 100%         

  - Installing composer/composer (1.0.0-alpha10)
    Downloading: 100%         

  - Installing magento/composer (1.0.2)
    Authentication required (repo.magento.com):
      Username: 78605c946e18190ec0f7xxxxxxef5xxxx <---Llave publica
      Password: <-- Llave privada
    Downloading: 100%         
Do you want to store credentials for repo.magento.com in /home/drivemeca/.composer/auth.json ? [Yn] 

  - Installing magento/zendframework1 (1.12.16)
    Downloading: 100%         

  - Installing psr/log (1.0.0)
    Downloading: 100%         

  - Installing monolog/monolog (1.16.0)
    Downloading: 100%         

  - Installing oyejorge/less.php (v1.7.0.3)
    Downloading: 100%         

  - Installing pelago/emogrifier (v0.1.1)
    Downloading: 100%         

  - Installing phpseclib/phpseclib (0.3.10)
    Downloading: 100%         

  - Installing tedivm/jshrink (v1.0.1)
    Downloading: 100%         

  - Installing tubalmartin/cssmin (v2.4.8-p4)
    Downloading: 100%         

  - Installing zendframework/zend-stdlib (2.4.9)
    Downloading: 100%         

  - Installing zendframework/zend-config (2.4.9)
    Downloading: 100%         

  - Installing zendframework/zend-console (2.4.9)
    Downloading: 100%         

  - Installing zendframework/zend-servicemanager (2.4.9)
    Downloading: 100%         

  - Installing zendframework/zend-math (2.4.9)
    Downloading: 100%         

  - Installing zendframework/zend-crypt (2.4.9)
    Downloading: 100%         

  - Installing zendframework/zend-eventmanager (2.4.9)
    Downloading: 100%         

  - Installing zendframework/zend-code (2.4.9)
    Downloading: 100%         

  - Installing zendframework/zend-di (2.4.9)
    Downloading: 100%         

  - Installing zendframework/zend-validator (2.4.9)
    Downloading: 100%         

  - Installing zendframework/zend-escaper (2.4.9)
    Downloading: 100%         

  - Installing zendframework/zend-uri (2.4.9)
    Downloading: 100%         

  - Installing zendframework/zend-loader (2.4.9)
    Downloading: 100%         

  - Installing zendframework/zend-http (2.4.9)
    Downloading: 100%         

  - Installing zendframework/zend-i18n (2.4.9)
    Downloading: 100%         

  - Installing zendframework/zend-filter (2.4.9)
    Downloading: 100%         

  - Installing zendframework/zend-inputfilter (2.4.9)
    Downloading: 100%         

  - Installing zendframework/zend-log (2.4.9)
    Downloading: 100%         

  - Installing zendframework/zend-modulemanager (2.4.9)
    Downloading: 100%         

  - Installing zendframework/zend-form (2.4.9)
    Downloading: 100%         

  - Installing zendframework/zend-mvc (2.4.9)
    Downloading: 100%         

  - Installing zendframework/zend-json (2.4.9)
    Downloading: 100%         

  - Installing zendframework/zend-serializer (2.4.9)
    Downloading: 100%         

  - Installing zendframework/zend-server (2.4.9)
    Downloading: 100%         

  - Installing zendframework/zend-soap (2.4.9)
    Downloading: 100%         

  - Installing zendframework/zend-text (2.4.9)
    Downloading: 100%         

  - Installing zendframework/zend-view (2.4.9)
    Downloading: 100%         

  - Installing symfony/stopwatch (v3.0.4)
    Downloading: 100%         

  - Installing symfony/filesystem (v2.8.4)
    Downloading: 100%         

  - Installing symfony/event-dispatcher (v2.8.4)
    Downloading: 100%         

  - Installing sebastian/diff (1.4.1)
    Downloading: 100%         

  - Installing fabpot/php-cs-fixer (v1.11.2)
    Downloading: 100%         

  - Installing lusitanian/oauth (v0.7.0)
    Downloading: 100%         

  - Installing symfony/dependency-injection (v2.8.4)
    Downloading: 100%         

  - Installing symfony/config (v2.8.4)
    Downloading: 100%         

  - Installing pdepend/pdepend (2.2.2)
    Downloading: 100%         

  - Installing phpmd/phpmd (2.3.3)
    Downloading: 100%         

  - Installing phpunit/php-token-stream (1.4.8)
    Downloading: 100%         

  - Installing symfony/yaml (v2.8.4)
    Downloading: 100%         

  - Installing sebastian/version (1.0.6)
    Downloading: 100%         

  - Installing sebastian/recursion-context (1.0.2)
    Downloading: 100%         

  - Installing sebastian/exporter (1.2.1)
    Downloading: 100%         

  - Installing sebastian/environment (1.3.5)
    Downloading: 100%         

  - Installing sebastian/comparator (1.2.0)
    Downloading: 100%         

  - Installing phpunit/php-text-template (1.2.1)
    Downloading: 100%         

  - Installing doctrine/instantiator (1.0.5)
    Downloading: 100%         

  - Installing phpunit/phpunit-mock-objects (2.3.8)
    Downloading: 100%         

  - Installing phpunit/php-timer (1.0.7)
    Downloading: 100%         

  - Installing phpunit/php-file-iterator (1.3.4)
    Downloading: 100%         

  - Installing phpunit/php-code-coverage (2.2.4)
    Downloading: 100%         

  - Installing phpunit/phpunit (4.1.0)
    Downloading: 100%         

  - Installing league/climate (2.6.1)
    Downloading: 100%         

  - Installing sjparkinson/static-review (4.1.1)
    Downloading: 100%         

  - Installing squizlabs/php_codesniffer (1.5.3)
    Downloading: 100%         

..
..


-Cambiamos permisos
sudo chmod -R 755 /var/www/html/magento2/
sudo chmod -R 777 /var/www/html/magento2/var/
sudo chmod -R 777 /var/www/html/magento2/pub/
sudo chmod -R 777 /var/www/html/magento2/app/etc/


Instalamos Magento 2 en Linux Ubuntu 16.04 Server

-Abrimos un navegador y nos vamos al URL http://ip-servidor/setup/ Se nos pedirá aceptar la licencia. Damos click al botón Agree and Setup Magento
DriveMeca instalando y configurando Magento 2 en Linux Ubuntu Xenial Server

-La instalación de Magento 2 consta de 6 pasos. El primero verificara si tenemos correctamente instalado y configurado PHP. Damos click al botón Start Readiness Check
DriveMeca instalando y configurando Magento 2 en Linux Ubuntu Xenial Server

-Si haz seguido mis pasos todo debe darte en verde, sino, verifica el error, corrige y vuelve a chequear dando click al botón Try Again. Damos click al botón Next para continuar al paso 2
DriveMeca instalando y configurando Magento 2 en Linux Ubuntu Xenial Server

-El paso 2 es configurar la conexión a MariaDB con los datos Database Server Host (localhost), Database Server Username (musr), Database Server Password (password de la db) y Database Name (magentodb). Damos click al botón Next para continuar al paso 3
DriveMeca instalando y configurando Magento 2 en Linux Ubuntu Xenial Server

-El paso 3 nos permite activar el dominio internet por el que se conectaran a nuestro Magento ecommerce (por motivos de este articulo paso a paso usaremos la ip privada del servidor). El instalador generara un URL para servir de entrada al administrador al backend (modulo web administrativo)
DriveMeca instalando y configurando Magento 2 en Linux Ubuntu Xenial Server

-En Advanced Options, mas abajo, podemos activar un certificado SSL en caso de tenerlo entre otras opciones. Damos click al botón Next para continuar al paso 4
DriveMeca instalando y configurando Magento 2 en Linux Ubuntu Xenial Server

-En el 4to paso elegimos nuestra zona horaria, la moneda y el idioma por default de nuestra tienda en linea. Por default se instalaran todos los módulos. Damos click al botón Next para continuar al paso 5
DriveMeca instalando y configurando Magento 2 en Linux Ubuntu Xenial Server

-El 5to paso de la instalación es crear una cuenta de administrador. Esta sera la encargada de crear usuarios, crear paginas, categorías, productos, etc. Damos click al botón Next para continuar al paso 6
DriveMeca instalando y configurando Magento 2 en Linux Ubuntu Xenial Server

-Si llegaste hasta el 6to paso ya estas listo para instalar Magento 2 en Linux Ubuntu Server. Damos click al botón Install Now. Hora de ir por un café ;-)
DriveMeca instalando y configurando Magento 2 en Linux Ubuntu Xenial Server

-Comienza la instalación, podemos darle click a Console Log para ver en que va el proceso
DriveMeca instalando y configurando Magento 2 en Linux Ubuntu Xenial Server

-Dependiendo la potencia de tu equipo, puede que pasen una buena cantidad de minutos hasta que llegue al 100% de instalado. Ya podemos abrir una pestaña en nuestro navegador internet e ir al URL del administrador mostrado al final del log
DriveMeca instalando y configurando Magento 2 en Linux Ubuntu Xenial Server

-Entramos con la cuenta de administrador creada en pasos anteriores
DriveMeca instalando y configurando Magento 2 en Linux Ubuntu Xenial Server

-Y ya estamos en la consola o backend de Magento 2. A partir de aquí podemos crear categorías, cambiar el idioma de la tienda, políticas de precios, etc
DriveMeca instalando y configurando Magento 2 en Linux Ubuntu Xenial Server


Creamos tareas Cron para Magento 2 en Linux Ubuntu Xenial

-Muy importante (y es la razon del mensaje mostrado en la esquina superior derecha del backend) es crear las tareas de cron
sudo crontab -e
*/1 * * * * www-data php /var/www/html/magento2/bin/magento cron:run
*/1 * * * * www-data php /var/www/html/magento2/update/cron.php
*/1 * * * * www-data php /var/www/html/magento2/bin/magento setup:cron:run

-Reiniciamos el servicio de cron para que tome los cambios
sudo systemctl restart cron

-Esta es nuestra tienda en linea creada con Magento 2, muy básica, ciertamente, pero en ti esta agrandarla
DriveMeca instalando y configurando Magento 2 en Linux Ubuntu Xenial Server


Artículos recomendadosComo instalar Nextcloud en Linux Centos / Ubuntu Server
                                           Como instalar Clamav y usarlo en Linux paso a paso
                                           Como instalar Wine en Ubuntu
                                           Como activar los efectos de capas de Gimp en Ubuntu
                                           Como crear una imagen transparente en Gimp
                                           Como instalar MySQL Workbench en Linux Ubuntu paso a paso


Ya estamos listos para organizar nuestra tienda en linea y quien sabe, a lo mejor ser el próximo Amazon. Te gusto el articulo? hazme un favor, compártelo en tus redes sociales (compartir es sexy). Escríbeme en los comentarios aquí debajo y pasa la voz compartiendo el tweet.
Sígueme en twitter google+facebook o email y podrás estar enterado de todas mis publicaciones.
Disfrútenlo.

Share/Bookmark