一.目錄
1·環境安裝
2·mysql配置
3·seafile配置
4·seafile開機自啓動配置
二.步驟
1·環境安裝
- 安裝 Seafile 服務器之前,請確認已安裝以下軟件
- MariaDB 服務器 (MariaDB 是 MySQL 的分支)
- python 2.7 (從 Seafile 5.1 開始,python 版本最低要求爲2.7)
- python-setuptools
- python-imaging
- python-mysqldb
- python-ldap
- python-urllib3
- python-memcache (或者 python-memcached)
ubuntu命令
apt-get update
apt-get install mariadb-server
apt-get install python2.7 python-setuptools python-imaging python-ldap python-mysqldb python-memcache python-urllib3
2·mysql配置
初次安裝mysql要去設置密碼,這樣在配置seafile的時候才能登陸進去,纔不會報錯,並且新建一個用戶seafile,因爲seafile會用到。
1.登陸mysql
sudo mysql -u root -p
2.查看user表
select user, plugin from mysql.user;
發現root的plugin並不是mysql_native_password
3.修改密碼(admin就是要改的密碼)
update mysql.user set authentication_string=PASSWORD('admin'), plugin='mysql_native_password' where user='root';
4.刷新
flush privileges;
5.新建seafile用戶
insert into mysql.user(Host,User,Password) values("%","seafile",password("admin"));
6.刷新、退出
flush privileges;
exit
3·seafile配置
seafile下載 地址
創建文件夾
sudo mkdir /home/seafile
將壓縮包解壓到home目錄下的seafile文件夾裏面,這裏的seafile-pro-server_*是你的壓縮包名字,根據自己的來打
tar -xzvf seafile-pro-server_*
進入解壓後的文件夾
cd seafile-pro-server*
執行
./setup-seafile-mysql.sh
配置Seafile的各項參數:
參數 | 作用 | 說明 |
---|---|---|
seafile服務器名稱 |
seafile服務器的名字,目前該配置已經不再使用 |
3~15個字符,可以用英文字母,數字,下劃線 |
seafile服務器ip或域 |
seafile服務器的IP地址或者域名 |
客戶端將通過這個IP或者地址來訪問你的Seafile服務 |
seafile數據目錄 |
seafile數據存放的目錄,用上面的例子,默認將是/ data / haiwen / seafile-data |
seafile數據將隨着使用而逐漸增加,請把它放在一個有足夠大空閒空間的分區上 |
seafile文件服務器端口 |
seafile fileserver使用的TCP端口 |
該端口用於文件同步,請使用默認的8082,不能更改。 |
在這裏,你會被要求選擇一種創建Seafile數據庫的方式:
-------------------------------------------------------
Please choose a way to initialize seafile databases:
-------------------------------------------------------
[1] Create new ccnet/seafile/seahub databases
[2] Use existing ccnet/seafile/seahub databases
- 如果選擇
1
,你需要提供根密碼。腳本程序會創建數據庫和用戶。 - 如果選擇
2
,ccnet / seafile / seahub數據庫應該已經被你(或者其他人)提前創建。
如果安裝正確完成,你會看到下面這樣的輸出(新版本可能會有所不同)
啓動 Seafile 服務器和 Seahub 網站
啓動Seafile服務器
./seafile.sh start # 啓動 Seafile 服務
啓動Seahub
./seahub.sh start <port> # 啓動 Seahub 網站 (默認運行在8000端口上)
你第一次啓動 seahub 時,seahub.sh 腳本會提示你創建一個 seafile 管理員帳號
登錄網盤
在瀏覽器輸入你的 ip地址 例如:192.168.0.103:8000,ip地址根據你的電腦和設置的seafile而定
輸入剛剛提示你創建的 seafile 管理員帳號以登錄
(1)·這裏如果出現錯誤,或之前執行過這個配置但是沒有配置成功的話
解決方法:
刪除mysql數據庫的seafile-db seahub-db ccnet-db這幾個數據庫
mysql -u root -p
drop database `seafile-db`;
drop database `seahub-db`;
drop database `ccnet-db`;
exit;
將你的安裝目錄下的文件全部刪了,重新解壓出來再運行
將你的安裝目錄下的文件全部都給上可讀可寫權限
sudo chmod -R a+rw /home/seafile
(2)·出現錯誤
·ERROR 1698 (28000): Access denied for user 'root'@'localhost'
這個問題是因爲你的mysql用戶密碼沒設置 導致進不去,回到第二大步更改mysql密碼即可
4·seafile開機自啓動配置
創建systemd服務文件
(1)創建seafile服務文件
sudo vim /etc/systemd/system/seafile.service
將以下示例中$ {seafile_dir}替換爲您自己的seaile安裝路徑,並且將用戶指向真正運行seafile的用戶
你安裝seafile配置的時候的用戶是什麼,就填什麼,我的是ubuntu
文件內容如下:
[Unit]
Description=Seafile
# add mysql.service or postgresql.service depending on your database to the line below
After=network.target
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStartPre=/bin/sleep 1
ExecStart=${seafile_dir}/seafile-server-latest/seafile.sh start
ExecStop=${seafile_dir}/seafile-server-latest/seafile.sh stop
User=ubuntu
Group=ubuntu
[Install]
WantedBy=multi-user.target
(1)創建seahub服務文件
sudo vim /etc/systemd/system/seafile.service
文件內容如下:
[Unit]
Description=Seafile hub
After=network.target seafile.service
[Service]
RemainAfterExit=yes
ExecStart=${seafile_dir}/seafile-server-latest/seahub.sh start
ExecStop=${seafile_dir}/seafile-server-latest/seahub.sh stop
User=ubuntu
Group=ubuntu
[Install]
WantedBy=multi-user.target
設置服務開機自啓動
sudo systemctl enable seafile.service
sudo systemctl enable seahub.service
這裏可以試一試服務是否能啓動成功
sudo systemctl start seafile.service
查看服務是否成功
sudo systemctl status seafile.service
是綠色就沒問題
如果紅色或白色的圓點 ,不成功,請查看你的服務代碼路徑是否有問題。