Установка TaskBoard на CentOS 7
TL;DR
TaskBoard — простое и свободное веб‑приложение для управления задачами, которое хранит данные в SQLite и требует минимум зависимостей. В этом руководстве показано, как обновить систему, установить Apache, PHP 7.1 и SQLite, развернуть TaskBoard в /var/www/taskboard, создать виртуальный хост и закончить установку в браузере.
Важно: инструкции написаны для root-пользователя. Если вы используете sudo‑пользователя, выполните sudo -i перед началом.
Кому предназначено это руководство
- Системным администраторам и DevOps-инженерам, работающим с CentOS 7.
- Тем, кто хочет развернуть TaskBoard быстро и без отдельного СУБД.
Основные шаги (коротко)
- Обновить систему.
- Установить Apache (httpd).
- Добавить репозитории и установить PHP 7.1 и SQLite.
- Скачать и распаковать TaskBoard, установить зависимости через Composer.
- Настроить права, файрвол и виртуальный хост.
- Завершить установку через веб‑интерфейс и сменить пароль администратора.
Обновление базовой системы
Перед установкой пакетов рекомендуется обновить систему и репозитории:
yum -y updateПосле обновления можно переходить к установке зависимостей.
Установка Apache
TaskBoard обслуживается веб‑сервером Apache. Установите httpd:
yum -y install httpdЗапустите Apache и включите автозапуск при загрузке:
systemctl start httpdsystemctl enable httpdУстановка PHP и SQLite
TaskBoard написан на PHP; для корректной работы требуется PHP 7.1 и модули. В официальном репозитории CentOS 7 PHP 7.1 по умолчанию нет — в руководстве используется репозиторий Webtatic и EPEL.
Установите EPEL:
yum -y install epel-releaseОбновите пакеты:
yum -y updateПодключите Webtatic:
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpmСнова обновите метаданные:
yum -y updateУстановите PHP 7.1 и необходимые модули:
yum -y install php71w php71w-json php71w-gd php71w-cli php71w-readline php71w-sqlite3Проверьте установку PHP:
php -vВы должны увидеть вывод, похожий на следующий:
[root@centos ~]# php -v
PHP 7.1.7 (cli) (built: Jul 6 2017 12:10:28) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
Установите SQLite (используется как хранилище данных TaskBoard):
yum -y install sqliteПримечание: если вы предпочитаете другой источник PHP (например, Remi), см. раздел «Альтернативные подходы».
Установка TaskBoard
Перейдите в каталог веб‑документов и скачайте архив с исходниками:
cd /var/www/wget https://github.com/kiswa/TaskBoard/archive/master.zipРаспакуйте архив:
unzip master.zipЕсли unzip не установлен, выполните:
yum -y install unzipПереименуйте распакованную папку для удобства:
mv TaskBoard-master/ taskboardУстановите PHP‑зависимости через Composer (включённый в репозиторий TaskBoard):
./build/composer.phar installПосле установки зависимостей назначьте владельца файлов web‑сервису Apache:
chown -R apache:apache /var/www/taskboardЕсли на системе включён SELinux, проверьте и при необходимости примените контекст безопасности (см. раздел «Отладка и распространённые ошибки»).
Настройка файрвола и виртуального хоста
Разрешите HTTP‑трафик в firewalld:
firewall-cmd --zone=public --permanent --add-service=httpfirewall-cmd --reloadСоздайте виртуальный хост Apache (файл конфигурации):
nano /etc/httpd/conf.d/board.yourdomain.com.confВставьте следующие строки в файл:
ServerAdmin [email protected]
DocumentRoot "/var/www/taskboard"
ServerName board.yourdomain.com
ServerAlias www.board.yourdomain.com
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
ErrorLog "/var/log/httpd/board.yourdomain.com-error_log"
CustomLog "/var/log/httpd/board.yourdomain.com-access_log" combined
Замените board.yourdomain.com на ваш домен или поддомен. Сохраните файл и перезапустите Apache:
systemctl restart httpdТеперь откройте в браузере адрес:
http://board.yourdomain.comВы увидите страницу входа TaskBoard:

