美文网首页
Nextcloud13.5云盘安装指南

Nextcloud13.5云盘安装指南

作者: 蓉城浪子 | 来源:发表于2018-07-27 21:39 被阅读0次

     一、环境说明:      

    ※操作系统版本CentOS 7.5 Minimal-1804    

     ※操作系统版本已经使用163 YUM源    

     ※ Nextcloud版本 13.05   

     ※ 数据库使用MariaDB,安装在同一台机器,   

     二、安装仓库原、nginx、redis 

     添加EPEL包的仓库源  

     yum -yinstall epel-release  

     添加 PHP7-FPM webtatic 仓库 

     rpm-Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

    yum -yinstall nginx  redis unzip wget

     三、安装PHP7和PHP7-FPM  

     yum -y install php71w-fpm php71w-cli php71w-gd php71w-mcryptphp71w-mysql php71w-pear php71w-xml php71w-mbstring php71w-pdo php71w-jsonphp71w-opcache php71w-pecl-apcu php71w-pecl-apcu-devel php71w-pecl-igbinaryphp71w-pecl-igbinary-devel php71w-pecl-imagick php71w-pecl-imagick-develphp71w-pecl-redis php71w-pecl-redis-devel php71w-ldap 

      四、配置PHP-FPM 

    1、我们需要配置 php-fpm 与 Nginx 协同运行。php7-fpm将使用nginx 用户来运行,并监听 9000 端口。 使用 vi 编辑默认的php7-fpm 配置文件。 

     vi /etc/php-fpm.d/www.conf

      user = nginx

     group = nginx 

    listen = 127.0.0.1:9000 

    env[HOSTNAME] = $HOSTNAME 

    env[PATH] = /usr/local/bin:/usr/bin:/bin 

    env[TMP] = /tmp 

    env[TMPDIR] = /tmpenv[TEMP] = /tmp

     2、保存文件并退出 vi 编辑器. 需要在 /var/lib/ 目录下创建一个新的文件夹 session,并将其拥有者变更为 nginx 用户。最后启动 php-fpm 和 Nginx,并且将它们设置为随开机启动的服务。 

     mkdir -p /var/lib/php/session 

    chown nginx:nginx -R /var/lib/php/session/ 

     3、vi/etc/php.d/opcache.ini 去掉以下行注释,修改为对应的配置值: 

    zend_extension=opcache.soopcache.enable=1

    opcache.enable_cli=1opcache.memory_consumption=128

    opcache.interned_strings_buffer=8

    opcache.max_accelerated_files=10000

    opcache.revalidate_freq=1

    opcache.save_comments=1

      4、启动php-fpm 和nginx服务  

    systemctl start php-fpm 

    systemctl start nginx 

    systemctl enable php-fpm 

     systemctl enable nginx    

     systemctl enable redis  

    systemctl start redis   

    五、安装&配置MariaDB 

    1、安装数据库,启动服务、设置为随机启动 

     yum -y install mariadb mariadb-server 

     systemctl start mariadb 

     systemctl enable mariadb 

    2、MySQL初始化指令初始化root用户,默认密码为空(此步可以先忽略) 

      mysql_secure_installation#

     Set rootpassword? [Y/n] Y 

     Newpassword: 

     Re-enter newpassword:

     Removeanonymous users? [Y/n] Y 

     Disallowroot login remotely? [Y/n] n

     Remove testdatabase and access to it? [Y/n] Y 

     Reloadprivilege tables now? [Y/n] Y 

    3、创建数据库、创建库用户、用户授权 

    mysql -u root -p 

    create database nextcloud; 

    create user nextclouduser@localhost identified by'nextclouduser@'; 

     grant all privileges on nextcloud_db.* tonextclouduser@localhost identified by 'nextclouduser@';flush privileges; 

     exit 

     六、安装SSL证书我们可以自己生成SSL证书,也可以申请专业的SSL证书。  自签名的SSL证书在使用的时候会报错,建议使用有资质的SSL证书。 安装过程如下: 

     1、为SSL 文件创建新目录:

     mkdir -p /etc/nginx/cert/ 

    2、创建证书(生产环境请购买公网SSL证书)

     openssl req -new -x509 -days 365 -nodes -out/etc/nginx/cert/cloud.example.com.crt -keyout /etc/nginx/cert/cloud.example.com.key 

    3、在该目录下储存申请过的SSL证书,并设置证书的权限:

     chmod 700 /etc/nginx/cert 

    chmod 600 /etc/nginx/cert/*    

    七、下载和初步安装 Nextcloud 

    1、开始下载nextcloud 并解压 (也可以先下载到windows,再通过xftp上传) 

    mkdir -p /var/www/ 

    cd /var/www 

    wget https://download.nextcloud.com/server/releases/nextcloud-13.0.5.zip

    unzip nextcloud-13.0.5.zip 

    rm /rf  /var/www/nextcloud-13.0.5.zip 

    2、为NextCloud创建文件储存文件夹,并授予一定的权限 

     mkdir -p /var/www/nextcloud/data 

    chown nginx:nginx -R /var/www/nextcloud/

    3、手动指定云盘文件储存位置(配置文件中有默认配置)

     vim /var/www/nextcloud/config/config.sample.php 

    找到如下字段(默认值为/var/www/nextcloud/data):

     'datadirectory' => '/var/www/owncloud_data/' 

     八、配置Nginx转发规则 

     1、创建文件: 

    vi/etc/nginx/conf.d/nextcloud.conf 

     nextcloud官方文档 

    3、根据个人需要修改并写入配置: 

    server_name 需要改为域名 

    ssl_certificate和ssl_certificate_key需要改为SSL证书对应的文件 

     root 需要改为nextcloud文件夹所在路径 

    4、验证配置文件,重启动nginx服务:

     nginx -t 

     nginx: the configuration file/etc/nginx/nginx.conf syntax is oknginx: 

    configuration file/etc/nginx/nginx.conf test is successful 

     systemctl restart nginx 

     5、开启缓存vi /var/www/nextcloud/config/config.php  在第22行下方添加如下配置: 

    'memcache.local' =>'\OC\Memcache\APCu',

     'memcache.locking' =>'\OC\Memcache\Redis', 

     'redis' => array(    'host' => 'localhost',    

     'port' => 6379,   

      ), 

     九,网页安装Nextcloud 

    1、浏览器访问 https://cloud.example.com (如果没有解析域名,请添加host文件)  

     十、microsoft AD集成与邮件通知 

     前提条件:   已经安装了php71w-ldap,nextcloud主机能够解析到AD域名。

     1、启用组件:

     2、配置服务器:

     3、配置用户 

     4、配置登录属性 

     5、配置配置群组

     6、更多高级设置请点击“高级”或者 “专家”按钮 

     7、配置邮件通知 

     十一、常见错误 

    有可能你在访问页面时可以正常显示但是提示你“内部服务器错误”,若出现这个情况有两个可能: 

     1、Nginx对nextcloud文件夹的访问权限不够,使用如下操作重新给予权限

     mkdir -p /var/www/nextcloud/data

    chown nginx:nginx -R /var/www/nextcloud/ 

    2、防火墙和SELinux未关闭

    systemctl stop firewalld

    systemctl disable firewalld

    永久关闭SELinux

    vi /etc/selinux/config

    SELINUX=disabled

     3、数据库ERROR1004\4200错误 

    vi /etc/my.cnf

    skip-grant-tables

    systemctl restart mariadb 

     4、提示安全风险.htaccess 文件没有工作,外网可以直接访问文件  

     vi /var/www/nextcloud/new.htaccess   

     # nginx rewrite rule 

     rewrite^(.*?)/article/.*?-(\d+)-(\d+)\.html$  $1/show.html?id=$2&page=$3     break; 

     rewrite^(.*?)/category/.*?-(\d+)-(\d+)\.html$ $1/list.html?id=$2&page=$3     break; 

     rewrite ^(.*?)/tag/([^/]+)/?$   $1/tag.html?w=$2        break;

     rewrite ^(.*?)/tag/([^/]+)/(\d+)$       $1/tag.html?w=$2&page=$3       break; 

     # end nginx rewrite rule

     vi /etc/nginx/conf.d/nextcloud.conf  在第85行插入

     include /var/www/nextcloud/new.htaccess; 

     5、维护模式的启用和关闭: 

     cd /var/www/nextcloud

    sudo -unginx php occ maintenance:mode --on  (开启维护模式) 

    sudo -unginx php occ maintenance:mode --off  (关闭维护模式)  

      十二、安全与性能优化 

     1、云盘上传文件大小限制nextcloud上传文件大小的自身限制为512M,如果要想调整这个大小,操作方法如下: 

    1)修改php.ini上传文件大小限制 

     vi /etc/php.inimax_execution_time = 0    #默认是30秒,改为0,表示没有限制 

    post_max_size = 10800M    #设定 POST 数据所允许的最大大小,

    如果POST数据尺寸大于post_max_size$_POST 和 $_FILES superglobals 便会为空.

     upload_max_filesize = 10240M   #表示所上传的文件的最大大小 

    #另外要说明的是,post_max_size 大于upload_max_filesize 为佳. 

    2)vi /etc/nginx/conf.d/nextcloud.conf 

     client_max_body_size 10240M; 

     3)重启php和nginx服务

    systemctl restartphp-fpm

    systemctl restartnginx  

     2、配置防火墙: 

     firewall-cmd--permanent --add-service=http 

    firewall-cmd--permanent --add-service=https 

    systemctlrestart firewalld 

     3、安装更新    

    yum- y update 

    相关文章

      网友评论

          本文标题:Nextcloud13.5云盘安装指南

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