Loading... <div class="tip share">请注意,本文编写于 684 天前,最后修改于 517 天前,其中某些信息可能已经过时。</div> ## 写在开头 Nextcloud是一套用于创建网络硬盘的客户端-服务器软件。其功能与Dropbox相近,但Nextcloud是自由及开放源代码软件,每个人都可以在私人服务器上安装并运行它。 本文将介绍如何在树莓派3B Raspbian 中安装Nextcloud。 <!-- more --> 本来我没有写这篇文章的打算,但是通过中文搜索引擎(x度)搜到的一大堆教程,基本都无法正确安装,所以就自己摸索,完美安装了Nextcloud。 <button class="btn m-b-xs btn-info " onclick='window.open("https://nextcloud.com","_blank")'>Nextcloud官网链接</button> --- <div class="tip inlineBlock error"> 注:以下文章可能已经过时,目前可以使用[NextcloudPi](https://ownyourbits.com/nextcloudpi/)系统直接在树莓派所有型号上运行next cloud。 </div>  --- ## 安装Raspbian、SSH链接 参考使用树莓派3B制作AWTRIX时钟(上) <div class="preview"> <div class="post-inser post box-shadow-wrap-normal"> <a href="https://skihome.xyz/posts/7968d939/" target="_blank" class="post_inser_a no-external-link"> <div class="inner-image bg" style="background-image: url(https://raw.githubusercontent.com/Sakitami/Figurebed/master/img/awtrix.webp);background-size: cover;"></div> <div class="inner-content" > <p class="inser-title">使用树莓派3B制作AWTRIX时钟(上)</p> <div class="inster-summary text-muted"> 写在开头AWTRIX 2.0(AWesome maTRIX)是一款DIY智能时钟(类似于Lametric时间),专... </div> </div> </a> <!-- .inner-content #####--> </div> <!-- .post-inser ####--> </div> ### Raspbian更换软件源 首先,我们需要更换一个更快的软件源,否则接下来的操作非常耗时。 - 编辑 `/etc/apt/sources.list` 文件,删除原文件所有内容,用以下内容取代: ```bash deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main non-free contrib deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main non-free contrib ``` - 编辑 `/etc/apt/sources.list.d/raspi.list` 文件,删除原文件所有内容,用以下内容取代: ```bash /etc/apt/sources.list.d/raspi.list deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ stretch main ``` - 更新软件源 ```bash sudo apt-get update && sudo apt-get upgrade -y ``` ## 安装所需依赖 - 注意,若直接安装php等包,则可能安装到7.0版本的php,而nextcloud16最低要求7.1版本,所以请勿直接安装php等包。 > 错误信息: > <div class="tip inlineBlock info"> 解决方法参阅文章末尾故障排除。 </div> --- - 安装软件源拓展工具 ```bash 安装软件源拓展工具 sudo apt -y install software-properties-common apt-transport-https lsb-release ca-certificates ``` - 添加GPG ```bash 添加 GPG wget -O /etc/apt/trusted.gpg.d/php.gpg https://mirror.xtom.com.hk/sury/php/apt.gpg ``` - 添加sury软件源 ```bash 添加 sury 软件源 sh -c 'echo "deb https://mirror.xtom.com.hk/sury/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list' ``` - 更新软件源缓存 ```bash 更新软件源缓存 sudo apt-get update ``` - 安装 PHP7.3、Apache2等 ```bash 安装 PHP7.3 sudo apt install php7.3-fpm php7.3-mysql php7.3-curl php7.3-gd php7.3-mbstring php7.3-xml php7.3-xmlrpc php7.3-zip php7.3-opcache -y sudo apt install mlocate apache2 libapache2-mod-php mariadb-client mariadb-server wget unzip bzip2 curl php php-common php-curl php-gd php-mbstring php-mysql php-xml php-zip php-intl php-apcu php-redis php-http-request ```  ## 开启支持exfat ```bash sudo apt-get install exfat-utils sudo reboot now ```  ### 通过fdisk了解你的硬盘的路径 ```bash sudo fdisk -l //或lsblk ```  这里,我得到的路径为`'/dev/sda'`,我将用此路径进行下一步操作。 - 格式化硬盘为ext4格式 ```bash 格式化硬盘为ext4格式 sudo mkfs.ext4 /dev/sda ``` ### 挂载 创建硬盘挂载点`/home/pi/sda` ```bash mkdir /home/pi/sda ``` 挂载硬盘 ```bash sudo mount -t ext4 /dev/sda /home/pi/sda ``` 设置为开机自动挂载 ```bash /etc/fstab sudo nano /etc/fstab ``` 加入以下文字 ```bash /etc/fstab /dev/sda /home/pi/sda ext4 defaults 0 0 ``` ## 创建Apache2 nextcloud配置文件 创建`nextcloud.conf`,加入如下文字 ```bash /etc/apache2/sites-available/nextcloud.conf <VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www/nextcloud Alias /nextcloud "/var/www/nextcloud/" <Directory "/var/www/nextcloud/"> Options +FollowSymlinks AllowOverride All <IfModule mod_dav.c> Dav off </IfModule> Require all granted SetEnv HOME /var/www/nextcloud SetEnv HTTP_HOME /var/www/nextcloud </Directory> ErrorLog ${APACHE_LOG_DIR}/nextcloud_error_log CustomLog ${APACHE_LOG_DIR}/nextcloud_access_log common </VirtualHost> ```  ## 创建MariaDB 数据库和用户 登录MariaDB控制台: ```bash sudo mysql -u root ``` ```bash CREATE DATABASE nextcloud; //创建新nextcloud数据库 CREATE USER 'nextcloud'@'localhost' IDENTIFIED BY '密码'; //创建新的数据库用户'nextcloud',其中,'密码'部分键入你的密码 GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost'; //将数据库的权限分配给'nextcloud'用户 FLUSH PRIVILEGES; //应用更改 exit //退出控制台 ```   ## 安装Nextcloud 进入`/var/www`目录。 ```bash /var/www cd /var/www ``` ### 下载Nextcloud.zip文件并提取其中文件 <div class="tip inlineBlock warning"> 注:请通过nextcloud官网查询最新nextcloud版本,并下载最新版本。以下命令纯属示范。 </div> ```bash /var/www sudo wget https://download.nextcloud.com/server/releases/nextcloud-16.0.1.zip sudo unzip nextcloud-16.0.1.zip ``` ### 修改权限 ```bash sudo chown -R www-data:www-data nextcloud //将nextcloud目录中所有文件的所有者和组更改为www-data sudo chown -R www-data:www-data /home/pi/sda //将数据目录中所有文件的所有者和组更改为www-data ``` 使用命令启用nextcloud ```bash sudo a2ensite nextcloud.conf //启用nextcloud.conf站点配置 sudo a2dissite 000-default.conf //禁用默认站点配置000-default.conf sudo systemctl restart apache2 //重新启动apache2 ``` 将apache2和mariadb添加到系统服务 ```bash sudo systemctl enable apache2 mariadb ```  <div class="tip inlineBlock success"> 现在,您应该能通过`树莓派的IP地址`打开Nextcloud。 </div> ## 配置Nextcloud 创建一个管理员用户,自行创建。  - 点击下方的箭头,选择MariaDB作为数据库。 - 输入你的数据存放目录,我的是`/home/pi/sda` - 点击安装完成,并稍等一段时间。 ## 安装完成  ## 故障排除 列举了部分Nextcloud安装时的故障。 ## PHP版本过低 施工中 ### 缺失PHP插件(各种)  Last modification:November 23rd, 2019 at 11:58 am © 允许规范转载 Support 赞助一杯冰阔落 ×Close Appreciate the author Sweeping payments Pay by AliPay Pay by WeChat