你正在浏览的是 写意生活 目录

三十随笔

0 ~o~

人真的是一种越长大越孤单的动物。
曾经也是个爱做梦的少年,到现在每每回望,反倒觉自己是多么的可笑。
如果以十年为一个标记,就让我在这第三个十年行将结束的时候,来段回眸。
第一个十年带给我的记忆,是在粮站的日子。九十年代的模样,依旧清晰。串起这些记忆的,该是上松线这条蜿蜒的柏油公路吧。从柳城母亲工作的针织厂,到父亲陆续工作过的章岸粮站、泽村粮站,塘头的外婆家。生活的一切总是沿着这条柏油公路蜿蜒。我是个爱哭的孩子,晚上想家在哥哥家哭硬要大舅送我回去直到现在还被哥哥他们说起。在泽村一直念到三年级,与外婆家的叶鹏,宇柯,飞龙等小伙伴上山下河,在油菜花丛下玩耍…那段时光永远都是暖色调的滤镜,傍晚村子里的炊烟,晚自习回家沿着柏油公路打着手电,路旁稻田里的蛙鸣,还有外公在村口桥头等待的身影…
第二个十年,是最傻的十年。那些日子不知道自己是怎么熬过来的。曾经闪耀过膨胀地不可一世,也曾跌落过坠入谷底。这十年是最怀疑自己的十年,无处倾诉。曾经一直以为可以依靠的父母,当自己在学校被老师的暴力对待时,却也没有给我可以依靠的肩膀。那一刻,冷到了极点。有些事,真的是一辈子也无法释怀。现在想来倒是钦佩曾经的自己的忍耐力,想在今日是无论如何也无法接受的。最傻的少年总会做最天真的梦,还记得偶然从柯猪还是郑宇那听到K歌之王这首歌,哭了,“我已经相信有些人我永远不必等”。那时候的自己信奉的是喜欢就要表白,真不懂当时的自己哪来那么多戏,无论曾经的人现在何处,原谅那个傻傻的少年,在以后的以后,各自安好。
第三个十年,该是歉意吧。终于在这个阶段脱离了父母的束缚,可以出去走一走了。从习惯一个人到习惯了一个人,一个人背起背包,去了西北。坐了20多个小时的火车,从杭州到西安,然后一路再到兰州,去了青海路、敦煌。在火车上与天南海北的人一路扯淡,在青旅里听各路大神讲述着各自的故事。独自去雨崩徒步,忘不了在梅里雪山脚下的民宿里看着雪山聊着天。一路上遇到一起走的伙伴,有些走着走着就散了,感谢那些还能一直联系的朋友。人生路难,谢谢你们一路的陪伴。学会了怎样开始,学会了怎样坚持。生活磨灭曾经心中的那些敏感和脆弱,让我能更加坦然地走下去。对于那些走着走着就散了的,无论是什么原因,我都要说一声抱歉。希望我们回忆起来都能记住那些美好的。
记得有人说过,太久没有愿望,于是愿望就会不再理睬你。
真不记得自己多久没有许愿了,希望每个人都过得开心,致曾经的我们。
Peace and love!致未来。

写在周五

0 ~o~

又到了周五了

最近组织架构调整带来的阵痛还未完全消化

一周的时间很快就过去了

迷茫的找不到方向

但是逐渐看到曙光

接触了解的越多,就越觉得不懂的东西有太多

这一周甚至晚上睡觉还在想着大数据、集群、长传…

利用Cloudreve搭建私有云盘

0 ~o~

转自:http://www.senra.me/build-your-own-cloud-storage-series-cloudreve-another-production-of-shudong-share-author/

一.介绍

Cloudreve这个我最早是在QQ群里看到的,有人发了一张图片,发现界面看上去很棒,我之前做了一个自建私人云盘的系列文章,在写的过程中搜集了很多相关的程序,毫不夸张的说我可能把国内外这方面的程序都起码是过了一遍的,然而这个看上去这么棒的程序我怎么会漏掉呢。

于是在百度上谷歌上到处搜索,然而当时作者还没有发帖,官网的搜索引擎Rank也很低,我只找到一个.com的网站,还是显示的域名正在出售,正在疑惑之时突然想起,这也许是有人新开发的程序,由于有中文,所以或许是国人开发的,于是尝试去GitHub搜索,果不其然,发现了它的Repo。

高兴之余突然发现作者的名字有点眼熟,点开他的Repo列表一看,原来是树洞的作者,惊了。然后也在Repo里看到了Demo网站,访问后感觉确实不错。

