在服务器上搭建了一个网盘系统,对比了owncloud、seafile之后,最终还是选择了Nextcloud,谁让它好看呢…
环境准备
类目 | 版本 | 备注 |
---|---|---|
操作系统 | Centos7 64 | |
Docker | 20.10.12 | |
nextcloud | latest | |
mysql | latest | |
redis | latest |
拉取mysql、nextcloud、redis镜像
docker pull mysql
docker pull nextcloud
docker pull redis
安装mysql
docker run -p 3306:3306 --restart=always --name mysql -v /usr/local/mysql/conf:/etc/mysql/conf.d -v /usr/local/mysql/logs:/logs -v /usr/local/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql
配置mysql
docker exec -it mysql容器ID /bin/bash
root@ID:/# mysql -u root -p
mysql> GRANT ALL PRIVILEGES on *.* to root@'%' WITH GRANT OPTION;
mysql> ALTER USER 'root'@'%' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
Query OK, 0 rows affected (0.02 sec)
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
Query OK, 0 rows affected (0.01 sec)
mysql> FLUSH PRIVILEGES;
mysql> exit
安装Nextcloud
mkdir -p /home/nextcloud
docker run -d --name=nextcloud -v /home/nextcloud:/var/www/html -p 8000:80 --restart=always nextcloud
配置nextcloud
- 设置用户名、密码
- 配置连接mysql 数据库配置信息(数据库【没有时可自动创建】、用户名、密码、IP地址)
访问nextcloud
因为我已经安装配置过了,当时没有截图,就大致写一下
http://IP:8000
安装完成,输入安装时创建的管理员账号密码登录即可。
安装Redis,优化nextcloud访问
mkdir -p /home/redis/conf
mkdir -p /home/redis/data
#新增redis配置文件
cd /home/redis/conf
touch redis.conf
修改redis配置文件:vim redis.conf
#bind 127.0.0.1
protected-mode no
appendonly yes
requirepass 123456
启动redis
docker run --name redis -p 6379:6379 -v /home/redis/data:/data -v /home/redis/conf/redis.conf:/etc/redis/redis.conf -d redis redis-server /etc/redis/redis.conf
- docker run表示运行的意思
- –name redis表示运行容器的名字叫myredis
- -p 6379:6379表示将服务器的6379(冒号前的6379)端口映射到docker的6379(冒号后的6379)端口,这样就可以通过服务器的端口访问到docker容器的端口了
- -d 表示以后台服务的形式运行redis
- -v /home/redis/data:/data表示将服务器上的/home/redis/data映射为docker容器上的/data ,这样/data中产生的数据就可以持久化到本地的目录下了
- -v /home/redis/conf/redis.conf:/etc/redis/redis.conf表示将本地/home/redis/conf/redis.conf映射为docker容器上的/etc/redis/redis.conf,这样再配合指令末尾的redis redis-server /etc/redis/redis.conf实现让docker容器运行时使用本地配置的Redis配置文件的功能了。
- redis redis-server /etc/redis/redis.conf表示运行redis服务器程序,并且指定运行时的配置文件
docker ps 查看服务是否启动
配置nextcloud+redis
cd /home/nextcloud/config
修改 vim config.php
在末尾添加如下代码
'redis' =>
array (
'host' => '192.168.1.104',
'port' => 6379,
'password' => '123456',
),
重启nextcloud
docker restart nextcloud
进入redis容器查看是否已进入缓存
docker exec -it redis bash
#进入redis-cli
> redis-cli
> auth "123456"
> keys *
可以看到已经有值进来了,就证明已经成功。
效果
颜值确实在线。
Nextcloud在应用市场内还有很多支持的apps,有兴趣可以多研究看看