# 部署 Seafile 服務器(使用 SQLite)
這份文檔用來說明如何使用預編譯好的文件包來安裝和運行 Seafile 服務器。
### 下載
到[下載頁面](http://www.seafile.com/download)下載最新的服務器安裝包.
### 部署和目錄結構
注意:如果你把 Seafile文件放在一個外部存儲的目錄里(比如NFS,CIFS),你應該使用 MySQL 而不是SQLite來作為數據庫。請參考[下載和安裝Seafile服務器(使用MySQL)](#)。
假設你公司的名稱為"haiwen",你也已經下載 seafile-server_1.4.0_* 到你的home 目錄下。 我們建議這樣的目錄結構:
~~~
mkdir haiwen
mv seafile-server_* haiwen
cd haiwen
#將 seafile-server_* 移動到 haiwen 目錄下后
tar -xzf seafile-server_*
mkdir installed
mv seafile-server_* installed
~~~
現在,你的目錄看起來應該像這樣:
~~~
# tree . -L 2
.
├── installed
│ └── seafile-server_1.4.0_x86-64.tar.gz
└── seafile-server-1.4.0
├── reset-admin.sh
├── runtime
├── seafile
├── seafile.sh
├── seahub
├── seahub.sh
├── setup-seafile.sh
└── upgrade
~~~
**這樣設計目錄的好處在于**
- 和 seafile 相關的配置文件都可以放在 haiwen 目錄下,便于集中管理.
- 后續升級時,你只需要解壓最新的安裝包到"haiwen"目錄下.
*這樣你可以重用"haiwen"目錄下已經存在的配置文件,而不用重新配置*.
### 安裝 Seafile 服務器
### 安裝前的準備工作
安裝 Seafile 服務器之前,請確認已安裝以下軟件
- python 2.7
- python-setuptools
- python-imaging
- sqlite3
~~~
#Debian系統下
apt-get update
apt-get install python2.7 python-setuptools python-imaging sqlite3
~~~
### 安裝
~~~
cd seafile-server-*
./setup-seafile.sh #運行安裝腳本并回答預設問題
~~~
如果你的系統中沒有安裝上面的某個軟件,那么 Seafile 初始化腳本會提醒你安裝相應的軟件包. 該腳本會依次詢問你一些問題,從而一步步引導你配置 Seafile 的各項參數
<table class="calibre18"><tbody class="calibre19"><tr class="calibre20"><th class="calibre21">參數</th><th class="calibre21">作用</th><th class="calibre21">說明</th></tr></tbody><tbody class="calibre19"><tr class="calibre20"><td class="calibre22"><p class="calibre6">seafile server name</p></td><td class="calibre22"><p class="calibre6">seafile 服務器的名字,將來在客戶端會顯示為這個名字</p></td><td class="calibre22"><p class="calibre6">3 ~ 15 個字符,可以用英文字母,數字,下劃線</p></td></tr><tr class="even"><td class="calibre22"><p class="calibre6">seafile server ip or domain</p></td><td class="calibre22"><p class="calibre6">seafile 服務器的 IP 地址或者域名</p></td><td class="calibre22"><p class="calibre6">客戶端將通過這個 IP 或者地址來訪問你的 Seafile 服務</p></td></tr><tr class="calibre20"><td class="calibre22"><p class="calibre6">seafile data dir</p></td><td class="calibre22"><p class="calibre6">seafile 數據存放的目錄,用上面的例子,默認將是 /data/haiwen/seafile-data</p></td><td class="calibre22"><p class="calibre6">seafile 數據將隨著使用而逐漸增加,請把它放在一個有足夠大空閑空間的分區上</p></td></tr><tr class="even"><td class="calibre22"><p class="calibre6">seafile fileserver port</p></td><td class="calibre22"><p class="calibre6">seafile fileserver 使用的 TCP 端口</p></td><td class="calibre22"><p class="calibre6">一般使用默認的 8082 端口,如果已經被占用,可以設置為其他的端口</p></td></tr><tr class="calibre20"/></tbody></table>
**如果安裝正確完成,會打印成功消息**
現在你的目錄結構將會是如下:
~~~
#tree haiwen -L 2
haiwen
├── ccnet # configuration files
│ ├── ccnet.conf
│ ├── mykey.peer
│ ├── PeerMgr
│ └── seafile.ini
├── installed
│ └── seafile-server_1.4.0_x86-64.tar.gz
├── seafile-data
│ └── seafile.conf
├── seafile-server-1.4.0 # active version
│ ├── reset-admin.sh
│ ├── runtime
│ ├── seafile
│ ├── seafile.sh
│ ├── seahub
│ ├── seahub.sh
│ ├── setup-seafile.sh
│ └── upgrade
├── seafile-server-latest # symbolic link to seafile-server-1.4.0
├── seahub-data
│ └── avatars
├── seahub.db
├── seahub_settings.py # optional config file
└── seahub_settings.pyc
~~~
`seafile-server-latest`文件夾是當前 Seafile 服務器文件夾的符號鏈接.將來你升級到新版本后, 升級腳本會自動更新使其始終指向最新的 Seafile 服務器文件夾.
### 啟動運行 Seafile 服務器
### 啟動之前
因為 Seafile 在客戶端和服務器之間使用持續連接,如果你的客戶端**數量巨大**, 你應該在啟動 Seafile 之前修改你的 Linux 文件最大打開數,如下:
~~~
ulimit -n 30000
~~~
### 啟動 Seafile 服務器和 Seahub 網站
在 seafile-server-1.4.0 目錄下,運行如下命令:
- 啟動 Seafile:
~~~
./seafile.sh start # 啟動 Seafile 服務
~~~
- 啟動 Seahub
~~~
./seahub.sh start <port> # 啟動 Seahub 網站 (默認運行在8000端口上)
~~~
**小貼士:** 你第一次啟動 seahub 時,`seahub.sh` 腳本會提示你創建一個 seafile 管理員帳號。
服務啟動后, 打開瀏覽器并輸入以下地址
~~~
http://192.168.1.111:8000/
~~~
你會被重定向到登陸頁面. 輸入你在安裝 Seafile 時提供的用戶名和密碼后,你會進入 Myhome 頁面,新建資料庫.
**恭喜!** 現在你已經成功的安裝了 Seafile 服務器.
#### 在另一端口上運行 Seahub
如果你不想在默認的 8000 端口上運行 Seahub, 而是想自定義端口(比如8001)中運行,請按以下步驟操作:
- 關閉 Seafile 服務器
~~~
./seahub.sh stop # 停止 Seafile 進程
./seafile.sh stop # 停止 Seahub
~~~
- 更改`haiwen/ccnet/ccnet.conf`文件中`SERVICE_URL` 的值(假設你的 ip或者域名時`192.168.1.100`), 如下:
~~~
SERVICE_URL = http://192.168.1.100:8001
~~~
- 重啟 Seafile 服務器
~~~
./seafile.sh start # 啟動 Seafile 服務
./seahub.sh start 8001 # 啟動 Seahub 網站 (運行在8001端口上)
~~~
`ccnet.conf`更多細節請看[[Seafile服務器配置選項]].
### 關閉/重啟 Seafile 和 Seahub
#### 關閉
~~~
./seahub.sh stop # 停止 Seahub
./seafile.sh stop # 停止 Seafile 進程
~~~
#### 重啟
~~~
./seafile.sh restart # 停止當前的 Seafile 進程,然后重啟 Seafile
./seahub.sh restart # 停止當前的 Seahub 進程,并在 8000 端口重新啟動 Seahub
~~~
#### 如果停止/重啟的腳本運行失敗
大多數情況下 seafile.sh seahub.sh 腳本可以正常工作。如果遇到問題:
- 使用**pgrep**命令檢查 seafile/seahub 進程是否還在運行中
~~~
pgrep -f seafile-controller # 查看 Seafile 進程
pgrep -f "manage.py run_gunicorn" # 查看 Seahub 進程
~~~
- 使用**pkill**命令殺掉相關進程
~~~
pkill -f seafile-controller # 結束 Seafile 進程
pkill -f "manage.py run_gunicorn" # 結束 Seafile 進程
~~~
### OK!
查看 Seafile 更多信息請移至..
- [管理員手冊](#)
- 介紹
- 概覽
- 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
- 數據模型
- 服務器組件
- 同步算法