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

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 "" ] # 使用新的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 "" ] # 使用默认的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

# 添加下面的内容,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

# 添加下面的内容,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 启动、开机启动seafile、seahub

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

centos7 部署 seafile的更多相关文章

  1. [原]CentOS7部署osm2pgsql

    转载请注明原作者(think8848)和出处(http://think8848.cnblogs.com) 部署Postgresql和部署PostGis请参考前两篇文章 本文主要参考GitHub上osm ...

  2. centos7 部署ssserver

    centos7 部署shadowsocks服务端 为什么要选centos7? 以后centos7 肯定是主流,在不重要的环境还是尽量使用新系统吧 centos7 的坑 默认可能会有firewall 或 ...

  3. centos7 部署 docker compose

    =============================================== 2019/4/10_第1次修改                       ccb_warlock == ...

  4. centos7 部署 docker ce

    =============================================== 2019/4/9_第1次修改                       ccb_warlock === ...

  5. centos7 部署 open-falcon 0.2.0

    =============================================== 2019/4/29_第3次修改                       ccb_warlock 更新 ...

  6. centos7 部署 docker、shipyard

    =============================================== 2019/4/9_第3次修改                       ccb_warlock 更新说 ...

  7. centos7 部署 docker swarm

    =============================================== 2019/4/9_第3次修改                       ccb_warlock 更新说 ...

  8. docker stack 部署 seafile(http)

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

  9. CentOS7部署Nginx

    CentOS7部署Nginx 1.准备工作 Nginx的安装依赖于以下三个包,意思就是在安装Nginx之前首先必须安装一下的三个包,注意安装顺序如下: 1 SSL功能需要openssl库,直接通过yu ...

随机推荐

  1. 51nod 1471 小S的兴趣 | 分块 链表

    51nod 1471 小S的兴趣 题面 小S喜欢有趣的事.但是,每个人的兴趣都是独特的.小S热衷于自问自答.有一天,小S想出了一个问题. 有一个包含n个正整数的数组a和针对这个数组的几个问题.这些问题 ...

  2. loj2538 「PKUWC2018」Slay the Spire 【dp】

    题目链接 loj2538 题解 比较明显的是,由于强化牌倍数大于\(1\),肯定是能用强化牌尽量用强化牌 如果强化牌大于等于\(k\),就留一个位给攻击牌 所以我们将两种牌分别排序,企图计算\(F(i ...

  3. AC自动机【萌新文章】

    我这个蒟蒻第一次写博客,有点小激动呢. 主要是最近刚学了AC自动机,学得糟糟糕糕,记录一下,看到dalao们都在写博客,决定自己也写一波[我好水的啦,写的也不好] AC自动机大概就是    Trie+ ...

  4. tokenizer

    http://blog.csdn.net/beyond__devil/article/details/52829241

  5. Android获取长按按键响应

    Android获取长按按键响应http://www.2cto.com/kf/201312/261719.html Android下Listview的onItemClick以及onItemLongCli ...

  6. 不同tab下的列表长度不同,tab的样式和底部的位置不同

    要求:当点击不同的tab时,被点击的tab样式不同,产生不同的列表.当列表长度大于屏幕高度时,底部随列表显示:当列表长度小于屏幕高度时,底部固定在屏幕的底部. demo: <!DOCTYPE h ...

  7. 3532: [Sdoi2014]Lis 最小字典序最小割

    3532: [Sdoi2014]Lis Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 865  Solved: 311[Submit][Status] ...

  8. 执行ldconfig命令后报错的解决过程:ldconfig: 目录 /lib 中的 libpng.so 和 libpng15.so.15.13.0 的 so 名称相同但类型不同。

    执行ldconfig命令后报错: 目录 /lib 中的 libpng.so 和 libpng15.so.15.13.0 的 so 名称相同但类型不同. 解决过程: mv /lib/libpng.so ...

  9. 互斥量、条件变量与pthread_cond_wait()函数的使用,详解(一)

    1. 首先pthread_cond_wait 的定义是这样的 The pthread_cond_wait() and pthread_cond_timedwait() functions are us ...

  10. PHP常见的字符串方法

    PHP语言中的字符串函数也是一个比较易懂的知识.今天我们就为大家总结了将近12种PHP字符串函数,希望对又需要的朋友有所帮助,增加读者朋友的PHP知识库.   1.查找字符位置函数 strpos($s ...