Xibo je open-source řešení digital signage (public display signs), které se skládá z webového systému pro správu obsahu (CMS). Nejlepší způsob, jak upoutat pozornost lidí pro vaše velmi důležitá oznámení, lze provést pomocí digitálních značek pomocí Xibo. Umožňuje nám proměnit počítače a televizory v osobitý způsob, jak dostat slovo, přeměnit je na informační pulty, které můžete umístit na strategická místa a přitáhnout pozornost lidí.
Pomocí Xibo si můžete nastavit svůj vlastní server digital signage, který dokáže automaticky posílat obrázky, videa a dokonce prezentace v PowerPointu do kiosků, což vám umožní udržovat celou organizaci aktuální o vašich nejnovějších zprávách, aniž byste se museli uchylovat k hromadným e-mailům nebo musíte ručně upravovat soubory nebo prezentace na více počítačích.
Xibo lze spustit přes Docker nebo na webovém serveru s nainstalovaným MySQL/PHP. V tomto tutoriálu se naučíme, jak instalovat Xibo CMS pomocí Dockeru na Ubuntu 20.04 .
Předpoklady
- Instance Ubuntu 20.04
- Uživatel s oprávněním sudo
Krok 1:Nainstalujte Docker
Nejprve nainstalujeme docker-engine a docker-compose.
Nainstalujte balíčky s předpoklady:
$ sudo apt install apt-transport-https ca-certificates curl software-properties-common
Nyní bychom měli přidat klíč GP úložiště docker:
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Pojďme nyní přidat Docker ke zdrojům APT
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
Nyní můžeme nainstalovat docker-engine:
$ sudo apt install docker-ce
Abychom měli jistotu, že získáme nejaktuálnější stabilní verzi Docker Compose, stáhneme si tento software z jeho oficiálního úložiště Github.
Nejprve potvrďte nejnovější dostupnou verzi na stránce jejich vydání. V době psaní tohoto článku je nejnovější stabilní verze 2.0.1
.
Následující příkaz stáhne 2.0.1
uvolněte a uložte spustitelný soubor na /usr/local/bin/docker-compose
, díky čemuž bude tento software globálně přístupný jako 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
Dále nastavte správná oprávnění tak, aby docker-compose
příkaz je spustitelný:
$ sudo chmod +x /usr/local/bin/docker-compose
Chcete-li ověřit, že instalace proběhla úspěšně, můžete spustit:
$ docker-compose --version
Docker Compose version v2.0.1
Nyní musíme přidat uživatele bez oprávnění root do skupiny docker, aby uživatel mohl používat příkaz docker bez oprávnění sudo:
$ sudo usermod -aG docker username
Krok 2:Stáhněte a extrahujte soubor Xibo Docker
Nejprve vytvořte složku našeho Xibo CMS
$ sudo mkdir /opt/xibo
Udělte oprávnění uživateli
$ sudo chown -R username:username /opt/xibo
$ cd /opt/xibo
Můžete si stáhnout nejnovější Download Xibo CMS:
$ wget -O xibo-docker.tar.gz https://xibo.org.uk/api/downloads/cms
V době psaní tohoto článku používám verzi Xibo 3.0.3.
$ tar --strip-components=1 -zxvf xibo-docker.tar.gz
Nyní máme vše pro instalaci našeho Xibo
Krok 3:Konfigurace Xibo Docker-compose
Náš kontejner Xibo projde docker-compose. Soubory jsou tedy extrahovány do /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 používá konfigurační soubor k tomu, aby sdělil dockeru, jak je nakonfigurováno prostředí, jako je konfigurace e-mailu, heslo mysql atd. Soubor šablony s potřebnými informacemi je přítomen a nazývá se config.env.template; vytvoříme kopii tohoto souboru a přejmenujeme jej na config.env
$ cp config.env.template config.env
Nyní upravíme některé informace, jak je uvedeno níže
$ vim config.env
MYSQL_PASSWORD=YOUR_DB_PASSWORD
CMS_SERVER_NAME=YOUR_DOMAIN_NAME
Normálně má Xibo výchozí webové rozhraní běžící na portu 80, ale tyto informace změníme pouze na port 8080, protože budeme používat Nginx k proxy komunikaci na portech 80 a 443. K tomu musíme upravit soubor docker-compose upravit pouze port cms-web
služba
$ 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"
Krok 4:Konfigurace Xibo s SSL za Nginx
Nyní, protože budeme používat nginx k proxy komunikaci, musíme jej nejprve nainstalovat
$ sudo apt install nginx
V tomto článku předpokládáme, že již máte svůj SSL certifikát. V našem případě zkopírujeme certifikát a klíč k názvu domény
$ sudo cp xibo.domain.crt /etc/nginx/certs/xibo.domain.crt
$ sudo cp xibo.domain.key /etc/nginx/certs/xibo.domain.key
Nyní vytvořte konfigurační soubor Xibo. Ujistěte se, že jste nahradili hodnotu IP serveru, názvu domény Xibo, certifikátů a klíčů Xibo dobrými hodnotami souvisejícími s vašimi konfiguracemi.
$ 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 http://xibo.domain.com;
}
}
Nyní byl vytvořen symbol konfiguračního souboru
$ sudo ln -s /etc/nginx/sites-available/xibo_cms.conf /etc/nginx/sites-enabled/xibo_cms.conf
Protože je to naše první konfigurace, odeberte výchozí konfiguraci na povolených webech, aby nedocházelo ke konfliktům
$ sudo rm /etc/nginx/sites-enabled/default
Nyní spusťte službu nginx
$ sudo systemctl start nginx
Nyní povolte při spuštění
$ sudo systemctl enable nginx
Zkontrolujte konfiguraci
$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Nyní restartujte službu, aby byla brána v úvahu konfigurace
$ sudo systemctl restart nginx
Nyní otevřete porty 80 a 443 na firewallu:
$ sudo ufw allow 80,443/tcp
Také se ujistěte, že jste před povolením UFW otevřeli ssh, pokud ještě ne
$ sudo ufw allow 'OpenSSH'
Nyní povolte UFW, pokud ještě ne
$ sudo ufw enable
Krok 5:Nainstalujte kontejner Xibo
Nyní, když je náš Nginx nakonfigurován, můžeme spustit soubor docker-compose
$ cd /opt/xibo
Soubor docker-compose spustíme na pozadí. Poprvé to může nějakou dobu trvat
$ docker-compose up -d
Nyní se můžete podívat na běžící kontejnery
$ 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
Nyní se můžete pokusit o přístup na stránku Xibo pomocí názvu vaší domény http://xibo.domain.com
Výchozí přihlašovací údaje Xibo jsou:
username: admin
password: password
Heslo můžete změnit v nastavení profilu.
Pokud chcete Xibo zastavit, stačí se přesunout do složky a spustit příkaz
$ docker-compose down
Závěr
V tomto tutoriálu jsme se naučili, jak nainstalovat Xibo CMS s Dockerem na Ubuntu 20.04. Pokud chcete nahrát velké obrázky, můžete tak učinit pomocí konfigurace souboru 'Php.ini'. Pro další nastavení a přizpůsobení Xibo CMS můžete zvážit přečtení jeho oficiální dokumentace pro více podrobností. Děkujeme za přečtení a pokud narazíte na nějaké problémy, kontaktujte nás a zanechte své cenné komentáře.