1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-baserow

Клонировать/Скачать
old-install-on-ubuntu.md 21 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 26.06.2025 16:02 92285f5

Устаревшее руководство - Установка на Ubuntu

Предупреждение: Это руководство устарело с версии 1.9 Baserow. Пожалуйста, следуйте разделу Установка на Ubuntu - Обновление с 1.8.2, если вы установили Baserow 1.8.2 с помощью этого руководства для обновления.

Это устаревшее и теперь не поддерживаемое руководство проведет вас через установку Baserow в производственной среде. В частности, этот документ предназначен для серверов, работающих под управлением Ubuntu 18.04.03 LTS. Эти инструкции были проверены на чистой установке Ubuntu 18.04.03 LTS и учетной записи пользователя с правами root. Обратите внимание, что без прав root многие инструкции не могут быть выполнены, поэтому права root необходимы практически во всех случаях.

Предварительные требования

Обновление и обновление пакетов

Чтобы убедиться, что мы получаем правильные и новые версии любых пакетов, которые мы устанавливаем, нам нужно обновить и обновить наши пакеты.

$ sudo apt update
$ sudo apt upgrade -y

Краткое замечание о брандмауэрах

Чтобы предоставлять веб-контент, вам нужно открыть порты HTTP (и HTTPS) 80 (и 443). Вы можете сделать это с помощью брандмауэра - ufw может быть хорошим местом для начала, если вы новичок в брандмауэрах.

Установка

Установка и настройка PostgreSQL

Baserow использует PostgreSQL для хранения данных пользователей. Вы можете установить PostgreSQL с помощью следующих команд:

$ sudo apt install postgresql postgresql-contrib -y
# Убедитесь, что вы замените 'yourpassword' ниже надежным паролем для вашего базового
# пользователя.
$ sudo -u postgres psql << EOF
create database baserow;
create user baserow with encrypted password 'yourpassword';
grant all privileges on database baserow to baserow;
EOF

Убедитесь, что вы используете надежный пароль вместо yourpassword! Также обратите внимание, что вы используете выбранный вами пароль в любых последующих командах, где требуется пароль пользователя PostgreSQL baserow.

Установка и настройка Redis

Baserow использует Redis для асинхронных задач и реального времени сотрудничества. Вы можете установить Redis с помощью следующих команд.

$ sudo add-apt-repository ppa:chris-lea/redis-server
$ sudo apt update
$ sudo apt install redis-server -y
$ sudo sed -i 's/supervised no/supervised systemd/g' /etc/redis/redis.conf
$ sudo systemctl enable --now redis-server
$ sudo systemctl restart redis.service

Redis по умолчанию не доступен публично, поэтому нет необходимости настраивать пароль.

Установка других утилит

Git требуется для загрузки исходного кода Baserow, чтобы вы могли установить его в следующем разделе. Curl потребуется позже в руководстве для установки nodejs. Установите их оба с помощью следующей команды:

$ sudo apt install git curl -y 

Установка Baserow

В этом разделе мы установим сам Baserow. Нам потребуется новый пользователь под названием baserow. Baserow использует директорию /baserow для хранения самого приложения.

# Создание пользователя baserow
$ sudo useradd baserow
$ sudo passwd baserow
# Введите новый UNIX пароль: yourpassword
# Повторите ввод нового UNIX пароля: yourpassword

# Переключение на пользователя root
$ sudo -i

# Клонирование проекта baserow
$ mkdir /baserow
$ cd /baserow
$ git clone --branch master https://gitlab.com/baserow/baserow.git

Пароль, используемый для пользователя baserow, не обязательно должен совпадать с тем, что используется с PostgreSQL. Просто убедитесь, что вы используете надежный пароль и что вы запомните его для последующего использования.

Установка зависимостей и настройка Baserow

Чтобы использовать приложение Baserow, нам нужно создать директорию для загруженных пользовательских файлов, виртуальное окружение и установить некоторые дополнительные зависимости, такие как: NodeJS, Yarn, Python 3.7.

Сначала, если вы используете Ubuntu версии 20.04 или более поздней, вам нужно добавить следующий репозиторий, чтобы затем установить Python 3.7:

add-apt-repository ppa:deadsnakes/ppa
apt-get update

Далее следуйте этим шагам:

# Создание директории для загруженных пользовательских файлов и медиафайлов
$ mkdir media
$ chmod 0755 media

# Установка python3.7, pip & virtualenv
$ apt install python3.7 python3.7-dev python3-pip virtualenv libpq-dev libmysqlclient-dev -y

# Создание виртуального окружения
$ virtualenv -p python3.7 env

# Активация виртуального окружения
$ source env/bin/activate

# Установка зависимостей бэкенда через pip
$ pip3 install -e ./baserow/backend
# Установка премиального плагина
$ pip3 install -e ./baserow/premium/backend

# Деактивация виртуального окружения
$ deactivate

# Установка NodeJS
$ curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
$ apt install nodejs -y

# Установка yarn
$ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
$ echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
$ apt update
$ apt install yarn -y

# Установка зависимостей фронтенда через yarn
$ cd baserow/web-frontend
$ yarn install