然后当天晚上就在Hostloc以及V2ex等网站上看到了作者发帖介绍他的新程序_(:з」∠)_,我也算是抢先了。

说了这么多废话,我还是来介绍下Cloudreve吧。Cloudreve基于ThinkPHP构建的网盘系统,能够助您以较低成本快速搭建起公私兼备的网盘。

目前已经实现的特性:

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

安装需求:

  1. LNMP/AMP With PHP5.6+
  2. curl、fileinfo、gd扩展
  3. Composer

虽然是才放出来不久,但是从一开始功能就是相当多的了,我比较喜欢自建远端存储以及断点续传的功能,当然WebDAV这种也是必不可少的啦,Office的在线预览算是锦上添花。其实各种分享以及权限限制在树洞外链上其实也以及比较完善了,但是树洞对云存储过于依赖了,本地化的反而不足,由于一堆云在数据量和流量大的情况下比购置服务器或者VPS贵多了,所以实在是不适合。

二.安装

安装的话和常规的下载安装包解压不太一样,虽然如果非要这样也是可以的,Cloudreve使用Composer实现快捷的安装与配置。

当然,在安装之前还是请配置LNMP的环境,各种一键包和面板均可,然后新建vhost并创建新的数据库以及用户,我这边以OneInStack举例

12345678 #这儿的php路径请自行确认curl -sS https://getcomposer.org/installer | /usr/local/php/bin/phpmv composer.phar /usr/local/bin/composer #安装开发版,目前还在开发阶段,所以也没有啥稳定版啊啥的,不过也没啥大问题其实cd /path/to/vhost/root/#请注意这一步还会检测PHP的模块,如果缺少fileinfo请自行安装composer create-project hfo4/cloudreve:dev-master

然后会有个配置指引,按照说明输入数据库信息以及网址就行,我这边一开始创建的Mysql用户是只允许localhost访问的,用127.0.0.1不行,后来又加了个127.0.0.1能访问的用户才行

接着我们需要修改下程序的位置,以及目录的权限,主要是runtime目录以及public目录

1234567891011 #默认在vhost根目录下使用composer获取会把程序放在cloudreve文件夹中,我们需要 直接用根目录的话要么修改vhost配置,要么把里面的文件移出来,这个看你选择了cd /path/to/vhost/root/mv cloudreve/* .mv cloudreve/{.htaccess,.travis.yml} .rm -rf cloudreve#如果你打算使用二部验证功能,请额外运行如下命令添加依赖composer require phpgangsta/googleauthenticator:dev-mastercomposer require endroid/qrcode#设置所有者以及权限chown -R www:www *chmod -R 755 runtime public

这样就OK了,接着由于ThinkPHP框架的要求,我们需要设置下伪静态,Apache由于.htaccess文件的关系只要启用mod_rewrite.so模块并确保AllowOverride All就能够自动处理,而Nginx需要手动添加如下内容到vhost配置文件中。

当然,你也可以在面板或者一键包创建vhost的时候选择ThinkPHP伪静态

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

接着重启下Nginx然后就OK了,对了,还得配置下Cron,来定时处理一些任务

12345 #自己改域名echo “* * * * * curl http://pan.example.com/Cron” >> /var/spool/cron/rootchmod 600 /var/spool/cron/rootservice crond reloadservice crond restart

然后访问 http://pan.example.com/Admin 登陆就行
初始用户名:admin@cloudreve.org
初始密码:admin

登陆后可以右上角进管理面板,改改用户名、邮箱、密码啥的,如果是私人使用也可以把注册功能关掉

剩下的还有启用Sendfile支持和配置远程存储我就不提了,因为文档相当完善,下面给链接

  1. https://github.com/HFO4/Cloudreve/wiki/启用Sendfile下载支持
  2. https://github.com/HFO4/Cloudreve/wiki/远程存储服务端搭建

参照着来就OK,如果安装中还有其他问题可以看看FAQ

  1. https://github.com/HFO4/Cloudreve/wiki/安装及初次使用FAQ

如果有什么意见或建议可以去GitHub开issue,看了眼最近的issue作者可能会在下个大版本更新中添加Aria2实现离线下载功能,还是比较期待的。

低成本获得Alphassl 泛域名证书的方法

0 ~o~

1、免费申请页面:https://ssl.ni-co.moe/ssl/create/free.html

2、证书知识普及:

