分类目录归档:计算机

powerdns踩坑记

Published / by whosb / Leave a Comment

先说总结性文章,可用,再说各种注意事项

1、网上很多文章,属于以讹传讹,很多东西已经不一样了,新版按照官方教程走会靠谱很多
2、官网教程也有问题,yum可以安装,但是版本比较老,这个不知道算明坑还是暗坑
3、powerdns-admin和poweradmin是两个东西,看教程的时候需要注意,我这次用的是前者,但是也误入歧途把后者安装了一遍。。。。。。

其他自求多福外带摸索吧,帮不了多少了。。。

wget引发的惨案

Published / by whosb / Leave a Comment

一场wget引发的惨案

事情是这样的,从一个站点下载不少资料,直接用wget -m弄回来,然后就发现坑爹了,中文乱码了,,,而且乱的匪夷所思,有的汉字编码了,有的没有编码,还有空格的问题,那是要疯啊。。。

这里先引用一下正解,然后再说我的解决方案

reference: http://m13253.blogspot.tw/2013/04/solve-corrupted-chinese-filename-for-wget.html

其实不必要像那样修改源代码,wget 的 man 页面里就有解决方法。
正解是参数 --restrict-file-names=nocontrol
Update: +筱百合 提供了他的 ~/.wgetrc 文件,方便大家借鉴:

# 不要乱转义中文
--restrict-file-names=nocontrol
# 使用重定向后的文件名
--trust-server-names=on
--content-disposition=on

————————
思路是
1、提取当前目录下乱的名字(排除掉index.html本身)
2、从index.html中提取正常中文名
3、正常名字删掉前五行
4、拼接乱的名字和正常名字
5、生成改名脚本
6、给权限执行mv index.html文件


ls -cr| grep -v "index.html" >/root/testfd/messname.txt && python /root/testfd/getrealname.py >/root/testfd/realname.txt && sed '1,5d' /root/testfd/realname.txt > /root/testfd/real.txt && paste [email protected] /root/testfd/messname.txt /root/testfd/real.txt > /root/testfd/namelist.txt && awk -F "@" '{print "mv \"" $1"\"","\""$2"\""}' /root/testfd/namelist.txt >changename.sh &&chmod +x changename.sh && mv index.html index.html.bak

踩得一些坑
生成的中间名文件不能扔到当前目录,不然会影响后面
目录文件混在一起的时候会有bug,,,没解决

getrealname.py


import sys
reload(sys)
sys.setdefaultencoding('utf-8')

from bs4 import BeautifulSoup

soup = BeautifulSoup(open('index.html') , "html.parser")

for string in soup.strings:
print(string)

cloudflare ssl 尝鲜

Published / by whosb / Leave a Comment

这算一个超简洁的说明文档吧,作为一个折腾很久的伪geek,自己blog竟然不是https,这是一件耻辱的事情,这个必须得修正,然后想了好几个方案

1 自己来
2 cloudflare来

自己来的一个问题是,要不然收费,且不便宜,免费的一年一次,显得格调不够高
那就cloudflare吧,连托管域名,cdn,防火墙(这和服务以前是有的,现在貌似是要收费的才给,没仔细实验)全有了,还有ssl还是免费,似乎还不用操心年限的问题,很奇怪的一个问题是,为啥证书里面域名是cloudflare的一个域名呢其实主域还是cloudflare的,不过子域名挂了很多,估计是我主机被分到的cdn服务器所有的主机的dns都在这个证书下
sni50144.cloudflaressl.com

1 你有一个域名,有一个服务器,架设好了WordPress(这个其实没有卵关系,简单说就是,你应用系统,服务器控制权,域名管理权都有)
2 修改dns的ns服务器,指向cloudflare的域名服务器。这个生效时间说是24小时,但是我这里实际上几十分钟就搞定了,添加对应的a记录(这里算是个剧透吧,最后全部好了,cloudflare会给你指向ip地址,并不是常见的cname的办法)

dave.ns.cloudflare.com
pam.ns.cloudflare.com

3 进cloudflare,配置加密

我选的是full,至于为啥,你自己搜吧,不然为啥叫做超简洁说明呢。。。
记得order ssl 的时候,最后一步会给你pem 和key文件,自己需要复制出来,我第一次忘了,就找不到那里能下载了,重新order了一下,赶紧复制出来,后面会用到
下面还有一些详细的配置,自己看着弄吧,稍微有点重要的是
Automatic HTTPS Rewrites
建议打开,反正我打开了
4 修改自己服务器nginx的配置文件,apache别问我,我不知道。。
重要的是 443 ssl on 和两个文件的地址,pem和key
server {
listen 80;
listen 443;

ssl on;
ssl_certificate /path/to/your_certificate.pem;
ssl_certificate_key /path/to/your_key.key;

server_name your.domain.com;
access_log /var/log/nginx/nginx.vhost.access.log;
error_log /var/log/nginx/nginx.vhost.error.log;
location / {
root /home/www/public_html/your.domain.com/public/;
index index.html;
}
}

如果你一切顺利,就可以正常访问了。。。相信我,一般都不顺利

最后可以上https://www.ssllabs.com/ssltest/ 去测试一把,当然其实没啥卵用,就是自己happy就是了

ps.后面发现了两个小问题,
一个是截图真tm大啊,上传速度还很慢
另一个是插入图片资源的时候显示的是http的,不知道一会会不会自动切换到https

开始新的服务器

Published / by whosb / Leave a Comment

