搭建nextcloud私人云盘

颛孙沈义
2023-12-01

搭建nextcloud私人云盘

1. Linux发行版本

本人的设备是OragePi4,安装的是基于debianArmbian Buster Server,树莓派,云主机等可以安装对应的版本。

2. 修改更新源

因为默认的源是国外的,下载速度非常慢,建议修改为国内的源。这里使用了清华的源,其他的源,比如科大的也不错。

  • 备份原来的更新源文件
sudo cp /etc/apt/source.list /etc/apt/source.list.backup
  • 替换source.list文件中源信息
deb https://mirrors.tuna.tsinghua.edu.cn/debian buster main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian buster-updates main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian buster-backports main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian-security/ buster/updates main contrib non-free
  • 替换/source.list.d/armbian.list文件中的源信息
deb https://mirror.tuna.tsinghua.edu.cn/armbian/ buster main buster-utils buster-desktop

注意:请选择自己设备及发行版本对应的国内源。

  • 更新系统到最新
sudo apt-get update
sudo apt-get upgrade

3. 安装docker

这里使用最简单的安装docker的方式:

  • 获取docker自动安装脚本
sudo curl https://get.docker.com/ > ./docker_install.sh
  • 执行脚本,这里使用了阿里的源,提高安装速度
sudo sh docker_install.sh –mirror Aliyun

注意:在安装过程中因为源的更新问题(比如使用的源不稳定,不完善),可能出现如下问题:
E: Sub-process /usr/bin/dpkg returned an error code (1)
出现此问题的原因一般是某个模块安装失败,可搜索自行解决。

  • 查看docker运行状态
sudo systemctl status docker

如果显示active (running)说明运行成功

  • 替换docker国内源
    创建文件/etc/docker/daemon.json
sudo vim /etc/docker/daemon.json
  • 添加国内源
{
	"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}

这里添加的是科大的源,也可以添加其他国内源,比如阿里等。

也可以多添加几个源

{
        "registry-mirrors": [
                "https://md4nbj2f.mirror.aliyuncs.com",
                "https://docker.mirrors.ustc.edu.cn",
                "http://hub-mirror.c.163.com",
                "http://registry.docker-cn.com"
        ]
}

4. 使用docker安装mariadb数据库

执行以下命令

docker run \
--name nextcloud_db -d -p 127.0.0.1:3306:3306 \
--restart=always \
-e MYSQL_ROOT_PASSWORD=nextcloud \
-e MYSQL_DATABASE=nextcloud \
-e MYSQL_USER=nextcloud \
-e MYSQL_PASSWORD=nextcloud \
-v /data/nextcloud_db/mariadb:/var/lib/mysql \
mariadb:latest

说明:执行后会下载mariadb数据库容器镜像,然后创建名为nextcloud_db的容器并在其中创建了名为nextcloud的数据库,还设置了数据库的用户名密码等,-v参数是指映射容器中数据库到本地

5. 使用docker安装nextcloud

执行如下命令

docker run \
--name nextcloud -d -p 1203:80 \
--restart=always \
--link nextcloud_db:nextcloud_db \
-e MYSQL_DATABASE=nextcloud \
-e MYSQL_USER=nextcloud \
-e MYSQL_PASSWORD=nextcloud \
-e MYSQL_HOST=nextcloud_db \
-v /data/nextcloud:/var/www/html \
nextcloud:latest

说明:执行后会下载nextcloud容器镜像,然后创建名为nextcloud的容器,并连接数据库的容器nextcloud_db,并使用已创建的数据库nextcloud,-p 1203:80是设置访问的映射端口,-v参数是指映射容器中数据库到本地。

6. 访问nextcloud

在浏览器中输入设备的IP加端口访问,进入登录页面创建管理员账号,比如:

http://192.168.1.205:1203

默认nextcloud是会限制访问的域名或IP的,可以在/data/nextcloud/config/config.php中的trusted_domains项中添加允许的域名或IP,如果需要放开限制可在其中添加如下信息:

 1 => preg_match('/cli/i',php_sapi_name())?'127.0.0.1':$_SERVER['SERVER_NAME'],
 类似资料: