centos6.5下运用lnmp架构装置nextcloud云盘51CTO博客 - 凯时娱乐

centos6.5下运用lnmp架构装置nextcloud云盘51CTO博客

2019-03-06 09:59:20 | 作者: 向彤 | 标签: 运用,装置,装备 | 浏览: 2182

最近两年跟着各大网盘纷繁封闭,百度云也早早的就开端限速,文件的安全也没有保证。所以还不如自己建立一个网盘。网上看了下,发现有一个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


版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表凯时娱乐立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章

阅读排行

  • 1

    shell中符号的含义ITeye

    指令,字符,匹配
  • 2

    rsync同步ITeye

    同步,文件,暗码
  • 3
  • 4
  • 5
  • 6
  • 7

    linux 了解过的指令ITeye

    检查,文件,运用
  • 8

    epoll水平触发边际触发ITeye

    形式,数据,事情
  • 9

    OpenVPN 装置进程ITeye

    客户端,运转,装备
  • 10

    OpenVPN 装置进程ITeye

    客户端,运转,装备