老的服务器又贵又不好用,而且在没有通知我的情况下把流量包给我换了,当然我也很奇怪为啥流量就那么大呢,实际情况是我也确实懒的去检查,现在换新的服务器了,不知道效果如何,两个服务器同时打开,然后并行运行一段时间再看效果,老的需要保留几个月,,,是个问题,准备上cloudflare,就是这个东西容易误伤就是了。

wordpress静态化

Published / by whosb / Leave a Comment

重新搬了主机,只保留了文章,评论,图片自动拉过来,,这个好神奇的也是。。。。

然后做静态化的时候出现404了

看了几个教程,其实现在已经很简单了,流程是,在现有的配置文件include wordpress.conf即可,我使用的是lnmp的环境

修改
/usr/local/nginx/conf/vhost/www.xxx.com.conf

加入
include wordpress.conf;
记得最后的分号,还有就是lnmp自备了wordpress.conf如果你没有,就找一个吧,我提供给你一个,放在你对应的位置
—–

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

# Add trailing slash to */wp-admin requests.
rewrite /wp-admin$ $scheme://$host$uri/ permanent;

go get time out

Published / by whosb / Leave a Comment

在使用go get 安装程序的时候提示了timeout当然猜测也知道是GFW干的,然后看网上的建议是设置代理服务器

报错
package golang.org/x/crypto/curve25519: unrecognized import path "golang.org/x/crypto/curve25519" (https fetch: Get https://golang.org/x/crypto/curve25519?go-get=1: dial tcp 216.239.37.1:443: i/o timeout)
package golang.org/x/crypto/ed25519: unrecognized import path "golang.org/x/crypto/ed25519" (https fetch: Get https://golang.org/x/crypto/ed25519?go-get=1: dial tcp 216.239.37.1:443: i/o timeout)

看了一下是卡在这个位置
git clone https://go.googlesource.com/crypto /usr/local/go/src/golang.org/x/crypto

用proxychains代理这一部分,就可以正常了

还想了另外一些解决办法比如改host但是没有测试了

折腾pandorabox

Published / by whosb / Leave a Comment

这是一篇折腾文,一般人基本用不上,就当看个解题思路吧

设备hg255d 一款很能折腾的小路由器,便宜,耐玩(虽然针对pandorabox但是不同芯片,貌似路径还是不一样的,动手之前最好查清楚)

心血来潮想直接用路由器连接vpn,然后软件包搜索 openl2tp-full 提示
Downloading http://downloads.openwrt.org/snapshots/trunk/ralink/packages/base/Packages.gz.

Collected errors:
* opkg_download: Failed to download http://downloads.openwrt.org/snapshots/trunk/ralink/packages/base/Packages.gz, wget returned 8.

一桶乱搜,发现一个刷小米的同学提到了,配置文件中源的地址其实已经发生了变化,但是刷了的里面的并没有修改,所以导致的无法升级
/etc/opkg.conf

修改


src/gz 14.09_base http://downloads.openwrt.org/snapshots/trunk/ramips/rt305x/packages/base
src/gz 14.09_packages http://downloads.openwrt.org/snapshots/trunk/ramips/rt305x/packages/packages
src/gz 14.09_routing http://downloads.openwrt.org/snapshots/trunk/ramips/rt305x/packages/routing
src/gz 14.09_telephony http://downloads.openwrt.org/snapshots/trunk/ramips/rt305x/packages/telephony
src/gz 14.09_management http://downloads.openwrt.org/snapshots/trunk/ramips/rt305x/packages/management
# src/gz 14.09_oldpackages http://downloads.openwrt.org/snapshots/trunk/ramips/rt305x/packages/oldpackages

其实只是把ralink 换成了 ramips/rt305x

src/gz pandoraox_base http://downloads.openwrt.org.cn/PandoraBox/ralink/packages/base
src/gz pandoraox_packages http://downloads.openwrt.org.cn/PandoraBox/ralink/packages/packages
src/gz pandoraox_routing http://downloads.openwrt.org.cn/PandoraBox/ralink/packages/routing
src/gz pandoraox_telephony http://downloads.openwrt.org.cn/PandoraBox/ralink/packages/telephony
src/gz pandoraox_management http://downloads.openwrt.org.cn/PandoraBox/ralink/packages/management
src/gz pandoraox http://downloads.openwrt.org.cn/PandoraBox/ralink/packages/oldpackages

本来打算只是把源的链接改了,后来发现还有问题,索性换到国内源了

参考:
https://blog.phpgao.com/xiaomi_router_opkg.html
http://wayjam.me/post/two-problems-about-install-package-on-openwrt.md
http://wiki.openwrt.org/doc/howto/connect_by_l2tp

ps 这wordpress的代码段太难看了,但是我懒得折腾了

bind配置摘要

Published / by whosb / bind配置摘要有1条评论

dns 配置过程

/etc/named.conf //主配置文件
/etc/named.rfc1912.zones //详细配置文件,需要指定正向,反向解析配置文件,记得是绝对地址
/var/named/aaa.com.zones //正向解析配置文件
/var/named/1.1.1.zone //反向解析配置文件

备注
named.conf中 recursion no 拒绝解析其他域名

提纲挈领的来一下吧,详细的,我相信很多人找得到

一键VPN

Published / by whosb / Leave a Comment

其实貌似有标题党的嫌疑,不能说完全是一键,当然也可以写成一行


curl -sSL https://get.docker.com/ | sh
service docker restart
docker run -d -p 500:500/udp -p 4500:4500/udp -p 1701:1701/tcp -e [email protected] -e USERNAME=V88v71E -e PASSWORD=xC304Nf548 siomiz/softethervpn x

仔细的说是分三行,第一个下载安装docker 第二个启动docker 第三个从某个源下载docker并且配置

其中PSK USERNAME PASSWORD 记得修改成自己需要的内容