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

OSCHINA-MIRROR/mirrors-baserow

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

Установка Baserow за Apache

Если у вас есть сервер Apache, этот гайд объяснит, как настроить его для передачи запросов в Baserow.

Мы настоятельно рекомендуем использовать наш образ baserow/baserow:1.33.4 или примерные файлы docker-compose.yml (исключая вариант .no-caddy.yml), предоставленные в нашем репозитории git.

Эти образы и файлы включают преднастроенный, простой и легковесный HTTP-сервер Caddy, который упрощает вашу жизнь, выполняя следующие задачи:

  1. Маршрутизация запросов к правильным внутренним службам Baserow
  2. Включение соединений через веб-сокеты для реального времени сотрудничества
  3. Обслуживание файлов, загруженных пользователями
  4. И он все еще работает за вашим собственным обратным прокси без проблем

Если вы не хотите использовать наш встроенный Caddy за вашим Apache, убедитесь, что вы используете один из следующих методов развертывания:

  • Собственная контейнерная среда с нашими одиночными образами baserow/backend:1.33.4 и baserow/web-frontend:1.33.4.
  • Или наш пример файла docker-compose.no-caddy.yml в нашем репозитории git.

Тогда вы должны использовать раздел Вариант 2: Без нашего встроенного Caddy.

Вариант 1: С нашим встроенным Caddy

Вы можете найти рабочий пример использования Apache с Baserow в нашем репозитории git в папке deploy/apache/recommended.

Следуйте этому варианту, если вы используете:

  • Образ Baserow baserow/baserow:1.33.4
  • Любые из примерных файлов compose, найденных в корне нашего репозитория git docker-compose.yml/docker-compose.local-build.yml/docker-compose.all-in-one.yml

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

Предполагается, что у вас уже запущен сервер Apache, который вы знаете, как настраивать. Если нет, сначала ознакомьтесь с руководствами, такими как это, чтобы познакомиться с Apache.

Кроме того, предполагается, что вы используете операционную систему на базе Debian и уже успешно развернули Baserow.

Шаг 1 - Включение необходимых модулей Apache

Показанная ниже конфигурация Apache требует включения следующих модулей.

# Сначала включите необходимые модули Apache и перезапустите
sudo a2enmod proxy headers proxy_http proxy_wstunnel rewrite 
sudo systemctl restart apache2

Шаг 2 - Настройка BASEROW_PUBLIC_URL для Baserow

Baserow должен знать URL, по которому он будет доступен. Предположим, что вы будете размещать Baserow на поддомене, поэтому вам следует установить следующую переменную окружения в вашем развертывании Baserow (см. Настройка Baserow для дополнительных деталей).

BASEROW_PUBLIC_URL=http://baserow.example.com

Шаг 3 - Добавление конфигурации Apache для Baserow

Создайте новый файл в /etc/apache2/sites-enabled/baserow-site.conf, используя пример ниже:

Убедитесь, что вы заменили все ссылки на http://localhost:PORT на правильные для вашего конкретного развертывания Baserow.

<VirtualHost *:80>
ProxyPreserveHost On

# Замените на ваш поддомен
ServerName example.localhost

# Корректное обновление соединений через веб-сокеты, создаваемых Baserow, по пути /ws для реального времени сотрудничества.
RewriteEngine on
RewriteCond ${HTTP:Upgrade} websocket [NC]
RewriteCond ${HTTP:Connection} upgrade [NC]
RewriteRule .* "ws://localhost:8080/$1" [P,L,END]
ProxyPass /ws ws://localhost:8080/ws
ProxyPassReverse /ws ws://localhost:8080/ws

# Передача всего остального Baserow как обычно.
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/

</VirtualHost>

Шаг 4 - Включение нового сайта Baserow

Наконец, вы должны включить ваш новый сайт Baserow и перезапустить сервер Baserow, если вы внесли изменения в переменные окружения.

sudo a2ensite baserow-site.conf

Теперь вы должны иметь возможность доступ к Baserow на вашем настроенном поддомене.

Вариант 2: Без нашего встроенного Caddy

Вы можете найти рабочий пример использования Apache с Baserow в нашем репозитории git в папке deploy/apache/no-caddy.

Следуйте этому варианту, если вы используете:

  • Наши отдельные образы baserow/backend:1.33.4 и baserow/web-frontend:1.33.4 с собственным контейнерным оркестратором.
  • Или пример файла docker-compose.no-caddy.yml в корне нашего репозитория git.

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

Предполагается, что у вас уже запущен сервер Apache, который вы знаете, как настраивать. Если нет, сначала ознакомьтесь с руководствами, такими как это, чтобы познакомиться с Apache.

Кроме того, предполагается, что вы используете операционную систему на базе Debian и уже успешно развернули Baserow. Если вы используете другую среду, общие шаги и конфигурация Apache все равно могут быть полезным отправным пунктом для вас, но вам может потребоваться выполнить другие команды.

Шаг 1 - Включение необходимых модулей Apache

Показанная ниже конфигурация Apache требует включения следующих модулей.

# Сначала включите необходимые модули Apache и перезапустите
sudo a2enmod proxy headers proxy_http proxy_wstunnel rewrite 
sudo systemctl restart apache2

Шаг 2 - Подключение тома медиафайлов для обслуживания загруженных файлов Apache

Вы должны убедиться, что пользовательские загруженные файлы доступны в папке для обслуживания Apache. В дальнейшем мы будем использовать папку /var/web для этой цели.

Если вы используете образ baserow/backend:1.33.4, вы можете сделать это, добавив -v /var/web:/baserow/data/media к обычной команде docker run, используемой для запуска бэкенда Baserow.

Если вы вместо этого используете docker-compose.no-caddy.yml, вы можете изменить все монтирования - media:/baserow/media на - /var/web:/baserow/media.

Шаг 3 - Настройка BASEROW_PUBLIC_URL для Baserow

Baserow должен знать URL, по которому он будет доступен. Предположим, что вы будете размещать Baserow на поддомене, поэтому вам следует установить следующую переменную окружения в вашем развертывании Baserow (см. Настройка Baserow для дополнительных деталей).

BASEROW_PUBLIC_URL=http://baserow.example.com

Шаг 4 - Создание нового файла baserow-site.conf

Создайте новый файл в /etc/apache2/sites-enabled/baserow-site.conf, используя пример ниже:

Убедитесь, что вы заменили все ссылки на http://localhost:PORT на правильные для вашего конкретного развертывания Baserow.

<VirtualHost *:80>
ProxyPreserveHost On

# Замените на ваш поддомен
ServerName example.localhost

# Обслуживание пользовательских загруженных файлов и добавление заголовка Content-Disposition при установке параметра filename.
RewriteCond %{QUERY_STRING} (?:^|&)dl=([^&]+)
RewriteRule ^/media/.* - [E=FILENAME:%1]
Header set "Content-Disposition" "attachment; filename=\"%{FILENAME}e\"" env=FILENAME
ProxyPass /media !
Alias /media /var/www
<Directory "/var/www/">
    Require all granted
</Directory>

# Корректное обновление соединений через веб-сокеты, создаваемых Baserow, по пути /ws для реального времени сотрудничества.
RewriteEngine on
RewriteCond ${HTTP:Upgrade} websocket [NC]
RewriteCond ${HTTP:Connection} upgrade [NC]
RewriteRule .* "ws://localhost:8000/$1" [P,L,END]
ProxyPass /ws ws://localhost:8000/ws
ProxyPassReverse /ws ws://localhost:8000/ws

ProxyPass /api http://localhost:8000/api
ProxyPassReverse /api http://localhost:8000/api

ProxyPass / http://localhost:3000/
ProxyPassReverse / http://localhost:3000/

</VirtualHost>

Шаг 5 - Включение нового сайта Baserow

Наконец, вы должны включить ваш новый сайт Baserow и перезапустить сервер Baserow, если вы внесли изменения в переменные окружения.

sudo a2ensite baserow-site.conf

Теперь вы должны иметь возможность доступ к Baserow на вашем настроенном поддомене.

Устранение неполадок

Если вы можете загружать изображения в Baserow, но миниатюры не отображаются или вы не можете повторно скачать их (получаете ошибки 403 при доступе к файлам), то:

  • Убедитесь, что права доступа к подпапкам в /var/web установлены так, чтобы они были читаемыми пользователем Apache, выполнив команду cd /var/web && chmod 755 *.
  • Исправьте любые права доступа к файлам внутри подпапок /var/web, чтобы они были читаемыми пользователем Apache.

Опубликовать ( 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