本文发布于 1802 天前,其中的信息可能已经有所发展或是发生改变。
背景
有一天,我正在下载百度网盘上的一个VMware虚拟机文件(本地系统为Ubuntu)。因为当时Linux版的百度网盘客户端还没出现,所以使用的是Aria2c这个神器。But不巧的是那几天第三方客户端接口正好被百度封锁了,并且未修复,所以下载速度……一言难尽。
于是我从早上8:00等到了下午17:00才下好文件,这也让我意识到百度网盘是有多么不靠谱。所以,我开始自建网盘,顺手将一些东西写在了这里,供大家参考。
环境介绍
VPS是Vultr的VPS,这里拿来测试用,大家就别在意细节了哈~
开始安装
基础设置
首先基础的设置还是要做的哈~这里我只是改下root密码,毕竟原来的太难记了QwQ
ssh root@服务器IP 输入密码 passwd 输入新密码 重复一遍
这里就先不放图了,毕竟这里还算简单。
安装Docker
这里我们输入下面的指令(官方源)
sudo yum install -y yum-utils device-mapper-persistent-data lvm2 curl -fsSL https://get.docker.com/ | sh sudo systemctl enable docker sudo systemctl start docker
这样就安装了Docker。
安装Docker-compose
先确保你配置好了Python和PIP,然后安装Docker-compose
sudo pip install docker-compose
设置用户组
因为Docker要求使用root用户或用户在docker组内,所以我们用下面的命令将你自己的用户加入docker组内
sudo groupadd docker sudo usermod 你的用户名 -aG docker
设置DNS
将你任意一个用得顺手的域名解析到服务器IP上面即可。
安装NextCloud
先在合适的地方建立NextCloud的数据文件夹,我这里是/data/nextcloud
,然后在文件夹下建立docker-compose.yml
,复制下面的内容,粘贴放入其中。
version: '2' services: nextcloud: image: wonderfall/nextcloud links: - nextcloud-db:nextcloud-db # If using MySQL environment: - UID=1000 - GID=1000 - UPLOAD_MAX_SIZE=10G - APC_SHM_SIZE=128M - OPCACHE_MEM_SIZE=128 - CRON_PERIOD=15m - TZ=Europe/Berlin - ADMIN_USER=你的管理员账户 - ADMIN_PASSWORD=你的管理员密码 - DOMAIN=你的域名 - DB_TYPE=mysql - DB_NAME=nextcloud - DB_USER=nextcloud - DB_PASSWORD=数据库密码 - DB_HOST=nextcloud-db volumes: - /data/nextcloud/data:/data - /data/nextcloud/config:/config - /data/nextcloud/apps:/apps2 - /data/nextcloud/themes:/nextcloud/themes port: - 80:你喜欢的端口(建议不要写80) nextcloud-db: image: mariadb:10 volumes: - /data/nextcloud/db:/var/lib/mysql environment: - MYSQL_ROOT_PASSWORD=数据库密码 - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud - MYSQL_PASSWORD=数据库密码
然后访问http://你的域名:你设置的端口
就可以看到啦!
后记
为了安全,我们可以使用Nginx反向代理的方式加上SSL证书,还可以去掉后面的端口号。如果你的服务器要用来建站,还可以实现NextCloud与网站的共存。具体教程请自行查询,这里就不细说了。