美文网首页
部署Seafile专业版(三用户免费)

部署Seafile专业版(三用户免费)

作者: 辉耀辉耀 | 来源:发表于2017-08-22 16:15 被阅读0次
    前言:是国内团队开发、国际领先的开源企业云存储软件,为企业提供私有云环境下的网盘解决方案,满足文件集中管理、多终端访问、共享协作等需求。普通版本的功能比较简单,与之相比专业版的强大自然是我们的首选。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 <port>  #启动 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

    写在结尾:非常有意思的是,Seafile支持更换logo,企业使用是非常不错的

    相关文章

      网友评论

          本文标题:部署Seafile专业版(三用户免费)

          本文链接:https://www.haomeiwen.com/subject/xueldxtx.html