# Сборка фронтенда
$ ./node_modules/nuxt/bin/nuxt.js build --config-file config/nuxt.config.local.js

Установка NGINX

Baserow использует NGINX в качестве обратного прокси для своего фронтенда и бэкенда. С его помощью вы можете легко добавить SSL-сертификаты и добавить больше приложений на ваш сервер, если хотите.

# Возврат к корневой директории baserow
$ cd /baserow

# Установка и запуск NGINX
$ apt install nginx -y
$ service nginx start

Настройка NGINX

Если вы не знакомы с NGINX: NGINX использует так называемые "виртуальные хосты" для направления веб-трафика извне вашей сети на правильное приложение на вашем сервере. Эти виртуальные хосты определяются в файлах .conf, которые помещаются в директорию /etc/nginx/sites-enabled/, где NGINX затем обрабатывает их при запуске. Baserow поставляется с двумя конфигурационными файлами для NGINX. После перемещения этих файлов, измените значение server_name в обоих файлах. Имя сервера — это домен, под которым вы хотите, чтобы Baserow был доступен.

Убедитесь, что в следующих командах вы замените api.domain.com на свой собственный домен бэкенда, baserow.domain.com на свой домен фронтенда и media.baserow.com на свой домен для обслуживания пользовательских файлов.

# Перемещение файлов виртуальных хостов в /etc/nginx/sites-enabled/
$ cp baserow/docs/guides/installation/configuration-files/nginx.conf /etc/nginx/sites-enabled/baserow.conf

$ rm /etc/nginx/sites-enabled/default

# Изменение значений server_name
$ sed -i 's/\*YOUR_BACKEND_DOMAIN\*/api.domain.com/g' /etc/nginx/sites-enabled/baserow.conf
$ sed -i 's/\*YOUR_WEB_FRONTEND_DOMAIN\*/baserow.domain.com/g' /etc/nginx/sites-enabled/baserow.conf
$ sed -i 's/\*YOUR_MEDIA_DOMAIN\*/media.domain.com/g' /etc/nginx/sites-enabled/baserow.conf

# Затем перезапустите nginx, чтобы он обработал конфигурационные файлы
$ service nginx restart

Импорт отношений в базу данных

В разделе "Установка и настройка PostgreSQL", мы создали базу данных под названием baserow для приложения. Поскольку мы ничего не делали с этой базой данных, она все еще пуста, что приведет к неработоспособному приложению, так как Baserow ожидает существования определенных таблиц и отношений в этой базе данных. Вы можете создать их с помощью следующих команд:

# Подготовка к созданию схемы базы данных
$ source env/bin/activate
$ export DJANGO_SETTINGS_MODULE='baserow.config.settings.base'
$ export DATABASE_PASSWORD='yourpassword'
$ export DATABASE_HOST='localhost'

# Создание схемы базы данных
$ baserow migrate

# Синхронизация шаблонных файлов с базой данных
$ baserow sync_templates

$ deactivate

Установка и настройка Supervisor

Supervisor — это приложение, которое запускает и отслеживает процессы и перезапускает их, если процесс завершается. Для Baserow это используется для снижения времени простоя и для перезапуска приложения в случае непредвиденного завершения. Вы можете установить и настроить его с помощью этих команд:

# Установка supervisor
$ apt install supervisor -y

# Создание директории для логов baserow
$ mkdir /var/log/baserow/

# Перемещение конфигурационных файлов
$ cd /baserow
$ cp baserow/docs/guides/installation/configuration-files/supervisor.conf /etc/supervisor/conf.d/baserow.conf

Вам нужно будет отредактировать файл baserow.conf (расположенный теперь по пути /etc/supervisor/conf.d/) для установки необходимых переменных окружения. Вам нужно будет изменить по крайней мере следующие переменные, которые можно найти в разделе environment=. Убедитесь, что эти URL-адреса начинаются с http:// или https://.

  • PUBLIC_WEB_FRONTEND_URL: URL-адрес, по которому ваш фронтенд доступен из интернета.
  • PUBLIC_BACKEND_URL: URL-адрес, по которому ваш бэкенд доступен из интернета.
  • MEDIA_URL: URL-адрес, по которому ваши медиафайлы доступны из интернета.

Вы можете внести изменения с помощью sed следующим образом:

$ sed -i 's/\*YOUR_BACKEND_DOMAIN\*/https:\/\/api.domain.com/g' /etc/supervisor/conf.d/baserow.conf 
$ sed -i 's/\*YOUR_WEB_FRONTEND_DOMAIN\*/https:\/\/baserow.domain.com/g' /etc/supervisor/conf.d/baserow.conf 
$ sed -i 's/\*YOUR_MEDIA_DOMAIN\*/https:\/\/media.domain.com/g' /etc/supervisor/conf.d/baserow.conf 

Бэкенд

  • SECRET_KEY: Секретный ключ, который используется для генерации токенов и других случайных строк. Вы можете сгенерировать его с помощью следующих команд:
    $ cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 80 | head -n 1
  • DATABASE_PASSWORD: Пароль пользователя базы данных baserow
  • DATABASE_HOST: Хост-компьютер, на котором работает база данных (обычно localhost)
  • REDIS_HOST: Хост-компьютер, на котором работает кэширующий сервер (обычно localhost)

