请注意,本文编写于 1386 天前,最后修改于 1219 天前,其中某些信息可能已经过时。
写在开头
Nextcloud是一套用于创建网络硬盘的客户端-服务器软件。其功能与Dropbox相近,但Nextcloud是自由及开放源代码软件,每个人都可以在私人服务器上安装并运行它。
本文将介绍如何在树莓派3B Raspbian 中安装Nextcloud。
本来我没有写这篇文章的打算,但是通过中文搜索引擎(x度)搜到的一大堆教程,基本都无法正确安装,所以就自己摸索,完美安装了Nextcloud。
注:以下文章可能已经过时,目前可以使用NextcloudPi系统直接在树莓派所有型号上运行next cloud。
安装Raspbian、SSH链接
参考使用树莓派3B制作AWTRIX时钟(上)
Raspbian更换软件源
首先,我们需要更换一个更快的软件源,否则接下来的操作非常耗时。
编辑
/etc/apt/sources.list
文件,删除原文件所有内容,用以下内容取代: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
文件,删除原文件所有内容,用以下内容取代:deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ stretch main
更新软件源
sudo apt-get update && sudo apt-get upgrade -y
安装所需依赖
- 注意,若直接安装php等包,则可能安装到7.0版本的php,而nextcloud16最低要求7.1版本,所以请勿直接安装php等包。
错误信息:
解决方法参阅文章末尾故障排除。
安装软件源拓展工具
sudo apt -y install software-properties-common apt-transport-https lsb-release ca-certificates
添加GPG
wget -O /etc/apt/trusted.gpg.d/php.gpg https://mirror.xtom.com.hk/sury/php/apt.gpg
添加sury软件源
sh -c 'echo "deb https://mirror.xtom.com.hk/sury/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
更新软件源缓存
sudo apt-get update
安装 PHP7.3、Apache2等
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
sudo apt-get install exfat-utils
sudo reboot now
通过fdisk了解你的硬盘的路径
sudo fdisk -l //或lsblk
这里,我得到的路径为'/dev/sda'
,我将用此路径进行下一步操作。
格式化硬盘为ext4格式
sudo mkfs.ext4 /dev/sda
挂载
创建硬盘挂载点/home/pi/sda
mkdir /home/pi/sda
挂载硬盘
sudo mount -t ext4 /dev/sda /home/pi/sda
设置为开机自动挂载
sudo nano /etc/fstab
加入以下文字
/dev/sda /home/pi/sda ext4 defaults 0 0
创建Apache2 nextcloud配置文件
创建nextcloud.conf
,加入如下文字
<VirtualHost *:80>
ServerAdmin [email protected]
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控制台:
sudo mysql -u root
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
目录。
cd /var/www
下载Nextcloud.zip文件并提取其中文件
注:请通过nextcloud官网查询最新nextcloud版本,并下载最新版本。以下命令纯属示范。
sudo wget https://download.nextcloud.com/server/releases/nextcloud-16.0.1.zip
sudo unzip nextcloud-16.0.1.zip
修改权限
sudo chown -R www-data:www-data nextcloud //将nextcloud目录中所有文件的所有者和组更改为www-data
sudo chown -R www-data:www-data /home/pi/sda //将数据目录中所有文件的所有者和组更改为www-data
使用命令启用nextcloud
sudo a2ensite nextcloud.conf //启用nextcloud.conf站点配置
sudo a2dissite 000-default.conf //禁用默认站点配置000-default.conf
sudo systemctl restart apache2 //重新启动apache2
将apache2和mariadb添加到系统服务
sudo systemctl enable apache2 mariadb
现在,您应该能通过
树莓派的IP地址
打开Nextcloud。
配置Nextcloud
创建一个管理员用户,自行创建。
- 点击下方的箭头,选择MariaDB作为数据库。
- 输入你的数据存放目录,我的是
/home/pi/sda
- 点击安装完成,并稍等一段时间。
安装完成
故障排除
列举了部分Nextcloud安装时的故障。
PHP版本过低
施工中