Tento tutoriál vám ukáže, jak nainstalovat Socioboard na Ubuntu 20.04 s webovým serverem Apache nebo Nginx. Socioboard je open source, samostatně hostovaná sada nástrojů pro generování potenciálních zákazníků sociálních médií pro podniky. Socioboard poskytuje hostovanou službu, ale pokud chcete software hostovat sami na svém vlastním serveru, můžete postupovat podle pokynů níže.
Funkce sociální desky
Sociální sítě jsou určeny pro uživatele, ne pro firmy. Socioboard nahlíží na sociální sítě z obchodního hlediska a zaplňuje ty mezery, které sociální sítě nedokážou dokonale zaplnit. Firmy by měly vlastnit svá sociální data a měly by mít na starosti, co s nimi chtějí dělat, vytvářet zprávy a analyzovat data, aby mohly činit informovaná a lepší obchodní rozhodnutí.
Socioboard poskytuje:
- Vysoce přizpůsobitelné a škálovatelné nástroje s otevřeným zdrojovým kódem
- Výzvové zdroje a interaktivní nástroje pro sociální vyhledávání
- Sociální nástroje CRM včetně sdílených záznamů zákazníků
- Vysoce účinné nástroje pro týmovou spolupráci
- Pokročilé nástroje pro plánování a publikování
- Sofistikovaná analýza různých parametrů
- Funkce zákaznické podpory, jako jsou úkoly a integrace Helpdesku
Předpoklady
Nejprve potřebujete linuxový server s alespoň 2 GB RAM. Kliknutím na tento speciální odkaz získáte kredit 100 $ zdarma na DigitalOcean. (Pouze pro nové uživatele). Pokud již jste uživatelem DigitalOcean, můžete kliknout na tento speciální odkaz a získat kredit 50 $ zdarma na Vultr (pouze pro nové uživatele). Jakmile budete mít účet u DigitalOcean nebo Vultr, nainstalujte si Ubuntu 20.04 na svůj server a postupujte podle pokynů níže.
Socioboard vyžaduje PHP a MySQL/MariaDB. Abyste mohli postupovat podle tohoto návodu, měli byste již nastavit zásobník LAMP nebo zásobník LEMP. Pokud jste tak ještě neučinili, použijte prosím jeden z následujících průvodců.
- Jak nainstalovat zásobník LAMP (Apache, MariaDB, PHP) na Ubuntu 20.04
- Jak nainstalovat zásobník LEMP (Nginx, MariaDB, PHP) na Ubuntu 20.04
Potřebujete také název domény. Zaregistroval jsem své doménové jméno na NameCheap, protože cena je nízká a poskytují ochranu soukromí whois doživotně zdarma.
Nyní nainstalujme Socioboard.
Krok 1:Stáhněte si Socioboard na serveru Ubuntu 20.04
Přihlaste se ke svému serveru Ubuntu 20.04 přes SSH. Poté spusťte následující příkaz ke stažení nejnovější verze Socioboard na váš server.
sudo apt install git git clone https://github.com/socioboard/Socioboard-4.0.git
Po stažení přesuňte soubory do /var/www/
adresář.
sudo mkdir -p /var/www/ sudo mv Socioboard-4.0 /var/www/socioboard
Poté musíme udělit oprávnění pro www-data
uživatel, aby webový server mohl zapisovat do tohoto adresáře.
sudo setfacl -R -m u:www-data:rwx /var/www/socioboard/
Krok 2:Nainstalujte Node.js
Backend Socioboard je postaven na Node.js, což je běhové prostředí JavaScriptu, které převádí člověkem čitelný kód JavaScriptu do strojového kódu, takže abychom mohli spustit Socioboard, musíme nainstalovat Node.js na Ubuntu 20.04. Tento tutoriál nainstaluje verzi LTS Node.js (V12.x) z úložiště NodeSource.
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash - sudo apt install -y nodejs
nodejs
balíček obsahuje binární soubor npm (správce balíčků Node.js), takže jej není třeba instalovat samostatně. Chcete-li zkontrolovat verzi Node.js a npm, spusťte
node -v npm -v
Výstup:
Krok 3:Nainstalujte balíčky uzlů
Nejprve nainstalujte nodemon
, sequalize
a mysql2
balíček v globálním režimu.
sudo npm install nodemon sequelize-cli sequelize mysql2 -g
V /var/www/socioboard/socioboard-api/
existuje 5 podadresářů.
- zdroje
- knihovna
- oznámení
- publikovat
- uživatel
Musíme jít do každého z těchto podadresářů a nainstalovat balíčky závislostí. Přejděte například na feeds
podadresář.
cd /var/www/socioboard/socioboard-api/feeds
A nainstalujte balíčky závislostí, které budou umístěny v node_modules
adresář.
npm install
Pokud byly nalezeny chyby zabezpečení, spusťte následující příkaz a opravte je.
npm audit fix
Nyní proveďte totéž v dalších 4 podadresářích .
Krok 4:Vytvořte databázi a uživatele v MariaDB
Přihlaste se k databázovému serveru MariaDB pomocí následujícího příkazu.
sudo mysql
Poté vytvořte databázi pro Socioboard. Tento tutoriál pojmenuje databázi socioboard
. Můžete použít jakékoli jméno.
create database socioboard;
Vytvořte uživatele databáze. Opět můžete pro tohoto uživatele použít preferované jméno. Nahraďte your_password
s vaším preferovaným heslem.
create user socioboard@localhost identified by 'your_password';
Udělte tomuto uživateli všechna oprávnění na socioboard
databáze.
grant all privileges on socioboard.* to socioboard@localhost;
Vyprázdněte oprávnění a ukončete.
flush privileges; exit;
Krok 5:Nastavení databáze MariaDB
Upravte soubor.
sudo nano /var/www/socioboard/socioboard-api/library/sequelize-cli/config/config.json
Zadejte název databáze, uživatelské jméno a heslo.
Uložte a zavřete soubor. Poté změňte adresář.
cd /var/www/socioboard/socioboard-api/library/sequelize-cli/
Inicializujte socioboard
databáze.
NODE_ENV=development sequelize db:migrate
V /var/www/socioboard/socioboard-api/library/sequelize-cli/seeders/
adresář, existuje soubor, jehož jméno končí application_info.js
. Spusťte následující příkaz.
NODE_ENV=development sequelize db:seed --seed 20190213051930-initialize_application_info.js
Krok 6:Nainstalujte MongoDB
MongoDB je databázový program NoSQL orientovaný na dokumenty. Spusťte následující příkaz k importu veřejného klíče GPG MongoDB
wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
Vytvořte soubor se seznamem zdrojů pro 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
Aktualizujte index balíčku a nainstalujte MongoDB.
sudo apt update sudo apt install -y mongodb-org
Spusťte MongoDB.
sudo systemctl start mongod
Povolit automatické spouštění při spouštění.
sudo systemctl enable mongod
Zkontrolujte jeho stav:
systemctl status mongod
Ukázkový výstup:
● 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
Jak vidíte, je aktivní (běží).
Krok 7:Vytvořte databázi a uživatele v MongoDB
Přihlaste se do prostředí MongoDB.
mongo
Vytvořte databázi pro SocioBoard.
use socioboard
Do této databáze musíte vložit alespoň jeden dokument. Spuštěním následujícího příkazu vložte vzorový dokument.
db.new_collection.insert({ some_key: "some_value" })
Poté spusťte následující příkaz k vytvoření uživatele.
db.createUser( { user: "socioboard", pwd: "your_password", roles: [ { role: "readWrite", db: "socioboard" } ] } )
Opusťte prostředí MongoDB.
exit
Krok 8:Nastavení připojení MongoDB
Upravte soubor.
sudo nano /var/www/socioboard/socioboard-api/user/config/development.json
Zadejte název databáze, uživatelské jméno a heslo.
Přejděte dolů na konec souboru a přidejte následující 3 řádky.
"base_path": "../../media", "payment_path": "../../media/payments", "template": "public/template/paymentTemplate.html"
Uložte a zavřete soubor. Poté také upravte následující 3 soubory a zadejte název databáze MongoDB, uživatelské jméno a heslo.
- /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
Krok 9:Spusťte Socioboard Microservices
sudo nano /etc/systemd/system/socioboard-user.service
Přidejte následující řádky. Nahraďte uživatelské jméno svým skutečným uživatelským jménem.
[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
Uložte a zavřete soubor.
sudo nano /etc/systemd/system/socioboard-publish.service
Přidejte následující řádky. Nahraďte uživatelské jméno svým skutečným uživatelským jménem.
[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
Uložte a zavřete soubor.
sudo nano /etc/systemd/system/socioboard-feeds.service
Přidejte následující řádky. Nahraďte uživatelské jméno svým skutečným uživatelským jménem.
[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
Uložte a zavřete soubor.
sudo nano /etc/systemd/system/socioboard-notification.service
Přidejte následující řádky. Nahraďte uživatelské jméno svým skutečným uživatelským jménem.
[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
Uložte a zavřete soubor. Poté spusťte 4 služby.
sudo systemctl start socioboard-user socioboard-publish socioboard-feeds socioboard-notification
Nyní byste měli zkontrolovat stav každé služby.
systemctl status socioboard-user systemctl status socioboard-publish systemctl status socioboard-feeds systemctl status socioboard-notification
U každé služby, pokud vidíte zprávu jako
service listening on http://localhost:3000
Poté je služba úspěšně spuštěna. Pokud tuto zprávu nevidíte, došlo k chybám a protokoly můžete zkontrolovat na public/logs/
složku, abyste viděli, co je špatně.
Pokud se všechny služby úspěšně spustily, povolte automatické spouštění při spouštění.
sudo systemctl enable socioboard-user socioboard-publish socioboard-feeds socioboard-notification
Krok 10:Nastavte Socioboard-web-php
Změňte adresář.
cd /var/www/socioboard/socioboard-web-php/
Nainstalujte Laravel.
sudo apt install composer composer global require laravel/installer
Přejmenujte soubor environmentfile.env
do .env
.
mv environmentfile.env .env
Upravte tento soubor.
nano .env
Zadejte adresu URL APP a adresy URL rozhraní API. socioboard.example.com je adresa URL, kterou zadáte do adresního řádku webového prohlížeče pro přístup k 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/
Uložte a zavřete soubor. Poté nainstalujte závislosti PHP.
composer update
Dále vygenerujte klíč aplikace Laravel, který bude uložen v .env
soubor.
php artisan key:generate
Krok 11:Nastavení webového serveru
Můžeme použít webový server Apache nebo Nginx.
Apache
Pokud dáváte přednost Apache, vytvořte soubor virtuálního hostitele pro Socioboard.
sudo nano /etc/apache2/sites-available/socioboard.conf
Do souboru vložte následující text. Nahraďte socioboard.example.com
s vlastní subdoménou pro Socioboard. Nezapomeňte ve správci DNS nastavit záznam A pro název domény.
<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>
Uložte a zavřete soubor. Poté povolte tohoto virtuálního hostitele.
sudo a2ensite socioboard.conf
Musíme povolit modul přepisování.
sudo a2enmod rewrite
Restartujte Apache, aby se změny projevily.
sudo systemctl restart apache2
Nginx
Pokud dáváte přednost Nginx, vytvořte soubor virtuálního hostitele pro Socioboard.
sudo nano /etc/nginx/conf.d/socioboard.conf
Do souboru vložte následující text. Nahraďte socioboard.example.com
s vlastní subdoménou pro Socioboard. Nezapomeňte ve správci DNS nastavit záznam A pro název domény.
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; } }
Uložte a zavřete soubor. Poté otestujte konfiguraci Nginx.
sudo nginx -t
Pokud je test úspěšný, znovu načtěte Nginx, aby se změny projevily.
sudo systemctl reload nginx
Krok 12:Povolení HTTPS
Pro šifrování HTTP provozu můžeme povolit HTTPS instalací bezplatného TLS certifikátu vydaného od Let’s Encrypt. Spuštěním následujícího příkazu nainstalujte klienta Let’s Encrypt (certbot) na server Ubuntu 20.04.
sudo apt install certbot
Pokud používáte Nginx, musíte si také nainstalovat plugin Certbot Nginx.
sudo apt install python3-certbot-nginx
Dále spusťte následující příkaz pro získání a instalaci certifikátu TLS.
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d socioboard.yourdomain.com
Pokud používáte Apache, nainstalujte si plugin Certbot Apache.
sudo apt install python3-certbot-apache
A spusťte tento příkaz, abyste získali a nainstalovali certifikát TLS.
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d socioboard.yourdomain.com
Kde
--nginx
:Použijte plugin nginx.--apache
:Použijte plugin Apache.--agree-tos
:Souhlas se smluvními podmínkami.--redirect
:Vynutit HTTPS přesměrováním 301.--hsts
:Přidejte hlavičku Strict-Transport-Security do každé odpovědi HTTP. Vynucení prohlížeče, aby pro doménu vždy používal TLS. Chrání před odstraněním SSL/TLS.--staple-ocsp
:Umožňuje sešívání OCSP. Platná odpověď OCSP je přišita k certifikátu, který server nabízí během TLS.
Certifikát by nyní měl být získán a automaticky nainstalován.
Krok 13:Použijte Socioboard
Nyní máte přístup k webovému rozhraní SocioBoard na adrese https://socioboard.example.com
. Abyste jej mohli používat, musíte si vytvořit účet. Pokud nemůžete vytvořit účet, zkontrolujte protokoly chyb v /var/www/socioboard/socioboard-web-php/storage/logs/
adresář.
Socioboard se vám pokusí poslat ověřovací e-mail, ale zjistil jsem, že e-maily odesílat neumí. Chcete-li aktivovat svůj účet, můžete změnit stav aktivace z databáze MariaDB. Přihlaste se do prostředí MariaDB.
sudo mysql
Použijte socioboard
databáze.
use socioboard;
Poté aktivujte svůj účet.
update user_activations set activation_status = 1;
Ve výchozím nastavení je váš účet v základním plánu, můžete přejít na tarif Platinum.
update user_activations set user_plan = 7;
Opusťte prostředí MariaDB.
exit
Poté se přihlaste ke svému účtu SocioBoard.
Závěr
Doufám, že vám tento tutoriál pomohl nainstalovat Socioboard na server Ubuntu 20.04. Jako vždy, pokud vám tento příspěvek přišel užitečný, přihlaste se k odběru našeho bezplatného zpravodaje, kde získáte další tipy a triky. Opatruj se 🙂