centos7 部署 seafile

Posted 粽先生

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了centos7 部署 seafile相关的知识,希望对你有一定的参考价值。

===============================================

 2018/5/13_第1次修改                       ccb_warlock

 

===============================================

最早接触seafile还是在1年多前,当时是为了能够搭建私有开源、具有同步目录功能的文件系统供员工使用,seafile的功能恰好满足这几点需求。但是考虑到需要占用服务器资源,从成本角度最后这个方案被砍掉了。最近由于工作需要,重新整理了seafile的部署内容。

 


一、准备工作

1.1 安装wget、vim

yum install -y wget vim

 

1.2 关闭防火墙

systemctl stop firewalld
systemctl disable firewalld

 

1.3 安装epel、Nux Dextop

 # 安装epel源

rpm -ivh http://mirrors.ustc.edu.cn/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm

 

 # 安装Nux Dextop源

rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm

  


二、部署seafile

2.1 安装mysql/mariadb

 # 选择安装mariadb

yum -y install mariadb mariadb-server

 

 # 启动、开机启动

systemctl start mariadb
systemctl enable mariadb

 

 # 安全设置

mysql_secure_installation

根据下面的内容进行设置。

# 第一次运行密码为空,回车。
Enter current password for root (enter for none):
    
# 需要设置root密码,输入y后回车。
Set root password? [Y/n] y
接着输入两次新密码。
    
# 是否删除匿名用户,回车。
Remove anonymous users? [Y/n]
        
# 是否禁止root远程登录,回车。
Disallow root login remotely? [Y/n]
        
# 是否删除test数据库,回车。
Remove test database and access to it? [Y/n]
    
# 是否重新加载权限表,回车。
Reload privilege tables now? [Y/n]

 

 # 使用root账户登录mariadb

mysql -uroot -p

 # 能连得进去说明刚才的设置已经生效

 # 退出mariadb 

exit

 

PS.如果需要远程连接,可以用下面的内容设置。 

# 允许任意ip使用root远程连接
create user \'root\'@\'%\' identified by \'root远程登录的密码\';
# 添加权限给该root
grant all privileges on *.* to \'root\'@\'%\' identified by \'root远程登录的密码\';
# 配置立即生效
flush privileges;

 

2.2 安装依赖项 

yum install -y python-memcached \\
  python-ldap \\
  python-urllib3 \\
  python-imaging \\
  MySQL-python \\
  python-distribute \\
  ffmpeg \\
  ffmpeg-devel

 

2.3 安装seafile

 # 获取安装包 

cd
wget http://seafile-downloads.oss-cn-shanghai.aliyuncs.com/seafile-server_6.2.5_x86-64.tar.gz

 

 # 解压 

tar zxf seafile-server_6.2.5_x86-64.tar.gz

 

 # 运行shell脚本安装 

cd seafile-server-*
./setup-seafile-mysql.sh

根据下面的内容进行设置。 

# 显示给客户端的服务名,输入服务名后回车。
What is the name of the server? It will be displayed on the client.
3 - 15 letters or digits
[ server name ] OpsBakPE

# 输入ip或域名,由于内部使用直接ip,输入ip后回车。
What is the ip or domain of the server?
For example: www.mycompany.com, 192.168.1.101
[ This server\'s ip or domain ] 192.168.16.203

# 使用默认,将数据文件放在/root/seafile-data下,回车。
Where do you want to put your seafile data?
Please use a volume with enough free space
[ default "/root/seafile-data" ]

# 使用默认的文件服务端口8082,回车。
Which port do you want to use for the seafile fileserver?
[ default "8082" ]

# 使用新的seahub数据库,输入1后回车。
-------------------------------------------------------
Please choose a way to initialize seafile databases:
-------------------------------------------------------

[1] Create new ccnet/seafile/seahub databases
[2] Use existing ccnet/seafile/seahub databases

[ 1 or 2 ] 1

# 由于刚才装了mariadb,使用默认本地,回车。
What is the host of mysql server?
[ default "localhost" ]

# mariadb的默认端口就是3306,回车。
What is the port of mysql server?
[ default "3306" ]

# 使用默认的seafile作为seafile使用mariadb的用户,回车。
Enter the name for mysql user of seafile. It would be created if not exists.
[ default "seafile" ]

# 输入mariadb的用户seafile的密码,回车。
Enter the password for mysql user "seafile":
[ password for seafile ]

# 使用默认ccnet-db作为ccnet-server使用的数据库名,回车。
Enter the database name for ccnet-server:
[ default "ccnet-db" ]

# 使用默认seafile-db作为seafile-server使用的数据库名,回车。
Enter the database name for seafile-server:
[ default "seafile-db" ]

# 使用默认seahub-db作为seahub使用的数据库名,回车。
Enter the database name for seahub:
[ default "seahub-db" ]

# 检查配置项,没有问题回车安装。

 

 # 等待片刻,安装完成。

 

 

2.4 启动seafile、seahub

 # 启动seafile服务 

./seafile.sh start

 

 # 启动seahub网站(这里加了80端口,不加端口的情况下默认运行在8000端口上) 

./seahub.sh start 80

 PS.第一次启动 seahub 时,seahub.sh脚本会提示创建seafile管理员帐号(邮箱名)。

 

2.5 访问seafile

 浏览器访问http://部署seafile的虚拟机IP,使用刚才创建的管理员账号登录。

 


三、设置开机启动

3.1 首先停止seafile、seahub服务

cd /root/seafile-server-*
./seafile.sh stop
./seahub.sh stop

 

3.2 创建seafile.service

vim /etc/systemd/system/seafile.service

将下面的内容添加到seafile.service,wq保存。 

[Unit]
Description=Seafile
After=mariadb.service

[Service]
Type=oneshot
ExecStart=/root/seafile-server-6.2.5/seafile.sh start
ExecStop=/root/seafile-server-6.2.5/seafile.sh stop
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

 

3.3 创建seahub.service

vim /etc/systemd/system/seahub.service

将下面的内容添加到seahub.service,wq保存。

[Unit]
Description=Seafile hub
After=network.target seafile.service

[Service]
ExecStart=/root/seafile-server-6.2.5/seahub.sh start 80
ExecStop=/root/seafile-server-6.2.5/seahub.sh stop
Type=oneshot
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

 

3.4 启动、开机启动

systemctl start seafile
systemctl enable seafile    
systemctl start seahub
systemctl enable seahub

 

 

以上是关于centos7 部署 seafile的主要内容,如果未能解决你的问题,请参考以下文章

Centos 7 部署Seafile+Nginx

Centos7开机启动Seafile服务和Nginx服务

CentOS7架设Seafile6.3.14

linux centos7 安装常用软件java,node,mysql,Seafile

只需七步搞定--基于CentOS7搭建seafile个人网盘

基于Docker 部署 Seafile+OnlyOffice+Wiki插件