Как установить Xibo CMS на Ubuntu 20.04 | Ubuntu 18.04

Как установить Xibo CMS на Ubuntu 20.04 | Ubuntu 18.04

 

Xibo — это решение для цифровых вывесок с открытым исходным кодом (вывески для общественных мест), которое состоит из веб-системы управления контентом (CMS). Лучший способ привлечь внимание людей к вашим очень важным объявлениям — это использовать цифровые вывески с помощью Xibo. Это позволяет нам превратить ПК и телевизоры в отличительный способ распространения информации, превратив их в информационные стойки, которые вы можете разместить в стратегически важных местах, чтобы привлечь внимание людей.

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

Xibo можно запускать через Docker или на веб-сервере с установленным MySQL / PHP. В этом руководстве мы узнаем, как установить Xibo CMS с Docker на Ubuntu 20.04 .

Предпосылки

  • Экземпляр Ubuntu 20.04
  • Пользователь с привилегиями sudo

Шаг 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"

Теперь мы можем установить 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: Загрузите и распакуйте файл Xibo Docker

Давайте сначала создадим папку нашей Xibo CMS

$ sudo mkdir /opt/xibo

Дайте разрешения пользователю

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

Вы можете скачать последнюю версию Download 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

Теперь мы отредактируем некоторую информацию, как показано ниже.

$ vim config.env
MYSQL_PASSWORD=YOUR_DB_PASSWORD
CMS_SERVER_NAME=YOUR_DOMAIN_NAME

Обычно Xibo имеет веб-интерфейс по умолчанию, работающий на порту 80, но мы изменим эту информацию только на порт 8080, поскольку мы будем использовать Nginx для прокси-соединения на портах 80 и 443. Для этого нам нужно отредактировать файл 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. Настройте Xibo с SSL за Nginx

Теперь, когда мы будем использовать 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 http://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

Кроме того, не забудьте открыть ssh перед включением UFW, если еще не

$ 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-quickchart-1

Теперь вы можете попытаться получить доступ к странице Xibo по своему доменному имени http://xibo.domain.com.

Как установить Xibo CMS на Ubuntu 20.04

Учетные данные для входа в Xibo по умолчанию:

username: admin
password: password
Как установить Xibo CMS на Ubuntu 20.04

Вы можете изменить пароль, зайдя в настройки профиля.

Если вы хотите остановить Xibo, просто перейдите в папку и выполните команду

$ docker-compose down

Заключение

В этом руководстве мы узнали, как установить Xibo CMS с Docker на Ubuntu 20.04. Если вы хотите загружать изображения большого размера, вы можете сделать это с помощью конфигурации файла «Php.ini». Для дальнейших настроек и настройки Xibo CMS вы можете прочитать ее официальную документацию для получения более подробной информации. Спасибо, что прочитали, и обращайтесь к нам, если у вас возникнут какие-либо проблемы, и оставьте свои ценные комментарии.