centos6.5下使用lnmp架构安装nextcloud云盘
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,最近两年随着各大网盘纷纷关闭,百度云也早早的就开始限速,文件的安全也没有保障。所以还不如自己搭建一个网盘。网上看了下,发现有一个nextcloud比较好用。支持多平台客户端,支持分享,使用操作简单。支
千家信息网最后更新 2025年12月02日centos6.5下使用lnmp架构安装nextcloud云盘
最近两年随着各大网盘纷纷关闭,百度云也早早的就开始限速,文件的安全也没有保障。所以还不如自己搭建一个网盘。网上看了下,发现有一个nextcloud比较好用。支持多平台客户端,支持分享,使用操作简单。支持插件扩展,文件预览,在线协作。
安装nginx
wget http://nginx.org/download/nginx-1.10.3.tar.gztar -zxf nginx-1.10.3.tar.gz && cd nginx-1.10.3./configure --prefix=/usr/local/data/nginx --user=nginx --group=nginx --with-pcre --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_modulemake && make install
2.安装配置php
yum install http://rpms.famillecollet.com/enterprise/remi-release-6.rpmyum --enablerepo=remi-php56 install php php-fpm php-mysql php-gd php-xml php-redis php-libs php-devel php-zlib php-mbstring
nginx 和php-fpm 的运行用户这里使用nginx
vim /etc/php-fpm.confuser = nginxgroup = nginxlisten = 127.0.0.1:9000env[HOSTNAME] = $HOSTNAMEenv[PATH] = /usr/local/bin:/usr/bin:/binenv[TMP] = /tmpenv[TMPDIR] = /tmpenv[TEMP] = /tmp
3.安装mysql
yum -y install mysql mysql-serverservice mysqld start
4.建库,授权
CREATE DATABASE nextcloud_db;GRANT ALL ON nextcloud_db.* TO 'nextcloud'@'%' IDENTIFIED BY 'nextcloud'; //注意一定要加 "%",否则无法让网络让任何人上传文件FLUSH PRIVILEGES;
5.安装nextcloud
wget https://download.nextcloud.com/server/releases/nextcloud-10.0.2.zip --no-check-certificateunzip nextcloud-10.0.2.zipmv nextcloud /usr/local/data/nginx/html/usr/local/data/nginx/htmlchown -R nginx.nginx
创建数据目录,这里建议数据目录不要和web目录放到一起
/usr/local/data/nginx/html/nextcloud/data
6.申请证书
为了网盘的安全,有必要使用https 证书,这里可以在阿里云后台申请免费的DV证书
7.配置nginx
创建虚拟主机文件
cd /usr/local/data/nginx/confvim nextcloud.confupstream php-handler {server 127.0.0.1:9000;}server {listen 80;server_name cloud.nextcloud.com;return 301 https://$server_name$request_uri;}server {listen 443 ssl;server_name cloud.nextcloud.com;ssl_certificate /usr/local/data/nginx/conf/nextcloud.crt;ssl_certificate_key /usr/local/data/nginx/conf/nextcloud.key;#添加如下header主要为了安全add_header Strict-Transport-Security "max-age=15768000;includeSubDomains; preload;";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;#nextcloud代码目录root /usr/local/data/nginx/html/nextcloud/;location = /robots.txt {allow all;log_not_found off;access_log off;}#为了支持user_webfinger apprewrite ^/.well-known/host-meta /public.php?service=host-meta last;rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last;#这儿是为了支持日历和联系人,建议加上location = /.well-known/carddav {return 301 $scheme://$host/remote.php/dav;}location = /.well-known/caldav {return 301 $scheme://$host/remote.php/dav;}#设置上传文件的最大大小,php也得修改client_max_body_size 512M;fastcgi_buffers 64 4K;# Disable gzip to avoid the removal of the ETag headergzip off;error_page 403 /core/templates/403.php;error_page 404 /core/templates/404.php;#重要的:将所有请求转发到index.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 twicefastcgi_param modHeadersAvailable true;fastcgi_param front_controller_active true;fastcgi_pass php-handler;fastcgi_intercept_errors on;fastcgi_request_buffering off;}#安全设置,禁止访问部分敏感内容location ~ ^/(?:updater|ocs-provider)(?:$|/) {try_files $uri/ =404;index index.php;}# 添加js和css文件的缓存控制头location ~* \.(?:css|js)$ {try_files $uri /index.php$uri$is_args$args;add_header Cache-Control "public, max-age=7200";add_header Strict-Transport-Security "max-age=15768000;includeSubDomains; preload;";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 off;}location ~* \.(?:svg|gif|png|html|ttf|woff|ico|jpg|jpeg)$ {try_files $uri /index.php$uri$is_args$args;access_log off;}}vim nginx.confinclude nextcloud.conf;service nginx start
8.配置php上传大小
vim /etc/php.inimax_execution_time = 0post_max_size = 512Mupload_max_filesize = 512Mservice php-fpm start
9.配置nextcloud
10.nextcloud 配置redis缓存
使用Redis做内存缓存可以有效提升程序运行速度。
curl -O http://download.redis.io/releases/redis-3.2.8.tar.gztar -zxvf redis-3.2.8.tar.gzcd redis-3.2.8/deps/make geohash-int hiredis jemalloc linenoise luacd ..make && make installcd utils/./install_server.sh
配置redis
vim /etc/redis/6379.conf# requirepass foobaredrequirepass ExpvUwNOk9XRawC8bind 192.168.40.200
启动
redis-server /etc/redis/6379.conf
配置nextcloud
cd /usr/local/nginx/html/nextcloud/configvim config.php 'memcache.local' => '\OC\Memcache\Redis','redis' => array('host' => '192.168.40.200','port' => 6379,'password' => 'ExpvUwNOk9XRawC8',),刷新页面
设置定时
*/15 * * * * /usr/bin/php /usr/local/nginx/html/nextcloud/cron.php >/dev/null
参考文档
https://docs.nextcloud.com/server/10/admin_manual/installation/index.html
配置
文件
安全
支持
目录
缓存
证书
内容
大小
建议
数据
部分
运行
最大
有效
重要
必要
主机
代码
内存
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网及其网络安全
软件开发近期价格
endnote数据库转移到电脑
服务器配置正常却显示无网络
笔记本安装服务器系统控制台
软件开发期间如何保密
华为服务器硬盘格式化怎么操作
数据库课设办公管理系统
网络安全及如何应对
共享单车使用的网络技术
外国网络安全人才培养
东城区软件开发价格优惠
网络安全宣传周宣讲ppt
适合网络技术课播放的纪录片
服务器托管商
做软件开发的北京收入
数据库open for含义
游戏软件开发软件
软件开发者如何创业
服务器队列类型
数据库的表结构说明
成都软件开发前端程序员
u8无法与数据库进行连接
黑蚁网络技术公司是什么
信息系统与数据库技术期末考试
服务器云租用
excel如何使用数据库
标准化软件开发管理
网络技术简历介绍
软件开发没有进项怎么办