cloudreve-自建云盘

cloudreve-自建云盘_第1张图片

目前已经实现的特性:
 1. 快速对接多家云存储,支持七牛、又拍云、阿里云OSS、AWS S3、Onedrive、自建远程服务器,当然,还有本地存储
 2. 可限制单文件最大大小、MIMEType、文件后缀、用户可用容量
 3. 自定义主题配色
 4. 基于Aria2的离线下载
 5. 图片、音频、视频、文本、Markdown、Ofiice文档 在线预览
 6. 移动端全站响应式布局
 7. 文件、目录分享系统,可创建私有分享或公开分享链接
 8. 用户个人主页,可查看用户所有分享
 9. 多用户系统、用户组支持
 10. 初步完善的后台,方便管理
 11. 拖拽上传、分片上传、断点续传、下载限速(*实验性功能)
 12. 多上传策略,可为不同用户组分配不同策略
 13. 用户组基础权限设置、二步验证
 14. WebDAV协议支持

环境要求

a: LNMP/AMP With PHP5.6+ and mysql5.6+
b: curl、fileinfo、gd扩展
c: Composer

安装

部署cloudreve之前需要部署lamp/nmp的环境。我们可以自己手动安装,也可以采用面板或者一键安装包安装。

一键安装包:
	https://lnmp.org/install.html

lnmp安装软件及其安装目录
	https://lnmp.org/faq/lnmp-software-list.html#lnmp.conf

安装lnmp稳定版
	wget http://soft.vpser.net/lnmp/lnmp1.6.tar.gz -cO lnmp1.6.tar.gz && tar zxf lnmp1.6.tar.gz && cd lnmp1.6 && ./install.sh lnmp
	
 1. 首先会提供多个版本的MySQL,MariaDB数据库选项,需要注意的是MySQL 5.6,5.7及MariaDB
    10必须在1G以上内存的更高配置上才能选择!如仅需安装数据库在lnmp安装包目录下执行:./install.sh db
      
 2. 设置MySQL的root密码(为了安全不输入直接回车将会设置为lnmp.org#随机数字)如果输入有错误需要删除时,可以按住Ctrl再按Backspace键进行删除(个别情况下是只需要Backspace键)。输入后回车进入下一步
 3. 询问是否需要启用MySQL InnoDB,InnoDB引擎默认为开启,一般建议开启,直接回车或输入 y
    ,如果确定确实不需要该引擎可以输入 n,(MySQL 5.7+版本无法关闭InnoDB),输入完成,回车进入下一步。
 4. 输入要选择的PHP版本的序号,回车进入下一步,选择是否安装内存优化,可以选择不安装、Jemalloc或TCmalloc,输入对应序号回车,直接回车为默认为不安装。

cloudreve部署

一 装包部署:

安装包地址:https://cloudreve.org/download.php
 1. 前往安装包发布页下载最新的安装包,解压至您网站的根目录。
 2. 给runtime目录写入权限,如果你使用本地存储,public 目录及其子目录也需要有写入权限;
		 chown -R www:www *
		 chmod -R 755 runtime public
 3. 配置URL重写,Cloudreve的配置方式与ThinkPHP相同,如果遇到麻烦,你也可以参考有关ThinkPHPURL重写的配置教程。
					如果您使用的是Apache,一般情况下无需进行额外配置,只需要启用url_rewrite模块即可。
					如果您使用的是nginx,请在网站配置文件中添加以下内容()做伪静态):
								location / {
							   if (!-e $request_filename) {
							   rewrite  ^(.*)$  /index.php?s=/$1  last;
							   break;
							    }
							 }
