OpenCar es una plataforma de comercio electrónico PHP gratuita y de código abierto que combina funciones potentes con flexibilidad y una interfaz fácil de usar.
Con funciones como Gestión de usuarios, Multitienda, Afiliados, Descuentos, Reseñas de productos, Multilingüe y múltiples Pasarelas de pago, OpenCart es una plataforma elegida por muchos comerciantes en línea.
En este tutorial, le mostraremos cómo instalar OpenCart en el servidor Ubuntu 18.04. Usaremos Nginx como servidor web, el último PHP 7.2 y MySQL/MariaDB como servidor de base de datos.
Requisitos previos #
Asegúrese de cumplir con los siguientes requisitos previos antes de continuar con este tutorial:
- Tenga un nombre de dominio que apunte a la IP de su servidor público. Usaremos
example.com
. - Nginx se instala en su servidor Ubuntu siguiendo estas instrucciones.
- Un certificado SSL instalado para su dominio para encriptar la información del usuario. Puede instalar un certificado SSL gratuito de Let's Encrypt siguiendo estas instrucciones.
Actualice los paquetes del sistema a las últimas versiones e instale la utilidad de descompresión:
sudo apt update && sudo apt upgrade
sudo apt install unzip
Creando base de datos MySQL #
Si tiene instalado MySQL o MariaDB en su servidor, puede omitir este paso; si no, puede instalar el paquete del servidor MySQL 5.7 desde los repositorios predeterminados de Ubuntu escribiendo:
sudo apt install mysql-server mysql-client
Para instalaciones nuevas de MySQL, se recomienda ejecutar mysql_secure_installation
comando para mejorar la seguridad de su servidor MySQL. Inicie sesión en el shell de MySQL usando el siguiente comando:
sudo mysql
Desde el shell de MySQL, ejecute la siguiente instrucción SQL para crear una nueva base de datos llamada opencart
:
CREATE DATABASE opencart;
A continuación, cree una cuenta de usuario de MySQL llamada opencart
y otorgue los permisos necesarios al usuario ejecutando el siguiente comando:
GRANT ALL ON opencart.* TO 'opencart'@'localhost' IDENTIFIED BY 'change-with-strong-password';
Asegúrate de cambiar change-with-strong-password
con una contraseña segura. Una vez hecho esto, salga de la consola mysql escribiendo:
EXIT;
Instalación y configuración de PHP #
PHP 7.2, que es la versión predeterminada de PHP en Ubuntu 18.04, es totalmente compatible y recomendado para OpenCart. Dado que usaremos Nginx como servidor web, también instalaremos el paquete PHP-FPM.
Ejecute el siguiente comando para instalar PHP y todos los módulos PHP necesarios:
sudo apt install php7.2-common php7.2-cli php7.2-fpm php7.2-opcache php7.2-gd php7.2-mysql php7.2-curl php7.2-intl php7.2-xsl php7.2-mbstring php7.2-zip php7.2-bcmath php7.2-soap
El servicio PHP-FPM se iniciará automáticamente después de que se complete el proceso de instalación, puede verificarlo imprimiendo el estado del servicio:
sudo systemctl status php7.2-fpm
El resultado debe indicar que el servicio fpm está activo y ejecutándose.
● php7.2-fpm.service - The PHP 7.2 FastCGI Process Manager
Loaded: loaded (/lib/systemd/system/php7.2-fpm.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2019-02-25 10:45:42 UTC; 53s ago
Docs: man:php-fpm7.2(8)
Main PID: 27446 (php-fpm7.2)
Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec"
Tasks: 3 (limit: 505)
CGroup: /system.slice/php7.2-fpm.service
├─27446 php-fpm: master process (/etc/php/7.2/fpm/php-fpm.conf)
Configure las opciones PHP requeridas y recomendadas editando el php.ini
archivo con sed
::
sudo sed -i "s/memory_limit = .*/memory_limit = 1024M/" /etc/php/7.2/fpm/php.ini
sudo sed -i "s/upload_max_filesize = .*/upload_max_filesize = 256M/" /etc/php/7.2/fpm/php.ini
sudo sed -i "s/zlib.output_compression = .*/zlib.output_compression = on/" /etc/php/7.2/fpm/php.ini
sudo sed -i "s/max_execution_time = .*/max_execution_time = 18000/" /etc/php/7.2/fpm/php.ini
sudo sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php/7.2/fpm/php.ini
sudo sed -i "s/;opcache.save_comments.*/opcache.save_comments = 1/" /etc/php/7.2/fpm/php.ini
Instalando OpenCart #
Al momento de escribir este artículo, la última versión estable de OpenCart es la versión 3.0.3.1
.
Antes de descargar el archivo de OpenCart, primero cree un directorio que contendrá nuestros archivos de OpenCart:
sudo mkdir -p /var/www/html/example.com
Descargue la última versión de OpenCart del repositorio OpenCart Github con el siguiente comando wget:
cd /tmp
wget https://github.com/opencart/opencart/releases/download/3.0.3.1/opencart-3.0.3.1.zip
Una vez que se complete la descarga, extraiga el archivo de OpenCart y mueva los archivos extraídos al directorio raíz del documento del dominio:
unzip opencart-*.zip
sudo mv /tmp/upload/* /var/www/html/example.com/
Copie los archivos de configuración usando el cp
comando:
sudo cp /var/www/html/example.com/{config-dist.php,config.php}
sudo cp /var/www/html/example.com/admin/{config-dist.php,config.php}
Establezca los permisos correctos para que el servidor web pueda tener acceso completo a los archivos y directorios del sitio usando el siguiente comando chown:
sudo chown -R www-data: /var/www/html
Configuración de Nginx #
A estas alturas, ya debería tener Nginx con certificado SSL instalado en su servidor Ubuntu, si no, verifique los requisitos previos para este tutorial.
Abre tu editor de texto y crea el siguiente archivo:
sudo nano /etc/nginx/sites-available/example.com
/etc/nginx/sites-available/example.com# Redirect HTTP -> HTTPS
server {
listen 80;
server_name www.example.com example.com;
include snippets/letsencrypt.conf;
return 301 https://example.com$request_uri;
}
# Redirect WWW -> NON WWW
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;
root /var/www/html/example.com;
index index.php;
# SSL parameters
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;
include snippets/letsencrypt.conf;
# log files
access_log /var/log/nginx/example.com.access.log;
error_log /var/log/nginx/example.com.error.log;
location = /favicon.ico {
log_not_found off;
access_log off;
}
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
expires max;
log_not_found off;
}
}
No olvide reemplazar example.com con su dominio OpenCart y establezca la ruta correcta a los archivos del certificado SSL. Todas las solicitudes HTTP se redirigirán a HTTPS. Los fragmentos utilizados en esta configuración se crean en esta guía. Antes de reiniciar el servicio Nginx, haga una prueba para asegurarse de que no haya errores de sintaxis:
sudo nginx -t
Si no hay errores, la salida debería verse así:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Finalmente, reinicie el servicio Nginx escribiendo:
sudo systemctl restart nginx
Completando la instalación de OpenCart #
Ahora que se descargó OpenCart y se completó la configuración del servidor, puede finalizar la instalación a través de la interfaz web.
Abra su navegador, escriba su dominio y aparecerá una pantalla similar a la siguiente:
Lea el acuerdo de licencia de OpenCart, seleccione el idioma que le gustaría usar y haga clic en Continue
botón.
A continuación, verá la siguiente página de información:
Asegúrese de que se cumplan todos los requisitos previos a la instalación y haga clic en Continue
botón.
En la siguiente pantalla, el asistente de configuración le pedirá que ingrese los detalles de conexión de su base de datos. Ingrese el usuario de MySQL y los detalles de la base de datos que creó anteriormente.
Ingrese un nombre de usuario, contraseña y dirección de correo electrónico para la administración e inicie la instalación haciendo clic en Continue
botón.
Una vez que se complete la instalación, accederá a una página que le informará que se ha instalado OpenCart.
Para acceder a su panel administrativo de OpenCart, haga clic en Login to your Administration
botón. Ingrese su nombre de usuario y contraseña y será redirigido al panel de administración.
La primera vez que inicie sesión, aparecerá una ventana emergente que le pedirá que mueva el directorio de almacenamiento fuera del directorio web.
Mantenga el Automatically Move
predeterminado y haz clic en el botón rojo Move
botón. El directorio donde está moviendo el storage
el servidor web debe poder acceder al directorio.
Desde aquí, puede comenzar a personalizar su instalación de OpenCart y agregar nuevos productos.
También deberá eliminar el directorio de instalación. Para ello, vuelve a la terminal y escribe lo siguiente rm
comando:
sudo rm -rf /var/www/html/example.com/install