Установка TaskBoard на Ubuntu 18.04
О чём эта инструкция
TaskBoard — это open source приложение в стиле Kanban для отслеживания задач через веб-интерфейс. В руководстве показаны команды и последовательность действий для развёртывания TaskBoard на Ubuntu 18.04, включая установку зависимостей, сборку фронтенда и настройку Apache.
Важно: в статье приведены команды, которые выполняются от имени root или с sudo. Следите за безопасностью и не запускайте внешние скрипты без проверки.
Основные варианты использования
- Развёртывание на публичном сервере для небольшой команды
- Локальный тестовый сервер для пробного использования
- Можно рассмотреть развёртывание в Docker-контейнере как альтернативу (см. секцию «Альтернативные подходы»)
Требования
- Сервер с Ubuntu 18.04.
- Пароль root или пользователь с sudo-доступом.
Начало работы
Сначала станьте root-пользователем (или используйте sudo для каждой команды):
sudo -sОбновите систему до последних пакетов:
sudo apt-get update -y
sudo apt-get upgrade -yПосле обновления рекомендуется перезагрузить сервер, чтобы применить обновления ядра и служб.
Установка Java
TaskBoard требует Java для некоторых операций сборки и компонентов. По умолчанию в репозиториях Ubuntu может не быть последней версии Oracle Java, потому руководство показывает добавление стороннего репозитория.
add-apt-repository ppa:webupd8team/javaapt-get install oracle-java8-installer -yПроверка версии Java:
java -versionОжидаемый пример вывода:
java version "1.8.0_201"
Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)Важно: если репозиторий ppa:webupd8team/java недоступен или устарел, используйте OpenJDK (например, openjdk-8-jdk) из стандартных репозиториев. См. раздел «Альтернативные подходы».
Установка Apache, SQLite и PHP
TaskBoard — PHP-приложение с хранением данных в SQLite и работает через Apache. Установите необходимые пакеты:
apt-get install apache2 sqlite3 php7.2 libapache2-mod-php7.2 php7.2-cli php7.2-common php7.2-json php7.2-readline php7.2-sqlite3 libaio1 libapr1 libhtml-template-perl libaprutil1-dbd-sqlite3 libaprutil1-ldap libaprutil1 libdbi-perl libterm-readkey-perl curl libwrap0 unzip wget -yЗапустите и включите Apache при загрузке:
systemctl start apache2
systemctl enable apache2Важно: версии PHP и пакетов зависят от времени и репозиториев — при необходимости адаптируйте под доступные версии в вашей системе.
Загрузка и установка TaskBoard
Скачиваем последнюю версию с GitHub и распаковываем:
cd /tmp
wget https://github.com/kiswa/TaskBoard/archive/master.zipunzip master.zipПеремещаем в корень веб-сервера:
mv TaskBoard-master /var/www/html/taskboardПереходим в директорию и обновляем composer (встроенная сборка):
cd /var/www/html/taskboard
./build/composer.phar self-updateПример вывода:
Updating to version 522ea033a3c6e72d72954f7cd019a3b75e28f391.
Downloading: 100%
Use composer self-update --rollback to return to version feefd51565bb8ead38e355b9e501685b5254d0d5Устанавливаем PHP-зависимости через composer:
./build/composer.phar installОжидаемый пример вывода (скачивание зависимостей и генерация автозагрузки):
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Package operations: 5 installs, 0 updates, 0 removals
- Installing firebase/php-jwt (1.0.0): Downloading (100%)
- Installing gabordemooij/redbean (v4.2.1): Downloading (100%)
- Installing ircmaxell/password-compat (v1.0.4): Downloading (100%)
- Installing phpmailer/phpmailer (v5.2.14): Downloading (100%)
- Installing slim/slim (2.6.2): Downloading (100%)
phpmailer/phpmailer suggests installing league/oauth2-client (Needed for XOAUTH2 authentication)
phpmailer/phpmailer suggests installing league/oauth2-google (Needed for Gmail XOAUTH2)
slim/slim suggests installing ext-mcrypt (Required for HTTP cookie encryption)
Generating autoload filesСобираем JavaScript и CSS файлы приложения:
./build/build-allПример ожидаемого вывода сборки:
Building...
Installing dependencies
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Nothing to install or update
Generating autoload files
Compiling lib JS files...
Minifying lib CSS files...
Compiling app JS files...
Minifying app CSS files...
Updating index.html...
Build CompleteУстанавливаем права на директорию приложения:
chown -R www-data:www-data /var/www/html/taskboard
chmod -R 755 /var/www/html/taskboardНастройка Apache для TaskBoard
Создайте файл виртуального хоста:
nano /etc/apache2/sites-available/taskboard.confВставьте следующие строки (отредактируйте ServerName и ServerAdmin под ваш домен):
ServerAdmin [email protected]
DocumentRoot "/var/www/html/taskboard"
ServerName 1example.com
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
ErrorLog "/var/log/apache2/taskboard-error_log"
CustomLog "/var/log/apache2/taskboard-access_log" combined
Сохраните файл, затем включите сайт и модуль rewrite:
a2ensite taskboard.conf
a2enmod rewrite
systemctl restart apache2Примечание: при публичном развёртывании используйте HTTPS (Let’s Encrypt) и отключите доступ по HTTP или настраивайте редирект на HTTPS.
Доступ к TaskBoard
Откройте в браузере адрес вашего сервера, например:

Войдите под учётной записью администратора: логин и пароль по умолчанию admin / admin и нажмите кнопку Sign In.

Перейдите в «Settings» и измените пароль администратора, затем сохраните.
Добавьте новую доску: укажите имя доски и колонки, нажмите кнопку «+» и затем «Add Board».



Вернитесь на главную страницу и выберите созданную доску — вы увидите интерфейс управления задачами.

Поздравляем — TaskBoard установлен и готов к использованию.
Частые проблемы и отладка
- Ошибка прав доступа 403: проверьте AllowOverride и права на /var/www/html/taskboard, убедитесь, что владелец www-data.
- Composer предупреждает «Do not run Composer as root»: по возможности создавайте отдельного пользователя для сборки или запускайте Composer с флагом –no-interaction и без root-привилегий.
- Модули PHP отсутствуют: проверьте логи Apache (error_log) и установите недостающие расширения (например, php7.2-sqlite3).
- Проблемы с загрузкой зависимостей: проверьте сетевые настройки и доступ к packagist.org и GitHub.
Альтернативные подходы
- Docker: есть образы и шаблоны для запуска TaskBoard в контейнере, это упрощает изоляцию и портируемость. Docker-образ позволяет не менять системную конфигурацию и быстро восстановить среду.
- Использовать OpenJDK вместо Oracle Java — проще и безопаснее с точки зрения обновлений пакетов.
- Развёртывание на Nginx: возможно при использовании php-fpm вместо libapache2-mod-php.
Безопасность и рекомендации по жёсткой конфигурации
- Настройте HTTPS (Let’s Encrypt) и перенаправление с HTTP на HTTPS.
- Смените дефолтный пароль администратора сразу после первого входа.
- Ограничьте доступ к панели управления по IP, если она не должна быть публичной.
- Регулярно делайте резервные копии файла SQLite и каталога /var/www/html/taskboard.
- Периодически обновляйте зависимости через composer и следите за уязвимостями компонентов.
Резервное копирование и восстановление
- Файлы приложения: /var/www/html/taskboard
- База данных: файл SQLite (обычно в директории приложения)
Простой план бэкапа:
- Остановите веб-сервер: systemctl stop apache2
- Скопируйте файл базы данных и каталог приложения на отдельный диск или в облачное хранилище.
- Запустите сервер: systemctl start apache2
Роли и чек-листы перед запуском в прод
Администратор:
- Изменить пароль администратора
- Настроить HTTPS
- Настроить логирование и ротацию логов
- Настроить бэкапы
Разработчик/оператор:
- Проверить зависимости и версии PHP
- Настроить мониторинг службы Apache
- Автоматизировать сборку и деплой через CI/CD
Пользователь:
- Создать тестовую доску и проверить создание/перемещение задач
- Проверить права доступа и видимость досок
Критерии приёмки
- Страница входа доступна по вашему домену через HTTPS.
- Вход с учётной записью admin работает и пароль изменён.
- Можно создать доску, добавить хотя бы одну колонку и задачу.
- Файлы приложения доступны и владелец www-data, база данных читается и записывается.
Краткий словарь терминов
- Kanban: метод визуального управления задачами с доской и колонками.
- Composer: менеджер зависимостей для PHP.
- SQLite: файловая реляционная СУБД, подходящая для лёгких приложений.
Итог
Вы успешно установили TaskBoard на Ubuntu 18.04, собрали фронтенд и настроили виртуальный хост Apache. Для продакшена обязательно настройте HTTPS, резервное копирование и периодические обновления. Если нужно, могу помочь с вариантом развёртывания в Docker или настройкой HTTPS.
Важно: если используете этот сервер в продакшне, настройте бэкапы и обновления безопасности.
Похожие материалы
Отключить Internet Explorer 11 в Windows 10
Установка TaskBoard на Ubuntu 18.04
Очеловечивание текстов ChatGPT — 5 способов
Портфолио веб‑разработчика для студента
Как атаковать в Whiteout Survival — полное руководство