彩世界平台-彩世界时时app-彩世界开奖app苹果下载

热门关键词: 彩世界平台,彩世界时时app,彩世界开奖app苹果下载

您的位置:彩世界平台 > 活动会议 > 利用NextCloud配置私有云,nextcloud私有云

利用NextCloud配置私有云,nextcloud私有云

发布时间:2019-11-04 01:24编辑:活动会议浏览(116)

    利用NextCloud配置私有云,nextcloud私有云

    如今,云盘是大家日常生活中不可或缺的和工具,但是随着第三方厂商云盘服务相继关闭及调整会员策略,我们的一些重要资料遭受了或多或少的损失。相信大家都经历过百度云盘里的小电影被和谐吧,为了给我们心爱的资源找一个稳妥的安身之处,干脆利用Vultr的VPS和seafile自己搭建一个私有云盘吧!

    利用NextCloud配置私有云

    • 利用NextCloud配置私有云
      • 安装MariaDB
      • 为NextCloud创建数据库和用户
      • 安装PHP和相关模块
      • 下载NextCloud
      • 安装配置Nginx
      • 完成安装

    NextCloud () 是开源云盘服务器,此处利用 LEMP 搭建 NextCloud 运行环境-MariaDB, PHP-FPM 和 Nginx (Ubuntu 16.04)

    关于如何部署VPS服务器,可以参考:如何在Vultr上创建自己的VPS

    1. 安装MariaDB

    Ubuntu 16.04 安装 MariaDB

    更新升级系统:

    $ sudo apt update
    $ sudo apt upgrade
    

    安装MariaDB:

    $ sudo apt install mariadb-server
    

    启动MariaDB服务:

    $ sudo systemctl start mysql
    

    查看状态:

    $ sudo systemctl status mysql
    

    执行初始化安全脚本,默认root密码为空,设置root密码和其他选项:

    $ sudo mysql_secure_installation
    

    安装环境

    操作系统:CentOS7
    依赖环境:PHP5.5、MySQL5.5、python2.7

    2. 为NextCloud创建数据库和用户

    创建数据库nextcloud;用户名nextcloud,密码XXXXXXXX

    $ sudo mysql -u root -p
    MariaDB [(none)]> CREATE DATABASE nextcloud;
    MariaDB [(none)]> GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost' IDENTIFIED BY 'XXXXXXXX';
    MariaDB [(none)]> FLUSH PRIVILEGES;
    MariaDB [(none)]> q
    

    下载

    到下载页面下载最新的服务器安装包

    图片 1

    下载

    3. 安装PHP和相关模块

    $ sudo apt-get -y install php-fpm php-cli php-json php-curl php-imap php-gd php-mysql php-xml php-zip php-intl php-mcrypt php-imagick php-mbstring
    

    配置PHP:

    $ sudo sed -i "s/memory_limit = .*/memory_limit = 512M/" /etc/php/7.0/fpm/php.ini
    $ sudo sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php/7.0/fpm/php.ini
    $ sudo sed -i "s/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=1/" /etc/php/7.0/fpm/php.ini
    $ sudo sed -i "s/upload_max_filesize = .*/upload_max_filesize = 200M/" /etc/php/7.0/fpm/php.ini
    $ sudo sed -i "s/post_max_size = .*/post_max_size = 200M/" /etc/php/7.0/fpm/php.ini
    

    重启PHP-FPM:

    $ sudo systemctl restart php7.0-fpm
    

    部署和目录设计

    在/home目录下新建目录seafile

    cd /home
    mkdir seafile
    

    将服务器安装包上传到seafile目录下,并解压缩

    tar xzf seafile-server_6.2.4_x86-64.tar.gz
    

    新建文件夹installed,并将安装包移动到文件夹中

    mkdir installed
    mv seafile-server_6.2.4_x86-64.tar.gz installed
    

    查看目录结构,这时目录结构应该长这样

    tree /home/seafile -L 2
    

    图片 2

    image.png

    这样设计目录的好处在于

    • 和 seafile 相关的配置文件都可以放在 seafile 目录下,便于集中管理.
    • 后续升级时,你只需要解压最新的安装包到 seafile 目录下.

    4. 下载NextCloud

    $ cd /tmp
    $ wget https://download.nextcloud.com/server/releases/nextcloud-12.0.0.zip
    

    解压到 /var/www/ 目录并更改权限:

    $ unzip nextcloud-12.0.0.zip
    $ sudo mkdir /var/www/
    $ sudo mv nextcloud /var/www/
    $ sudo chown -R www-data: /var/www/nextcloud
    

    安装 Seafile 服务器

    安装 Seafile 服务器之前,请确认已安装以下软件

    • MariaDB 或者 MySQL 服务器 (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)

    在CentOS 7系统中,可以通过以下命令安装或更新相关软件

    yum -y install epel-release
    rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
    yum -y install python-imaging MySQL-python python-memcached python-ldap python-urllib3 ffmpeg ffmpeg-devel
    pip install pillow moviepy
    

    5. 安装配置Nginx

    $ sudo apt-get install nginx nginx-extras
    

    生成自签名证书:

    $ sudo mkdir -p /etc/nginx/ssl
    $ cd /etc/nginx/ssl
    $ sudo openssl genrsa -des3 -passout pass:x -out nextcloud.pass.key 2048
    $ sudo openssl rsa -passin pass:x -in nextcloud.pass.key -out nextcloud.key
    $ sudo rm nextcloud.pass.key
    $ sudo openssl req -new -key nextcloud.key -out nextcloud.csr
    $ sudo openssl x509 -req -days 365 -in nextcloud.csr -signkey nextcloud.key -out nextcloud.crt
    

    也可使用免费的 let encrypt,创建Nginx server block文件:

    $ sudo vim /etc/nginx/sites-available/nextcloud
    
    server {
        listen 80;
        server_name pan.csxiaoyao.com;
        return 301 https: //$server_name$request_uri;
    }
    server {
        listen 443 ssl http2;
        server_name pan.csxiaoyao.com;
        root /
        var / www / nextcloud;
        ssl on;
        ssl_certificate / etc / nginx / ssl / nextcloud.crt;
        ssl_certificate_key / etc / nginx / ssl / nextcloud.key;
        ssl_session_timeout 5m;
        ssl_ciphers 'AES128+EECDH:AES128+EDH:!aNULL';
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;
        add_header X - Content - Type - Options nosniff;
        add_header X - Frame - Options "SAMEORIGIN";
        add_header X - XSS - Protection "1; mode=block";
        add_header X - Robots - Tag none;
        add_header X - Download - Options noopen;
        add_header X - Permitted - Cross - Domain - Policies none;
        access_log /
        var / log / nginx / nextcloud.access.log;
        error_log /
        var / log / nginx / nextcloud.error.log;
        location = /robots.txt {
            allow all;
            log_not_found off;
            access_log off;
        }
        location = /.well - known / carddav {
            return 301 $scheme: //$host/remote.php/dav; 
        }
        location = /.well-known/caldav {
            return 301 $scheme: //$host/remote.php/dav; 
        }
        client_max_body_size 512M;
        fastcgi_buffers 64 4K;
        gzip off;
        error_page 403 / core / templates / 403.php;
        error_page 404 / core / templates / 404.php;
        location / {
            rewrite ^ /index.php$uri;
        }
        location ~ ^/ ( ? : build | tests | config | lib | 3rdparty | templates | data) / {
            deny all;
        }
        location~ ^ /(?:.|autotest|occ|issue|indie|db_|console) {
            deny all;
        }
        location ~^/ ( ? : index | remote | public | cron | core / ajax / update | status | ocs / v[12] | updater / . + | ocs - provider / . + | core / templates / 40[34]).php( ? : $ | /) {
            include fastcgi_params;
            fastcgi_split_path_info ^(.+.php)(/. + ) $;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_param PATH_INFO $fastcgi_path_info;
            fastcgi_param HTTPS on;#
            Avoid sending the security headers twice
            fastcgi_param modHeadersAvailable true;
            fastcgi_param front_controller_active true;
            fastcgi_pass unix: /var/run / php / php7.0 - fpm.sock;
            fastcgi_intercept_errors on;
            fastcgi_request_buffering off;
        }
        location~ ^ /(?:updater|ocs-provider)(?:$|/) {
            try_files $uri / = 404;
            index index.php;
        }
        location~ * .( ? : css | js) $ {
            try_files $uri / index.php$uri$is_args$args;
            add_header Cache - Control "public, max-age=7200";
            add_header X - Content - Type - Options nosniff;
            add_header X - Frame - Options "SAMEORIGIN";
            add_header X - XSS - Protection "1; mode=block";
            add_header X - Robots - Tag none;
            add_header X - Download - Options noopen;
            add_header X - Permitted - Cross - Domain - Policies none;#
            Optional: Don 't log access to assets
            access_log off;
        }
        location ~* .(?:svg|gif|png|html|ttf|woff|ico|jpg|jpeg)$ {
            try_files $uri /index.php$uri$is_args$args;
            access_log off;
        }
        location ~ /.ht {
            deny all;
        }
    }
    

    创建链接:

    $ sudo ln -s /etc/nginx/sites-available/nextcloud /etc/nginx/sites-enabled/nextcloud
    

    测试Nginx配置文件:

    $ sudo nginx -t
    

    重启nginx:

    $ sudo systemctl restart nginx
    

    安装seafile

    cd seafile-server-6.2.4/
    ./setup-seafile-mysql.sh #运行安装脚本并回答预设问题
    

    如果你的系统中没有安装上面的某个软件,那么 Seafile初始化脚本会提醒你安装相应的软件包.
    该脚本会依次询问你一些问题,从而一步步引导你配置 Seafile 的各项参数:

    图片 3

    安装参数

    在这里, 你会被要求选择一种创建 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 数据库应该已经被你(或者其他人)提前创建。

    如果安装正确完成,你会看到下面这样的输出 (新版本可能会有所不同)

    图片 4

    安装完成

    此时,你的目录结构看起来应该是这样:

    图片 5

    目录结构

    seafile-server-latest文件夹为指向当前 Seafile 服务器文件夹的符号链接. 将来你升级到新版本后, 升级脚本会自动更新使其始终指向最新的 Seafile 服务器文件夹.

    6. 完成安装

    浏览器访问


    0


    0

       

    启动Seafile服务器

    本文由彩世界平台发布于活动会议,转载请注明出处:利用NextCloud配置私有云,nextcloud私有云

    关键词:

上一篇:没有了

下一篇:没有了