Ⅰ.   在这个频出各种门各种事件的年代,信息安全越来越重要,Https加密也将势必成为主流,百度不仅开始支持https访问还宣布开始收录https站点了(各站长不用担心因为https影响收录了),淘宝也开始支持https访问了,各巨头都开始向支持https努力,我们也不能落后时代潮流啊。

  • ssl证书的用处如下:

1、确认网站真实性(网站身份认证):用户需要登录正确的网站进行在线购物或其它交易活动,但由于互联网的广泛性和开放性,使得互联网上存在着许多假冒、钓鱼网站,用户如何来判断网站的真实性,如何信任自己正在访问的网站,可信网站将帮你确认网站的身份。

2、保证信息传输的机密性:用户在登录网站在线购物或进行各种交易时,需要多次向服务器端传送信息,而这些信息很多是用户的隐私和机密信息,直接涉及经济利益或私密,如何来确保这些信息的安全呢?可信网站将帮您建立一条安全的信息传输加密通道。

  • 而使用https我们必须要有ssl证书,ssl证书是分等级的,有DV、OV、EV三种:

1、DV是Domain Validation 的缩写,意思就是对网站域名所有权进行验证。CA认证机构会向域名持有者的邮箱发送相应的邮件,以确认证书和域名的所有权关系。其特点是简单快捷,价格便宜,缺点是无法保证网站经营者的身份,因此一般仅用来提供数据加密的功能,属于Class 1验证的证书。

2、OV是Organization Validation 的缩写,这种证书在颁发的时候会对网站所有单位的身份和域名的所有权进行证实行验证,所以一般电子商务类的网站往往会做OV的认证。价格当然也会比较昂贵,证书颁发周期也会比较久,属于Class 2或者Class 3 验证的证书。

3、EV是Extended Validation 的缩写,也是最严格的身份验证,此证书审核证书申请人对域名的所有权,以及详细的企业/组织相关信息审核,当用户在访问通过EV认证的网站时候,浏览器的显示为绿色,当然价格也是相当的昂贵,属于Class 4 验证的证书。

以上域名证书一般都支持一个或多个域名,即只能绑定一个域名(绑定domain.com可以顺便绑定www.domain.com,而其它的只能绑定一个二级或N级域名)

还有一种SSL证书支持泛域名(Multiple Subdomains),就是通配符SSL证书(Wildcard SSLCertificates)。野卡能绑定*.domain.com,一次性解决所有二级域名的绑定。这大大方便了我们的使用,但是也正因为如此,野卡普遍价格高昂,所有我在这儿介绍——Alphassl Wildcard,一种能廉价获得的野卡,还有一种是Starssl的野卡,这个我将在下一篇博文中提到。

Alphassl是Globalsign旗下的一家便宜ssl提供商,尽管便宜,但是在多终端的兼容性上十分给力,基本不会出现设备不认证书的情况。

Ⅱ.  接下来我介绍下我了解的几个获得便宜的alphasl wildcard的方法,官方报价149刀/年,虽然比起其它的便宜不少,但是对于博主这个穷学生来说还是太贵了,所以我们并不从官方购买,代理商的价格尽管比官方便宜然而依旧不能高攀,所以我们购买的alpassl wildcard的几个途径的根本来源其实是同一个,那就是Singlehop旗下主机拥有的无限签发alphassl wildcard的权利,也就是说,其实alphassl wildcard是没有成本的,当然singlehop的主机是非常昂贵的,所以我们也不能要求alphassl wildcard完全免费。

一、Vmbox.co主机附送免费的alphassl wildcard

VPS配置:E5-2620v2 CPU  512内存 25G硬盘RDid10   1T带宽  G口共享  SolusVM面板 1个IP地址
数据中心订购列表:
NL:https://my.vmbox.co/cart.php?a=add&pid=29    测速:http://ams-lg.vmbox.co
凤凰城:https://my.vmbox.co/cart.php?a=add&pid=42  测速:http://phx-lg.vmbox.co
LA:HTTPS:/ /my.vmbox.co/cart.php?a=add&pid=13   测速:http://la-lg.vmbox.co

vmbox家的机子其实还好,不过服务实在很一般,所以不建议作为日常使用,只去买一个月搞一张ssl证书就好了,从上面的地址进去购买,然后在付款时输入优惠码(promo code):CJTNL2T059

vmbox

能取得50%的优惠,配合最低配置就是3刀/月,对了,在选择套餐时记得勾选最下面的。