Настройка SMTP для отправки электронной почты

Если вы хотите настроить Baserow для отправки электронной почты, вам нужно добавить следующие переменные окружения в блок /etc/supervisor/conf.d/baserow.conf environment. В противном случае по умолчанию Baserow не будет отправлять электронные письма и вместо этого будет записывать их в /var/log/baserow/worker.error.

  • EMAIL_SMTP (по умолчанию ``): Предоставление чего-либо отличного от пустой строки включит SMTP-почту.
  • EMAIL_SMTP_HOST (по умолчанию localhost): Имя хоста SMTP-сервера.
  • EMAIL_SMTP_USE_TLS (по умолчанию ``): Предоставление чего-либо отличного от пустой строки включит подключение к SMTP-серверу через TLS.
  • EMAIL_SMTP_PORT (по умолчанию 25): Порт SMTP-сервера.
  • EMAIL_SMTP_USER (по умолчанию ``): Имя пользователя SMTP-сервера.
  • EMAIL_SMTP_PASSWORD (по умолчанию ``): Пароль SMTP-сервера.
  • FROM_EMAIL (по умолчанию no-reply@localhost): Адрес "отправителя" электронных писем, которые отправляет платформа. Например, когда пользователь запрашивает восстановление пароля.

После внесения этих изменений вам нужно заставить supervisor перечитать файлы и применить изменения.

# Остановите службу NGINX, чтобы supervisor мог взять управление на себя
$ service nginx stop

# Прочитайте добавленные файлы
$ supervisorctl reread

# Примените прочитанные изменения
$ supervisorctl update

# Проверьте, правильно ли прошел запуск
$ supervisorctl status

Если команды reread или update завершаются неудачно, попробуйте проверить логи по пути /var/log/baserow/ — возможно, другой процесс слушает один из портов, что приводит к завершению работы NGINX или частей Baserow.

Поддержка HTTPS / SSL

Поскольку вы, вероятно, предоставляете конфиденциальные данные с помощью Baserow, мы настоятельно рекомендуем использовать SSL-сертификат для шифрования трафика между браузером и вашим сервером. Вы можете сделать это с помощью следующих команд. Мы будем использовать certbot для получения SSL-сертификата от Certificate Authority Let's Encrypt.

Если вы не устанавливаете Baserow на совершенно новый сервер, вам может потребоваться удалить ранее установленные бинарные файлы certbot с вашего компьютера. Проконсультируйтесь с инструкциями по установке certbot для получения дополнительной информации.

# Установка certbot
$ sudo snap install core; sudo snap refresh core
$ sudo snap install --classic certbot

# Делаем команду certbot доступной
$ sudo ln -s /snap/bin/certbot /usr/bin/certbot

# Начало процесса получения сертификата
$ sudo certbot --nginx

# Перезапуск nginx для чтения конфигурации, созданной certbotом
$ supervisorctl restart nginx

Заключение

Теперь у вас есть полная установка Baserow, которая будет поддерживать работу фронтенда и бэкенда даже при непредвиденном завершении их работы.

Обновление существующей установки до последней версии

Если у вас уже установлена Baserow на вашем сервере и вы хотите обновить ее до последней версии, вы можете выполнить следующие команды. Это работает только если в предыдущих релизах не указаны дополнительные инструкции.

Следуйте этим шагам, если вы установили после 1 июня 2021 года:

$ cd /baserow/baserow
$ git pull
$ cd /baserow
$ source env/bin/activate
$ pip3 install -e ./baserow/backend
$ pip3 install -e ./baserow/premium/backend
$ export DJANGO_SETTINGS_MODULE='baserow.config.settings.base'
$ export DATABASE_PASSWORD='yourpassword'
$ export DATABASE_HOST='localhost'
$ baserow migrate
$ baserow sync_templates
$ deactivate
$ cd baserow/web-frontend
$ yarn install
$ ./node_modules/nuxt/bin/nuxt.js build --config-file config/nuxt.config.local.js
$ supervisorctl reread
$ supervisorctl update
$ supervisorctl restart all

Следуйте этим шагам, если вы установили до 1 июня 2021 года.

$ cd /baserow
$ git pull
$ source backend/env/bin/activate
$ pip3 install -e ./backend
$ pip3 install -e ./premium/backend
$ export DJANGO_SETTINGS_MODULE='baserow.config.settings.base'
$ export DATABASE_PASSWORD='yourpassword'
$ export DATABASE_HOST='localhost'
$ baserow migrate
$ baserow sync_templates
$ deactivate
$ cd web-frontend
$ yarn install
$ ./node_modules/nuxt/bin/nuxt.js build --config-file config/nuxt.config.local.js
$ supervisorctl reread
$ supervisorctl update
$ supervisorctl restart all

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/mirrors-baserow.git
git@api.gitlife.ru:oschina-mirror/mirrors-baserow.git
oschina-mirror
mirrors-baserow
mirrors-baserow
develop