GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come installare Socioboard su Ubuntu 20.04 – Social Media Lead Generation Toolkit

Questo tutorial ti mostrerà come installare Socioboard su Ubuntu 20.04 con server web Apache o Nginx. Socioboard è un toolkit per la generazione di lead di social media open source e self-hosted per le aziende. Socioboard fornisce un servizio in hosting, ma se desideri ospitare autonomamente il software sul tuo server, puoi seguire le istruzioni seguenti.

Caratteristiche di Socioboard

I social network sono pensati per gli utenti, non per le aziende. Socioboard vede i social da un punto di vista aziendale e riempie quelle lacune che i social network non possono colmare in modo squisito. Le aziende dovrebbero possedere i propri dati social e dovrebbero essere responsabili di ciò che vogliono farne, generare report e analizzare i dati per prendere decisioni aziendali informate e migliorate.

Socioboard fornisce:

  • Strumenti open source altamente personalizzabili e scalabili
  • Feed di richiesta e strumenti di social discovery interattivi
  • Strumenti di social CRM, inclusi i record dei clienti condivisi
  • Strumenti di collaborazione in team altamente efficienti
  • Strumenti avanzati di pianificazione e pubblicazione
  • Analisi sofisticata su vari parametri
  • Funzioni di assistenza clienti come attività e integrazione dell'Helpdesk

Prerequisiti

Innanzitutto, è necessario un server Linux con almeno 2 GB di RAM. Puoi fare clic su questo link speciale per ottenere $ 100 di credito gratuito su DigitalOcean. (Solo per nuovi utenti). Se sei già un utente DigitalOcean, puoi fare clic su questo link speciale per ottenere $ 50 di credito gratuito su Vultr (solo per i nuovi utenti). Una volta che hai un account su DigitalOcean o Vultr, installa Ubuntu 20.04 sul tuo server e segui le istruzioni seguenti.

Socioboard richiede PHP e MySQL/MariaDB. Per seguire questo tutorial, dovresti aver già impostato uno stack LAMP o uno stack LEMP. Se non l'hai già fatto, utilizza una delle seguenti guide.

  • Come installare lo stack LAMP (Apache, MariaDB, PHP) su Ubuntu 20.04
  • Come installare lo stack LEMP (Nginx, MariaDB, PHP) su Ubuntu 20.04

Hai anche bisogno di un nome di dominio. Ho registrato il mio nome di dominio su NameCheap perché il prezzo è basso e offrono protezione della privacy a Whois gratuita per tutta la vita.

Ora installiamo Socioboard.

Passaggio 1:scarica Socioboard su Ubuntu 20.04 Server

Accedi al tuo server Ubuntu 20.04 tramite SSH. Quindi esegui il comando seguente per scaricare l'ultima versione di Socioboard sul tuo server.

sudo apt install git

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

Una volta scaricati, sposta i file in /var/www/ directory.

sudo mkdir -p /var/www/

sudo mv Socioboard-4.0 /var/www/socioboard

Quindi dobbiamo concedere le autorizzazioni a www-data utente in modo che il server Web possa scrivere in questa directory.

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

Passaggio 2:installa Node.js

Il backend di Socioboard è basato su Node.js, che è un ambiente di runtime JavaScript che traduce il codice JavaScript leggibile dall'uomo in codice macchina, quindi è necessario installare Node.js su Ubuntu 20.04 per eseguire Socioboard. Questo tutorial installerà la versione LTS di Node.js (V12.x) dal repository NodeSource.

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

sudo apt install -y nodejs

I nodejs pacchetto contiene il binario npm (gestore di pacchetti Node.js), quindi non è necessario installarlo separatamente. Per controllare la tua versione di Node.js e npm, esegui

node -v

npm -v

Uscita:

Fase 3:installa i pacchetti di nodi

Innanzitutto, installa il nodemon , sequalize e mysql2 pacchetto in modalità globale.

sudo npm install nodemon sequelize-cli sequelize mysql2 -g

Nel /var/www/socioboard/socioboard-api/ directory, ci sono 5 sottodirectory.

  • feed
  • biblioteca
  • notifica
  • pubblica
  • utente

È necessario accedere a ciascuna di queste sottodirectory e installare i pacchetti di dipendenze. Ad esempio, vai a feeds sottodirectory.

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

E installa i pacchetti di dipendenze, che verranno inseriti in node_modules directory.

