GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo instalar Socioboard en Ubuntu 20.04:kit de herramientas de generación de leads para redes sociales

Este tutorial le mostrará cómo instalar Socioboard en Ubuntu 20.04 con el servidor web Apache o Nginx. Socioboard es un conjunto de herramientas de generación de leads de redes sociales de código abierto y autohospedado para empresas. Socioboard proporciona un servicio alojado, pero si desea alojar el software en su propio servidor, puede seguir las instrucciones a continuación.

Características de Socioboard

Las redes sociales están pensadas para los usuarios, no para las empresas. Socioboard ve lo social desde un punto de vista comercial y llena esos vacíos que las redes sociales no pueden llenar de manera exquisita. Las empresas deben ser dueñas de sus datos sociales y deben estar a cargo de lo que quieren hacer con ellos, generar informes y analizar datos para tomar decisiones comerciales informadas y mejoradas.

Socioboard proporciona:

  • Herramientas de código abierto altamente personalizables y escalables
  • Feeds rápidos y herramientas interactivas de descubrimiento social
  • Herramientas de Social CRM que incluyen registros de clientes compartidos
  • Herramientas de colaboración en equipo altamente eficientes
  • Herramientas avanzadas de programación y publicación
  • Análisis sofisticados en varios parámetros
  • Características de atención al cliente como tareas e integración de Helpdesk

Requisitos

Primero, necesita un servidor Linux con al menos 2 GB de RAM. Puede hacer clic en este enlace especial para obtener $100 de crédito gratis en DigitalOcean. (Solo para nuevos usuarios). Si ya es usuario de DigitalOcean, puede hacer clic en este enlace especial para obtener $ 50 de crédito gratis en Vultr (solo para nuevos usuarios). Una vez que tenga una cuenta en DigitalOcean o Vultr, instale Ubuntu 20.04 en su servidor y siga las instrucciones a continuación.

Socioboard requiere PHP y MySQL/MariaDB. Para seguir este tutorial, ya debería haber configurado una pila LAMP o una pila LEMP. Si aún no lo ha hecho, utilice una de las siguientes guías.

  • Cómo instalar la pila LAMP (Apache, MariaDB, PHP) en Ubuntu 20.04
  • Cómo instalar la pila LEMP (Nginx, MariaDB, PHP) en Ubuntu 20.04

También necesita un nombre de dominio. Registré mi nombre de dominio en NameCheap porque el precio es bajo y ofrecen protección de privacidad whois gratis de por vida.

Ahora instalemos Socioboard.

Paso 1:Descarga Socioboard en el servidor Ubuntu 20.04

Inicie sesión en su servidor Ubuntu 20.04 a través de SSH. Luego ejecute el siguiente comando para descargar la última versión de Socioboard en su servidor.

sudo apt install git

git clone https://github.com/socioboard/Socioboard-4.0.git

Una vez descargados, mueva los archivos a /var/www/ directorio.

sudo mkdir -p /var/www/

sudo mv Socioboard-4.0 /var/www/socioboard

Luego, debemos otorgar permisos a www-data usuario para que el servidor web pueda escribir en este directorio.

sudo setfacl -R -m u:www-data:rwx /var/www/socioboard/

Paso 2:Instalar Node.js

El backend de Socioboard se basa en Node.js, que es un entorno de tiempo de ejecución de JavaScript que traduce el código JavaScript legible por humanos en código de máquina, por lo que necesitamos instalar Node.js en Ubuntu 20.04 para ejecutar Socioboard. Este tutorial instalará la versión LTS de Node.js (V12.x) desde el repositorio de NodeSource.

curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -

sudo apt install -y nodejs

Los nodejs El paquete contiene el binario npm (administrador de paquetes Node.js), por lo que no es necesario instalarlo por separado. Para verificar su versión de Node.js y npm, ejecute

node -v

npm -v

Salida:

Paso 3:Instalar paquetes de nodos

Primero, instala el nodemon , sequalize y mysql2 paquete en modo global.

sudo npm install nodemon sequelize-cli sequelize mysql2 -g

En el /var/www/socioboard/socioboard-api/ directorio, hay 5 subdirectorios.

  • alimentos
  • biblioteca
  • notificación
  • publicar
  • usuario

Necesitamos ir a cada uno de estos subdirectorios e instalar los paquetes de dependencia. Por ejemplo, vaya a feeds subdirectorio.

cd /var/www/socioboard/socioboard-api/feeds

E instale paquetes de dependencia, que se colocarán en node_modules directorio.

npm install

Si se encuentran vulnerabilidades, ejecute el siguiente comando para reparar las vulnerabilidades.

npm audit fix

Ahora haz lo mismo en los otros 4 subdirectorios .

Paso 4:Crear una base de datos y un usuario en MariaDB

Inicie sesión en el servidor de la base de datos MariaDB con el siguiente comando.

sudo mysql

Luego cree una base de datos para Socioboard. Este tutorial nombra la base de datos socioboard . Puedes usar el nombre que quieras.

create database socioboard;

Cree el usuario de la base de datos. Nuevamente, puede usar su nombre preferido para este usuario. Reemplace your_password con su contraseña preferida.

create user socioboard@localhost identified by 'your_password';

Otorgue a este usuario todos los privilegios en el socioboard base de datos.

grant all privileges on socioboard.* to socioboard@localhost;

Vacíe los privilegios y salga.

flush privileges;

exit;

Paso 5:configurar la base de datos MariaDB

Editar un archivo.

sudo nano /var/www/socioboard/socioboard-api/library/sequelize-cli/config/config.json

Introduzca el nombre de la base de datos, el nombre de usuario y la contraseña.

Guarde y cierre el archivo. Luego cambia de directorio.

cd /var/www/socioboard/socioboard-api/library/sequelize-cli/

Inicializar el socioboard base de datos.

NODE_ENV=development sequelize db:migrate

En el /var/www/socioboard/socioboard-api/library/sequelize-cli/seeders/ directorio, hay un archivo cuyo nombre termina con application_info.js . Ejecute el siguiente comando.

NODE_ENV=development sequelize db:seed --seed 20190213051930-initialize_application_info.js

Paso 6:Instalar MongoDB

MongoDB es un programa de base de datos NoSQL orientado a documentos. Ejecute el siguiente comando para importar la clave GPG pública de MongoDB

wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -

Cree un archivo de lista de fuentes para MongoDB.

echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list

Actualice el índice de paquetes e instale MongoDB.

sudo apt update

sudo apt install -y mongodb-org

Inicie MongoDB.

sudo systemctl start mongod

Habilite el inicio automático en el momento del arranque.

sudo systemctl enable mongod

Compruebe su estado:

systemctl status mongod

Salida de muestra:

● mongod.service - MongoDB Database Server
     Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2020-08-03 17:39:42 HKT; 52s ago
       Docs: https://docs.mongodb.org/manual
   Main PID: 2710248 (mongod)
     Memory: 61.8M
     CGroup: /system.slice/mongod.service
             └─2710248 /usr/bin/mongod --config /etc/mongod.conf

Como puede ver, está activo (en ejecución).

Paso 7:Cree una base de datos y un usuario en MongoDB

Inicie sesión en el shell de MongoDB.

mongo

Cree una base de datos para SocioBoard.

use socioboard

Debe insertar al menos un documento en esta base de datos. Ejecute el siguiente comando para insertar un documento de ejemplo.

db.new_collection.insert({ some_key: "some_value" })

Luego ejecute el siguiente comando para crear un usuario.

db.createUser(
  {
    user: "socioboard",
    pwd: "your_password",
    roles: [ { role: "readWrite", db: "socioboard" } ]
  }
)

Deje el shell de MongoDB.

exit

Paso 8:configurar la conexión MongoDB

Editar un archivo.

sudo nano /var/www/socioboard/socioboard-api/user/config/development.json

Introduzca el nombre de la base de datos, el nombre de usuario y la contraseña.

Desplácese hacia abajo hasta el final del archivo y agregue las siguientes 3 líneas.

"base_path": "../../media",
"payment_path": "../../media/payments",
"template": "public/template/paymentTemplate.html"

Guarde y cierre el archivo. Luego edite también los siguientes 3 archivos e ingrese el nombre de la base de datos, el nombre de usuario y la contraseña de MongoDB.

  • /var/www/socioboard/socioboard-api/feeds/config/development.json
  • /var/www/socioboard/socioboard-api/notification/config/development.json
  • /var/www/socioboard/socioboard-api/publish/config/development.json

Paso 9:Ejecute los microservicios de Socioboard

sudo nano /etc/systemd/system/socioboard-user.service

Agregue las siguientes líneas. Reemplace el nombre de usuario con su nombre de usuario real.

[Unit]
Description=SocioBoard User Microservice
After=multi-user.target

[Service]
Type=simple
User=username
WorkingDirectory=/var/www/socioboard/socioboard-api/user/
Environment=NODE_ENV=development
ExecStart=/usr/bin/nodemon app.js
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

Guarde y cierre el archivo.

sudo nano /etc/systemd/system/socioboard-publish.service

Agregue las siguientes líneas. Reemplace el nombre de usuario con su nombre de usuario real.

