Xibo adalah solusi signage digital (tanda tampilan publik) open-source yang terdiri dari sistem manajemen konten (CMS) berbasis web. Cara terbaik untuk menarik perhatian orang untuk pengumuman Anda yang sangat penting dapat dilakukan dengan tanda digital menggunakan Xibo. Ini memungkinkan kami mengubah PC dan TV menjadi cara khas untuk menyebarkan berita, mengubahnya menjadi meja informasi yang dapat Anda tempatkan di lokasi strategis untuk menarik perhatian orang.
Menggunakan Xibo, Anda dapat mengatur server signage digital Anda sendiri yang dapat mendorong keluar gambar, video, dan bahkan presentasi PowerPoint ke kios secara otomatis, memungkinkan Anda untuk menjaga seluruh organisasi Anda tetap up to date pada berita terbaru Anda tanpa menggunakan e-mail massal atau harus mengedit file atau tayangan slide secara manual di beberapa mesin.
Xibo dapat dijalankan melalui Docker atau di server web dengan MySQL/PHP terinstal. Dalam tutorial ini, kita mempelajari cara menginstal CMS Xibo dengan Docker di Ubuntu 20.04 .
Prasyarat
- Instance Ubuntu 20.04
- Pengguna dengan hak istimewa sudo
Langkah 1:Instal Docker
Pertama, kita akan menginstal docker-engine dan docker-compose.
Instal paket prasyarat:
$ sudo apt install apt-transport-https ca-certificates curl software-properties-common
Sekarang kita harus menambahkan kunci GP dari repositori buruh pelabuhan:
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Sekarang mari tambahkan Docker ke sumber APT
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
Kita dapat menginstal docker-engine sekarang:
$ sudo apt install docker-ce
Untuk memastikan kami mendapatkan versi stabil terbaru dari Docker Compose, kami akan mengunduh perangkat lunak ini dari repositori Github resminya.
Pertama, konfirmasikan versi terbaru yang tersedia di halaman rilis mereka. Pada saat penulisan ini, versi stabil terbaru adalah 2.0.1
.
Perintah berikut akan mengunduh 2.0.1
lepaskan dan simpan file yang dapat dieksekusi di /usr/local/bin/docker-compose
, yang akan membuat perangkat lunak ini dapat diakses secara global sebagai 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
Selanjutnya, atur izin yang benar sehingga docker-compose
perintah dapat dieksekusi:
$ sudo chmod +x /usr/local/bin/docker-compose
Untuk memverifikasi bahwa penginstalan berhasil, Anda dapat menjalankan:
$ docker-compose --version
Docker Compose version v2.0.1
Sekarang kita perlu menambahkan pengguna non-root ke grup buruh pelabuhan sehingga pengguna dapat menggunakan perintah buruh pelabuhan tanpa hak sudo:
$ sudo usermod -aG docker username
Langkah 2:Unduh dan Ekstrak File Xibo Docker
Mari buat dulu folder Xibo CMS kita
$ sudo mkdir /opt/xibo
Berikan izin kepada pengguna
$ sudo chown -R username:username /opt/xibo
$ cd /opt/xibo
Anda dapat mengunduh Download Xibo CMS terbaru:
$ wget -O xibo-docker.tar.gz https://xibo.org.uk/api/downloads/cms
Saat menulis artikel ini saya menggunakan versi Xibo 3.0.3.
$ tar --strip-components=1 -zxvf xibo-docker.tar.gz
Kami sekarang memiliki segalanya untuk menginstal Xibo
Langkah 3:Konfigurasikan Xibo Docker-compose
Wadah Xibo kami akan dijalankan melalui docker-compose. Jadi file diekstrak ke /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 menggunakan file konfigurasi untuk memberi tahu buruh pelabuhan bagaimana lingkungan dikonfigurasi seperti konfigurasi email, kata sandi mysql, dll. File template dengan informasi yang dibutuhkan ada dan disebut config.env.template; kami akan membuat salinan file ini, mengganti namanya menjadi config.env
$ cp config.env.template config.env
Sekarang kita akan mengedit beberapa informasi seperti di bawah ini
$ vim config.env
MYSQL_PASSWORD=YOUR_DB_PASSWORD
CMS_SERVER_NAME=YOUR_DOMAIN_NAME
Biasanya Xibo memiliki antarmuka web default yang berjalan pada port 80 tetapi kami hanya akan mengubah informasi ini ke port 8080 karena kami akan menggunakan Nginx untuk mem-proxy komunikasi pada port 80 dan 443. Untuk melakukannya, kita perlu mengedit file docker-compose untuk mengedit hanya port cms-web
layanan
$ 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"
Langkah 4:Konfigurasi Xibo dengan SSL Di Balik Nginx
Sekarang karena kita akan menggunakan nginx untuk mem-proxy komunikasi, pertama-tama kita harus menginstalnya
$ sudo apt install nginx
Pada artikel ini, kami menganggap Anda sudah memiliki sertifikat SSL Anda. Dalam kasus kami, kami akan menyalin sertifikat dan kunci untuk nama domain
$ sudo cp xibo.domain.crt /etc/nginx/certs/xibo.domain.crt
$ sudo cp xibo.domain.key /etc/nginx/certs/xibo.domain.key
Sekarang buat file konfigurasi Xibo. Pastikan untuk mengganti nilai IP server, nama domain Xibo, sertifikat Xibo, dan kunci dengan yang baik yang terkait dengan konfigurasi Anda.
$ 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;
}
}
Sekarang buat simbol dari file konfigurasi
$ sudo ln -s /etc/nginx/sites-available/xibo_cms.conf /etc/nginx/sites-enabled/xibo_cms.conf
Karena ini adalah konfigurasi pertama kami, hapus konfigurasi default di situs yang diaktifkan agar tidak ada konflik
$ sudo rm /etc/nginx/sites-enabled/default
Sekarang mulai layanan nginx
$ sudo systemctl start nginx
Sekarang aktifkan saat startup
$ sudo systemctl enable nginx
Periksa konfigurasi Anda
$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Sekarang restart layanan untuk mempertimbangkan konfigurasi
$ sudo systemctl restart nginx
Sekarang buka port 80 dan 443 di firewall:
$ sudo ufw allow 80,443/tcp
Juga, pastikan untuk membuka ssh sebelum mengaktifkan UFW jika belum
$ sudo ufw allow 'OpenSSH'
Sekarang aktifkan UFW jika belum
$ sudo ufw enable
Langkah 5:Instal wadah Xibo
Sekarang setelah Nginx kita dikonfigurasi, kita dapat menjalankan file komposisi buruh pelabuhan
$ cd /opt/xibo
Kami akan menjalankan file docker-compose di latar belakang. Ini bisa memakan waktu untuk pertama kalinya
$ docker-compose up -d
Sekarang dapat melihat container yang sedang berjalan
$ 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
Sekarang Anda dapat mencoba mengakses halaman Xibo dengan nama domain Anda http://xibo.domain.com
Kredensial login Xibo default adalah:
username: admin
password: password
Anda dapat mengubah kata sandi dengan membuka pengaturan profil.
Jika Anda ingin menghentikan Xibo, cukup pindah ke folder dan jalankan perintah
$ docker-compose down
Kesimpulan
Dalam tutorial ini, kita belajar cara menginstal Xibo CMS dengan Docker di Ubuntu 20.04. Jika Anda ingin mengunggah gambar berukuran besar, Anda dapat melakukannya dengan konfigurasi file 'Php.ini'. Untuk pengaturan lebih lanjut dan kustomisasi Xibo CMS, Anda dapat mempertimbangkan untuk membaca dokumentasi resminya untuk detail lebih lanjut. Terima kasih telah membaca, dan hubungi kami kembali jika Anda menghadapi masalah dan tinggalkan komentar Anda yang berharga.