GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu 20.04にSocioboardをインストールする方法–ソーシャルメディアリード生成ツールキット

このチュートリアルでは、ApacheまたはNginxWebサーバーを使用してUbuntu20.04にSocioboardをインストールする方法を示します。 Socioboardは、企業向けのオープンソースのセルフホスト型ソーシャルメディアリード生成ツールキットです。 Socioboardはホスト型サービスを提供しますが、自分のサーバーでソフトウェアをセルフホストする場合は、以下の手順に従ってください。

ソーシャルボードの機能

ソーシャルネットワークは、ビジネスではなく、ユーザーを対象としています。 Socioboardは、ビジネスの観点からソーシャルを表示し、ソーシャルネットワークが絶妙に埋めることができないギャップを埋めます。企業はソーシャルデータを所有し、それを使って何をしたいのかを担当し、レポートを生成し、データを分析して、情報に基づいた改善されたビジネス上の意思決定を行う必要があります。

Socioboardは以下を提供します:

  • 高度にカスタマイズ可能でスケーラブルなオープンソースツール
  • プロンプトフィードとインタラクティブなソーシャルディスカバリツール
  • 共有顧客レコードを含むソーシャルCRMツール
  • 非常に効率的なチームコラボレーションツール
  • 高度なスケジューリングおよび公開ツール
  • さまざまなパラメータに関する高度な分析
  • タスクやヘルプデスク統合などのカスタマーサポート機能

前提条件

まず、少なくとも2GBのRAMを搭載したLinuxサーバーが必要です。この特別なリンクをクリックすると、DigitalOceanで100ドルの無料クレジットを獲得できます。 (新規ユーザーのみ)。すでにDigitalOceanユーザーである場合は、この特別なリンクをクリックして、Vultrで$ 50の無料クレジットを取得できます(新規ユーザーのみ)。 DigitalOceanまたはVultrでアカウントを取得したら、サーバーにUbuntu 20.04をインストールし、以下の手順に従います。

SocioboardにはPHPとMySQL/MariaDBが必要です。このチュートリアルに従うには、LAMPスタックまたはLEMPスタックをすでに設定している必要があります。まだ行っていない場合は、次のガイドのいずれかを使用してください。

  • Ubuntu 20.04にLAMP(Apache、MariaDB、PHP)スタックをインストールする方法
  • Ubuntu 20.04にLEMP(Nginx、MariaDB、PHP)スタックをインストールする方法

ドメイン名も必要です。ドメイン名をNameCheapに登録したのは、価格が安く、whoisのプライバシー保護が一生無料になるからです。

それでは、Socioboardをインストールしましょう。

ステップ1:Ubuntu20.04サーバーにSocioboardをダウンロードする

SSH経由でUbuntu20.04サーバーにログインします。次に、次のコマンドを実行して、最新バージョンのSocioboardをサーバーにダウンロードします。

sudo apt install git

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

ダウンロードしたら、ファイルを/var/www/に移動します ディレクトリ。

sudo mkdir -p /var/www/

sudo mv Socioboard-4.0 /var/www/socioboard

次に、www-dataに権限を付与する必要があります Webサーバーがこのディレクトリに書き込めるようにするためのユーザー。

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

ステップ2:Node.jsをインストールする

SocioboardバックエンドはNode.js上に構築されています。これは人間が読めるJavaScriptコードをマシンコードに変換するJavaScriptランタイム環境であるため、Socioboardを実行するにはUbuntu20.04にNode.jsをインストールする必要があります。このチュートリアルでは、NodeSourceリポジトリからNode.js(V12.x)のLTSリリースをインストールします。

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

sudo apt install -y nodejs

nodejs パッケージにはnpm(Node.jsパッケージマネージャー)バイナリが含まれているため、個別にインストールする必要はありません。 Node.jsとnpmのバージョンを確認するには、

を実行します。
node -v

npm -v

出力:

ステップ3:ノードパッケージをインストールする

まず、nodemonをインストールします 、sequalize 、およびmysql2 グローバルモードのパッケージ。

sudo npm install nodemon sequelize-cli sequelize mysql2 -g

/var/www/socioboard/socioboard-api/内 ディレクトリには、5つのサブディレクトリがあります。

  • フィード
  • ライブラリ
  • 通知
  • 公開
  • ユーザー

これらの各サブディレクトリに移動して、依存関係パッケージをインストールする必要があります。たとえば、feedsに移動します サブディレクトリ。

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

そして、node_modulesに配置される依存関係パッケージをインストールします ディレクトリ。

npm install

脆弱性が見つかった場合は、次のコマンドを実行して脆弱性を修正します。

npm audit fix

他の4つのサブディレクトリでも同じことを行います

ステップ4:MariaDBでデータベースとユーザーを作成する

次のコマンドを使用してMariaDBデータベースサーバーにログインします。

sudo mysql

次に、Socioboardのデータベースを作成します。このチュートリアルでは、データベースにsocioboardという名前を付けます 。好きな名前を使用できます。

create database socioboard;

データベースユーザーを作成します。この場合も、このユーザーの好みの名前を使用できます。 your_passwordを置き換えます ご希望のパスワードを使用してください。

create user socioboard@localhost identified by 'your_password';

このユーザーにsocioboardのすべての権限を付与します データベース。

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

特権をフラッシュして終了します。

flush privileges;

exit;

ステップ5:MariaDBデータベースを設定する

ファイルを編集します。

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

データベース名、ユーザー名、パスワードを入力してください。

ファイルを保存して閉じます。次に、ディレクトリを変更します。

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

socioboardを初期化します データベース。

NODE_ENV=development sequelize db:migrate

/var/www/socioboard/socioboard-api/library/sequelize-cli/seeders/ ディレクトリには、名前がapplication_info.jsで終わるファイルがあります 。次のコマンドを実行します。

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

ステップ6:MongoDBをインストールする

MongoDBは、ドキュメント指向のNoSQLデータベースプログラムです。次のコマンドを実行して、MongoDBパブリックGPGキーをインポートします

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

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

パッケージインデックスを更新し、MongoDBをインストールします。

sudo apt update

sudo apt install -y mongodb-org

MongoDBを起動します。

sudo systemctl start mongod

起動時に自動起動を有効にします。

sudo systemctl enable mongod

ステータスを確認してください:

systemctl status mongod

サンプル出力:

● 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

ご覧のとおり、アクティブ(実行中)です。

ステップ7:MongoDBでデータベースとユーザーを作成する

MongoDBシェルにログインします。

mongo

SocioBoardのデータベースを作成します。

use socioboard

このデータベースに少なくとも1つのドキュメントを挿入する必要があります。次のコマンドを実行して、サンプルドキュメントを挿入します。

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

次に、次のコマンドを実行してユーザーを作成します。

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

MongoDBシェルを終了します。

exit

ステップ8:MongoDB接続をセットアップする

ファイルを編集します。

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

データベース名、ユーザー名、パスワードを入力してください。

ファイルの最後までスクロールして、次の3行を追加します。

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

ファイルを保存して閉じます。次に、次の3つのファイルも編集して、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

ステップ9:Socioboardマイクロサービスを実行する

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

次の行を追加します。ユーザー名を実際のユーザー名に置き換えます。