Войдите под учётной записью admin / admin и немедленно смените пароль на странице Настройки.

Из настроек можно также создать новую доску.
Критерии приёмки
- Веб‑интерфейс TaskBoard доступен по вашему домену и показывает страницу логина.
- Войдя под admin / admin, вы можете сменить пароль через Настройки.
- Файлы приложения принадлежат apache:apache и доступны веб‑серверу.
- SQLite БД и файлы данных создаются и записи сохраняются при создании задач.
Отладка и распространённые ошибки
- Проблемы с правами доступа: убедитесь, что chown выполнен корректно. Для проверки:
ls -la /var/www/taskboard- SELinux блокирует запись: временно проверьте работу с отключённым SELinux (или настройте правильный контекст):
setenforce 0Если это решает проблему, примените постоянные метки:
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/taskboard(/.*)?'
restorecon -Rv /var/www/taskboard- Composer не запускается: убедитесь, что PHP CLI установлен и доступен как php.
- 404 при обращении к статике: проверьте AllowOverride All и наличие .htaccess в каталоге приложения.
Альтернативные подходы
- Использовать репозиторий Remi вместо Webtatic для установки PHP (часто предпочтительнее для производителей пакетов). Это уменьшит зависимость от Webtatic.
- Развернуть TaskBoard в Docker-контейнере: официального образа нет, но можно создать Dockerfile с Apache+PHP+SQLite и хранить данные на volume.
- Хостинг на другом дистрибутиве (Ubuntu/Debian): команды пакетов будут отличаться (apt вместо yum).
Мини‑методология развёртывания
- Подготовка: обновление системы, резервирование, проверка домена и DNS.
- Установка базовых сервисов: Apache, PHP, SQLite.
- Развёртывание приложения: скачать, распаковать, установить зависимости, права доступа.
- Конфигурация: виртуальный хост, файрвол, SELinux контексты.
- Проверка: вход в приложение, изменение пароля, создание тестовой доски и задач.
Ролевые чек‑листы
- Системный администратор:
- Обновил систему.
- Установил и запустил httpd.
- Настроил SELinux/файрвол и права на файлы.
- DevOps/Инженер по развёртыванию:
- Развернул код в /var/www/taskboard.
- Установил зависимости через Composer.
- Создал виртуальный хост и настроил логирование.
- Администратор приложения:
- Вошёл под admin и сменил пароль.
- Создал первую доску и тестовую задачу.
Совместимость и миграция
- TaskBoard использует SQLite — если в будущем потребуется СУБД уровня сервера (MySQL, PostgreSQL), придётся реализовать экспорт/импорт вручную или использовать сторонние скрипты миграции.
- При переходе с других ОС проверяйте пути к веб‑каталогу и SELinux/AppArmor.
Короткий план действий при инциденте (runbook)
- Проверить статус Apache: systemctl status httpd
- Проверить ошибки в логах: tail -n 200 /var/log/httpd/board.yourdomain.com-error_log
- Проверить права: ls -la /var/www/taskboard
- Проверить SELinux: getenforce; при необходимости временно setenforce 0 и проверить работу.
- Откат: если были изменены конфигурации, восстановить из бэкапа /etc/httpd/conf.d/ и /var/www/taskboard.
Краткий глоссарий (1‑строчно)
- VirtualHost — конфигурация Apache для обслуживания домена/поддомена.
- SELinux — подсистема безопасности ядра, контролирующая доступ приложений к файлам.
- Composer — менеджер зависимостей PHP.
- SQLite — встроенная файловая реляционная СУБД.
Итог
TaskBoard легко развернуть на CentOS 7: достаточно Apache, PHP 7.1 и SQLite. Приложение хранит данные в одном файле, что упрощает установку, но требует продуманного бэкапирования. После установки и настройки виртуального хоста завершите настройку через веб‑интерфейс и смените пароль администратора.
Подсказка: для продуктивного использования продумайте регулярные бэкапы каталога /var/www/taskboard и файла SQLite, а также настройку HTTPS (Let’s Encrypt) и мониторинг доступности.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента