Если у вас есть сервер Apache, этот гайд объяснит, как настроить его для передачи запросов в Baserow.
Мы настоятельно рекомендуем использовать наш образ baserow/baserow:1.33.4
или примерные файлы docker-compose.yml
(исключая вариант .no-caddy.yml
), предоставленные в нашем репозитории git.
Эти образы и файлы включают преднастроенный, простой и легковесный HTTP-сервер Caddy, который упрощает вашу жизнь, выполняя следующие задачи:
Если вы не хотите использовать наш встроенный Caddy за вашим Apache, убедитесь, что вы используете один из следующих методов развертывания:
- Собственная контейнерная среда с нашими одиночными образами
baserow/backend:1.33.4
иbaserow/web-frontend:1.33.4
.- Или наш пример файла
docker-compose.no-caddy.yml
в нашем репозитории git.Тогда вы должны использовать раздел Вариант 2: Без нашего встроенного Caddy.
Вы можете найти рабочий пример использования Apache с Baserow в нашем репозитории git в папке deploy/apache/recommended.
Следуйте этому варианту, если вы используете:
baserow/baserow:1.33.4
docker-compose.yml
/docker-compose.local-build.yml
/docker-compose.all-in-one.yml
Предполагается, что у вас уже запущен сервер Apache, который вы знаете, как настраивать. Если нет, сначала ознакомьтесь с руководствами, такими как это, чтобы познакомиться с Apache.
Кроме того, предполагается, что вы используете операционную систему на базе Debian и уже успешно развернули Baserow.
Показанная ниже конфигурация Apache требует включения следующих модулей.
# Сначала включите необходимые модули Apache и перезапустите
sudo a2enmod proxy headers proxy_http proxy_wstunnel rewrite
sudo systemctl restart apache2
Baserow должен знать URL, по которому он будет доступен. Предположим, что вы будете размещать Baserow на поддомене, поэтому вам следует установить следующую переменную окружения в вашем развертывании Baserow (см. Настройка Baserow для дополнительных деталей).
BASEROW_PUBLIC_URL=http://baserow.example.com
Создайте новый файл в /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>
Наконец, вы должны включить ваш новый сайт Baserow и перезапустить сервер Baserow, если вы внесли изменения в переменные окружения.
sudo a2ensite baserow-site.conf
Теперь вы должны иметь возможность доступ к Baserow на вашем настроенном поддомене.
Вы можете найти рабочий пример использования 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 все равно могут быть полезным отправным пунктом для вас, но вам может потребоваться выполнить другие команды.
Показанная ниже конфигурация Apache требует включения следующих модулей.
# Сначала включите необходимые модули Apache и перезапустите
sudo a2enmod proxy headers proxy_http proxy_wstunnel rewrite
sudo systemctl restart apache2
Вы должны убедиться, что пользовательские загруженные файлы доступны в папке для обслуживания 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
.
Baserow должен знать URL, по которому он будет доступен. Предположим, что вы будете размещать Baserow на поддомене, поэтому вам следует установить следующую переменную окружения в вашем развертывании Baserow (см. Настройка Baserow для дополнительных деталей).
BASEROW_PUBLIC_URL=http://baserow.example.com
Создайте новый файл в /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>
Наконец, вы должны включить ваш новый сайт Baserow и перезапустить сервер Baserow, если вы внесли изменения в переменные окружения.
sudo a2ensite baserow-site.conf
Теперь вы должны иметь возможность доступ к Baserow на вашем настроенном поддомене.
Если вы можете загружать изображения в Baserow, но миниатюры не отображаются или вы не можете повторно скачать их (получаете ошибки 403 при доступе к файлам), то:
/var/web
установлены так, чтобы они были читаемыми пользователем Apache, выполнив команду cd /var/web && chmod 755 *
./var/web
, чтобы они были читаемыми пользователем Apache.Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )