Modoboa-apache2.4 设置后出现 403

Modoboa-apache2.4 设置后出现 403

机器详细信息:

  • Ubuntu 20.04.3 LTS
  • Apache2 2.4.41
  • Mariadb 15.1(认为不相关)

我最近按照指南在一台新服务器上安装了 modoboa(邮件服务器)。默认设置使用 nginx 安装,最后确实成功了(至少页面mail.mysite.com加载成功)。

禁用 nginx 并启用 apache2 后,我创建/etc/apache2/sites-enabled/modoboa.conf

<VirtualHost *:80>
  ServerName mail.mysite.com
  DocumentRoot /srv/modoboa/instance/

  Alias /media/ /srv/modoboa/instance/media/
  <Directory /srv/modoboa/instance/media>
    Require all granted
  </Directory>

  Alias /sitestatic/ /srv/modoboa/instance/sitestatic/
  <Directory /srv/modoboa/instance/sitestatic>
    Require all granted
  </Directory>

  WSGIScriptAlias / /srv/modoboa/instance/instance/wsgi.py

  # Pass Authorization header to enable API usage:
  WSGIPassAuthorization On
</VirtualHost>

按照 certbot 命令生成以下内容:sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d mail.mysite.com

<IfModule mod_ssl.c>
SSLStaplingCache shmcb:/var/run/apache2/stapling_cache(128000)
<VirtualHost *:443>
  ServerName mail.mysite.com
  DocumentRoot /srv/modoboa/instance/

  Alias /media/ /srv/modoboa/instance/media/
  <Directory /srv/modoboa/instance/media>
    Require all granted
  </Directory>

  Alias /sitestatic/ /srv/modoboa/instance/sitestatic/
  <Directory /srv/modoboa/instance/sitestatic>
    Require all granted
  </Directory>

  WSGIScriptAlias / /srv/modoboa/instance/instance/wsgi.py

  # Pass Authorization header to enable API usage:
  WSGIPassAuthorization On


SSLCertificateFile /etc/letsencrypt/live/mail.mysite.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/mail.mysite.com/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
Header always set Strict-Transport-Security "max-age=31536000"
SSLUseStapling on
</VirtualHost>
</IfModule>

现在,当我尝试连接时mail.mysite.com,只收到 403 禁止错误。查看后/var/log/apache2/error.log我发现:

[Thu Aug 19 20:52:04.159144 2021] [core:notice] [pid 6213] AH00094: Command line: '/usr/sbin/apache2'
[Thu Aug 19 20:52:06.296969 2021] [authz_core:error] [pid 6216] [client 74.206.137.114:49866] AH01630: client denied by server configuration: /srv/modoboa/instance/instance/wsgi.py

环顾四周,我看到了类似的东西这个科幻问题按照这些,我确实将之前的设置更改Order deny,allow Allow from all为上面显示的设置,但仍然出现相同的错误。

通过观察ls-ls /srv/我看到的drwxr-xr-x 7 modoboa modoboa 4096 Aug 19 19:42 modoboa内容,我相信 modoboa 可以很好地完成它自己的工作。

鉴于启用 nginx 后此方法有效,我感觉这与我的 apache2 配置有关,但我真的不知道是什么原因。如果有人对此事有所了解,我将不胜感激。

答案1

看起来你的 vhost 配置中缺少这个定义

  <Directory /srv/modoboa/instance/instance>
    Require all granted
  </Directory>

我也不指望用户权限是 modoboa:modoboa,因为 apache 需要提供这些文件。你可以将它们更改为默认权限。

chown -R www-data:www-data /srv/modoboa

相关内容