树莓派–搭建nextcloud私有云

网上已有很多的教程是关于nextcloud或owncloud的私有云的搭建,但是都是零零碎碎,并不完整,这里以树莓派raspbain 10 buster系统为例,安装nextcloud私有云。

这里分以下的几步来进行:

文章目录

  • 树莓派--搭建nextcloud私有云
    • 换源、更新软件
    • 安装apache2
    • 安装php
    • 安装mariadb
    • 安装nextcloud
    • 测试
      • 上传速度
      • 下载速度
    • 性能优化
      • apcu
      • 提高swap容量
      • 提高sd卡的速度

换源、更新软件

由于国内环境,软件的下载安装相对比较慢,所以更换安装源来提高下载速度,更换下载源后更新软件的速度相对比较慢,其中很快做其他的事情,自行怎么方便怎么来。

网上许多教程都不是基于最新的raspbain buster来进行更换的,这里需要注意下,跟换源之前先查看系统版本。

root@raspberrypi:/home/pi
$ lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description:    Raspbian GNU/Linux 10 (buster)
Release:        10
Codename:       buster

修改源

# 备份并编辑source.listwenjian
$ cp /etc/apt/sources.list /etc/apt/sources.back.list
$ nano /etc/apt/sources.list
# 注释所有内容,添加以下内容
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib# 备份并编辑raspi.list文件
$ cp /etc/apt/sources.list.d/raspi.list /etc/apt/sources.list.d/raspi.back.list
$ nano /etc/apt/sources.list.d/raspi.list
# 注释所有内容,替换如下内容
deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main

更新源和软件

$ sudo su
$ apt-get update
$ apt-get upgrade -y

这个更新过程比较慢,建议这段时间可以到nextcloud官网中同时下载安装包,或进行其他不使用apt-get操作

安装apache2

# 安装命令
$ sudo su
$ apt-get install apache2

安装完成后配置https强跳转。先到freessl中申请公钥和秘钥,我这里不阐述申请过程。

$ cd /etc/apache2/sites-available
$ nano default-ssl.conf# 修改监听端口、文件目录地址和公私钥的地址
<VirtualHost _default_:4433>
DocumentRoot /var/www/html/nextcloud
SSLCertificateFile      /etc/apache2/ssl/full_chain.pem
SSLCertificateKeyFile /etc/apache2/ssl/private.key$ cp sites-available/default-ssl.conf sites-enabled/
# 修改80强跳到4433
$ nano 000-default.confRewriteEngine on
RewriteCond %{SERVER_PORT} !^4433$
RewriteRule ^/?(.*)$ https://%{SERVER_NAME}:4433/$1 [L,R]$ mv 000-default.conf ../sites-enabled/
# 修改监听端口
$ cd ../
$ nano ports.conf Listen 80<IfModule ssl_module>Listen 4433
</IfModule><IfModule mod_gnutls.c>Listen 4433
</IfModule># 开启重写
$ a2enmod rewrite
$ a2enmod ssl
$ systemctl restart apache2

安装php

$ apt-get install php libapache2-mod-php -y
$ apt-get -y install php-fpm php-cli php-json php-curl php-imap php-gd php-mysql php-xml php-zip php-intl php-imagick php-mbstring -y

安装mariadb

# 安装命令
$ sudo su
$ apt-get install mariadb-server -y
# 开启远程登录权限
$ cd /etc/mysql/mariadb.conf.d
# 找到修改权限的文件
$ grep -rn "skip-networking" *
50-server.cnf:26:# Instead of skip-networking the default is now to listen only on
$ nano 50-server.cnf
# 注释掉 bind-address            = 127.0.0.1

修改数据库配置

# 直接回车 不需要输入密码
$ mysql -uroot -p> create database nextcloud;
> CREATE USER 'oc_admin'@'%' IDENTIFIED BY 'password';
> GRANT ALL PRIVILEGES ON *.* TO 'oc_admin'@'%' WITH GRANT OPTION;
> flush privileges;
> CREATE USER 'oc_admin'@'localhost' IDENTIFIED BY 'password';
> GRANT ALL PRIVILEGES ON *.* TO 'oc_admin'@'localhost' WITH GRANT OPTION;
> flush privileges;

安装nextcloud

从官网中下载安装包,下载地址如下:

下载地址

下载完成后,上传到树莓派的/var/www/html/目录

# 解压
$ tar jxf nextcloud-18.0.0.tar.bz2
# 添加data目录和授权
$ chown -R root:root nextcloud
$ cd nextcloud
$ mkdir data
$ chown -R www-data:www-data data config apps

初始化nextcloud,这里有个坑,第一次初始化nextcloud,创建管理员,会报错,说创建数据库用户失败。

这是因为在第一次初始化nextcloud的时候会在/var/www/html/nextcloud/config中创建一个config.php文件,文件记录nextcloud的配置信息。如果是第一次初始化,config.php中记录的数据库用户名会变成起初连接数据库的用户名加1。这里只需要手动的把1删除,之后再重新进行初始化操作,便可完成。

由于nextcloud的访问设置了白名单,所以在第一次访问的时候需要添加白名单ip

$ nano /var/www/html/nextcloud/config/config.php
'trusted_domains' => array (0 => '192.168.124.37:4433',1 => 'nextcloud.mufeng.info',),

挂载外设

$ fdisk -l
Device     Start        End    Sectors  Size Type
/dev/sda1     34      32767      32734   16M Microsoft reserved
/dev/sda2  32768 3906959359 3906926592  1.8T Microsoft basic data
# 安装exfat识别
$ apt-get install exfat-fuse -y
$ mkdir /home/pi/wd
$ mount -t exfat /dev/sda2 /home/pi/wd
# 取消挂载 umount /dev/sda2

配置文件上传大小的限制

$ nano /etc/php/7.3/apache2/php.ini
upload_max_filesize = 16G
post_max_size = 16G
max_input_time 3600
max_execution_time 3600
# 解决浏览器超时问题
$ a2dismod reqtimeout
$ service apache2 restart

测试

上传速度

下载速度

性能优化

apcu

安装redis

$ apt-get install redis-server

redis配置

$ nano /etc/redis/redis.conf
# 修改daemonize 为 yes,取消以下内容的注释
# unixsocket /var/run/redis/redis-server.sock
# unixsocketperm 777
# 授权redis
$ usermod -g www-data redis
$ chown -R redis:www-data /var/run/redis
$ redis-server /etc/redis.conf
$ service redis-server restart

修改配置文件

$ apt-get install php-apcu
$ apt-get install php-redis'memcache.local' => '\OC\Memcache\APCu','memcache.locking' => '\OC\Memcache\Redis','redis' => array('host' => 'localhost','port' => 6379,),
$ service apache2 restart

提高swap容量

$ nano /etc/dphys-swapfile
# 修改字段CONF_SWPSIZE 值,默认为100,这里修改为 2048,退出后重启swap
$ /etc/init.d/dphys-swapfile restart

提高sd卡的速度

$ sudo su
$ nano /boot/config.txt
# 加入
dtparam=sd_overclock=100
$ apt-get install hdparm
$ hdparm -tT /dev/mmcblk0

树莓派--搭建nextcloud私有云相关推荐

  1. 搭建nextcloud私有云盘

    要搭建Nextcloud,需要在服务器上安装和配置Nginx.PHP和SQLite3.下面是一些基本步骤: 安装Nginx 可以使用包管理器进行安装.例如,在Ubuntu上可以运行以下命令: sudo ...

  2. CentOS 7 搭建Nextcloud私有云

    Nextcloud 简介: 对于私人网盘,其中最出名的就是 seafile.owncloud和nextcloud.seafile是国人开发的,有免费和企业版,免费的功能有限:nextcloud是own ...

  3. 树莓派一键部署私有云

    树莓派一键部署私有云!!! 系统:最新树莓派爱好者基地64位系统2.0版本 安装软件:nextcloud 教程开始: 1.打开树莓派终端,输入下面命令获得超级用户权限 sudo -i 2.在docke ...

  4. linux使用Cloudreve搭建个人私有云

    linux使用Cloudreve搭建个人私有云 1. 获取安装包 2. 运行 3. 登录并修改信息 4. 后台自动运行 1. 获取安装包 进入Cloudreve官网,cloudreve.org 点击立 ...

  5. 教你如何搭建本地私有云

    目录 本地私有云的使用场景 如何使用IBCS虚拟专线搭建本地私有云 本地私有云的使用场景 搭建本地私有云是指在企业或组织内部搭建云计算基础设施,用于存储.处理和共享各种数据和资源.以下是一些常见的本地 ...

  6. 虚拟vpc服务器搭建,虚拟私有云VPC搭建IPv6网络

    虚拟私有云VPC搭建IPv6网络 内容精选 换一换 虚拟私有云(Virtual Private Cloud)是用户在华为云上申请的隔离的.私密的虚拟网络环境.用户可以自由配置VPC内的IP地址段.子网 ...

  7. 万字长文手把手教你搭建家庭私有云

    万字长文手把手教你搭建家庭私有云 随着互联网的普及,现在的云产品越来越多,像生活中常用的网盘.视频软件.音乐软件.电子书.云笔记等等越来越离不开我们的生活,但是想必大家也受够了"非会员&qu ...

  8. seafile搭建https私有云

    自己的服务器到期,转移自己博客内容至此. seafile搭建企业.个人私有云,并将站点配置为https.      点击进入seafile官网 环境:Centos 7 一.安装seafile准备 [r ...

  9. Centos 6.8 搭建owncloud 私有云盘

    本文主要介绍在lamp环境下快速安装和部署owncloud 私有云盘 基本流程: 1.owncloud简介 2.yum部署lamp环境 3.下载owncloud 软件包并且安装 4.测试ownclou ...

最新文章

  1. 沈向洋博士:三十年科研路,我踩过的七个坑
  2. Dubbo zookeeper 分布式 集群问题
  3. 旋转字符串算法由浅入深
  4. python中的库及module的 路径
  5. latex的基本使用
  6. activemq中怎么知道推送消息是否成功_如何优雅的使用activeMQ 安装、应用、安全认证、持久化...
  7. C++ Primer 第五版 第6章 6.7——函数指针习题答案
  8. Node.js 模块系统
  9. 在python中查看关键字、需要执行,如何在一个文本文件,二进制执行搜索来搜索一个Python关键字?...
  10. 哪些模块可用于python性能分析_python性能分析之cProfile模块
  11. mysql 基础面试_面试必问之mysql基础
  12. XMLHttpRequest发送POST请求
  13. Windows server资源分享
  14. 分享关于如何检测视频流码率
  15. python 读取geotiff_从GeoTIFF文件中获取经度和纬度
  16. 计算机存储程序控制工作原理教案,计算机的存储程序工作原理是什么
  17. 文本智能处理与RPA领军企业达观数据宣布完成5.8亿元C轮融资
  18. 计算机分级时无法度量视频播放,无法度量视频播放性能怎么办-无法度量视频播放性能的解决方法 - 河东软件园...
  19. element 刷新
  20. 解析展望激光雷达——自动驾驶

热门文章

  1. 高洛峰老师的BroPHP框架模型使用示例
  2. LVGL加载外部flash上图片
  3. 二维数组查找(C++)(二分查找)
  4. VLAN虚拟局域网配置
  5. VirtualBox 中 Ubuntu 16.04 虚拟机与主机之间复制粘贴文本
  6. 1、TCP/IP体系结构
  7. excel vba “运行时错误1004,应用程序定义或对象定义错误”
  8. PVC塑料加速老化测试介绍
  9. chrome浏览器背景色更改
  10. js调用pc摄像头实现拍照、录视频等,新版Chrome无访问http页面无法打开麦克风、摄像头