Nextcloud是owncloud母公司破产前核心人员离职出来创建的,免费版里包含了很多owncloud付费版本的功能,因为核心都是一样的,所以我们当然可以选择功能更多的nextcloud版本了。
我安装的nextcloud网盘:https://nextpan.net
在使用本教程前,建议您对docker进行一些基本的了解,知道一些简单的命令,比如:
docker images
docker ps –a
docker start
docker stop
docker rm
docker rmi
不了解docker的可以谷歌一下这些命令快速了解,也可以看官方的docker教程。
docker官方安装教程:https://store.docker.com/search?type=edition&offering=community
我贴一下Ubuntu系统的安装方式,依次输入下列命令:
sudo apt–get –y install
apt–transport–https
ca–certificates
curl
curl –fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add –
sudo add–apt–repository
“deb [arch=amd64] https://download.docker.com/linux/ubuntu
$(lsb_release -cs)
stable”
sudo apt–get update
sudo apt–get –y install docker–ce
docker-compose是定义和运用docker的一种工具,使用下列命令安装:
apt install docker–compose
安装完成后,新建docker-compose.yml文件:
vim docker–compose.yml
然后把下列内容复制粘贴,注意这里我选用的是wonderfall的版本,他的版本star数最多,比官方的新,另外注意,修改pwd为自己的密码:
nextcloud:
image: wonderfall/nextcloud
links:
– nextcloud–db:nextcloud–db
environment:
– UID=1000
– GID=1000
– UPLOAD_MAX_SIZE=10G
– APC_SHM_SIZE=128M
– OPCACHE_MEM_SIZE=128
– CRON_PERIOD=15m
– TZ=Aisa/Shanghai
– ADMIN_USER=admin
– ADMIN_PASSWORD=pwd
– DOMAIN=localhost
– DB_TYPE=mysql
– DB_NAME=nextcloud
– DB_USER=nextcloud
– DB_PASSWORD=pwd
– DB_HOST=nextcloud–db
volumes:
– /docker/nextcloud/data:/data
– /docker/nextcloud/config:/config
– /docker/nextcloud/apps:/apps2
– /docker/nextcloud/themes:/nextcloud/themes
ports:
– 127.0.0.1:8888:8888/tcp
nextcloud–db:
image: mariadb:10
volumes:
– /docker/nextcloud/db:/var/lib/mysql
environment:
– MYSQL_ROOT_PASSWORD=pwd
– MYSQL_DATABASE=nextcloud
– MYSQL_USER=nextcloud
– MYSQL_PASSWORD=pwd
然后在docker—compose.yml所在文件夹里,输入以下命令:
docker–compose up –d
这时候docker版本的nextcloud就已经安装好了,端口是127.0.0.1:8888,我们接下来利用nginx反代这个端口,并且加上https,从而能让外网安全的访问。
apt install nginx
apt install letsencrypt
注意替换域名
letsencrypt certonly —webroot –w /var/www/html —domain “abc.example.com”
可以修改默认的,也可以新建一个配置文件,我这里直接修改默认的
vim /etc/nginx/sites–available/default
删掉里面的内容,复制粘贴进这个,注意你的letsencrypt生成的证书路径对不对,一般只需要改一下domain就行了:
server {
listen 80;
server_name abc.example.com;
return 301 https://$host$request_uri;
}
server {
server_name nextpan.net www.nextpan.net;
listen 443 ssl http2;
ssl on;
ssl_certificate /etc/letsencrypt/live/abc.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/abc.example.com/privkey.pem;
include /etc/nginx/conf/ssl_params.conf;
client_max_body_size 10G;
location / {
proxy_redirect off;
proxy_pass http://127.0.0.1:8888;
proxy_set_header Host $http_host;
}
location = /.htaccess {
return 404;
}
}
重启nginx:
service nginx restart
然后输入自己的域名就可以直接登陆了。
如果想更新,只需要删掉nextcloud和mariadb的container,重新docker-compose up -d就可以了。