Linux搭建Nextcloud,打造属于您的专属网盘
编写初衷
没有人生下来天生就是会计算机的,就拿笔者来说的话,也是从Windows->Centos->Ubuntu一步一步慢慢学习,积累下来的。为了让大家能够更快更高效率的学习,从今天开始,我将每天深入教您1个命令,让我们一起live and study,积少成多!
安装方法(可供参考)
1首先查看防火墙和selinux是否关闭
getenforce
systemctl status firewalld
2安装nginx
yum -y install nginx
3安装php7.1
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum search php71w
yum install php71w php71w-fpm php71w-cli php71w-common php71w-devel php71w-gd php71w-pdo php71w-mysql php71w-mbstring php71w-bcmath php-dom
4检测是否安装成功
#nginx -v
nginx version: nginx/1.12.2
#php -v
PHP 7.1.29 (cli) (built: May 13 2019 18:32:21) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies
5使用 vim 编辑默认的 php7-fpm 配置文件。
vim /etc/php-fpm.d/www.conf
在第 8 行和第 10行,user 和 group 赋值为 nginx。
user = nginx
group = nginx
在第 22 行,确保 php-fpm 运行在指定端口。
listen = 127.0.0.1:9000
取消第 366-370 行的注释,启用 php-fpm 的系统环境变量。
env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp
6就是在 /var/lib/ 目录下创建一个新的文件夹 session,并将其拥有者变更为 nginx 用户。
mkdir -p /var/lib/php/session
chown nginx:nginx -R /var/lib/php/session/
然后启动 php-fpm 和 Nginx,并且将它们设置为随开机启动的服务。
systemctl start php-fpm
systemctl start nginx
systemctl enable php-fpm
systemctl enable nginx
7安装mysql
我这里使用 MariaDB 作为 Nextcloud 的数据库。可以直接使用 yum 命令从 CentOS 默认远程仓库中安装 mariadb-server包。
yum -y install mariadb mariadb-server
启动 MariaDB,并将其添加到随系统启动的服务中去。
systemctl start mariadb
systemctl enable mariadb
mysql数据库搭建完成是没有密码的自己可以设置,我在这里没有设置密码直接登陆
直接进入数据库创建名为 nextcloud_db 的数据库以及名为 nextclouduser 的用户,用户密码为 nextclouduser。当然自己也可以随意设置密码。
create database nextcloud_db;
create user nextclouduser@localhost identified by 'nextclouduser';
grant all privileges on nextcloud_db.* to nextclouduser@localhost identified by 'nextclouduser';
flush privileges;
8为nextcloud 生成自签名ssl证书
为 SSL 文件创建新目录:
mkdir -p /etc/nginx/cert/
使用 openssl 生成一个新的 SSL 证书。
openssl req -new -x509 -days 365 -nodes -out /etc/nginx/cert/nextcloud.crt -keyout /etc/nginx/cert/nextcloud.key
会出现一下信息,可以随便填写
Country Name (2 letter code) [XX]:cn //国家
State or Province Name (full name) []:guangdong //省份
Locality Name (eg, city) [Default City]:guangzhou //地区名字
Organization Name (eg, company) [Default Company Ltd]:Amos //公司名
Organizational Unit Name (eg, section) []:Technology //部门
Common Name (eg, your name or your server's hostname) []:Amos //CA主机名
Email Address []:Amos@Amos.com //Email地址
修改文件夹权限
chmod 600 /etc/nginx/cert/*
chmod 700 /etc/nginx/cert
9下载Nextcloud
wget https://download.nextcloud.com/server/releases/nextcloud-13.0.1.zip
解压
unzip nextcloud-13.0.1.zip
移动到nginx站点目录
mv nextcloud/ /usr/share/nginx/html/
创建nextcloud的存储目录并设置权限
cd /usr/share/nginx/html/
mkdir -p nextcloud/data/
chown nginx:nginx -R nextcloud/
10编辑nginx配置文件
cd /etc/nginx/conf.d/
vim nextcloud.conf
upstream php-handler {
server 127.0.0.1:9000;
}
server {
listen 80;
server_name wangpan.zkzd.cn;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
server_name cloud.nextcloud.co;
ssl_certificate /etc/nginx/cert/nextcloud.crt;ssl_certificate_key /etc/nginx/cert/nextcloud.key;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;root /usr/share/nginx/html/nextcloud/;
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}location = /.well-known/carddav {
return 301 $scheme://$host/remote.php/dav;
}location = /.well-known/caldav {
return 301 $scheme://$host/remote.php/dav;
}client_max_body_size 512M;fastcgi_buffers 64 4K;gzip off;
error_page 403 /core/templates/403.php;error_page 404 /core/templates/404.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 twice
fastcgi_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;
}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;
}
}
检查nginx语法正确重启nginx
nginx -t
systemctl restart nginx
注意:中间可能有php模块没有安装,自己yum安装一下缺少的模块不一一阐述了!
yum install php-dom
yum install php-xml --skip-broken
11登陆外面页面看是否搭建成功,一般是用域名也可以是IP访问,如果报错500 看下nginx配置文件 是否正确 百分之99是配置文件错误,希望对大家有所帮助。
Linux搭建Nextcloud,打造属于您的专属网盘相关推荐
- [手机Linux] 五,打造属于自己的私有网盘(Cloudreve),跟百度网盘说拜拜
背景: 是否被百度网盘的龟速折磨得毫无脾气?是否被阿里网盘的那丁点容量,用时处处拮据?没错,你现在翻身的机会来了,你将拥有自己的私人网盘,下载上传不再受限于人. 原料: 还是那部精灵小巧的小米6手机啦 ...
- 如何搭建一个“不可告人的”私人专属网盘?教程拿去
虽然打造私人网盘的目的很不好意思说出来,但是一想到以后存一些东西再也不怕莫名其妙地蒸发掉了,就开心的睡不着啊. 好嘞,回到咱们今天的主题:如何打造一个私人专属网盘?本教程将使用React & ...
- 搭建 Seafile 专属网盘
搭建 Seafile 专属网盘 准备域名 任务时间:15min ~ 20min 域名注册 如果您还没有域名,可以在腾讯云上选购,过程可以参考下面的视频. 视频 - 在腾讯云上购买域名 域名解析 域名购 ...
- Linux搭建GitLab私有仓库,并内网穿透实现公网访问
文章目录 前言 1. 下载Gitlab 2. 安装Gitlab 3. 启动Gitlab 4. 安装cpolar 5. 创建隧道配置访问地址 6. 固定GitLab访问地址 6.1 保留二级子域名 6. ...
- 10分钟教你搭建一个可公网访问的私人网盘,和付费网盘彻底say goodbye~
今天偶然间看一个私人网盘的搭建,给大家一起分享一下.我这边是在windows环境下运行的. 检查配置 首先我们需要检查一下配置,需要本地安装有JDK,没有的话自行下载安装.如下所示则表示已经安装. 运 ...
- 私有云存储 linux,搭建nextcloud私有云存储网盘
本文将要为您介绍的是搭建nextcloud私有云存储网盘,具体完成步骤: 简介: 搭建个人云存储一般会想到ownCloud,堪称是自建云存储服务的经典.而Nextcloud是ownCloud原开发团队 ...
- 【云计算的1024种玩法】打造个人专属网盘
作为一个学生,需要经常看文献,积累知识,可是论文多了以后就有了论文保存和分类的相关问题.因此需要一个个人网盘存储论文,这样就可以做到通过在线登录个人网盘,实现对网盘文档的在线阅读和管理. 然而在自己的 ...
- 腾讯云轻量应用服务器快速搭建一个专属网盘
一.前言: 云盘我想大家接触的一定不会少.云盘很好地解决了文件存储和共享的问题,但随着大量云盘厂商的退出,剩余的云盘服务也越来越少.有些云盘虽然上传速度快,但是下载速度较慢,不开通会员基本无法使用.同 ...
- 基于CentOS 搭建 Seafile 专属网盘
系统要求:CentOS 7.2 64 位操作系统 安装 Seafile 安装依赖环境 使用 yum 安装 Python 及 MySQL: yum install python python-setup ...
最新文章
- Part2_1 Urllib的get请求和post请求
- 用SqlBulkCopy批量安插数据时提示来自数据源的 String 类型的给定值不能转换为指定目标列的类型 int...
- lamp mysql开机自启_centos下设置自启动和配置环境变量的方法
- 西门子ddc_铁门关西门子两通电动阀VVF42.25-10C+SKD60西
- c语言编写单片机技巧
- 一致性哈希解决的问题
- 邮件 自动打印 linux,Linux打印文件和发送邮件
- NLP简报(Issue #3)
- gin 如何返回html_Gin(三):与模板配合使用 tmpl,go web 开发最火框架之一
- JSP→JavaWeb简介、Tomcat服务器安装启动测试目录、Tomcat手动创建项目、开发工具MyEclipse与Eclipse配置环境、MyEclipse创建Web程序目录、修改Tomcat端口
- Power Integrations推出的全新CAPZero-3 X电容放电IC符合IEC60335标准
- Web 应用程序渗透测试清单
- RJ45墙上网线插座的线序与接法
- thinkpad T480安装WIN7系统NVM固态硬盘+INTEL HD620显卡
- 《2020职场绿茶图鉴》
- 从“一时红”到“持久火”,“网红”农产品如何越向“长红”?
- png转ico 或如何制作ico文件
- 做不了爱人,我们做什么
- 电动车、船等 机械结构DIY
- 静态工厂方法优缺点个人理解
热门文章
- 1.docker基础用法
- 【云原生】nuclio:一个高性能的“serverless”框架
- 图片如何加边框和文字?试试下面这三个方法吧
- 论文解读:NSP-BERT: A Prompt-based Zero-Shot Learner Through an Original Pre-training Task——Next Sentence
- 微信分享本地txt、wps、等任何文件实现
- 300万数据的导入导出
- CTF隐写术基本知识
- MySQL手动注入步骤
- msp430的DCO校准值被清除后该如何处理
- 用Python爬取陈奕迅歌曲10万条评论的新发现