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

Xiboは、Webベースのコンテンツ管理システム(CMS)で構成されるオープンソースのデジタルサイネージ(パブリックディスプレイサイネージ)ソリューションです。 非常に重要なアナウンスで人々の注意を引くための最良の方法は、Xiboを使用したデジタルサイネージで行うことができます。 これにより、PCやテレビを独特の方法で情報を発信し、戦略的な場所に配置して人々の注意を引くことができるインフォメーションデスクに変えることができます。

使用する Xibo、画像、ビデオ、さらにはPowerPointプレゼンテーションをキオスクに自動的にプッシュできる独自のデジタルサイネージサーバーをセットアップできます。これにより、大量の電子メールを送信したり、大量の電子メールを送信したりすることなく、組織全体を最新のニュースに保つことができます。複数のマシンでファイルまたはスライドショーを手動で編集します。

Xiboは、Dockerを介して、またはMySQL / PHPがインストールされているWebサーバー上で実行できます。 このチュートリアルでは、 XiboCMSをインストールするDocker オン Ubuntu 20.04

前提条件

  • Ubuntu20.04インスタンス
  • のユーザー sudo 特権

ステップ1:Dockerをインストールする

まず、docker-engineとdocker-composeをインストールします。

前提条件パッケージをインストールします。

$ sudo apt install apt-transport-https ca-certificates curl software-properties-common

次に、DockerリポジトリのGPキーを追加する必要があります。

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

DockerをAPTソースに追加しましょう

$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"

これでdocker-engineをインストールできます。

$ sudo apt install docker-ce

Docker Composeの最新の安定バージョンを確実に入手するために、このソフトウェアを 公式Githubリポジトリ

まず、彼らで利用可能な最新バージョンを確認します リリースページ。 この記事の執筆時点で、最新の安定バージョンは 2.0.1

次のコマンドは、 2.0.1 で実行可能ファイルを解放して保存します /usr/local/bin/docker-compose、これにより、このソフトウェアは次のようにグローバルにアクセス可能になります docker-compose

$ sudo curl -L https://github.com/docker/compose/releases/download/v2.0.1/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose

次に、正しい権限を設定して、 docker-compose コマンドは実行可能です:

$ sudo chmod +x /usr/local/bin/docker-compose

インストールが成功したことを確認するには、次のコマンドを実行します。

$ docker-compose --version

Docker Compose version v2.0.1

次に、root以外のユーザーをdockerグループに追加して、ユーザーがdockerコマンドを使用せずに使用できるようにする必要があります。 sudo 特権:

$ sudo usermod -aG docker username

ステップ2:XiboDockerファイルをダウンロードして抽出する

まず、XiboCMSのフォルダーを作成しましょう

$ sudo mkdir /opt/xibo

ユーザーに権限を付与する

$ sudo chown -R username:username /opt/xibo

$ cd /opt/xibo

最新のものをダウンロードできます XiboCMSをダウンロードする

$ wget -O xibo-docker.tar.gz https://xibo.org.uk/api/downloads/cms

この記事を書いている時点で、私はXibo3.0.3バージョンを使用しています。

$ tar --strip-components=1 -zxvf xibo-docker.tar.gz

これで、Xiboをインストールするためのすべてが揃いました

ステップ3:XiboDocker-composeを構成する

Xiboコンテナはdocker-composeを介して実行されます。 したがって、ファイルはに抽出されます /opt/xibo

$ ls -l /opt/xibo

total 84
-rw-rw-r-- 1 franck franck 1491 Sep 8 08:01 cms_custom-ports.yml.template
-rw-rw-r-- 1 franck franck 1159 Sep 8 08:01 cms_remote-mysql.yml
-rw-rw-r-- 1 franck franck 4024 Sep 8 08:01 config.env.template
-rw-rw-r-- 1 franck franck 2231 Sep 8 08:01 config.env.template-remote-mysql
-rw-rw-r-- 1 franck franck 1511 Nov 2 23:18 docker-compose.yml
-rw-rw-r-- 1 franck franck 34520 Sep 8 08:01 LICENSE
-rw-rw-r-- 1 franck franck 2088 Sep 8 08:01 README.md
drwxr-xr-x 5 root root 4096 Nov 2 17:25 shared
-rw-r--r-- 1 franck franck 15570 Sep 8 08:54 xibo-docker.tar.gz

Xiboは、構成ファイルを使用して、電子メール構成、mysqlパスワードなど、環境がどのように構成されているかをDockerに通知します。必要な情報を含むテンプレートファイルが存在し、config.env.templateと呼ばれます。 このファイルのコピーを作成し、名前を次のように変更します config.env

$ cp config.env.template config.env

次に、以下のようにいくつかの情報を編集します

$ vim config.env

MYSQL_PASSWORD=YOUR_DB_PASSWORD
CMS_SERVER_NAME=YOUR_DOMAIN_NAME

通常、Xiboはポート80で実行されるデフォルトのWebインターフェイスを備えていますが、ポート80と443で通信をプロキシするためにNginxを使用するため、この情報をポート8080に変更するだけです。これを行うには、docker-composeファイルを編集する必要があります。のポートのみを編集するには cms-web サービス

$ vim docker-compose.yml