[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

ファイルを保存して閉じます。

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

次の行を追加します。ユーザー名を実際のユーザー名に置き換えます。

[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

ファイルを保存して閉じます。

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

次の行を追加します。ユーザー名を実際のユーザー名に置き換えます。

[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

ファイルを保存して閉じます。

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

次の行を追加します。ユーザー名を実際のユーザー名に置き換えます。

[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

ファイルを保存して閉じます。次に、4つのサービスを開始します。

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

次に、各サービスのステータスを確認する必要があります。

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

サービスごとに、

のようなメッセージが表示された場合
service listening on http://localhost:3000

その後、サービスは正常に開始されます。このメッセージが表示されない場合は、エラーが発生しているため、public/logs/でログを確認できます。 何が問題なのかを確認するためのフォルダ。

すべてのサービスが正常に開始されたら、起動時に自動開始を有効にします。

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

ステップ10:Socioboard-web-phpを設定する

ディレクトリを変更します。

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

Laravelをインストールします。

sudo apt install composer 

composer global require laravel/installer

environmentfile.envの名前を変更します .envへ 。

mv environmentfile.env .env

このファイルを編集します。

nano .env

APPURLとAPIURLを入力します。 socioboard.example.comは、SocioBoardにアクセスするためにWebブラウザのアドレスバーに入力するURLです。

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/

ファイルを保存して閉じます。次に、PHPの依存関係をインストールします。

composer update

次に、Laravelアプリキーを生成します。これは.envに保存されます ファイル。

php artisan key:generate

ステップ11:Webサーバーのセットアップ

ApacheまたはNginxWebサーバーを使用できます。

Apache

Apacheを使用する場合は、Socioboard用の仮想ホストファイルを作成します。

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

次のテキストをファイルに入れます。 socioboard.example.comを置き換えます Socioboardの独自のサブドメインを使用します。 DNSマネージャーでドメイン名のAレコードを設定することを忘れないでください。

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

ファイルを保存して閉じます。次に、この仮想ホストを有効にします。

sudo a2ensite socioboard.conf

リライトモジュールを有効にする必要があります。

sudo a2enmod rewrite

変更を有効にするには、Apacheを再起動します。

sudo systemctl restart apache2

Nginx

Nginxが必要な場合は、Socioboardの仮想ホストファイルを作成します。

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

次のテキストをファイルに入れます。 socioboard.example.comを置き換えます Socioboardの独自のサブドメインを使用します。 DNSマネージャーでドメイン名のAレコードを設定することを忘れないでください。

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;
  }
}

ファイルを保存して閉じます。次に、Nginx構成をテストします。

sudo nginx -t

テストが成功した場合は、変更を有効にするためにNginxをリロードします。

sudo systemctl reload nginx

ステップ12:HTTPSを有効にする

HTTPトラフィックを暗号化するには、Let’sEncryptから発行された無料のTLS証明書をインストールしてHTTPSを有効にします。次のコマンドを実行して、Let’s Encryptクライアント(certbot)をUbuntu20.04サーバーにインストールします。

sudo apt install certbot

Nginxを使用する場合は、CertbotNginxプラグインもインストールする必要があります。

sudo apt install python3-certbot-nginx

次に、次のコマンドを実行してTLS証明書を取得してインストールします。

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

Apacheを使用する場合は、CertbotApacheプラグインをインストールしてください。

sudo apt install python3-certbot-apache

そして、このコマンドを実行してTLS証明書を取得してインストールします。

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

どこ

  • --nginx :nginxプラグインを使用してください。
  • --apache :Apacheプラグインを使用してください。
  • --agree-tos :利用規約に同意します。
  • --redirect :301リダイレクトでHTTPSを強制します。
  • --hsts :すべてのHTTP応答にStrict-Transport-Securityヘッダーを追加します。ドメインに常にTLSを使用するようにブラウザを強制します。 SSL/TLSストリッピングから防御します。
  • --staple-ocsp :OCSPステープリングを有効にします。有効なOCSP応答は、TLS中にサーバーが提供する証明書にホチキス止めされます。

これで、証明書が取得され、自動的にインストールされます。

ステップ13:Socioboardを使用する

これで、https://socioboard.example.comでSocioBoardWebインターフェイスにアクセスできます。 。アカウントを使用するには、アカウントを作成する必要があります。アカウントを作成できない場合は、/var/www/socioboard/socioboard-web-php/storage/logs/のエラーログを確認してください ディレクトリ。

Socioboardは確認メールを送信しようとしますが、メールを送信できないことがわかりました。アカウントをアクティブ化するには、MariaDBデータベースからアクティブ化ステータスを変更できます。 MariaDBシェルにログインします。

sudo mysql

socioboardを使用する データベース。

use socioboard;

次に、アカウントをアクティブ化します。

update user_activations set activation_status = 1;

デフォルトでは、アカウントは基本プランに基づいており、プラチナプランに変更できます。

update user_activations set user_plan = 7;

MariaDBシェルを終了します。

exit

次に、SocioBoardアカウントにログインします。

結論

このチュートリアルが、Ubuntu20.04サーバーにSocioboardをインストールするのに役立つことを願っています。いつものように、この投稿が役に立った場合は、無料のニュースレターを購読して、より多くのヒントやコツを入手してください。気をつけて🙂


Ubuntu
  1. Ubuntu11.10にVLCMediaPlayerをインストールする方法

  2. Kodi Media Center 19.1がリリースされました! Ubuntu21.04にインストールする方法

  3. UbuntuにXnoise0.2.15MediaPlayerをインストールする方法

  1. Ubuntu20.04にRをインストールする方法

  2. Ubuntu20.04にPlexMediaServerをインストールする方法

  3. Ubuntu18.04にPlexMediaServerをインストールする方法

  1. Ubuntu18.04にGoをインストールする方法

  2. Ubuntu18.04にRをインストールする方法

  3. Ubuntu18.04にVLCMediaPlayerをインストールする方法