Как установить 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-quickchar
t-1
Теперь вы можете попытаться получить доступ к странице Xibo по своему доменному имени http://xibo.domain.com.
Учетные данные для входа в Xibo по умолчанию:
username: admin
password: password
Вы можете изменить пароль, зайдя в настройки профиля.
Если вы хотите остановить Xibo, просто перейдите в папку и выполните команду
$ docker-compose down
Заключение
В этом руководстве мы узнали, как установить Xibo CMS с Docker на Ubuntu 20.04. Если вы хотите загружать изображения большого размера, вы можете сделать это с помощью конфигурации файла «Php.ini». Для дальнейших настроек и настройки Xibo CMS вы можете прочитать ее официальную документацию для получения более подробной информации. Спасибо, что прочитали, и обращайтесь к нам, если у вас возникнут какие-либо проблемы, и оставьте свои ценные комментарии.