4.配置下server下的nginx-php-fpm(可选)
 						4.1:nginx使用php-fpm的方式通信
		 							location ~ \.php$ {
							        fastcgi_pass   127.0.0.1:9000;
							        fastcgi_index  index.php;
							        fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
							        include        fastcgi_params;
							    }
							}
						4.2:	如果nginx使用unix socket的方式通信,则需要更改(ps -ef | grep php 中master orocess的文件)
								找到listen = 127.0.0.1:9000;注释掉,增加socket连接:listen = /tmp/php-cgi.sock
											location ~ \.php$ {
										       # fastcgi_pass   127.0.0.1:9000;
										       	fastcgi_pass unix:/tmp/php-cgi.sock
										        fastcgi_index  index.php;
										        fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
										        include        fastcgi_params;
										    }
										}	
 					    4.3:重启你的php-fpm和nginx服务,建议先重启php-fpm。
	 									/etc/init.d/php-fpm restart
	 									/etc/init.d/nginx restart
 5. 配置MYSQL
 	5.1:登录数据库
 	5.2:创建数据库
 		CREATE DATABASE 数据库名 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
 	5.3:导入数据库文件:
 		cd /home/wwwroot/default && mysql -u root -p 数据库名 < mysql.sql	
 6. 在发布目录中找到application目录下的database.php:
 			将数据库的基本信息填入
 				return [
							    // 数据库类型
							    'type'            => 'mysql',
							    // 服务器地址
							    'hostname'        => '127.0.0.1',
							    // 数据库名
							    'database'        => 'cloudreve',
							    // 用户名
							    'username'        => 'root',
							    // 密码
							    'password'        => '123456',
							    // 端口
							    'hostport'        => '3306',
							    // 连接dsn
							    'dsn'             => '',
							    // 数据库连接参数
							    'params'          => [],
										.....
										.....
 7. 创建一个定时任务crontab
			echo "* * * * * curl http://ip_address/Cron" >> /var/spool/cron/root
			chmod 600 /var/spool/cron/root
			systemctl restart crond
			ststemctl enable crond
			systemctl status crond
 8. 	启用Sendfile支持,可大大降低用户下载文件时服务端的压力。使用前请先在后台-设置-杂项中启用X-Sendfile传输模式,并根据你使用的服务器软件选择正确的Header,并更改服务器配置:
 		Apache:
	 			到https://www.apachelounge.com/download/ 下载并安装mod_xsendfile
				在站点配置文件中加载并启用模块:
				LoadModule xsendfile_module modules/mod_xsendfile.so
				XSendFile On 
				XSendFileAllowAbove On
			注:如果下载下载的文件为空文件,则说明后台Sendfile Header选项 选择有误。
	Nginx:
		在站点配置文件nginx.conf中添加
				location /protected_files {
				    internal;
				    #此处为public/uploads目录的绝对路径
				    alias  /home/wwwroot/file.cloudreve.org/public/uploads/;
				}
 9. 	浏览器访问:http://ip_address/
10.点击用户面板-选择用户-管理员账号邮箱,密码。
11.点击用户面板-选择用户组-人员-初始容量
12.点击用户面板-选择上传策略-单文件最大大小
				
ps -ef | grep php 中master orocess的文件

cloudreve-自建云盘_第2张图片

二 composer部署:

Composer为PHP的包管理器,你可以使用Composer在命令行环境下进行安装。
	

 1. 安装Composer:

		curl -sS https://getcomposer.org/installer | php
		mv composer.phar /usr/local/bin/composer
		详细安装说明参考:http://docs.phpcomposer.com/00-intro.html
		
	

 2. 由于我们国内环境限制,切换至Composer中国全量镜像以加快安装速度。

		命令输入:composer config -g repo.packagist composer https://packagist.phpcomposer.com
		其他参考:https://pkg.phpcomposer.com/
		
	

 3. 在空白的网站根目录下执行,没有则创建一个空目录。

		composer create-project hfo4/cloudreve:dev-master ./
		
	

 4. 等待安装依赖库后,会自动执行安装脚本,按照提示输入数据库账户信息。在此过程中,请给runtime目录写入权限,如果你使用本地存储,public
    目录及其子目录也需要有写入权限;在安装过程中还额外需要application
    static目录的写入权限,但这两个目录在安装后就可以恢复原有权限配置;

	
						   ___ _                 _                    
					  / __\ | ___  _   _  __| |_ __ _____   _____ 
					 / /  | |/ _ \| | | |/ _` | '__/ _ \ \ / / _ \
					/ /___| | (_) | |_| | (_| | | |  __/\ V /  __/
					\____/|_|\___/ \__,_|\__,_|_|  \___| \_/ \___|
					
					                Ver XX
					================================================
					#按提示输入信息
					......
					

 5 出现以下提示即表明安装完成:

						Congratulations! Cloudreve has been installed successfully.
						Here's some informatioin about yor Cloudreve:
						Homepage: https://pan.aoaoao.me/
						Admin Panel: https://pan.aoaoao.me/Admin
						Default username: [email protected]
						Default password: admin		

 6. 配置nginx.conf的伪静态规则:

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

 7. 创建一个定时任务crontab

			echo "* * * * * curl http://ip_address/Cron" >> /var/spool/cron/root
			chmod 600 /var/spool/cron/root
			systemctl restart crond
			ststemctl enable crond
			systemctl status crond
			

 8. 启用Sendfile支持,可大大降低用户下载文件时服务端的压力。使用前请先在后台-设置-杂项中启用X-Sendfile传输模式,并根据你使用的服务器软件选择正确的Header,并更改服务器配置:

 		Apache:
	 			到https://www.apachelounge.com/download/ 下载并安装mod_xsendfile
				在站点配置文件中加载并启用模块:
				LoadModule xsendfile_module modules/mod_xsendfile.so
				XSendFile On 
				XSendFileAllowAbove On
			注:如果下载下载的文件为空文件,则说明后台Sendfile Header选项 选择有误。
	Nginx:
		在站点配置文件nginx.conf中添加
				location /protected_files {
				    internal;
				    #此处为public/uploads目录的绝对路径
				    alias  /home/wwwroot/file.cloudreve.org/public/uploads/;
				}		

 9. 浏览器访问:http://ip_address/

 10 点击用户面板-选择用户-管理员账号邮箱,密码。

 11 点击用户面板-选择用户组-人员-初始容量

 12 点击用户面板-选择上传策略-单文件最大大小

实现结果:
cloudreve-自建云盘_第3张图片

你可能感兴趣的:(开源项目部署)