Гид по технологиям

Установка TaskBoard на Ubuntu 18.04

5 min read Инструкции Обновлено 28 Oct 2025
Установка TaskBoard на Ubuntu 18.04
Установка 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/java
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)

Важно: если репозиторий 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.zip
unzip 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

Откройте в браузере адрес вашего сервера, например:

http://example.com

Страница входа TaskBoard

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

Главный экран TaskBoard после входа

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

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

Создание новой доски в TaskBoard

Пример колонки и настроек доски

Добавление колонок

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

Интерфейс доски TaskBoard

Поздравляем — 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 (обычно в директории приложения)

Простой план бэкапа:

  1. Остановите веб-сервер: systemctl stop apache2
  2. Скопируйте файл базы данных и каталог приложения на отдельный диск или в облачное хранилище.
  3. Запустите сервер: systemctl start apache2

Роли и чек-листы перед запуском в прод

Администратор:

  • Изменить пароль администратора
  • Настроить HTTPS
  • Настроить логирование и ротацию логов
  • Настроить бэкапы

Разработчик/оператор:

  • Проверить зависимости и версии PHP
  • Настроить мониторинг службы Apache
  • Автоматизировать сборку и деплой через CI/CD

Пользователь:

  • Создать тестовую доску и проверить создание/перемещение задач
  • Проверить права доступа и видимость досок

Критерии приёмки

  • Страница входа доступна по вашему домену через HTTPS.
  • Вход с учётной записью admin работает и пароль изменён.
  • Можно создать доску, добавить хотя бы одну колонку и задачу.
  • Файлы приложения доступны и владелец www-data, база данных читается и записывается.

Краткий словарь терминов

  • Kanban: метод визуального управления задачами с доской и колонками.
  • Composer: менеджер зависимостей для PHP.
  • SQLite: файловая реляционная СУБД, подходящая для лёгких приложений.

Итог

Вы успешно установили TaskBoard на Ubuntu 18.04, собрали фронтенд и настроили виртуальный хост Apache. Для продакшена обязательно настройте HTTPS, резервное копирование и периодические обновления. Если нужно, могу помочь с вариантом развёртывания в Docker или настройкой HTTPS.

Важно: если используете этот сервер в продакшне, настройте бэкапы и обновления безопасности.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Отключить Internet Explorer 11 в Windows 10
Windows

Отключить Internet Explorer 11 в Windows 10

Установка TaskBoard на Ubuntu 18.04
Инструкции

Установка TaskBoard на Ubuntu 18.04

Очеловечивание текстов ChatGPT — 5 способов
Контент

Очеловечивание текстов ChatGPT — 5 способов

Портфолио веб‑разработчика для студента
Веб-разработка

Портфолио веб‑разработчика для студента

Как атаковать в Whiteout Survival — полное руководство
Игровой гайд

Как атаковать в Whiteout Survival — полное руководство

Включить Night Clock на Samsung Edge
Mobile

Включить Night Clock на Samsung Edge