Nextcloud13.5云盘安装指南

2018-07-27  本文已影响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 

上一篇下一篇

猜你喜欢

热点阅读