26 вересня, Вівторок, 2023
A- A A+

proxy image

Xibo — це рішення для цифрових вивісок із відкритим вихідним кодом (публічні вивіски), яке складається з веб-системи керування вмістом (CMS). Найкращий спосіб привернути увагу людей до ваших дуже важливих оголошень можна за допомогою цифрових вивісок за допомогою Xibo. Це дозволяє нам перетворювати комп’ютери та телевізори на особливий засіб поширення інформації, перетворюючи їх на інформаційні стійки, які ви можете розмістити в стратегічних місцях, щоб привернути увагу людей.

Використовуючи Xibo , ви можете налаштувати власний сервер цифрових вивісок, який може автоматично надсилати зображення, відео та навіть презентації PowerPoint у кіоски, дозволяючи вам тримати всю свою організацію в курсі останніх новин, не вдаючись до масових розсилок електронною поштою чи необхідності вручну редагувати файли чи слайд-шоу на кількох машинах.;

Xibo можна запускати через Docker або на веб-сервері з встановленим MySQL/PHP. У цьому посібнику ми дізнаємося, як інсталювати Xibo CMS з Docker на Ubuntu 20.04

Крок 1: Встановіть Docker
Спочатку ми встановимо Docker-Engine і Docker-Compose.

Встановіть пакети попередніх умов:

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

Тепер ми повинні додати ключ 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"

Зараз ми можемо встановити докер

sudo apt install docker-ce
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 користувача до групи докерів, щоб користувач міг використовувати команду докер без привілеїв sudo:

sudo usermod -aG docker docker

Крок 2. Завантажте та розпакуйте файл Xibo Docker

Давайте спочатку створимо папку нашої Xibo CMS

sudo mkdir /opt/xibo

Надайте дозволи користувачеві

sudo chown -R docker:docker /opt/xibo
cd /opt/xibo

Ви можете завантажити останню версію Завантажити Xibo CMS :

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

На момент написання цієї статті я використовую версію Xibo 3.0.3

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

Тепер у нас є все, щоб встановити Xibo

Крок 3: Налаштуйте Xibo Docker-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 тощо. Файл шаблону з необхідною інформацією присутній і називається config.env.template; ми зробимо копію цього файлу, перейменувавши його наconfig.env

cp config.env.template config.env

Тепер ми відредагуємо деяку інформацію, як показано нижче

nano config.env
MYSQL_PASSWORD=YOUR_DB_PASSWORD CMS_SERVER_NAME=YOUR_DOMAIN_NAME

Також потрібно підлаштувати поштові нотифікації

## SMTP Server Hostname
CMS_SMTP_SERVER=smtp.gmail.com:587
## SMTP Username
CMS_SMTP_USERNAME=Ця електронна адреса захищена від спам-ботів. Вам необхідно увімкнути JavaScript, щоб побачити її.
## SMTP Password
CMS_SMTP_PASSWORD=yourpassword
## Use a TLS Connection YES/NO
CMS_SMTP_USE_TLS=YES
## Use a STARTTLS Connection YES/NO
CMS_SMTP_USE_STARTTLS=YES
## Rewrite domain (the domain your email will appear to come from)
CMS_SMTP_REWRITE_DOMAIN=gmail.com
## Hostname that we should identify ourself to the remote server as
CMS_SMTP_HOSTNAME=gmail.com
## Can the From line be overridden in the outbound email
## NB GMail will rewrite the From address anyway so it's not important
## for GMail - YES/NO
CMS_SMTP_FROM_LINE_OVERRIDE=YES
## Fix the from email address if your SMTP relay relies on
## a specific value - eg one.com
# CMS_SMTP_FROM=Ця електронна адреса захищена від спам-ботів. Вам необхідно увімкнути JavaScript, щоб побачити її.

Зазвичай Xibo має веб-інтерфейс за замовчуванням, який працює на порту 80, але ми змінимо цю інформацію лише на порт 8080, оскільки ми будемо використовувати Nginx для проксі-сервера зв’язку на портах 80 і 443. Для цього нам потрібно відредагувати файл docker-compose. редагувати лише порт cms-webслужби

nano 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: Налаштуйте Xibo за допомогою SSL за Nginx

sudo apt install nginx

У цій статті ми припускаємо, що у вас уже є сертифікат SSL. У нашому випадку ми скопіюємо сертифікат і ключ для доменного імені

sudo cp xibo.pc-service.crt /etc/nginx/certs/xibo.pc-service.crt
sudo cp xibo.pc-service.key /etc/nginx/certs/xibo.pc-service.key

Тепер створіть файл конфігурації Xibo. Обов’язково замініть значення IP-адреси сервера, імені домену Xibo, сертифікатів Xibo та ключів на належні, пов’язані з вашими конфігураціями.

sudo nano /etc/nginx/sites-available/xibo_cms.conf
upstream xibo.pc-service.com {
       server 127.0.0.1:8080;
}
server {
        server_name xibo.pc-service.com;
        listen 80 ;
        access_log /var/log/nginx/xibo.log;
        return 301 https://$host$request_uri;
}
server {
        server_name xibo.dopc-servicemain.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.pc-service.crt;
        ssl_certificate_key /etc/nginx/certs/xibo.pc-service.key;
        add_header Strict-Transport-Security "max-age=31536000";
        location / {
                proxy_pass http://xibo.pc-service.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

Крок 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

Тепер ви можете спробувати отримати доступ до сторінки Xibo за своїм доменним іменем http://xibo.pc-service.cv.ua

xibo 1

Облікові дані Xibo за замовчуванням:

username: xibo_admin password: password

xibo 2

Змінити пароль можна в налаштуваннях профілю.

Якщо ви хочете зупинити Xibo, просто перейдіть до папки та виконайте команду

docker-compose down

Висновок У цьому посібнику ми дізналися, як інсталювати Xibo CMS з Docker на Ubuntu 20.04. Якщо ви бажаєте завантажити зображення великого розміру, це можна зробити за допомогою конфігурації файлу «Php.ini». Для подальших налаштувань і налаштування Xibo CMS ви можете прочитати її офіційну документацію, щоб дізнатися більше. Дякуємо, що прочитали. Якщо у вас виникнуть проблеми, зв’яжіться з нами та залиште цінні коментарі.