Dieses Tutorial zeigt Ihnen, wie Sie Socioboard auf Ubuntu 20.04 mit Apache- oder Nginx-Webserver installieren. Socioboard ist ein quelloffenes, selbst gehostetes Social-Media-Toolkit zur Lead-Generierung für Unternehmen. Socioboard bietet einen gehosteten Service, aber wenn Sie die Software selbst auf Ihrem eigenen Server hosten möchten, können Sie die nachstehenden Anweisungen befolgen.
Socioboard-Funktionen
Soziale Netzwerke sind für die Benutzer gedacht, nicht für Unternehmen. Socioboard betrachtet Social aus geschäftlicher Sicht und füllt die Lücken, die soziale Netzwerke nicht exquisit füllen können. Unternehmen sollten Eigentümer ihrer sozialen Daten sein und die Verantwortung dafür übernehmen, was sie damit tun, Berichte erstellen und Daten analysieren, um fundierte und verbesserte Geschäftsentscheidungen zu treffen.
Socioboard bietet:
- Hochgradig anpassbare und skalierbare Open-Source-Tools
- Prompt-Feeds und interaktive Social-Discovery-Tools
- Soziale CRM-Tools einschließlich gemeinsamer Kundendatensätze
- Hocheffiziente Tools für die Teamzusammenarbeit
- Erweiterte Planungs- und Veröffentlichungstools
- Ausgefeilte Analysen zu verschiedenen Parametern
- Kundensupportfunktionen wie Aufgaben und Helpdesk-Integration
Voraussetzungen
Zunächst benötigen Sie einen Linux-Server mit mindestens 2 GB RAM. Sie können auf diesen speziellen Link klicken, um 100 $ kostenloses Guthaben auf DigitalOcean zu erhalten. (Nur für neue Benutzer). Wenn Sie bereits DigitalOcean-Benutzer sind, können Sie auf diesen speziellen Link klicken, um ein kostenloses Guthaben von 50 $ für Vultr zu erhalten (nur für neue Benutzer). Sobald Sie ein Konto bei DigitalOcean oder Vultr haben, installieren Sie Ubuntu 20.04 auf Ihrem Server und befolgen Sie die nachstehenden Anweisungen.
Socioboard erfordert PHP und MySQL/MariaDB. Um diesem Tutorial zu folgen, sollten Sie bereits einen LAMP-Stack oder LEMP-Stack eingerichtet haben. Wenn Sie dies noch nicht getan haben, verwenden Sie bitte eine der folgenden Anleitungen.
- So installieren Sie den LAMP-Stack (Apache, MariaDB, PHP) unter Ubuntu 20.04
- So installieren Sie den LEMP-Stack (Nginx, MariaDB, PHP) unter Ubuntu 20.04
Außerdem benötigen Sie einen Domänennamen. Ich habe meinen Domainnamen bei NameCheap registriert, weil der Preis niedrig ist und sie Whois-Datenschutz lebenslang kostenlos bieten.
Lassen Sie uns nun Socioboard installieren.
Schritt 1:Socioboard auf Ubuntu 20.04 Server herunterladen
Melden Sie sich über SSH bei Ihrem Ubuntu 20.04-Server an. Führen Sie dann den folgenden Befehl aus, um die neueste Version von Socioboard auf Ihren Server herunterzuladen.
sudo apt install git git clone https://github.com/socioboard/Socioboard-4.0.git
Verschieben Sie die Dateien nach dem Herunterladen in den Ordner /var/www/
Verzeichnis.
sudo mkdir -p /var/www/ sudo mv Socioboard-4.0 /var/www/socioboard
Dann müssen wir den www-data
Berechtigungen erteilen Benutzer, damit der Webserver in dieses Verzeichnis schreiben kann.
sudo setfacl -R -m u:www-data:rwx /var/www/socioboard/
Schritt 2:Node.js installieren
Das Socioboard-Backend basiert auf Node.js, einer JavaScript-Laufzeitumgebung, die von Menschen lesbaren JavaScript-Code in Maschinencode übersetzt. Daher müssen wir Node.js auf Ubuntu 20.04 installieren, um Socioboard auszuführen. Dieses Tutorial installiert die LTS-Version von Node.js (V12.x) aus dem NodeSource-Repository.
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash - sudo apt install -y nodejs
Die nodejs
Paket enthält die npm-Binärdatei (Node.js-Paketmanager), sodass Sie sie nicht separat installieren müssen. Um Ihre Version von Node.js und npm zu überprüfen, führen Sie
node -v npm -v
Ausgabe:
Schritt 3:Knotenpakete installieren
Installieren Sie zuerst den nodemon
, sequalize
, und mysql2
Paket im globalen Modus.
sudo npm install nodemon sequelize-cli sequelize mysql2 -g
In /var/www/socioboard/socioboard-api/
Verzeichnis gibt es 5 Unterverzeichnisse.
- Feeds
- Bibliothek
- Benachrichtigung
- veröffentlichen
- Benutzer
Wir müssen in jedes dieser Unterverzeichnisse gehen und Abhängigkeitspakete installieren. Gehen Sie zum Beispiel zu den feeds
Unterverzeichnis.
cd /var/www/socioboard/socioboard-api/feeds
Und installieren Sie Abhängigkeitspakete, die in den node_modules
platziert werden Verzeichnis.
npm install
Wenn Schwachstellen gefunden wurden, führen Sie den folgenden Befehl aus, um die Schwachstellen zu beheben.
npm audit fix
Gehen Sie nun in den anderen 4 Unterverzeichnissen genauso vor .
Schritt 4:Erstellen Sie eine Datenbank und einen Benutzer in MariaDB
Melden Sie sich mit dem folgenden Befehl beim MariaDB-Datenbankserver an.
sudo mysql
Erstellen Sie dann eine Datenbank für Socioboard. Dieses Tutorial nennt die Datenbank socioboard
. Sie können einen beliebigen Namen verwenden.
create database socioboard;
Erstellen Sie den Datenbankbenutzer. Auch hier können Sie Ihren bevorzugten Namen für diesen Benutzer verwenden. Ersetzen Sie your_password
mit Ihrem bevorzugten Passwort.
create user socioboard@localhost identified by 'your_password';
Gewähren Sie diesem Benutzer alle Rechte im socioboard
Datenbank.
grant all privileges on socioboard.* to socioboard@localhost;
Berechtigungen leeren und beenden.
flush privileges; exit;
Schritt 5:MariaDB-Datenbank einrichten
Datei bearbeiten.
sudo nano /var/www/socioboard/socioboard-api/library/sequelize-cli/config/config.json
Geben Sie den Datenbanknamen, den Benutzernamen und das Passwort ein.
Speichern und schließen Sie die Datei. Wechseln Sie dann in das Verzeichnis.
cd /var/www/socioboard/socioboard-api/library/sequelize-cli/
Initialisieren Sie das socioboard
Datenbank.
NODE_ENV=development sequelize db:migrate
In /var/www/socioboard/socioboard-api/library/sequelize-cli/seeders/
Verzeichnis gibt es eine Datei, deren Name auf application_info.js
endet . Führen Sie den folgenden Befehl aus.
NODE_ENV=development sequelize db:seed --seed 20190213051930-initialize_application_info.js
Schritt 6:MongoDB installieren
MongoDB ist ein dokumentenorientiertes NoSQL-Datenbankprogramm. Führen Sie den folgenden Befehl aus, um den öffentlichen GPG-Schlüssel von MongoDB zu importieren
wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
Erstellen Sie eine Quelllistendatei für 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
Paketindex aktualisieren und MongoDB installieren.
sudo apt update sudo apt install -y mongodb-org
Starten Sie MongoDB.
sudo systemctl start mongod
Autostart beim Booten aktivieren.
sudo systemctl enable mongod
Überprüfen Sie den Status:
systemctl status mongod
Beispielausgabe:
● 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
Wie Sie sehen können, ist es aktiv (wird ausgeführt).
Schritt 7:Erstellen Sie eine Datenbank und einen Benutzer in MongoDB
Melden Sie sich bei der MongoDB-Shell an.
mongo
Erstellen Sie eine Datenbank für SocioBoard.
use socioboard
Sie müssen mindestens ein Dokument in diese Datenbank einfügen. Führen Sie den folgenden Befehl aus, um ein Beispieldokument einzufügen.
db.new_collection.insert({ some_key: "some_value" })
Führen Sie dann den folgenden Befehl aus, um einen Benutzer zu erstellen.
db.createUser( { user: "socioboard", pwd: "your_password", roles: [ { role: "readWrite", db: "socioboard" } ] } )
Verlassen Sie die MongoDB-Shell.
exit
Schritt 8:MongoDB-Verbindung einrichten
Datei bearbeiten.
sudo nano /var/www/socioboard/socioboard-api/user/config/development.json
Geben Sie den Datenbanknamen, den Benutzernamen und das Passwort ein.
Scrollen Sie bis zum Ende der Datei und fügen Sie die folgenden 3 Zeilen hinzu.
"base_path": "../../media", "payment_path": "../../media/payments", "template": "public/template/paymentTemplate.html"
Speichern und schließen Sie die Datei. Bearbeiten Sie dann auch die folgenden 3 Dateien und geben Sie den MongoDB-Datenbanknamen, den Benutzernamen und das Passwort ein.
- /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
Schritt 9:Socioboard-Microservices ausführen
sudo nano /etc/systemd/system/socioboard-user.service
Fügen Sie die folgenden Zeilen hinzu. Ersetzen Sie den Benutzernamen durch Ihren echten Benutzernamen.
[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
Speichern und schließen Sie die Datei.
sudo nano /etc/systemd/system/socioboard-publish.service
Fügen Sie die folgenden Zeilen hinzu. Ersetzen Sie den Benutzernamen durch Ihren echten Benutzernamen.
[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
Speichern und schließen Sie die Datei.
sudo nano /etc/systemd/system/socioboard-feeds.service
Fügen Sie die folgenden Zeilen hinzu. Ersetzen Sie den Benutzernamen durch Ihren echten Benutzernamen.
[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
Speichern und schließen Sie die Datei.
sudo nano /etc/systemd/system/socioboard-notification.service
Fügen Sie die folgenden Zeilen hinzu. Ersetzen Sie den Benutzernamen durch Ihren echten Benutzernamen.
[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
Speichern und schließen Sie die Datei. Starten Sie dann die 4 Dienste.
sudo systemctl start socioboard-user socioboard-publish socioboard-feeds socioboard-notification
Jetzt sollten Sie den Status jedes Dienstes überprüfen.
systemctl status socioboard-user systemctl status socioboard-publish systemctl status socioboard-feeds systemctl status socioboard-notification
Wenn Sie für jeden Dienst eine Meldung wie
sehenservice listening on http://localhost:3000
Dann wird der Dienst erfolgreich gestartet. Wenn Sie diese Meldung nicht sehen, liegen Fehler vor und Sie können die Protokolle unter public/logs/
überprüfen Ordner, um zu sehen, was falsch ist.
Wenn alle Dienste erfolgreich gestartet wurden, aktivieren Sie den automatischen Start beim Booten.
sudo systemctl enable socioboard-user socioboard-publish socioboard-feeds socioboard-notification
Schritt 10:Socioboard-web-php einrichten
Verzeichnis wechseln.
cd /var/www/socioboard/socioboard-web-php/
Installieren Sie Laravel.
sudo apt install composer composer global require laravel/installer
Benennen Sie environmentfile.env
um zu .env
.
mv environmentfile.env .env
Bearbeiten Sie diese Datei.
nano .env
Geben Sie die APP-URL und die API-URLs ein. Socioboard.example.com ist die URL, die Sie in die Adressleiste des Webbrowsers eingeben, um auf SocioBoard zuzugreifen.
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/
Speichern und schließen Sie die Datei. Installieren Sie dann die PHP-Abhängigkeiten.
composer update
Generieren Sie als Nächstes einen Laravel-App-Schlüssel, der in .env
gespeichert wird Datei.
php artisan key:generate
Schritt 11:Einrichten des Webservers
Wir können Apache- oder Nginx-Webserver verwenden.
Apache
Wenn Sie Apache bevorzugen, erstellen Sie eine virtuelle Hostdatei für Socioboard.
sudo nano /etc/apache2/sites-available/socioboard.conf
Fügen Sie den folgenden Text in die Datei ein. Ersetzen Sie socioboard.example.com
mit eigener Subdomain für Socioboard. Vergessen Sie nicht, in Ihrem DNS-Manager einen Eintrag für den Domainnamen festzulegen.
<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>
Speichern und schließen Sie die Datei. Aktivieren Sie dann diesen virtuellen Host.
sudo a2ensite socioboard.conf
Wir müssen das Rewrite-Modul aktivieren.
sudo a2enmod rewrite
Starten Sie Apache neu, damit die Änderungen wirksam werden.
sudo systemctl restart apache2
Nginx
Wenn Sie Nginx bevorzugen, erstellen Sie eine virtuelle Hostdatei für Socioboard.
sudo nano /etc/nginx/conf.d/socioboard.conf
Fügen Sie den folgenden Text in die Datei ein. Ersetzen Sie socioboard.example.com
mit eigener Subdomain für Socioboard. Vergessen Sie nicht, in Ihrem DNS-Manager einen Eintrag für den Domainnamen festzulegen.
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; } }
Speichern und schließen Sie die Datei. Testen Sie dann die Nginx-Konfiguration.
sudo nginx -t
Wenn der Test erfolgreich ist, laden Sie Nginx neu, damit die Änderungen wirksam werden.
sudo systemctl reload nginx
Schritt 12:HTTPS aktivieren
Um den HTTP-Verkehr zu verschlüsseln, können wir HTTPS aktivieren, indem wir ein kostenloses TLS-Zertifikat installieren, das von Let’s Encrypt ausgestellt wurde. Führen Sie den folgenden Befehl aus, um den Let’s Encrypt-Client (certbot) auf dem Ubuntu 20.04-Server zu installieren.
sudo apt install certbot
Wenn Sie Nginx verwenden, müssen Sie auch das Certbot Nginx-Plugin installieren.
sudo apt install python3-certbot-nginx
Führen Sie als Nächstes den folgenden Befehl aus, um das TLS-Zertifikat zu erhalten und zu installieren.
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d socioboard.yourdomain.com
Wenn Sie Apache verwenden, installieren Sie das Certbot Apache-Plugin.
sudo apt install python3-certbot-apache
Und führen Sie diesen Befehl aus, um das TLS-Zertifikat zu erhalten und zu installieren.
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d socioboard.yourdomain.com
Wo
--nginx
:Verwenden Sie das nginx-Plugin.--apache
:Verwenden Sie das Apache-Plugin.--agree-tos
:Nutzungsbedingungen akzeptieren.--redirect
:HTTPS durch 301-Umleitung erzwingen.--hsts
:Fügen Sie jeder HTTP-Antwort den Strict-Transport-Security-Header hinzu. Erzwingen, dass der Browser immer TLS für die Domäne verwendet. Schützt vor SSL/TLS-Stripping.--staple-ocsp
:Aktiviert OCSP-Heften. Eine gültige OCSP-Antwort wird an das Zertifikat geheftet, das der Server während TLS anbietet.
Das Zertifikat sollte nun abgerufen und automatisch installiert werden.
Schritt 13:Socioboard verwenden
Jetzt können Sie unter https://socioboard.example.com
auf die SocioBoard-Weboberfläche zugreifen . Sie müssen ein Konto erstellen, um es verwenden zu können. Wenn Sie kein Konto erstellen können, prüfen Sie die Fehlerprotokolle unter /var/www/socioboard/socioboard-web-php/storage/logs/
Verzeichnis.
Socioboard wird versuchen, Ihnen eine Bestätigungs-E-Mail zu senden, aber ich habe festgestellt, dass es keine E-Mails senden kann. Um Ihr Konto zu aktivieren, können Sie den Aktivierungsstatus in der MariaDB-Datenbank ändern. Melden Sie sich bei der MariaDB-Shell an.
sudo mysql
Verwenden Sie das socioboard
Datenbank.
use socioboard;
Aktivieren Sie dann Ihr Konto.
update user_activations set activation_status = 1;
Standardmäßig befindet sich Ihr Konto im Basic-Plan, Sie können zum Platinum-Plan wechseln.
update user_activations set user_plan = 7;
Verlassen Sie die MariaDB-Shell.
exit
Melden Sie sich dann bei Ihrem SocioBoard-Konto an.
Schlussfolgerung
Ich hoffe, dieses Tutorial hat Ihnen geholfen, Socioboard auf einem Ubuntu 20.04-Server zu installieren. Wenn Sie diesen Beitrag nützlich fanden, abonnieren Sie wie immer unseren kostenlosen Newsletter, um weitere Tipps und Tricks zu erhalten. Pass auf dich auf 🙂