# 在非根域名下部署 Seahub
這份文檔將說明如何在網站的非根文件夾下通過 Apache/Nginx 部署 Seafile。
**注意:** 請先閱讀 [Nginx 下配置 Seahub](#) 或者 [Apache 下配置 Seahub](#).
### Nginx 下部署
首先更改 `seahub_settings.py` 中一些變量的值:
~~~SERVE_STATIC = False
MEDIA_URL = '/seafmedia/'
SITE_ROOT = '/seafile/'
COMPRESS_URL = MEDIA_URL
STATIC_URL = MEDIA_URL + 'assets/'
~~~
我們將使用 Nginx 來管理靜態文件(js, css, etc), 所以將 `SERVE_STATIC` 設置為 `False`。
可以自定義 `MEDIA_URL` 的值,但是確保結尾包含斜線。
因為要在 `/seafile/` 目錄下而不是根目錄下部署 Seafile, 所以設置 `SITE_ROOT` 的值為 `/seafile/`。
接下來,配置 Nginx 如下:
~~~server {
listen 80;
server_name www.example.com;
proxy_set_header X-Forwarded-For $remote_addr;
location /seafile {
fastcgi_pass 127.0.0.1:8000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
# fastcgi_param HTTPS on; # 如果使用 https,請取消掉這行的注釋。
access_log /var/log/nginx/seahub.access.log;
error_log /var/log/nginx/seahub.error.log;
}
location /seafhttp {
rewrite ^/seafhttp(.*)$ $1 break;
proxy_pass http://127.0.0.1:8082;
client_max_body_size 0;
}
location /seafmedia {
rewrite ^/seafmedia(.*)$ /media$1 break;
root /home/user/haiwen/seafile-server-latest/seahub;
}
}
~~~
接下來設置 `SERVICE_URL` 和 `FILE_SERVER_ROOT` 的值。
### Apache 下部署
首先更改 `seahub_settings.py` 中一些變量的值:
~~~SERVE_STATIC = False
MEDIA_URL = '/seafmedia/'
SITE_ROOT = '/seafile/'
~~~
在 `httpd.conf` 文件中加入以下語句:
~~~ FastCGIExternalServer /var/www/seahub.fcgi -host 127.0.0.1:8000
~~~
接下來配置 Apache,示例如下:
~~~
ServerName www.example.com
DocumentRoot /var/www
Alias /seafmedia /home/user/haiwen/seafile-server-2.0.2/seahub/media
RewriteEngine On
#
# seafile fileserver
#
ProxyPass /seafhttp http://127.0.0.1:8082
ProxyPassReverse /seafhttp http://127.0.0.1:8082
RewriteRule ^/seafhttp - [QSA,L]
#
# seahub
#
RewriteRule ^/(seafmedia.*)$ /$1 [QSA,L,PT]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^/(seafile.*)$ /seahub.fcgi/$1 [QSA,L,E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
~~~
請注意更改 Alias 的值為自己的文件路徑。
### 更改 ccnet.conf 和 seahub_setting.py
### 更改 ccnet.conf
為使 Seafile 知道你所使用的域名,請更改 `/data/haiwen/ccnet/ccnet.conf` 中 `SERVICE_URL` 變量的值。
~~~SERVICE_URL = http://www.myseafile.com/seafile
~~~
注意: 如果以后域名有所變動,請記得更改 `SERVICE_URL`.
### 更改 seahub_settings.py
更改 `seahub_settings.py` 中 `FILE_SERVER_ROOT` 的值
~~~
FILE_SERVER_ROOT = 'http://www.myseafile.com/seafhttp'
~~~
### 啟動 Seafile 和 Seahub
~~~./seafile.sh start
./seahub.sh start-fastcgi
~~~
- 介紹
- 概覽
- Seafile 組件
- 研發路線圖
- 常見問題解答
- 修改日志
- 我要參與
- Linux 下部署 Seafile 服務器
- 部署 Seafile 服務器(使用 SQLite)
- 部署 Seafile 服務器(使用 MySQL)
- Nginx 下配置 Seahub
- Nginx 下啟用 Https
- Apache 下配置 Seahub
- Apache 下啟用 Https
- Seafile LDAP 配置
- 開機啟動 Seafile
- 防火墻設置
- Logrotate 管理系統日志
- 使用 Memcached
- 使用 NAT
- 非根域名下部署 Seahub
- 從 SQLite 遷移至 MySQL
- 安裝常見問題
- 升級
- Windows 下部署 Seafile 服務器
- 下載安裝 Windows 版 Seafile 服務器
- 安裝 Seafile 為 Windows 服務
- 所用端口說明
- 升級
- 從 Windows 遷移到 Linux
- 垃圾回收
- 部署 Seafile 專業版服務器
- 下載安裝 Seafile 專業版服務器
- 從社區版遷移至專業版
- 升級
- Amazon S3 下安裝
- OpenStackSwift 下安裝
- Ceph 下安裝
- 配置選項
- 文件搜索說明
- 集群部署
- 集群中啟用搜索和后臺服務
- NFS 下集群安裝
- 常見問題解答
- 軟件許可協議
- 服務器個性化配置
- ccnet.conf
- seafile.conf
- seahub_settings.py
- 發送郵件提醒
- 個性化郵件提醒
- 用戶管理
- 存儲容量與文件上傳/下載大小限制
- 自定義 Web
- 管理員手冊
- 賬戶管理
- 日志
- 備份與恢復
- Seafile FSCK
- Seafile GC
- WebDAV 和 FUSE 擴展
- WebDAV 擴展
- FUSE 擴展
- 安全選項
- 安全特性
- 日志和審計
- 開發文檔
- 編譯 Seafile
- Linux
- Windows
- Max OS X
- Server
- 開發環境
- 編程規范
- Web API
- Python API
- 數據模型
- 服務器組件
- 同步算法