下单付款,等开通后发tk给客服要求alphassl wildcard,记得附上*.domain.com(你的泛域名)+域名邮箱(建议admin@domain.com这种的)+CSR(自己生成,记得保留key),好了,最蛋疼的地方来了,vmbox的客服也是感人,tk基本上是一天只回一次,所以把一切都在第一次说完吧,然后就慢慢等待,接下来你会收到globalsign发到你域名邮箱里的域名所有权验证邮件,按照说明通过验证就行,接下来继续等,最后你会收到一封含有你的ssl证书内容的邮件,按照说明添加交叉根证书保存为crt格式就行。

二、歪果仁啥的就是不方便,语言不通对吧,那就来看看国人的吧,来自我们的兽兽宝宝的福利(showfom),在vpsto购买任意vps套餐均可获得一张alphassl wildcard, vpsto提供廉价的kvm洛杉矶vps,配置不高,但是用处大家都清楚,不要啥配置,也提供高质量的Softlayer服务器,也是kvm架构的,目前有香港、日本两地,还有机房位于 Equnix的8.to的新加坡vps,用处很广泛,速度给力,上完锐速刷刷的。好吧,我在安利_(:з」∠)_,请不要在意。购买后可以发中文tk要求证书(既然是中文的那我不说啥了)签发的操作和上面的类似。

三、貌似我记得geekzu站长也提供这个证书,我来宣传下他的淘宝店吧:极雪的黑店,价格吗,自己去聊聊呗。

四、凤凰君の杂货铺,凤凰菊苣是大神咯,认识的人估计不少,他那有不少证书,因为代理等级很高所以便宜不少,安利下。至于alphassl wildcard,当初在杂货铺里是有卖的,现在不开放卖了,不过和凤凰卷菊苣聊聊应该会给你个好价,如果是公益组织和开源组织啥的貌似可以免费哟。

 

自建短链服务系列—Polr

0 ~o~

之前一直用yourls 搭建的短网址服务,可玩性比较强,但是功能强大不够简洁。

Polr 没有太多的设定和插件,也没用什么需要自己修改代码的地方,就是这样,安装,然后使用。

参考下Demo,感觉还是不错的
地址: http://demo.polr.me/
用户名: demo-admin
密码: demo-admin

前言

就像二维码是很多移动营销途径中重要的一环,在PC上短链接也起着相同的作用,不过对于运营来说最重要的就是数据了,诸如点击数、来源、时间等等,使用像 t.cn url.cn 等第三方短链接的话就无法获得任何反馈数据,因此也有一些针对企业级的短链接服务,不过是收费的,而其他的免费短链接也会有种种限制。

这里就要介绍一下我们的 Polr 了,功能也是非常的强大。

介绍

Polr 是一款开源的 PHP 短链接软件,支持包括:

  • 已生产短链接的地址修改(营销支持)
  • 统计点记着信息(来源、时间等)
  • 二维码生成(移动营销支持)
  • API 支持(开发支持)

不过由于 Polr 是一款歪果仁开发的软件而且也没提供中文支持,还好有 skywalker 为我们带来了中文优化支持和一些改进。也就是 Polr 中文优化版 了。

题外话,其实自从微博SNS火了起来以后短链接软件就层出不穷,但是每个开发者都是开发完了事的,不会提供更多的升级也不会有漏洞的修补,推荐 Polr 呢,主要还是因为它一直在升级和修复。

要求 & 收获

需要使用到的产品:

  1. 搭建了 LNMP 环境的任意(包括非阿里云)服务器/ECS

通过本文你将讲学到:

  1. 使用 Composer 安装 PHP 程序
  2. 安装短链接好吃呢个徐

教程

由于篇幅限制,不过多介绍 LNMP 环境介绍和虚拟主机搭建,具体教程请看:【云计算的1024种玩法】手把手学会配置安装 LNMP 建站环境

安装 Composer

由于目前 Cloudreve 处于开发状态,所以我们需要通过 Composer 进行安装。

一、运行下面代码即可全局安装 Composer:

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer

二、使用国内镜像 因为默认源在海外,国内服务器下载可能会很慢,海外服务器可以跳过:

composer config -g repo.packagist composer https://packagist.phpcomposer.com

安装 Polr

一、创建好网盘用的虚拟主机和数据库后,进入虚拟主机网站的目录,例如我的是 /data/wwwroot/polr,然后开始下载安装:

cd /data/wwwroot/
git clone https://github.com/skywalker512/polr.git
cd polr

二、那么我们网站的运行目录就是 /data/wwwroot/polr/public