cms-web:
image: xibosignage/xibo-cms:release-3.0.3
volumes:
- "./shared/cms/custom:/var/www/cms/custom:Z"
- "./shared/backup:/var/www/backup:Z"
- "./shared/cms/web/theme/custom:/var/www/cms/web/theme/custom:Z"
- "./shared/cms/library:/var/www/cms/library:Z"
- "./shared/cms/web/userscripts:/var/www/cms/web/userscripts:Z"
- "./shared/cms/ca-certs:/var/www/cms/ca-certs:Z"
restart: always
links:
- cms-db:mysql
- cms-xmr:50001
environment:
- XMR_HOST=cms-xmr
- CMS_USE_MEMCACHED=true
- MEMCACHED_HOST=cms-memcached
env_file: config.env
ports:
- "8080:80"

ステップ4:Nginxの背後にあるSSLを使用してXiboを構成する

これで、nginxを使用して通信をプロキシするため、最初にインストールする必要があります

$ sudo apt install nginx

この記事では、SSL証明書をすでに持っていることを前提としています。 この例では、ドメイン名の証明書とキーをコピーします

$ sudo cp xibo.domain.crt /etc/nginx/certs/xibo.domain.crt

$ sudo cp xibo.domain.key /etc/nginx/certs/xibo.domain.key

次に、Xiboの構成ファイルを作成します。 サーバーIP、Xiboドメイン名、Xibo証明書、およびキーの値を、構成に関連する適切なものに置き換えてください。

$ sudo vim /etc/nginx/sites-available/xibo_cms.conf

upstream xibo.domain.com {
server SERVER_IP:8080;
}
server {
server_name xibo.domain.com;
listen 80 ;
access_log /var/log/nginx/xibo.log;
return 301 https://$host$request_uri;
}
server {
server_name xibo.domain.com;
listen 443 ssl http2 ;
access_log /var/log/nginx/xibo.log;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS';
ssl_prefer_server_ciphers on;
ssl_session_timeout 5m;
ssl_session_cache shared:SSL:50m;
ssl_session_tickets off;
ssl_certificate /etc/nginx/certs/xibo.domain.crt;
ssl_certificate_key /etc/nginx/certs/xibo.domain.key;
add_header Strict-Transport-Security "max-age=31536000";
location / {
proxy_pass https://xibo.domain.com;
}
}

構成ファイルのシンボリックを作成しました

$ sudo ln -s /etc/nginx/sites-available/xibo_cms.conf /etc/nginx/sites-enabled/xibo_cms.conf

これは最初の構成なので、競合しないように、有効なサイトのデフォルト構成を削除します

$ sudo rm /etc/nginx/sites-enabled/default

nginxサービスを開始します

$ sudo systemctl start nginx

起動時に有効にする

$ sudo systemctl enable nginx

構成を確認してください

$ sudo nginx -t

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

次に、サービスを再起動して、構成を考慮します

$ sudo systemctl restart nginx

次に、ファイアウォールのポート80と443を開きます。

$ sudo ufw allow 80,443/tcp

また、UFWをまだ有効にしていない場合は、有効にする前に必ずsshを開いてください。

$ sudo ufw allow 'OpenSSH'

まだ有効になっていない場合は、UFWを有効にします

$ sudo ufw enable

手順5:Xiboコンテナをインストールする

Nginxが構成されたので、docker-composeファイルを実行できます。

$ cd /opt/xibo

docker-composeファイルをバックグラウンドで実行します。 初めての場合は時間がかかる場合があります

$ docker-compose up -d

これで、実行中のコンテナを確認できます

$ docker container ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b5e8dda81529 xibosignage/xibo-cms:release-3.0.3 "/entrypoint.sh" About a minute ago Up About a minute 0.0.0.0:8080->80/tcp, :::8080->80/tcp xibo-cms-web-1
9f4591f0f91a mysql:5.7 "docker-entrypoint.s…" About a minute ago Up About a minute 3306/tcp, 33060/tcp xibo-cms-db-1
b706402036a0 xibosignage/xibo-xmr:release-0.8 "/entrypoint.sh" 2 minutes ago Up 2 minutes 0.0.0.0:9505->9505/tcp, :::9505->9505/tcp, 50001/tcp xibo-cms-xmr-1
75a971ab7435 memcached:alpine "docker-entrypoint.s…" 2 minutes ago Up 2 minutes 11211/tcp xibo-cms-memcached-1
3d2e30e8f9cb ianw/quickchart "node --max-http-hea…" 2 minutes ago Up 2 minutes 3400/tcp xibo-cms-quickchar
t-1

これで、ドメイン名https://xibo.domain.comでXiboページにアクセスしてみることができます。

デフォルトのXiboログイン資格情報は次のとおりです。

username: admin
password: password

プロファイル設定に移動して、パスワードを変更できます。

Xiboを停止する場合は、フォルダーに移動してコマンドを実行するだけです。

$ docker-compose down

結論

このチュートリアルでは、Ubuntu20.04にDockerを使用してXiboCMSをインストールする方法を学びました。 大きなサイズの画像をアップロードする場合は、「Php.ini」ファイルの構成でアップロードできます。 Xibo CMSの詳細な設定とカスタマイズについては、公式ドキュメントを読んで詳細を確認できます。 読んでいただきありがとうございます。問題が発生した場合はご連絡ください。貴重なコメントを残してください。