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 🙂