一.目录
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 官方下载 地址
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
是绿色就没问题
如果红色或白色的圆点 ,不成功,请查看你的服务代码路径是否有问题。
清空已删除的文件的缓存,释放空间(在删除文件后,清空回收站后,文件任然会占用空间)
//在seafile-pro-**文件目录下执行
./seahub.sh stop
./seafile.sh stop
./seaf-gc.sh
./seafile.sh start
./seahub.sh start