npm install

Se sono state rilevate delle vulnerabilità, esegui il comando seguente per correggere le vulnerabilità.

npm audit fix

Ora fai lo stesso nelle altre 4 sottodirectory .

Fase 4:crea un database e un utente in MariaDB

Accedi al server del database MariaDB con il seguente comando.

sudo mysql

Quindi crea un database per Socioboard. Questo tutorial nomina il database socioboard . Puoi usare il nome che preferisci.

create database socioboard;

Crea l'utente del database. Anche in questo caso, puoi utilizzare il tuo nome preferito per questo utente. Sostituisci your_password con la tua password preferita.

create user socioboard@localhost identified by 'your_password';

Concedi a questo utente tutti i privilegi sulla socioboard banca dati.

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

Elimina i privilegi ed esci.

flush privileges;

exit;

Fase 5:configura il database MariaDB

Modifica un file.

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

Immettere il nome del database, nome utente e password.

Salva e chiudi il file. Quindi cambia directory.

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

Inizializza la socioboard banca dati.

NODE_ENV=development sequelize db:migrate

Nel /var/www/socioboard/socioboard-api/library/sequelize-cli/seeders/ directory, c'è un file il cui nome termina con application_info.js . Esegui il comando seguente.

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

Passaggio 6:installa MongoDB

MongoDB è un programma di database NoSQL orientato ai documenti. Esegui il comando seguente per importare la chiave GPG pubblica MongoDB

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

Crea un file di elenco di origine per 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

Aggiorna l'indice del pacchetto e installa MongoDB.

sudo apt update

sudo apt install -y mongodb-org

Avvia MongoDB.

sudo systemctl start mongod

Abilita l'avvio automatico all'avvio.

sudo systemctl enable mongod

Controlla il suo stato:

systemctl status mongod

Esempio di output:

● 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

Come puoi vedere, è attivo (in esecuzione).

Fase 7:crea un database e un utente in MongoDB

Accedi alla shell di MongoDB.

mongo

Crea un database per SocioBoard.

use socioboard

Devi inserire almeno un documento in questo database. Esegui il comando seguente per inserire un documento di esempio.

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

Quindi esegui il comando seguente per creare un utente.

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

Lascia la shell MongoDB.

exit

Fase 8:imposta la connessione MongoDB

Modifica un file.

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

Immettere il nome del database, nome utente e password.

Scorri verso il basso fino alla fine del file e aggiungi le 3 righe seguenti.

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

Salva e chiudi il file. Quindi modifica anche i seguenti 3 file e inserisci il nome del database MongoDB, il nome utente e la password.

  • /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

Fase 9:esegui Socioboard Microservices

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

Aggiungi le seguenti righe. Sostituisci il nome utente con il tuo vero nome utente.

