Apache 下配置 Seahub

2018-11-11 12:05 更新

請使用 Apache 2.4 版本。

準備工作

安裝和啟用需要的模塊。

在 Ubuntu 系統(tǒng)上可以使用以下命令:

sudo a2enmod rewrite
sudo a2enmod proxy_fcgi
sudo a2enmod proxy_http

Apache 環(huán)境下部署 Seahub/FileServer

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

下面還需要更新 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 文件

修改 ccnet.conf

SERVICE_URL = http://www.myseafile.com

修改 seahub_settings.py (增加一行,這是一個 python 文件,注意引號)

FILE_SERVER_ROOT = 'http://www.myseafile.com/seafhttp'

啟動 Seafile 和 Seahub

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時,會返回錯誤頁面.

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號