前言:是国内团队开发、国际领先的开源企业云存储软件,为企业提供私有云环境下的网盘解决方案,满足文件集中管理、多终端访问、共享协作等需求。普通版本的功能比较简单,与之相比专业版的强大自然是我们的首选。Seafile的专业版本实际上不需要付费也可以使用,只是在用户数上有所限制,三用户满足需求的情况下完全可以使用。
环境:CentOS 7及7.x版本,JAVA环境jdk1.7或更高版本
下载Seafile专业版server https://download.seafile.com/d/06d4ca0272/
wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py
yum install java-1.7.0-openjdk poppler-utils python-setuptools python-imaging MySQL-python mariadb-server python-memcached python-ldap python-urllib3
pip install boto
安装mariadb
yum -y install mariadb mariadb-server
systemctl start mariadb
获取专业版许可证书,放置在顶层目录下
(Seafile专业版无许可证书的情况下允许最多创建三个用户)
现在的目录结构应该像如下这样:
haiwen
├── seafile-license.txt
└── seafile-pro-server_6.1.7/
安装NGINX(我使用了源码安装,可以参考这篇http://www.jianshu.com/p/4699bcb04633)
yum install -y apr* autoconf automake bison bzip2 bzip2* cloog-ppl compat* cpp curl curl-devel fontconfig fontconfig-devel freetype freetype* freetype-devel gcc gcc-c++ gtk+-devel gd gettext gettext-devel glibc kernel kernel-headers keyutils keyutils-libs-devel krb5-devel libcom_err-devel libpng libpng-devel libjpeg* libsepol-devel libselinux-devel libstdc++-devel libtool* libgomp libxml2 libxml2-devel libXpm* libtiff libtiff* make mpfr ncurses* ntp openssl openssl-devel patch pcre-devel perl php-common php-gd policycoreutils telnet t1lib t1lib* nasm nasm* wget zlib-devel
mkdir /usr/local/src
mv * /usr/local/src
cd /usr/local/src
tar zxvf pcre-8.41.tar.gz
mkdir /usr/local/pcre
cd pcre-8.41/
./configure --prefix=/usr/local/pcre
make
make install
cd ..
mkdir /usr/local/openssl
tar zxvf openssl-1.0.1h.tar.gz
cd openssl-1.0.1h
./config --prefix=/usr/local/openssl/
make
make install
vim /etc/profile
. /etc/profile
cd ..
mkdir /usr/local/zlib
tar zxvf zlib-1.2.11.tar.gz
cd zlib-1.2.11/
./configure --prefix=/usr/local/zlib
make
make install
cd ..
tar zxvf nginx-1.8.0.tar.gz
cd nginx-1.8.0
./configure --prefix=/usr/local/nginx --without-http_memcached_module --user=www --group=www --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-openssl=/usr/local/src/openssl-1.0.1h --with-zlib=/usr/local/src/zlib-1.2.11 --with-pcre=/usr/local/src/pcre-8.41
make
make install
/usr/local/nginx/sbin/nginx
groupadd www
useradd -g www www -s /bin/false
/usr/local/nginx/sbin/nginx
vim /etc/rc.d/init.d/nginx
chmod 775 /etc/rc.d/init.d/nginx
chkconfig nginx on
安装Seafile并使用MySQL数据库
mkdir haiwen
mv seafile-pro-server_6.1.7_x86-64.tar.gz haiwen/
cd haiwen
tar xf seafile-pro-server_6.1.7_x86-64.tar.gz
mkdir installed
mv seafile-pro-server_6.1.7_x86-64.tar.gz installed
现在,你的目录看起来应该像这样
├── installed
│ └── seafile-pro-server_6.1.7_x86-64.tar.gz
└── seafile-server-6.1.7
├── reset-admin.sh
├── runtime
├── seafile
├── seafile.sh
├── seahub
├── seahub.sh
├── setup-seafile.sh
└── upgrade
这样设计目录的好处在于
和 seafile 相关的配置文件都可以放在 haiwen 目录下,便于集中管理.
后续升级时,你只需要解压最新的安装包到 haiwen 目录下.
yum install -y mariadb-server
yum install -y python-setuptools python-imaging python-ldap MySQL-python python-memcached python-urllib3
cd seafile-server-6.1.7
./setup-seafile-mysql.sh
该脚本会依次询问你一些问题,从而一步步引导你配置 Seafile 的各项参数:
1.seafile server name
seafile 服务器的名字,目前该配置已经不再使用
3 ~ 15 个字符,可以用英文字母,数字,下划线
2.seafile server ip or domain
seafile 服务器的 IP 地址或者域名
客户端将通过这个 IP 或者地址来访问你的 Seafile 服务
3.seafile data dir
seafile 数据存放的目录,用上面的例子,默认将是 /data/haiwen/seafile-data
seafile 数据将随着使用而逐渐增加,请把它放在一个有足够大空闲空间的分区上
4.seafile fileserver port
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 服务器
./seafile.sh start #启动 Seafile 服务
./seahub.sh start #启动 Seahub 网站 (默认运行在8000端口上)
vim /usr/local/nginx/conf/nginx.conf
server {
listen 80;
server_name localhost;
proxy_set_header X-Forwarded-For $remote_addr;
location / {
root html;
index index.html index.htm;
fastcgi_pass 127.0.0.1:8000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
fastcgi_param REMOTE_ADDR $remote_addr;
access_log /var/log/nginx/seahub.access.log;
error_log /var/log/nginx/seahub.error.log;
}
location /seafhttp {
rewrite ^/seafhttp(.*)$ $1 break;
proxy_pass http://127.0.0.1:8082;
client_max_body_size 0;
proxy_connect_timeout 36000s;
proxy_read_timeout 36000s;
proxy_request_buffering off;
}
location /media {
root /seafile/seafile-server-latest/seahub;
}
}
/usr/local/nginx/sbin/nginx -s reload
访问IP:8000即可
写在结尾:非常有意思的是,Seafile支持更换logo,企业使用是非常不错的