centos6.5下使用lnmp架构安装nextcloud云盘

最近两年随着各大网盘纷纷关闭,百度云也早早的就开始限速,文件的安全也没有保障。所以还不如自己搭建一个网盘。网上看了下,发现有一个nextcloud比较好用。支持多平台客户端,支持分享,使用操作简单。支持插件扩展,文件预览,在线协作。

  1. 安装nginx
wget http://nginx.org/download/nginx-1.10.3.tar.gz
tar -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_module
make && make install

2.安装配置php

yum install http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
yum --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.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] = /tmp
env[TEMP] = /tmp

3.安装mysql

yum -y install mysql mysql-server
service 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-certificate
unzip nextcloud-10.0.2.zip
mv nextcloud /usr/local/data/nginx/html
/usr/local/data/nginx/html
chown -R nginx.nginx

创建数据目录,这里建议数据目录不要和web目录放到一起

/usr/local/data/nginx/html/nextcloud/data

6.申请证书

为了网盘的安全,有必要使用https 证书,这里可以在阿里云后台申请免费的DV证书

7.配置nginx

创建虚拟主机文件

cd /usr/local/data/nginx/conf
vim nextcloud.conf
upstream 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 app
rewrite ^/.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.conf
include nextcloud.conf;
service nginx start

8.配置php上传大小

vim /etc/php.ini
max_execution_time = 0
post_max_size = 512M
upload_max_filesize = 512M
service php-fpm start

9.配置nextcloud

10.nextcloud 配置redis缓存

使用Redis做内存缓存可以有效提升程序运行速度。

curl -O http://download.redis.io/releases/redis-3.2.8.tar.gz
tar -zxvf redis-3.2.8.tar.gz
cd redis-3.2.8/deps/
make geohash-int hiredis jemalloc linenoise lua
cd ..
make && make install
cd utils/
./install_server.sh

配置redis

vim /etc/redis/6379.conf# requirepass foobared
requirepass ExpvUwNOk9XRawC8
bind 192.168.40.200

启动

redis-server /etc/redis/6379.conf

配置nextcloud

cd /usr/local/nginx/html/nextcloud/config
vim 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

时间: 2024-07-30 03:23:06

centos6.5下使用lnmp架构安装nextcloud云盘的相关文章

CentOS6.2下搭建LNMP、安装wordpress(大神请远离)

CentOS6.2下搭建LNMP.安装wordpress参考文章:http://www.linuxidc.com/Linux/2014-08/105128.htm 早就给自己安排好了要做的事情,但是每天被繁琐的事情所忙,把去年该做的事情一直拖到了现在.终于在今天,小心脏多跳了几下,手一抖,开始下手去做了,结果半天就这样过去了.时间过得真快啊,尤其是在自己有事情做地时候.        好了,开始记录了,权做写的日记了       先上图,看下成果:(后台管理部分) (貌似很卡顿的样子,是不是该优

【原】centos6.5下hadoop cdh4.6 安装

1.架构准备: namenode 10.0.0.2 secondnamenode 10.0.0.3 datanode1 10.0.0.4 datanode2 10.0.0.6 datanode3 10.0.0.11 2.安装用户:cloud-user 3.[namenode]namenode到其他节点ssh无密码登录: ssh-keygen     (一路回车) ssh-copy-id [email protected]3 ssh-copy-id [email protected]4 ssh-c

CentOS6.4下Mysql数据库的安装与配置,导入数据库,授权远程ip

卸载掉原有mysql 因为mysql数据库在Linux上实在是太流行了,所以目前下载的主流Linux系统版本基本上都集成了mysql数据库在里面,我们可以通过如下命令来查看我们的操作系统上是否已经安装了mysql数据库 [[email protected] ~]# rpm -qa | grep mysql // 这个命令就会查看该操作系统上是否已经安装了mysql数据库 有的话,我们就通过 rpm -e 命令 或者 rpm -e --nodeps 命令来卸载掉 [[email protected

Centos6.3下Ganglia3.6.0安装配置

最近安装Ganglia,由于之前Linux基础基本为0,因此费了很大的周折.最后在失败了好多次之后终于看到了梦寐以求的web界面.下面总结下这几天来的工作. ganglia是一个监控软件,他包含三部分:Gmond,Gmetad和Gweb.在需要监控的主机上安装Gmond,他会采集当前主机上的一些信息:Gmetad部署在服务器端,它轮训主机,收集Gmond采集的主机信息,然后存在在rrdtool数据库中:Gweb是一个前台显示的界面,他读取Gmetad保存的rrd文件,显示在web界面上. 部署规

Centos6.5下对nat123的安装以及使用

前面我有篇文章有说道在我们本地做开发调试的过程中常用到的一个映射工具nat123,简单的文章介绍可以参见[nat123内网地址公网映射实现] ,这里我来说说如何在Centos6.5下对nat123的安装使用! (一)安转环境准备工作 ①环境部署之安装bison环境:如提示已存在时,忽略:如提示是否继续时输入y回车继续! #yum  install bison ②环境部署之安装gettext环境:如提示已存在时,忽略:如提示是否继续时输入y回车继续! #yum  install  gettext

【原】Centos6.5下cdh4.6 hive安装部署

1.前提条件: 只需要选择一台服务器即可,这里选择安装在namenode上:安装用户为cloud-user 2.安装包: sudo yum install -y hive hive-metastore hive-server2 3.安装mysql: sudo yum install -y mysql-server sudo service mysqld start sudo yum install -y mysql-connector-java sudo ln -s /usr/share/jav

借助URLOS快速安装nextcloud网盘

简介 nextcloud是一个免费专业的私有云存储网盘开源项目,可以让你简单快速地在个人/公司电脑.服务器等设备上架设一套属于自己或团队专属的云同步网盘,从而实现跨平台跨设备文件同步.共享. 今天我们介绍一种更快速的安装方法,那就是通过URLOS一键安装nextcloud网盘.urlos是什么? URLOS是一个云主机管理软件,基于Docker容器技术打包和运行应用,包含负载均衡和故障转移等高级功能,可自动识别机器和云应用的故障并将云应用转移至可用的机器上,单机故障并不影响业务开展. 你可以使用

【中级篇】Linux下部署LNMP架构及应用

部署LNMP架构及应用 1.          实验需求: 1)     搭建Nginx 2) 构建PHP运行环境 3) 搭建MySQL 数据库 2.          实验环境: Linux服务器系统版本:Red Hat Enterprise Linux 6.5  IP:192.168.10.30 WIN7系统客户机: IP: 192.168.10.1 3.      实验步骤: 基本安装操作: 1.搭建Nginx 配置: 这里要把光盘挂载到yum源里 再次执行配置的参数: 这时可能还会有报错

Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置

原文:http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 如果要在Linux上做j2ee开发,首先得搭建好j2ee的开发环境,包括了jdk.tomcat.eclipse的安装(这个在之前的一篇随笔中已经有详细讲解了Linux学习之CentOS(七)--CentOS下j2ee环境搭建),如果要开发web项目,我们当然可以安装一个myeclipse到Linux系统上去,这个安装方法和安装eclipse完全相同