Cloudreve 在底层支持不同的云存储平台,用户在实际使用时无须关心物理存储方式。你可以使用 Cloudreve 搭建个人用网盘、文件分享系统,亦或是针对大小团体的公有云系统。

Cloudreve同时还带有对接Onedrive功能(需要ssl域名),因为我对于网盘的需求仅限于比较小型的文件,而且服务器的性能也并非存储传输特化型,出于探索的目的,搭建了目前的“微缩型”网盘。看了好处都有啥,下面开始实际操作,本篇文章就下载安装与绑定子域名为中心,展开叙述。

Cloudreve下载与安装

Download

下载之后将全部文件解压到网站根目录,访问http://你的域名/CloudreveInstaller,之后会让你填写数据库密码与对应的库名称,可以配合使用phpMyAdmin之类的工具新建数据库,也可以通过指令实现操作。

给予解压后的文件夹读写权限

[root@host]# chmod -R 777 *

创建新的数据库

[root@host]# mysql -u root -p   
Enter password:******  # 登录后进入终端

mysql> create DATABASE YOURNAME;

配置伪静态

location / { 
    if (!-e request_filename) {        rewrite ^(.*) /index.php?s=/$1
        last;break; }
}

之后便没什么问题了。

lnmp开启php_fileinfo函数

如果你和我一样使用的是lnmp安装包,那么为了使得Cloudreve当中的头像显示正常,就需要开启php的fileinfo函数。这里以lnmp1.4和php7.1.7为例。

php -m

可以输入上述指令查看已安装扩展

首先找到lnmp1.4.tar.gz的解压目录并打开,找到对应的php压缩包,解压并打开

[root@host]# tar jxf php-7.1.7.tar.bz2 && cd php-7.1.7 && cd ext
[root@host]# cd fileinfo
[root@host]# /usr/local/php/bin/phpize #执行安装命令
Configuration for:
...

[root@host]# ./configure --with-php-config=/usr/local/php/bin/php-config
[root@host]# make && make install
Build complete.
Don't forget to run 'make test'.
Installing shared extensions: ...

最后出现上述的几行反馈就说明成功了,找到php.ini,并加上一行extension=fileinfo.so

[root@host]# find / -name "php.ini"

最后重启php-fpm

[root@host]# service php-fpm restart

大功告成!

nginx开放多个端口

http的默认端口是80,而https的默认端口是443,可以参考前面的一篇文章Nginx配置Https访问,这里同样需要修改nginx.conf文件。

例如这里我使用的是404端口,那么加入下面一段代码

server{
    listen 404; #你要使用的端口
    server_name _;
    index index.html index.htm index.php; #首页文件
    root  /yourpath; #你的解压路路径,index的上一级目录
    location / { #配置伪静态
    if (!-e request_filename) {        rewrite ^(.*) /index.php?s=/$1
        last;break; }
    }
}

然后重载nginx配置文件

[root@host]# service nginx reload

这个时候不妨访问http://你的域名:404/就已经可以打开网盘的页面了。

三级域名解析指向同一ip不同端口

这里比较容易实现,只要在解析记录里加上一条记录即可

主机记录填你想要的三级域名,比如cloud.toshokan.top就填cloud,记录类型选择隐性url,记录值填写指向的网页url,比方说填写https://你的域名:404/,那么这条记录就指向了404端口。

保存设置,等解析生效之后,访问三级域名出现的就是你想要的端口了。虽然还有一些问题存在,例如标签页的显示仍然有一定问题。

还有另一种修改nginx.conf实现反向代理的方法,这里就不做介绍了。

FAQ

F.css文件在哪些位置

Q.可以通过f12看到css文件存储在了static/css文件夹下


F.为什么访问的时候自动跳转了https,或者自动下载了一个1kb的文件

Q.如果你使用的是谷歌浏览器,可以参考下面这篇文章如何禁止chrome浏览器http自动转成https,如果任未生效,尝试清理浏览器缓存

附上之前博客的复刻网址https://book.toshokan.top/