[Unit]
Description=SocioBoard Publish Microservice
After=multi-user.target

[Service]
Type=simple
User=username
WorkingDirectory=/var/www/socioboard/socioboard-api/publish/
Environment=NODE_ENV=development
ExecStart=/usr/bin/nodemon app.js
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

Guarde y cierre el archivo.

sudo nano /etc/systemd/system/socioboard-feeds.service

Agregue las siguientes líneas. Reemplace el nombre de usuario con su nombre de usuario real.

[Unit]
Description=SocioBoard Feeds Microservice
After=multi-user.target

[Service]
Type=simple
User=username
WorkingDirectory=/var/www/socioboard/socioboard-api/feeds/
Environment=NODE_ENV=development
ExecStart=/usr/bin/nodemon app.js
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

Guarde y cierre el archivo.

sudo nano /etc/systemd/system/socioboard-notification.service

Agregue las siguientes líneas. Reemplace el nombre de usuario con su nombre de usuario real.

[Unit]
Description=SocioBoard Notification Microservice
After=multi-user.target

[Service]
Type=simple
User=username
WorkingDirectory=/var/www/socioboard/socioboard-api/notification/
Environment=NODE_ENV=development
ExecStart=/usr/bin/nodemon app.js
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

Guarde y cierre el archivo. Luego inicie los 4 servicios.

sudo systemctl start socioboard-user socioboard-publish socioboard-feeds socioboard-notification

Ahora debe verificar el estado de cada servicio.

systemctl status socioboard-user
systemctl status socioboard-publish
systemctl status socioboard-feeds
systemctl status socioboard-notification

Para cada servicio, si ve un mensaje como

service listening on http://localhost:3000

Entonces el servicio se inicia con éxito. Si no ve este mensaje, entonces hay errores y puede verificar los registros en public/logs/ carpeta para ver qué está mal.

Si todos los servicios se han iniciado correctamente, habilite el inicio automático en el momento del arranque.

sudo systemctl enable socioboard-user socioboard-publish socioboard-feeds socioboard-notification

Paso 10:Configure Socioboard-web-php

Cambiar directorio.

cd /var/www/socioboard/socioboard-web-php/

Instala Laravel.

sudo apt install composer 

composer global require laravel/installer

Cambie el nombre de environmentfile.env a .env .

mv environmentfile.env .env

Edite este archivo.

nano .env

Introduzca la URL de la aplicación y las URL de la API. socioboard.example.com es la URL que ingresará en la barra de direcciones del navegador web para acceder a SocioBoard.

APP_URL=https://socioboard.exmaple.com/
API_URL=http://localhost:3000/
API_URL_PUBLISH=http://localhost:3001/
API_URL_FEEDs=http://localhost:3002/
API_URL_NOTIFY=http://localhost:3003/

Guarde y cierre el archivo. Luego instale las dependencias de PHP.

composer update

A continuación, genere una clave de aplicación de Laravel, que se guardará en .env archivo.

php artisan key:generate

Paso 11:Configuración del servidor web

Podemos usar el servidor web Apache o Nginx.

Apache

Si prefiere Apache, cree un archivo de host virtual para Socioboard.

sudo nano /etc/apache2/sites-available/socioboard.conf

Coloque el siguiente texto en el archivo. Reemplace socioboard.example.com con su propio subdominio para Socioboard. No olvide establecer un registro A para el nombre de dominio en su administrador de DNS.

<VirtualHost *:80>
    ServerName socioboard.example.com
    DocumentRoot /var/www/socioboard/socioboard-web-php/public/

    <Directory /var/www/socioboard/socioboard-web-php/public/>
       DirectoryIndex index.php
       Options +FollowSymLinks
       AllowOverride All
       Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/socioboard.error.log
    CustomLog ${APACHE_LOG_DIR}/socioboard.access.log combined

</VirtualHost>

Guarde y cierre el archivo. Luego habilite este servidor virtual.

sudo a2ensite socioboard.conf

Necesitamos habilitar el módulo de reescritura.

sudo a2enmod rewrite

Reinicie Apache para que los cambios surtan efecto.

sudo systemctl restart apache2

Nginx

Si prefiere Nginx, cree un archivo de host virtual para Socioboard.

sudo nano /etc/nginx/conf.d/socioboard.conf

Coloque el siguiente texto en el archivo. Reemplace socioboard.example.com con su propio subdominio para Socioboard. No olvide establecer un registro A para el nombre de dominio en su administrador de DNS.

server {
  listen 80;
  listen [::]:80;
  server_name socioboard.example.com;
  root /var/www/socioboard/socioboard-web-php/public/;
  index index.php index.html index.htm index.nginx-debian.html;

  error_log /var/log/nginx/socioboard.error;

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

  error_page 404 /404.html;
  error_page 500 502 503 504 /50x.html;

  client_max_body_size 2M;

  location = /50x.html {
    root /usr/share/nginx/html;
  }

  location ~ \.php$ {
    fastcgi_pass unix:/run/php/php7.4-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    include snippets/fastcgi-php.conf;
  }

  #enable gzip compression
  gzip on;
  gzip_vary on;
  gzip_min_length 1000;
  gzip_comp_level 5;
  gzip_types application/json text/css application/x-javascript application/javascript image/svg+xml;
  gzip_proxied any;

  # A long browser cache lifetime can speed up repeat visits to your page
  location ~* \.(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ico|xml)$ {
       access_log        off;
       log_not_found     off;
       expires           360d;
  }

  # disable access to hidden files
  location ~ /\.ht {
      access_log off;
      log_not_found off;
      deny all;
  }
}

Guarde y cierre el archivo. Luego pruebe la configuración de Nginx.

sudo nginx -t

Si la prueba es exitosa, vuelva a cargar Nginx para que los cambios surtan efecto.

sudo systemctl reload nginx

Paso 12:habilitar HTTPS

Para cifrar el tráfico HTTP, podemos habilitar HTTPS instalando un certificado TLS gratuito emitido por Let's Encrypt. Ejecute el siguiente comando para instalar el cliente Let's Encrypt (certbot) en el servidor Ubuntu 20.04.

sudo apt install certbot

Si usa Nginx, también necesita instalar el complemento Certbot Nginx.

sudo apt install python3-certbot-nginx

A continuación, ejecute el siguiente comando para obtener e instalar el certificado TLS.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d socioboard.yourdomain.com

Si usa Apache, instale el complemento Certbot Apache.

sudo apt install python3-certbot-apache

Y ejecute este comando para obtener e instalar el certificado TLS.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d socioboard.yourdomain.com

donde

  • --nginx :use el complemento nginx.
  • --apache :Utilice el complemento de Apache.
  • --agree-tos :Acepto los términos del servicio.
  • --redirect :Forzar HTTPS por redirección 301.
  • --hsts :agregue el encabezado Strict-Transport-Security a cada respuesta HTTP. Obligar al navegador a usar siempre TLS para el dominio. Protege contra la eliminación de SSL/TLS.
  • --staple-ocsp :activa el grapado OCSP. Se grapa una respuesta OCSP válida al certificado que ofrece el servidor durante TLS.

Ahora se debe obtener el certificado e instalarlo automáticamente.

Paso 13:Usa Socioboard

Ahora puede acceder a la interfaz web de SocioBoard en https://socioboard.example.com . Necesitas crear una cuenta para usarla. Si no puede crear una cuenta, verifique los registros de errores en /var/www/socioboard/socioboard-web-php/storage/logs/ directorio.

Socioboard intentará enviarle un correo electrónico de verificación, pero descubrí que no puede enviar correos electrónicos. Para activar su cuenta, puede cambiar el estado de activación desde la base de datos de MariaDB. Inicie sesión en el shell de MariaDB.

sudo mysql

Usa el socioboard base de datos.

use socioboard;

Entonces activa tu cuenta.

update user_activations set activation_status = 1;

Por defecto, su cuenta está bajo el plan Básico, puede cambiar al plan Platino.

update user_activations set user_plan = 7;

Deje el shell de MariaDB.

exit

Luego inicie sesión en su cuenta de SocioBoard.

Conclusión

Espero que este tutorial te haya ayudado a instalar Socioboard en el servidor Ubuntu 20.04. Como siempre, si encuentra útil esta publicación, suscríbase a nuestro boletín gratuito para obtener más consejos y trucos. Cuídate 🙂


Ubuntu
  1. Cómo instalar R en Ubuntu 20.04

  2. Cómo instalar Plex Media Server en Ubuntu 20.04

  3. Cómo instalar VLC Media Player en Ubuntu 11.10

  4. Kodi Media Center 19.1 lanzado! Cómo instalar en Ubuntu 21.04

  5. Cómo instalar el reproductor multimedia Xnoise 0.2.15 en Ubuntu

Cómo instalar qt en Ubuntu 20.04

Cómo instalar Subsonic Media Server en Ubuntu 16.04

Cómo instalar VLC Media Player en Ubuntu 14.04

Cómo instalar MPV Media Player en Ubuntu 22.04

Cómo instalar Socioboard en Ubuntu 20.04

Cómo instalar Plex Media Server en Ubuntu 22.04