root    /data/wwwroot/polr/public;

然后在虚拟主机的配置 conf 中加入伪静态规则:

    location / {
            try_files $uri $uri/ /index.php$is_args$args;
    }

三、接下来会进入一段时间的等来下载相关依赖库,进行耐心等待:

使用 Polr 搭建一个属于自己的企业级短链接工具-米饭粑

出现下面语句就是成功了:

Generating optimized autoload files

四、复制一个 .env 文件副本,在网站目录下运行下面语句:

cp .env.setup .env

如果 .env.setup 文件不存在,那么我们就重新下载一个:

wget https://raw.githubusercontent.com/skywalker512/polr/master/.env.setup

安装

所以不说别的了,赶紧来搭个玩玩。对了,照例说一下环境要求

依赖程序:

  1. Apache, nginx, IIS, or lighttpd (官方推荐Apache)
  2. PHP >= 5.5.9
  3. MariaDB or MySQL >= 5.5, SQLite alternatively (SQlite如果对外开放使用不建议,如果用的人多可能性能不足,当然好处是方便)
  4. composer

PHP要求:

  1. OpenSSL PHP Extension
  2. PDO PHP Extension
  3. PDO MySQL Driver (php5-mysql on Debian & Ubuntu, php5x-pdo_mysql on FreeBSD)
  4. Mbstring PHP Extension
  5. Tokenizer PHP Extension
  6. JSON PHP Extension
  7. PHP curl extension

我们依旧使用LNMP的环境,LAMP的差不多,只是不需要像Nginx一样自己配置伪静态,所以不说了。

依旧配置环境,新建vhost,创建数据库和用户都不提了

#进入vhost设置的网站根目录
cd /path/to/vhost/root
git clone https://github.com/cydrobolt/polr.git --depth=1 .
#如果开着selinux请运行这个,当然我其实建议关闭selinux,不然太麻烦
chcon -R -t httpd_sys_rw_content_t storage .env
#获取composer,你装过了的话请跳过
#这儿的php路径请自行确认
curl -sS https://getcomposer.org/installer | /usr/local/php/bin/php
mv composer.phar /usr/local/bin/composer
#使用composer安装依赖
rm composer.lock
composer install --no-dev -o
#修改文件所有者
chown -R www:www * .*
#复制一份默认配置,不用改,后面安装的时候会自动修改
cp .env.setup .env

按照要求,我们需要把vhost的根目录修改为public文件夹,参照如下
Apache(另外请确保启用mod_rewrite)

<VirtualHost *:80>
 ServerName gto.ee
 ServerAlias www.gto.ee
 
DocumentRoot "/var/www/polr/public"
 <Directory "/var/www/polr/public">
 Require all granted
 Options Indexes FollowSymLinks
 AllowOverride All
 Order allow,deny
 Allow from all
 </Directory>
</VirtualHost>

Nginx

server { 
 listen 80;
 server_name gto.ee www.gto.ee;
 access_log off;
 index index.html index.htm index.php;
 root /data/wwwroot/gto.ee/public;
 
 location / {
 try_files $uri $uri/ /index.php$is_args$args;
 }
 
location ~ [^/]\.php(/|$) {
 #fastcgi_pass remote_php_ip:9000;
 fastcgi_pass unix:/dev/shm/php-cgi.sock;
 fastcgi_index index.php;
 include fastcgi.conf;
 }
 
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ {
 expires 30d;
 access_log off;
 }
 location ~ .*\.(js|css)?$ {
 expires 7d;
 access_log off;
 }
 location ~ /\.ht {
 deny all;
 }
}

我只是测试,所以没有加https啥的,你要的话自己参照着改,主要就是添加那个第一条的rewrite用的location规则,以及修改root,把目录后面加上public

PS.域名别忘记改了

然后重启nginx,访问http://域名/setup/

如果正确的话就安装成功了

前往登陆,登陆主要是管理用户和查看当前短链,如果在安装向导的时候启用了分析功能的话能看到

一切OK

分析界面大概是这样,当然,如果想要时间正确请设置PHP的时区为PRC,并且它这个GeoIP库可能有点问题,可能需要你研究下更新

如果希望获得更多的功能,那么还是YOURLS更好,配合各种插件以及利用API二次开发能够达到相当好的效果,但是,如果你只是简单的需要一个属于自己的短链服务,那么Polr可能是你所需要的。

您使用的是IE浏览器,请下载Chrome来获得更好的体验