Ce tutoriel vous montrera comment installer Socioboard sur Ubuntu 20.04 avec un serveur Web Apache ou Nginx. Socioboard est une boîte à outils open source et auto-hébergée de génération de leads sur les réseaux sociaux pour les entreprises. Socioboard fournit un service hébergé, mais si vous souhaitez héberger vous-même le logiciel sur votre propre serveur, vous pouvez suivre les instructions ci-dessous.
Fonctionnalités du tableau social
Les réseaux sociaux sont destinés aux utilisateurs, pas aux entreprises. Socioboard considère le social d'un point de vue commercial et comble les lacunes que les réseaux sociaux ne peuvent pas combler de manière exquise. Les entreprises doivent être propriétaires de leurs données sociales et être responsables de ce qu'elles veulent en faire, générer des rapports et analyser les données pour prendre des décisions commerciales éclairées et améliorées.
Socioboard fournit :
- Outils open source hautement personnalisables et évolutifs
- Flux rapides et outils de découverte sociale interactifs
- Outils de CRM social, y compris les dossiers clients partagés
- Outils de collaboration d'équipe hautement efficaces
- Outils de planification et de publication avancés
- Analyses sophistiquées sur divers paramètres
- Fonctionnalités d'assistance client telles que les tâches et l'intégration du service d'assistance
Prérequis
Tout d'abord, vous avez besoin d'un serveur Linux avec au moins 2 Go de RAM. Vous pouvez cliquer sur ce lien spécial pour obtenir un crédit gratuit de 100 $ sur DigitalOcean. (Pour les nouveaux utilisateurs uniquement). Si vous êtes déjà un utilisateur de DigitalOcean, vous pouvez cliquer sur ce lien spécial pour obtenir un crédit gratuit de 50 $ sur Vultr (pour les nouveaux utilisateurs uniquement). Une fois que vous avez un compte chez DigitalOcean ou Vultr, installez Ubuntu 20.04 sur votre serveur et suivez les instructions ci-dessous.
Socioboard nécessite PHP et MySQL/MariaDB. Pour suivre ce tutoriel, vous devez déjà avoir configuré une pile LAMP ou LEMP. Si vous ne l'avez pas déjà fait, veuillez utiliser l'un des guides suivants.
- Comment installer la pile LAMP (Apache, MariaDB, PHP) sur Ubuntu 20.04
- Comment installer la pile LEMP (Nginx, MariaDB, PHP) sur Ubuntu 20.04
Vous avez également besoin d'un nom de domaine. J'ai enregistré mon nom de domaine chez NameCheap car le prix est bas et ils offrent une protection de confidentialité whois gratuite à vie.
Installons maintenant Socioboard.
Étape 1 :Téléchargez Socioboard sur le serveur Ubuntu 20.04
Connectez-vous à votre serveur Ubuntu 20.04 via SSH. Exécutez ensuite la commande suivante pour télécharger la dernière version de Socioboard sur votre serveur.
sudo apt install git git clone https://github.com/socioboard/Socioboard-4.0.git
Une fois téléchargé, déplacez les fichiers dans le dossier /var/www/
répertoire.
sudo mkdir -p /var/www/ sudo mv Socioboard-4.0 /var/www/socioboard
Ensuite, nous devons accorder des autorisations au www-data
utilisateur afin que le serveur Web puisse écrire dans ce répertoire.
sudo setfacl -R -m u:www-data:rwx /var/www/socioboard/
Étape 2 :Installez Node.js
Le backend Socioboard est construit sur Node.js, qui est un environnement d'exécution JavaScript qui traduit le code JavaScript lisible par l'homme en code machine, nous devons donc installer Node.js sur Ubuntu 20.04 afin d'exécuter Socioboard. Ce didacticiel installera la version LTS de Node.js (V12.x) à partir du référentiel NodeSource.
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash - sudo apt install -y nodejs
Le nodejs
contient le binaire npm (Node.js package manager), il n'est donc pas nécessaire de l'installer séparément. Pour vérifier votre version de Node.js et npm, exécutez
node -v npm -v
Sortie :
Étape 3 :Installer les packages de nœuds
Tout d'abord, installez le nodemon
, sequalize
, et mysql2
package en mode global.
sudo npm install nodemon sequelize-cli sequelize mysql2 -g
Dans le /var/www/socioboard/socioboard-api/
répertoire, il y a 5 sous-répertoires.
- flux
- bibliothèque
- notification
- publier
- utilisateur
Nous devons accéder à chacun de ces sous-répertoires et installer les packages de dépendances. Par exemple, accédez aux feeds
sous-répertoire.
cd /var/www/socioboard/socioboard-api/feeds
Et installez les packages de dépendances, qui seront placés dans le node_modules
répertoire.
npm install
Si des vulnérabilités sont détectées, exécutez la commande suivante pour corriger les vulnérabilités.
npm audit fix
Faites maintenant la même chose dans les 4 autres sous-répertoires .
Étape 4 :Créer une base de données et un utilisateur dans MariaDB
Connectez-vous au serveur de base de données MariaDB avec la commande suivante.
sudo mysql
Créez ensuite une base de données pour Socioboard. Ce tutoriel nomme la base de données socioboard
. Vous pouvez utiliser le nom de votre choix.
create database socioboard;
Créez l'utilisateur de la base de données. Encore une fois, vous pouvez utiliser votre nom préféré pour cet utilisateur. Remplacez your_password
avec votre mot de passe préféré.
create user socioboard@localhost identified by 'your_password';
Accordez à cet utilisateur tous les privilèges sur le socioboard
base de données.
grant all privileges on socioboard.* to socioboard@localhost;
Vider les privilèges et quitter.
flush privileges; exit;
Étape 5 :Configurer la base de données MariaDB
Modifier un fichier.
sudo nano /var/www/socioboard/socioboard-api/library/sequelize-cli/config/config.json
Entrez le nom de la base de données, le nom d'utilisateur et le mot de passe.
Enregistrez et fermez le fichier. Puis changez de répertoire.
cd /var/www/socioboard/socioboard-api/library/sequelize-cli/
Initialiser le socioboard
base de données.
NODE_ENV=development sequelize db:migrate
Dans le /var/www/socioboard/socioboard-api/library/sequelize-cli/seeders/
répertoire, il y a un fichier dont le nom se termine par application_info.js
. Exécutez la commande suivante.
NODE_ENV=development sequelize db:seed --seed 20190213051930-initialize_application_info.js
Étape 6 :Installez MongoDB
MongoDB est un programme de base de données NoSQL orienté document. Exécutez la commande suivante pour importer la clé GPG publique MongoDB
wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
Créez un fichier de liste de sources pour 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
Mettez à jour l'index du package et installez MongoDB.
sudo apt update sudo apt install -y mongodb-org
Démarrez MongoDB.
sudo systemctl start mongod
Activer le démarrage automatique au démarrage.
sudo systemctl enable mongod
Vérifiez son état :
systemctl status mongod
Exemple de sortie :
● 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
Comme vous pouvez le voir, il est actif (en cours d'exécution).
Étape 7 :Créer une base de données et un utilisateur dans MongoDB
Connectez-vous au shell MongoDB.
mongo
Créer une base de données pour SocioBoard.
use socioboard
Vous devez insérer au moins un document dans cette base de données. Exécutez la commande suivante pour insérer un exemple de document.
db.new_collection.insert({ some_key: "some_value" })
Exécutez ensuite la commande suivante pour créer un utilisateur.
db.createUser( { user: "socioboard", pwd: "your_password", roles: [ { role: "readWrite", db: "socioboard" } ] } )
Quittez le shell MongoDB.
exit
Étape 8 :Configurer la connexion MongoDB
Modifier un fichier.
sudo nano /var/www/socioboard/socioboard-api/user/config/development.json
Entrez le nom de la base de données, le nom d'utilisateur et le mot de passe.
Faites défiler jusqu'à la fin du fichier et ajoutez les 3 lignes suivantes.
"base_path": "../../media", "payment_path": "../../media/payments", "template": "public/template/paymentTemplate.html"
Enregistrez et fermez le fichier. Ensuite, modifiez également les 3 fichiers suivants et entrez le nom, le nom d'utilisateur et le mot de passe de la base de données 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
Étape 9 :Exécutez les microservices de socioboard
sudo nano /etc/systemd/system/socioboard-user.service
Ajoutez les lignes suivantes. Remplacez nom d'utilisateur par votre vrai nom d'utilisateur.
[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
Enregistrez et fermez le fichier.
sudo nano /etc/systemd/system/socioboard-publish.service
Ajoutez les lignes suivantes. Remplacez nom d'utilisateur par votre vrai nom d'utilisateur.
[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
Enregistrez et fermez le fichier.
sudo nano /etc/systemd/system/socioboard-feeds.service
Ajoutez les lignes suivantes. Remplacez nom d'utilisateur par votre vrai nom d'utilisateur.
[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
Enregistrez et fermez le fichier.
sudo nano /etc/systemd/system/socioboard-notification.service
Ajoutez les lignes suivantes. Remplacez nom d'utilisateur par votre vrai nom d'utilisateur.
[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
Enregistrez et fermez le fichier. Lancez ensuite les 4 services.
sudo systemctl start socioboard-user socioboard-publish socioboard-feeds socioboard-notification
Vous devez maintenant vérifier l'état de chaque service.
systemctl status socioboard-user systemctl status socioboard-publish systemctl status socioboard-feeds systemctl status socioboard-notification
Pour chaque service, si vous voyez un message comme
service listening on http://localhost:3000
Ensuite, le service est démarré avec succès. Si vous ne voyez pas ce message, il y a des erreurs et vous pouvez vérifier les journaux sur public/logs/
dossier pour voir ce qui ne va pas.
Si tous les services ont démarré avec succès, activez le démarrage automatique au démarrage.
sudo systemctl enable socioboard-user socioboard-publish socioboard-feeds socioboard-notification
Étape 10 :Configurer Socioboard-web-php
Changer de répertoire.
cd /var/www/socioboard/socioboard-web-php/
Installez Laravel.
sudo apt install composer composer global require laravel/installer
Renommez le environmentfile.env
vers .env
.
mv environmentfile.env .env
Modifiez ce fichier.
nano .env
Entrez l'URL de l'APP et les URL de l'API. socioboard.example.com est l'URL que vous saisirez dans la barre d'adresse du navigateur Web pour accéder à 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/
Enregistrez et fermez le fichier. Installez ensuite les dépendances PHP.
composer update
Ensuite, générez une clé d'application Laravel, qui sera enregistrée dans le .env
fichier.
php artisan key:generate
Étape 11 :Configuration du serveur Web
Nous pouvons utiliser le serveur Web Apache ou Nginx.
Apache
Si vous préférez Apache, créez un fichier d'hôte virtuel pour Socioboard.
sudo nano /etc/apache2/sites-available/socioboard.conf
Mettez le texte suivant dans le fichier. Remplacez socioboard.example.com
avec votre propre sous-domaine pour Socioboard. N'oubliez pas de définir un enregistrement A pour le nom de domaine dans votre gestionnaire 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>
Enregistrez et fermez le fichier. Activez ensuite cet hôte virtuel.
sudo a2ensite socioboard.conf
Nous devons activer le module de réécriture.
sudo a2enmod rewrite
Redémarrez Apache pour que les modifications prennent effet.
sudo systemctl restart apache2
Nginx
Si vous préférez Nginx, créez un fichier d'hôte virtuel pour Socioboard.
sudo nano /etc/nginx/conf.d/socioboard.conf
Mettez le texte suivant dans le fichier. Remplacez socioboard.example.com
avec votre propre sous-domaine pour Socioboard. N'oubliez pas de définir un enregistrement A pour le nom de domaine dans votre gestionnaire 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; } }
Enregistrez et fermez le fichier. Testez ensuite la configuration de Nginx.
sudo nginx -t
Si le test réussit, rechargez Nginx pour que les modifications prennent effet.
sudo systemctl reload nginx
Étape 12 :Activer HTTPS
Pour chiffrer le trafic HTTP, nous pouvons activer HTTPS en installant un certificat TLS gratuit émis par Let's Encrypt. Exécutez la commande suivante pour installer le client Let's Encrypt (certbot) sur le serveur Ubuntu 20.04.
sudo apt install certbot
Si vous utilisez Nginx, vous devez également installer le plugin Certbot Nginx.
sudo apt install python3-certbot-nginx
Ensuite, exécutez la commande suivante pour obtenir et installer le certificat TLS.
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d socioboard.yourdomain.com
Si vous utilisez Apache, installez le plugin Certbot Apache.
sudo apt install python3-certbot-apache
Et exécutez cette commande pour obtenir et installer le certificat TLS.
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d socioboard.yourdomain.com
Où
--nginx
:Utilisez le plug-in nginx.--apache
:Utilisez le plug-in Apache.--agree-tos
:acceptez les conditions d'utilisation.--redirect
:Forcer HTTPS par redirection 301.--hsts
:Ajoutez l'en-tête Strict-Transport-Security à chaque réponse HTTP. Forcer le navigateur à toujours utiliser TLS pour le domaine. Protège contre le SSL/TLS Stripping.--staple-ocsp
:active l'agrafage OCSP. Une réponse OCSP valide est agrafée au certificat que le serveur propose pendant TLS.
Le certificat devrait maintenant être obtenu et installé automatiquement.
Étape 13 :Utiliser le tableau social
Vous pouvez maintenant accéder à l'interface Web de SocioBoard sur https://socioboard.example.com
. Vous devez créer un compte pour pouvoir l'utiliser. Si vous ne pouvez pas créer de compte, vérifiez les journaux d'erreurs dans /var/www/socioboard/socioboard-web-php/storage/logs/
répertoire.
Socioboard va essayer de vous envoyer un e-mail de vérification, mais j'ai trouvé qu'il ne peut pas envoyer d'e-mails. Pour activer votre compte, vous pouvez modifier le statut d'activation à partir de la base de données MariaDB. Connectez-vous au shell MariaDB.
sudo mysql
Utilisez le socioboard
base de données.
use socioboard;
Activez ensuite votre compte.
update user_activations set activation_status = 1;
Par défaut, votre compte est sous le plan de base, vous pouvez passer au plan Platinum.
update user_activations set user_plan = 7;
Quittez le shell MariaDB.
exit
Connectez-vous ensuite à votre compte SocioBoard.
Conclusion
J'espère que ce tutoriel vous a aidé à installer Socioboard sur le serveur Ubuntu 20.04. Comme toujours, si vous avez trouvé cet article utile, abonnez-vous à notre newsletter gratuite pour obtenir plus de trucs et astuces. Prenez soin de vous 🙂