OroCRM es una plataforma de gestión de relaciones con el cliente (CRM) de código abierto totalmente dirigida a equipos de comercio electrónico y marketing con una perspectiva multicanal. Es una aplicación de CRM totalmente personalizable y lista para empresas que proporciona toneladas de funciones. Está construido sobre el marco PHP Symfony y utiliza MySQL para almacenar sus datos. OroCRM viene en dos ediciones, Community Edition (CE) y Enterprise Edition (EE). Puede integrarlo fácilmente con otras plataformas de comercio electrónico como Magento y otras soluciones.
En este tutorial, aprenderemos cómo instalar OroCRM en Ubuntu 16.04.
Requisitos
- Un servidor con Ubuntu 16.04.
- Un usuario no root con privilegios sudo.
Cómo empezar
Primero, deberá actualizar su sistema a la última versión. Puedes hacer esto con el siguiente comando:
sudo apt-get update -y
sudo apt-get upgrade -y
Una vez que su sistema esté actualizado, reinícielo para aplicar todos los cambios. A continuación, instale los paquetes necesarios en su sistema con el siguiente comando:
sudo apt-get install git curl unzip wget -y
Instalar servidor LEMP
Antes de comenzar, deberá instalar LEMP (Nginx, MariaDB y PHP7) en su sistema.
Primero, instale Nginx usando el siguiente comando:
sudo apt-get install nginx -y
Una vez que Nginx esté instalado, inicie el servicio Nginx y habilítelo para que se inicie en el momento del arranque con el siguiente comando:
sudo systemctl start nginx
sudo systemctl enable nginx
De forma predeterminada, la última versión de MariaDB y PHP no está disponible en Ubuntu 16.04. Por lo tanto, deberá agregar el repositorio para eso.
Primero, agregue el repositorio de MariaDB con el siguiente comando:
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://kartolo.sby.datautama.net.id/mariadb/repo/10.2/ubuntu xenial main'
A continuación, agregue el repositorio de PHP con el siguiente comando:
sudo add-apt-repository ppa:ondrej/php
A continuación, actualice el repositorio con el siguiente comando:
sudo apt-get update -y
Una vez que se actualice el repositorio, instale MariaDB y PHP7 ejecutando el siguiente comando:
sudo apt-get install mariadb-server php7.0 php7.0-fpm php7.0-common php7.0-curl php7.0-gd php7.0-intl php7.0-json php7.0-mbstring php7.0-mcrypt php7.0-mysql php7.0-xml php7.0-xml php7.0-zip php7.0-tidy php7.0-soap php7.0-opcache -y
A continuación, deberá configurar la zona horaria y aumentar el límite de memoria en el archivo php.ini:
sudo nano /etc/php/7.0/cli/php.ini
Cambie la siguiente línea:
date.timezone = Asia/Kolkata
Guarde y cierre el archivo cuando haya terminado.
sudo nano /etc/php/7.0/fpm/php.ini
Cambie la siguiente línea:
memory_limit = 1024M
Guarde y cierre el archivo cuando haya terminado.
A continuación, inicie el servicio MariaDB y PHP-FPM y habilítelos para que se inicien en el arranque con el siguiente comando:
sudo systemctl start mysql
sudo systemctl enable mysql
sudo systemctl start php7.0-fpm
sudo systemctl enable php7.0-fpm
Configurar MariaDB para OroCRM
De forma predeterminada, la instalación de MariaDB no está protegida, por lo que primero deberá proteger MariaDB. Puede asegurarlo ejecutando el script mysql_secure_installation:
sudo mysql_secure_installation
Responda todas las preguntas como se muestra a continuación:
Set root password? [Y/n] Y New password: Re-enter new password: Remove anonymous users? [Y/n] Y Disallow root login remotely? [Y/n] Y Remove test database and access to it? [Y/n] Y Reload privilege tables now? [Y/n] Y
A continuación, inicie sesión en el shell de MariaDB y cree una base de datos y un usuario para OroCRM:
mysql -u root -p
Ingrese su contraseña de root y presione Enter, luego cree una base de datos y un usuario con el siguiente comando:
MariaDB [(none)]> CREATE DATABASE orodb;
MariaDB [(none)]> CREATE USER 'orouser'@'localhost' IDENTIFIED BY 'password';
A continuación, otorgue privilegios a la base de datos de OroCRM con el siguiente comando:
MariaDB [(none)]> GRANT ALL PRIVILEGES ON orodb.* TO 'orouser'@'localhost';
A continuación, ejecute el comando FLUSH PRIVILEGES para que MariaDB vuelva a cargar la tabla de privilegios:
MariaDB [(none)]> FLUSH PRIVILEGES;
Finalmente, salga del shell de MariaDB:
MariaDB [(none)]> EXIT
Una vez que MariaDB esté configurada, puede continuar con el siguiente paso.
Instalar Node.js y Composer
También deberá instalar Node.js y Composer en su sistema. Porque OroCRM usará Node.js para compilar JavaScript y Composer para instalar las dependencias de PHP.
Primero, agregue el repositorio Node.js usando el siguiente comando:
sudo curl --silent --location https://deb.nodesource.com/setup_8.x | sudo bash -
A continuación, instale Node.js y Composer con el siguiente comando:
sudo apt-get install nodejs -y
sudo php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
sudo php composer-setup.php
A continuación, copie Composer en el directorio /usr/bin con el siguiente comando:
sudo cp composer.phar /usr/bin/composer
Proporcione los permisos necesarios al Compositor con el siguiente comando:
sudo chmod 755 /usr/bin/composer
Instalar OroCRM
Primero, deberá descargar la última versión de OroCRM desde el repositorio de Git. Puedes hacer esto con el siguiente comando:
cd /var/www/html
sudo git clone -b 2.4 https://github.com/oroinc/crm-application.git orocrm
Luego, cambie el directorio a orocrm e instale las dependencias requeridas por PHP usando el siguiente comando:
cd orocrm
sudo composer install --prefer-dist --no-dev
Durante la instalación, deberá proporcionar los detalles de la base de datos, como el nombre de la base de datos, el nombre de usuario y la contraseña de la base de datos, el host de la base de datos de la siguiente manera:
Creating the "app/config/parameters.yml" file Some parameters are missing. Please provide them. database_driver (pdo_mysql): database_host (127.0.0.1): database_port (null): database_name (oro_crm): orodb database_user (root): orouser database_password (null): password mailer_transport (smtp): mailer_host (127.0.0.1): mailer_port (null): mailer_encryption (null): mailer_user (null): mailer_password (null): websocket_bind_address (0.0.0.0): websocket_bind_port (8080): websocket_frontend_host ('*'): websocket_frontend_port (8080): websocket_backend_host ('*'): websocket_backend_port (8080): web_backend_prefix (''): session_handler (session.handler.native_file): locale (en): secret (ThisTokenIsNotSoSecretChangeIt): installed (null): assets_version (null): assets_version_strategy (time_hash): message_queue_transport (dbal): message_queue_transport_config (null):
A continuación, instale la aplicación ejecutando el siguiente comando:
sudo php app/console oro:install --env=prod
Durante la instalación, deberá proporcionar los detalles de la cuenta de administrador:
Administration setup. Application URL (http://localhost): Organization name (OroCRM): Username (admin): Email: [email protected] First name: hitesh Last name: jethva Password: Load sample data (y/n): y Oro Application has been successfully installed in prod mode. Please run oro:api:doc:cache:clear command to warm-up API documentation cache Make sure that consumer command was running oro:message-queue:consume. More info you can find here: https://www.orocrm.com/documentation/current/book/installation#activating-background-tasks.
A continuación, caliente la caché de documentación de la API con el siguiente comando:
sudo php app/console oro:api:doc:cache:clear
Configurar Nginx para OroCRM
A continuación, deberá crear un archivo de host virtual Nginx para OroCRM. Puedes hacer esto con el siguiente comando:
sudo nano /etc/nginx/sites-available/orocrm
Agregue las siguientes líneas:
server { server_name example.com; root /var/www/html/orocrm/web; location / { # try to serve file directly, fallback to app.php try_files $uri /app.php$is_args$args; } location ~ ^/(app|app_dev|config|install)\.php(/|$) { fastcgi_pass unix:/run/php/php7.0-fpm.sock; fastcgi_split_path_info ^(.+\.php)(/.*)$; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param HTTPS off; } # Enable Gzip compression gzip on; gzip_buffers 16 8k; gzip_comp_level 5; gzip_disable "msie6"; gzip_min_length 1000; gzip_http_version 1.0; gzip_proxied any; gzip_types text/plain application/javascript application/x-javascript text/javascript text/xml text/css image/svg+xml; gzip_vary on; # Enable browser caching # One week for javascript and css location ~* \.(?:css|js) { expires 1w; access_log off; add_header Cache-Control public; } # Three weeks for media: images, fonts, icons, video, audio etc. location ~* \.(?:jpg|jpeg|gif|png|ico|tiff|woff|eot|ttf|svg|svgz|mp4|ogg|ogv|webm|swf|flv)$ { expires 3w; access_log off; add_header Cache-Control public; } error_log /var/log/nginx/orocrm_error.log; access_log /var/log/nginx/orocrm_access.log; }
Guarde y cierre el archivo cuando haya terminado, luego habilite el host virtual Nginx con el siguiente comando:
sudo ln -s /etc/nginx/sites-available/orocrm /etc/nginx/sites-enabled/orocrm
A continuación, compruebe si hay algún error de configuración en Nginx con el siguiente comando:
sudo nginx -t
Debería ver el siguiente resultado:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
A continuación, proporcione los permisos necesarios para el directorio orocrm y reinicie Nginx:
sudo chown -R www-data:www-data /var/www/html/orocrm
sudo chmod -R 777 /var/www/html/orocrm
sudo systemctl restart nginx
Acceda a OroCRM
OroCRM ya está instalado, es hora de acceder a la interfaz web de OroCRM.
Abra su navegador web y escriba la URL htttp://example.com , será redirigido a la página de inicio de sesión de OroCRM como se muestra a continuación:
Proporcione su nombre de usuario y contraseña de administrador, luego haga clic en Iniciar sesión botón, debería ver el panel de control de OroCRM en la siguiente imagen:
¡Felicidades! OroCRM ahora está instalado en el servidor Ubuntu 16.04.