Win10下自建私有云日记
前言:嘿嘿,一不小心连自己照片都暴露了(都怪磁贴)。前几天整理自己照片的时候,发现自己的OneDrive容量满了。既不想买Office365又不想使用国内毒瘤般的百度网盘ヾ(´A`)ノ゚,无意中看到了一款名为Pydio的程序,支持IIS下自建私有云。本篇就来谈谈部署Win10&(IIS10,PHP7,MySQL57,Pydio8)的那点事
环境:
- Win10渣平板一只,64GB可用
- 路由器(需要支持端口映射,可选)
- 域名一个(可选)
- 普通家庭宽带
在家自建私有云的最大的好处就是数据是完全在你本人手中的,而使用国内其他网盘,那么意味着你的数据就处于网*监的管理之下。如果他们啥时候把你的账号封了的话,那么你的数据就无力回天了。之前我就遇到过这种情况,之后我就将数据迁移到海外的网盘里了。但是微软和Google等公司的网盘服务器在海外,受(你懂的)干扰,经常会出现打不开的问题。虽然说使用S*S可以解决这个问题,不过私有云具有局域网传输,速度更快,容量随时可以扩充的优点是公有云做不到的。
考虑到手里的闲置设备为一Windows平板,不方便换系统,这时像Owncloud,Nextcloud这类不能支持IIS的网盘程序就只能放弃了。无意中看到了GooglePlay市场上Pydio的广告,立刻就被这一款程序的颜值所征服了。更棒的是这款程序支持Windows作为服务器,还有全平台的客户端支持。于是立刻开始部署IIS+PHP+MySQL环境开始为搭建私有云做准备。这里晒一下我电脑的渣配置↓
虽然这个设备的配置实在让人难堪,不过作为平板,24小时运行和无风扇噪音的优势还是很棒的。配置环境前,最好习惯性的更新下系统。然后我们打开程序和功能-启用或关闭Windows功能,启用全部的IIS(InternetInformationService)服务。PS:上只有Windows10专业版以上才能支持IIS的安装。按照下图开启后,重启使之生效。
重启后我们就能看到IIS的管理面板了,接下来继续配置PHP。先到PHP.Net下载最新版本的PHP。此处注意,适用于Windows的PHP有两个类型,线程安全型和非线程安全型。而Windows的IIS上我们一般通过fast-cgi的模式执行PHP进程,这样可以取得更好的性能。所以我们这里下载适合IIS的非线程安全版。下载完成后,我们把压缩包解压,选取一个目录存放下PHP程序。这里我把PHP放在D盘。
接下来我们要使IIS关联PHP,这里先配置php.ini,修改php.ini.developmet文件,开启如下图扩展↓
前面最好再设置下服务器时区和一些细节的选项,这里注意下PHPsession的目录必须设置正确,不然会无法登录。最好为了起到加速作用,我把PHP的opache缓存也打开了。做完这些,我们要做的是让IIS服务器正确识别PHP,因为请求是通过[用户—>IIS—>FastCgi—>PHP模块]来执行的。所以我们在IIS的处理程序映射里关联PHP的Fastcgi程序,如下图↓
接下来我们配置数据库,从MySQL社区网上下载MySQL社区版msi安装包。因为是根据安装包一步步安装,过程比较简单,这里就不做过多的描述了。(温馨提示一点,使用安装程序安装后MySQL服务可能会由于各种愿意无法启动,这时候一定要学会看log,这回我遇到了一个错误导致无法运行,经过检查是因为我电脑名称设置了中文,导致日志以中文命名了。经过手动修改my.ini配置文件后得到解决。)完成后,这里推荐安装一个小程序MySQL-Notification来方便启用/暂停MySQL服务。
通过MySQLworkbench,我们为私有云程序单独建立一个用户和数据库,和root用户隔离可以一定程度上保证安全性。当然我们也可以使用phpMyAdmin来完成这一操作。接下来我们为私有云创建虚拟主机目录。我们到IIS新建网站,绑定一个本地磁盘文件夹来托管网站文件↓
这里要注意的是,新建的虚拟主机目录必须保证IIS拥有读写权限。这里我采用给IIS分配一个新用户,然后授予新用户网站目录的权限的方法。完成后我们绑定下服务器的监听端口,如图,打开80和443的监听,然后绑定自己的域名,当然如果你没有域名,host一栏可以直接留空。
然后我们最后设置下IIS默认文档,为其添加index.php首页。因为Pydio的默认稳定就为index.php。这里的顺序大家可以根据自己的喜好和实际需求修改。
最好为了完美起见,我们在Pydio的安装目录下添加web.conf,使得IIS不会把用户本来的文件直接执行。同时关闭IIS的目录列表功能。然后我们把Pydio的安装包下载到电脑,并解压到网站目录。
这时候通过浏览器打开127.0.0.1或者访问localhost,就已经能显示Pydio的欢迎页面了,这时候为了能让外网访问,我们启用动态域名解析和路由器端口映射。
如果追求完美的还可以给服务器安装一个ssl证书,启用https加密,然后再开启重定向模块,绑定强行ssl。顺便告诉大家个小秘密:IIS10安装了ssl证书后会自动启用HTTP/2模块,提速效果比较明显!这里我全部配置完细节后给大家秀一下结果:
图为局域网连接↓
图为外网连接↓
手机APP截图(GooglePlay需要0.99美元)↓
手机APP材料设计↓
总体来说这个私有云还是不错的,支持webdav,Windows,iOS,安卓,mac,全套客户端。美中不足的是这个程序对中文兼容不是那么好。如果有中文文件夹可能会出现同步错误。
对IIS无感,我还是选择Windows版的Nginx+MySQL+PHP环境好了
如果我们尝试用Linux就会发现不会设置DDNS,(我Windows也不会用花生壳~)