[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

Salva e chiudi il file.

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

Aggiungi le seguenti righe. Sostituisci il nome utente con il tuo vero nome utente.

[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

Salva e chiudi il file.

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

Aggiungi le seguenti righe. Sostituisci il nome utente con il tuo vero nome utente.

[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

Salva e chiudi il file.

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

Aggiungi le seguenti righe. Sostituisci il nome utente con il tuo vero nome utente.

[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

Salva e chiudi il file. Quindi avvia i 4 servizi.

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

Ora dovresti controllare lo stato di ogni servizio.

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

Per ogni servizio, se vedi un messaggio come

service listening on http://localhost:3000

Quindi il servizio viene avviato correttamente. Se non vedi questo messaggio, significa che ci sono degli errori e puoi controllare i log in public/logs/ cartella per vedere cosa c'è che non va.

Se tutti i servizi sono stati avviati correttamente, abilita l'avvio automatico all'avvio.

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

Fase 10:imposta Socioboard-web-php

Cambia directory.

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

Installa Laravel.

sudo apt install composer 

composer global require laravel/installer

Rinomina il environmentfile.env a .env .

mv environmentfile.env .env

Modifica questo file.

nano .env

Immettere l'URL dell'APP e gli URL dell'API. socioboard.example.com è l'URL che inserirai nella barra degli indirizzi del browser web per accedere 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/

Salva e chiudi il file. Quindi installa le dipendenze PHP.

composer update

Quindi, genera una chiave dell'app Laravel, che verrà salvata nel .env file.

php artisan key:generate

Fase 11:configurazione del server Web

Possiamo usare il web server Apache o Nginx.

Apache

Se preferisci Apache, crea un file host virtuale per Socioboard.

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

Inserisci il seguente testo nel file. Sostituisci socioboard.example.com con il tuo sottodominio per Socioboard. Non dimenticare di impostare un record per il nome di dominio nel tuo gestore 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>

Salva e chiudi il file. Quindi abilita questo host virtuale.

sudo a2ensite socioboard.conf

Dobbiamo abilitare il modulo di riscrittura.

sudo a2enmod rewrite

Riavvia Apache per rendere effettive le modifiche.

sudo systemctl restart apache2

Nginx

Se preferisci Nginx, crea un file host virtuale per Socioboard.

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

Inserisci il seguente testo nel file. Sostituisci socioboard.example.com con il tuo sottodominio per Socioboard. Non dimenticare di impostare un record per il nome di dominio nel tuo gestore 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;
  }
}

Salva e chiudi il file. Quindi testa la configurazione di Nginx.

sudo nginx -t

Se il test ha esito positivo, ricarica Nginx per rendere effettive le modifiche.

sudo systemctl reload nginx

Fase 12:abilitazione di HTTPS

Per crittografare il traffico HTTP, possiamo abilitare HTTPS installando un certificato TLS gratuito emesso da Let's Encrypt. Esegui il comando seguente per installare il client Let's Encrypt (certbot) sul server Ubuntu 20.04.

sudo apt install certbot

Se usi Nginx, devi anche installare il plugin Certbot Nginx.

sudo apt install python3-certbot-nginx

Quindi, esegui il comando seguente per ottenere e installare il certificato TLS.

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

Se usi Apache, installa il plugin Certbot Apache.

sudo apt install python3-certbot-apache

Ed esegui questo comando per ottenere e installare il certificato TLS.

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

Dove

  • --nginx :usa il plugin nginx.
  • --apache :usa il plugin Apache.
  • --agree-tos :Accetta i termini di servizio.
  • --redirect :Forza HTTPS tramite reindirizzamento 301.
  • --hsts :aggiungi l'intestazione Strict-Transport-Security a ogni risposta HTTP. Forzare il browser a utilizzare sempre TLS per il dominio. Difende dallo stripping SSL/TLS.
  • --staple-ocsp :Abilita la pinzatura OCSP. Una risposta OCSP valida viene pinzata al certificato offerto dal server durante TLS.

Il certificato dovrebbe ora essere ottenuto e installato automaticamente.

Fase 13:usa Socioboard

Ora puoi accedere all'interfaccia web di SocioBoard su https://socioboard.example.com . Devi creare un account per usarlo. Se non riesci a creare un account, controlla i log di errore in /var/www/socioboard/socioboard-web-php/storage/logs/ directory.

Socioboard proverà a inviarti un'e-mail di verifica, ma ho scoperto che non può inviare e-mail. Per attivare il tuo account, puoi modificare lo stato di attivazione dal database MariaDB. Accedi alla shell di MariaDB.

sudo mysql

Usa il socioboard banca dati.

use socioboard;

Quindi attiva il tuo account.

update user_activations set activation_status = 1;

Per impostazione predefinita, il tuo account è nel piano Basic, puoi passare al piano Platinum.

update user_activations set user_plan = 7;

Lascia la shell MariaDB.

exit

Quindi accedi al tuo account SocioBoard.

Conclusione

Spero che questo tutorial ti abbia aiutato a installare Socioboard sul server Ubuntu 20.04. Come sempre, se hai trovato utile questo post, iscriviti alla nostra newsletter gratuita per ricevere ulteriori suggerimenti e trucchi. Attento 🙂


Ubuntu
  1. Come installare R su Ubuntu 20.04

  2. Come installare Plex Media Server su Ubuntu 20.04

  3. Come installare VLC Media Player su Ubuntu 11.10

  4. Kodi Media Center 19.1 rilasciato! Come installare in Ubuntu 21.04

  5. Come installare Xnoise 0.2.15 Media Player in Ubuntu

Come installare qt su Ubuntu 20.04

Come installare Subsonic Media Server su Ubuntu 16.04

Come installare VLC Media Player su Ubuntu 14.04

Come installare MPV Media Player su Ubuntu 22.04

Come installare Socioboard su Ubuntu 20.04

Come installare Plex Media Server su Ubuntu 22.04