請使用 Apache 2.4 版本。
安裝和啟用需要的模塊。
在 Ubuntu 系統(tǒng)上可以使用以下命令:
sudo a2enmod rewrite
sudo a2enmod proxy_fcgi
sudo a2enmod proxy_http
Seahub 是 Seafile 服務(wù)器的網(wǎng)站界面. FileServer 用來處理瀏覽器端文件的上傳與下載. 默認情況下, 它在 8082 端口上監(jiān)聽 HTTP 請求.
這里我們通過 fastcgi 部署 Seahub, 通過反向代理(Reverse Proxy)部署 FileServer. 我們假設(shè)你已經(jīng)將 Seahub 綁定了域名"www.myseafile.com".
修改 Apache 配置文件: (sites-enabled/000-default
) for ubuntu/debian (vhost.conf
) for centos/fedora
<VirtualHost *:80>
ServerName www.myseafile.com
# Use "DocumentRoot /var/www/html" for Centos/Fedora
# Use "DocumentRoot /var/www" for Ubuntu/Debian
DocumentRoot /var/www
Alias /media /home/user/haiwen/seafile-server-latest/seahub/media
RewriteEngine On
<Location /media>
Require all granted
</Location>
#
# seafile fileserver
#
ProxyPass /seafhttp http://127.0.0.1:8082
ProxyPassReverse /seafhttp http://127.0.0.1:8082
RewriteRule ^/seafhttp - [QSA,L]
#
# seahub
#
SetEnvIf Request_URI . proxy-fcgi-pathinfo=unescape
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
ProxyPass / fcgi://127.0.0.1:8000/
</VirtualHost>
下面還需要更新 SERVICE_URL 和 FILE_SERVER_ROOT 這兩個配置項。否則無法通過 Web 正常的上傳和下載文件。
5.0 版本開始,您可以直接通過管理員 Web 界面來設(shè)置這兩個值(注意,如果同時在 Web 界面和配置文件中設(shè)置了這個值,以 Web 界面的配置為準。):
SERVICE_URL: http://www.myseafile.com
FILE_SERVER_ROOT: http://www.myseafile.com/seafhttp
5.0 版本之前需要修改 ccnet.conf 文件和 seahub_settings.py 文件
SERVICE_URL = http://www.myseafile.com
FILE_SERVER_ROOT = 'http://www.myseafile.com/seafhttp'
sudo service Apache2 restart ./seafile.sh start ./seahub.sh start-fastcgi
閱讀Seafile 組件會幫你更好的理解 Seafile
在 Seafile 服務(wù)器端有兩個組件:Seahub 和 FileServer。 FileServer 通過監(jiān)聽 8082 端口處理文件的上傳與下載. Seahub 通過監(jiān)聽 8000 端口負責其他的WEB頁面。在 https 下, Seahub 應(yīng)該通過 fastcgi 模式監(jiān)聽 8000 端口 (運行./seahub.sh start-fastcgi). 而且在 fastcgi 模式下, 如果直接訪問http://domain:8000
時,會返回錯誤頁面.
更多建議: