Как установить TaskBoard на Ubuntu 18.04

Оглавление
- Требования
- Быстрый старт
- Установка Java
- Установка Apache, SQLite и PHP
- Установка TaskBoard
- Настройка Apache для TaskBoard
- Доступ к веб-интерфейсу
- Альтернативные подходы
- Безопасность и эксплуатация
- Проверочный чеклист
- Решение проблем
- Краткое резюме
Требования
- Сервер с Ubuntu 18.04.
- Доступ root или пользователь с правами sudo и установленный пароль.
Важно: этот гайд ориентирован на Ubuntu 18.04 и PHP 7.2, как в оригинальном руководстве.
Быстрый старт
Станьте root-пользователем:
sudo -sОбновите систему до последних пакетов:
sudo apt-get update -y
sudo apt-get upgrade -yПосле обновления рекомендуется перезагрузить сервер.
Установка Java
TaskBoard в этом руководстве требует Java (оригинальный пример использует Oracle Java 8). По умолчанию в репозитории Ubuntu 18.04 может не быть нужной версии, поэтому авторы использовали PPA.
Добавление репозитория (как в оригинале):
add-apt-repository ppa:webupd8team/javaУстановка Oracle Java 8:
apt-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)Примечание: если вы не можете или не хотите использовать Oracle Java, можно установить OpenJDK 8 через пакеты 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 модуль для Apache загружен и что php -v показывает PHP 7.2.
Установка TaskBoard
Скачайте последнюю версию TaskBoard из репозитория GitHub:
cd /tmp
wget https://github.com/kiswa/TaskBoard/archive/master.zipРаспакуйте архив:
unzip master.zipПереместите файл в корень веб-сервера Apache:
mv TaskBoard-master /var/www/html/taskboardПерейдите в каталог 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%)
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Выдайте веб-серверу права на каталог TaskBoard:
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
Сохраните файл и включите сайт:
a2ensite taskboard.confВключите модуль перезаписи URL и перезапустите Apache:
a2enmod rewrite
systemctl restart apache2Если Apache не перезапускается, проверьте синтаксис конфигурации:
apachectl configtestДоступ к веб-интерфейсу
Откройте в браузере адрес вашего домена, например:
На странице входа используйте учётные данные по умолчанию:
- Имя пользователя: admin
- Пароль: admin

После входа смените пароль в разделе «Settings» → «Update password».

Добавьте новую доску (Board), задайте имя и столбцы, затем подтвердите кнопку «Add Board».


Добавьте колонны и нажмите + для добавления элементов.

Перейдите на домашнюю страницу и выберите только что созданную доску.

Поздравляем — TaskBoard установлен и готов к использованию.
Альтернативные подходы
- Docker: есть образы и способы запустить TaskBoard в контейнере (предпочтительно для изоляции и простоты деплоя). Контейнер позволяет не трогать глобальные пакеты системы.
- OpenJDK вместо Oracle Java: проще для автоматизации и совместимости с пакетными менеджерами.
- Виртуальные окружения PHP / провайдеры PaaS: если вы используете облачный хостинг, можно воспользоваться поставщиком, который поддерживает PHP и SQLite.
Безопасность и эксплуатация
Важно:
- Смените пароль администратора после первого входа.
- Ограничьте доступ к панели администратора через файрвол (ufw) и/или настройте доступ по IP, если нужно.
- Используйте HTTPS: настройте SSL (Let’s Encrypt) и перенаправление с HTTP на HTTPS.
- Резервное копирование: регулярно резервируйте каталог /var/www/html/taskboard и файл базы данных SQLite (обычно в каталоге TaskBoard).
- Права доступа: держите файлы принадлежащими www-data и не давайте прав 777.
Рекомендации по HTTPS (кратко)
- Установите certbot:
apt-get install certbot python3-certbot-apache -y. - Запустите:
certbot --apache -d example.comи следуйте инструкциям.
Проверочный чеклист
Для администратора:
- Сервер обновлён и перезагружен.
- Установлены Apache, PHP 7.2, SQLite.
- [ ] Установлен Composer и выполнён
./build/composer.phar install. - Правильно настроен виртуальный хост Apache.
- Разрешён модуль rewrite и Apache успешно перезапускается.
- Домен указывает на сервер и доступен по HTTP/HTTPS.
- Пароль администратора изменён.
- Настроены регулярные бэкапы базы данных и файлов.
Для пользователя:
- Создана хотя бы одна доска.
- Добавлены колонки и задачи.
- Установлены уведомления (если применимо).
Решение проблем
- Apache не стартует: выполните
journalctl -xeиapachectl configtestдля диагностики. - Ошибки Composer: не запускайте composer от root без нужды; используйте sudo только при необходимости, либо выполните сборку под учётной записью с правами, а затем выдайте права www-data.
- Ошибка доступа к файлам: проверьте владельца и права
chown -R www-data:www-data /var/www/html/taskboard. - Проблемы с PHP: убедитесь, что модуль
php7.2-sqlite3установлен и загружен.
Дополнения для эксплуатации
Ментальная модель развертывания:
- Подготовка сервера (обновления, базовые пакеты).
- Установка зависимостей (Java, Apache, PHP, SQLite).
- Развёртывание кода и зависимостей (Composer, сборка фронтенда).
- Настройка веб-сервера и HTTPS.
- Тестирование и переключение в эксплуатацию.
Мини-методология бэкапа:
- Экспортируйте/копируйте файл базы данных SQLite ежесуточно.
- Сохраняйте архив каталога TaskBoard каждую неделю.
- Храните резервные копии вне хоста (S3, удалённый сервер).
Критерии приёмки
- Веб-интерфейс доступен по URL и загружается без ошибок.
- Войти можно с учётными данными admin/admin и затем сменить пароль.
- Создание доски и колонок работает, карточки добавляются и перемещаются.
- Все статические ресурсы (JS/CSS) собраны и загружаются корректно.
Краткое резюме
Вы установили TaskBoard на Ubuntu 18.04: подготовили сервер, установили Java и стек LAMP-компонентов, развернули исходники, собрали зависимости и настроили Apache. Рекомендуется включить HTTPS, настроить бэкапы и следить за правами доступа.
Важно: если вам нужен более безопасный и удобный способ деплоя, рассмотрите запуск в Docker или использование OpenJDK вместо Oracle Java.
Если нужны команды для Docker или пример systemd юнита для контейнера — могу подготовить отдельно.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента