• 首页

  • 写作

  • 文章归档

  • 照片

  • 友情链接

  • 旅行

  • 读书

  • 日志

  • 随记

  • 人文历史

  • linux

  • 前端
b l o g
b l o g

admin

lzp

10月
13
卡片电脑

树莓派打造网盘

发表于 2022-10-13 • 字数统计 6890 • 被 35 人看爆
  • 前言

    • 配置自己的云盘的好处是让你折腾一下云盘相关的技术,有个私人的云盘,缺点是不稳定,需要做内网穿透与域名绑定,不然就无法方便的进行外网访问,这个云盘还有个好处,可以进行手机、电脑端的同步,类似于坚果云。

    • https://www.logcg.com/archives/2007.html

    • owncloud是基于LAMP环境才能运行的。LAMP环境解释如下:

    • L:Linux,开源操作系统,(raspbian系统);

    • A:Apache,网页服务器;

    • M:Mysql(MariaDB),数据库

    • P:PHP,编程语音。

    • 配置云盘的步骤

      • 先安装LAMP环境,apache、数据库mysql、php7.3等软件
      • 然后下载owncloud软件包
      • 最后配置owncloud,包括挂载磁盘,设置存储位置,apache端口,以及最重要的端口映射
  • 安装LAMP环境

    • 安装Apache 网页服务器

    • sudo apt-get install apache2
    • 可以在浏览器中输入127.0.0.1,可以检查是否安装成功
    • 安装Mysql 数据库

    • sudo apt-get install mysql-server mysql-client
    • 如果安装不成功,用这个命令:sudo apt-get install mariadb-server-10.0,我使用的就是这个命令,上面的命令安装失败了,可能是软件源的问题
    • 测试方法:sudo mysql -u root -p,然后输入树莓派的密码
    • 输入exit ,回车退出mysql
    • 安装PHP

    • 我安装的是php7.3版本,owncloud 对版本有要求
    • sudo apt-get install php7.3-mysql php7.3-curl php7.3-json php7.3-cgi libapache2-mod-php7.3 php7.3 
      sudo apt-get install php7.3-gd php7.3-intl php7.3-xml php7.3-zip php7.3- mbstring
      sudo apt-get install php-mcrypt php-imagick
      
    • 卸载php的方法:
    • sudo apt autoremove php7*
      sudo find /etc -name "*php*" |xargs rm -rf
      sudo apt purge `dpkg -l | grep php | awk '{print $2}' | tr "\n" " "`
      dpkg -l | grep php7
      
    • 安装phpmyadmin并设置mysql的密码

    • sudo apt-get install phpmyadmin
      
    • 等待软件下载完成,出现以下界面,按空格键选择网页服务器:apache2,再按回车确认OK
    • 选择YES
    • 设置mysql的密码,与本机密码相同即可,若设置太多密码容易混乱
    • 再次输入密码,按Enter键确认OK
    • 测试php安装是否成功

    • 创建一个php网页显示PHP的版本信息
    • sudo vim /var/www/html/test.php
      
    • 输入文字
    • <?php
      phpinfo()
      ?>
      
    • 保存并退出。
    • 重启Apache
    • sudo /etc/init.d/apache2 restart
      
    • 在浏览器上输入网址: http://localhost/test.php
    • 显示以上PHP版本信息则说明安装成功。
  • 安装私有云owncloud

    • 下载安装包

      • https://download.owncloud.org/community
      • wget https://download.owncloud.com/server/owncloud-10.11.0.tar.bz2
        
      • 此owmcloud版本(owncloud-10.11)兼容PHP7.3及以上版本
    • 解压安装包

      • tar -xvf owncloud-10.11.0.tar.bz2
        
      • 将所有解压后的文件移到 /var/www/html, 该位置是apache的默认位置
      • sudo mv owncloud/*  /var/www/html
        
  • 配置owncloud

    • 修改Apache的配置文件apache2.conf:
    • sudo vim /etc/apache2/apache2.conf
      
    • 向下查找到AllowOverride修改:None改为All
    • 创建data文件夹(/var/www/html/data),用于保存数据
    • cd /var/www/html
      sudo mkdir data
      
    • 修改Owncloud文件夹的文件权限,这一步很重要,否则报权限的问题
    • sudo chown -R www-data:www-data /var/www/html/
      sudo chmod 777 /var/www/html/config/
      
    • 在MariaDB上创建一个数据库,保存来自OwnCloud的数据。创建数据库和数据库用户:
    • sudo mysql -u root -p
      MariaDB [(none)] > create database owncloud;
      MariaDB [(none)] > GRANT ALL ON owncloud.* TO ocuser@localhost IDENTIFIED BY 'owncloud';
      MariaDB [(none)] > flush privileges;
      MariaDB [(none)] > exit
      
    • 重启Apache服务器
    • sudo /etc/init.d/apache2 restart
      
  • 安装完成,设置admin账户,并测试服务器

    • 在浏览器上输入127.0.0.1或者树莓派的IP地址,输入相应的信息并按Finish setup
    • 注意:以上参数需要填入3.4创建的数据库资料,以下是对应关系:
    • 在登录界面中输入刚刚创建的用户名和密码。
  • 树莓派挂载外置硬盘,并设置为owncloud 的存储

  • 因为我用得是树莓派4b,所以需要挂载一块大容量的机械硬盘,我使用的是移动硬盘盒,然后插上一块1T的台式机硬盘,然后通过usb3接口接入树莓派。

  • TODO:[[硬盘分区、格式化与挂载]]

[[自动挂载磁盘]]

  • 自动挂载可以有两种方式

  • 修改/etc/fstab文件

  • 用vim打开 fstab文件,可以看到文件格式如下:

  • pi@raspberrypi:/mnt/disk_qy $ cat /etc/fstab
    
    
    proc            /proc           proc    defaults          0       0
    PARTUUID=f81433e3-01  /boot           vfat    defaults          0       2
    PARTUUID=f81433e3-02  /               ext4    defaults,noatime  0       1
    # a swapfile is not a swap partition, no line here
    #   use  dphys-swapfile swap[on|off]  for that
    /dev/sda1 /mnt/disk_qy ext4 defaults 0 0
    
  • 重启后检查:df -h

  • pi@raspberrypi:/mnt/disk_qy $ df -h
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/root        59G   12G   45G  21% /
    devtmpfs        3.7G     0  3.7G   0% /dev
    tmpfs           3.9G     0  3.9G   0% /dev/shm
    tmpfs           3.9G   17M  3.9G   1% /run
    tmpfs           5.0M  4.0K  5.0M   1% /run/lock
    tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
    /dev/sda1       196G   20G  166G  11% /mnt/disk_qy
    /dev/mmcblk0p1  253M   49M  204M  20% /boot
    tmpfs           785M     0  785M   0% /run/user/1000
    /dev/sda2       200G   64K  200G   1% /media/pi/423D-4158
    
  • 重点:/dev/sda1 196G 20G 166G 11% /mnt/disk_qy

  • 解释:

  • 可以很明显的看到文件有6列。
    第1列是设备名或者卷标

  • 第2列是挂载点(也就是挂载目录)

  • 第3列是所要挂载设备的文件系统或者文件系统类型

  • 第4列是挂载选项,通常使用defaults就可以

  • 第5列设置是否使用dump备份,置0为不备份,置1,2为备份,但2的备份重要性比1小

  • 第6列设置是否开机的时候使用fsck检验所挂载的磁盘,置0为不检验,置1,2为检验,但置2盘比置1的盘晚检验。
    ————————————————
    版权声明:本文为CSDN博主「左图」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/buxiaoxindasuile/article/details/49612867

[[apache DocumentRoot 设置与端口更改]]

  • 编辑apache2的配置文件
  • vim /etc/apache2/sites-available/000-default.conf
  • 把DocumentRoot后面的路径设置成owncloud的路径
  • 默认的:DocumentRoot /var/www/html, 可以自行修改为owncloud的解压路径
  • 重启apache服务
  • service apache2 restart
  • 编辑 apache2 的配置文件
  • vim /etc/apache2/sites-available/000-default.conf
  • 把<VirtualHost *:80>改成<VirtualHost *:8081>
  • 编辑apache2的端口配置文件
  • vim /etc/apache2/ports.conf
  • 把Listen 80改成Listen 8081
  • 重启apache服务
  • service apache2 restart
  • 查看apache端口配置文件
  • root@raspberrypi:/etc/apache2# sudo cat ports.conf
    # If you just change the port or add more ports here, you will likely also
    # have to change the VirtualHost statement in
    # /etc/apache2/sites-enabled/000-default.conf
    
    #Listen 80
    Listen 8081
    
    <IfModule ssl_module>
            Listen 443
    </IfModule>
    
    <IfModule mod_gnutls.c>
            Listen 443
    </IfModule>
    
    # vim: syntax=apache ts=4 sw=4 sts=4 sr noet
    root@raspberrypi:/etc/apache2# vim /etc/apache2/sites-available/000-default.conf
    root@raspberrypi:/etc/apache2# service apache2 restart
    

[[owncloud 设置存储位置,添加信任的访问来源]]

  • 在owncloud配置文件中修改存储的位置,我设置的位置是挂载的机械硬盘中的位置

  • 停止web服务:

  • service apache2 stop
    
  • 修改配置文件: /var/www/html/config/config.php

  • 修改存储位置,该存储位置会保存到之前配置的数据库中

  • 'datadirectory' => '/mnt/disk_qy/owncloud/data',
    
  • 将原本的数据进行迁移,迁移到新的位置

  • 将 /var/www/html/data 目录下的所有文件移动到新的目录下,我转移到机械硬盘的文件中:/mnt/disk_qy/owncloud/data

  • mkdir -p /mnt/disk_qy/owncloud/data
    cp -R /var/www/html/data /mnt/disk_qy/owncloud/data
    
  • root@raspberrypi:/mnt/disk_qy/owncloud/data# ls
    admin  avatars  files_external  htaccesstest.txt  index.html  lzw  owncloud.log  qyzhizi
    
  • 修改权限

  • chown -R www-data:www-data /mnt/disk_qy/owncloud
    chmod 755 data
    
  • 添加受信任的访问来源

  •   array (
        0 => '127.0.0.1',
        1 => '192.168.0.106',
        2 => '1.14.226.10',
        3 => 'abc.qyzhizi.cn',
      ),
    
  • 启动web服务

  • service apache2 start
    
  • 修改后的配置文件

  • pi@raspberrypi:~ $ sudo cat /var/www/html/config/config.php
    <?php
    $CONFIG = array (
      'instanceid' => 'ocwgyieoj2xe',
      'passwordsalt' => 'krvkRVzUMlgWyR5Y1oqNLHVomTJ/LH',
      'secret' => 'AgPZxous2Yc/k0kY7nCdOG3dg0SJzbQAHQA5kDAVEx+rk/IM',
      'trusted_domains' =>
      array (
        0 => '127.0.0.1',
        1 => '192.168.0.106',
        2 => '1.14.226.10',
        3 => 'abc.qyzhizi.cn',
      ),
      'datadirectory' => '/mnt/disk_qy/owncloud/data',
      'overwrite.cli.url' => 'http://127.0.0.1',
      'dbtype' => 'mysql',
      'version' => '10.11.0.6',
      'dbname' => 'owncloud',
      'dbhost' => 'localhost',
      'dbtableprefix' => 'oc_',
      'dbuser' => 'ocuser',
      'dbpassword' => 'owncloud',
      'allow_user_to_change_mail_address' => '',
      'logtimezone' => 'UTC',
      'apps_paths' =>
      array (
        0 =>
        array (
          'path' => '/var/www/html/apps',
          'url' => '/apps',
          'writable' => false,
        ),
        1 =>
        array (
          'path' => '/var/www/html/apps-external',
          'url' => '/apps-external',
          'writable' => true,
        ),
      ),
      'installed' => true,
    );
    pi@raspberrypi:~ $
    
    
  • 重启apache,然后新建一个用户,然后该用户的存储位置就会更新位你配置的位置

远程访问配置:[[frp]],需要去云服务器开放端口

  • [pi-owncloud]
    type = tcp
    local_ip = 127.0.0.1
    local_port = 8081
    remote_port = 8081
    
  • 查看frpc服务与配置文件
  • pi@raspberrypi:/mnt/disk_qy/owncloud/data $ sudo systemctl cat frpc.service
    # /etc/systemd/system/frpc.service
     [Fusion]
     Description=Frp Server Daemon
     After=syslog.target network.target
     Wants=network.target
     [Service]
     Type=simple
     ExecStart=/usr/local/bin/frp/frpc -c /usr/local/bin/frp/frpc.ini
     ExecStop=/usr/bin/killall frpc
     RestartSec=1min
     KillMode=control-group
     Restart=always
     [Install]
     WantedBy=multi-user.target
    pi@raspberrypi:/mnt/disk_qy/owncloud/data $ cd
    pi@raspberrypi:~ $ sudo cat /usr/local/bin/frp/frpc.ini
    [common]
    server_addr = ****
    authentication_method = token
    token = ****
    server_port = ****
    
    [pi-ssh]
    type = tcp
    local_ip = 127.0.0.1
    local_port = 22
    remote_port = 20026
    
    [pi-vnc]
    type = tcp
    local_ip = 127.0.0.1
    local_port = 5900
    remote_port = 5910
    
    [pi-owncloud]
    type = tcp
    local_ip = 127.0.0.1
    local_port = 8081
    remote_port = 8081
    
    

域名绑定

todo

分享到:
历史与人文 视频链接
我的青海湖骑行
  • 文章目录
  • 站点概览
admin

! lzp

hello

Github Twitter QQ Email Telegram RSS
看爆 Top5
  • 历史与人文 视频链接 189次看爆
  • 2022日志随笔 175次看爆
  • 我的青海湖骑行 164次看爆
  • 读书随笔 124次看爆
  • rs2 设置教程 97次看爆

站点已萌萌哒运行 00 天 00 小时 00 分 00 秒(●'◡'●)ノ♥

Copyright © 2025 admin

由 Halo 强力驱动 · Theme by Sagiri · 站点地图