存档在 2016年11月

怎样安装RedMine

2016年11月30日

Redmine 是一个开源的、基于Web的项目管理和缺陷跟踪工具。它用日历和甘特图辅助项目及进度可视化显示。同时它又支持多项目管理。

官网:http://www.redmine.org/
官网:http://www.redmine.org.cn/

主题:http://www.try-catch.org/?p=53

参考:http://www.redmine.org/projects/redmine/wiki/HowTo_install_Redmine_on_CentOS_5
参考:http://jingyan.baidu.com/article/6c67b1d6e863d22787bb1e36

怎样安装go

2016年11月29日

【安装Go】

下载:https://golang.org/dl/

源码:https://github.com/golang/go

参考:https://github.com/Unknwon/the-way-to-go_ZH_CN/blob/master/eBook/02.3.md
参考:http://www.linuxidc.com/Linux/2014-03/98974.htm
参考:http://www.cnblogs.com/yyrdl/p/5388528

下载安装包解压到 /usr/local :

64位版本:

wget https://dl.google.com/go/go1.10.2.linux-amd64.tar.gz && tar zxvf go1.10.2.linux-amd64.tar.gz -C /usr/local

32位版本:

wget https://dl.google.com/go/go1.10.2.linux-386.tar.gz && tar zxvf go1.10.2.linux-386.tar.gz -C /usr/local

src文件夹下用来放第三方库文件。
pkg下放的是编译好的库文件 (.a后缀文件)。

编辑系统环境变量文件 /etc/profile ,在最后添加:

export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin

GOROOT:编译项目时便于系统寻找标准库。
GOPATH:变量指向这个文件夹export GOPATH=刚建的文件夹路径
GOBIN:export GOBIN=$GOPATH\bin。(go install 命令需要将可执行文件放到GOBIN指定的目录下)

编译/etc/profile文件,使之生效:

source /etc/profile

查看是否配置成功:

go version

输出:

go version go1.10.2 linux/amd64

或者:

go version go1.10.2 linux/386

查看环境变量:

go env

【测试Go】

编辑一个go文件测试:

helloworld.go

package main
import "fmt"

func main() {
	fmt.Println("hello world!")
}

执行:

go run /root/go/helloworld.go

输出:

hello world!

【安装go get】

参考:https://github.com/golang/go/wiki/GoGetTools

安装 git :

yum install git

测试:https://github.com/teamsaas/dropcatch

go get -u github.com/corego/dropcatch

返回:

# cd .; git clone https://github.com/corego/tools /root/go/src/github.com/corego/tools
Initialized empty Git repository in /root/go/src/github.com/corego/tools/.git/
error: The requested URL returned error: 403 Forbidden while accessing https://github.com/corego/tools/info/refs

fatal: HTTP request failed
package github.com/corego/tools: exit status 128
package github.com/uber-go/zap: code in directory /root/go/src/github.com/uber-go/zap expects import "go.uber.org/zap"

程序已下载到:/root/go/src/github.com/corego/dropcatch

配置dropcatch.yaml:

common:
  version: 0.0.1
  debug:   true
  logpath: "./logs/out.log"
  loglevel: DEBUG


hunter:
   # true: 守护模式,每天指定时间自动去拉取域名文件,循环直到程序关闭
   # false: 非守护模式,用于手动拉取某天的域名文件
   isdaemon: false

   # 守护模式下,每天指定时间去拉取域名文件(24小时制)
   # 1.不填: 默认中午12点
   # 2.具体时间: 9(早晨9点)
   pulltime: 18

   # date只有在非守护模式下才有意义
   # 非守护模式下有两种Date格式:
   #   1. 不填: 代表程序运行当日
   #   2. 具体的日期: 2016-09-21
   date: ""
   # 域名文件被解析后输出到的文件夹
   outpath: "./out"

# 域名过滤规则
basefilter:
  # 域名后缀类型
  suffixtype: ".com"

  # 域名最大长度,不包含.com后缀的长度,例如google.com,这个长度就是6
  maxlen: 6

  # 域名是否包含 '-'
  includedelim: false 

  # 域名的字符类型
  # 1: 纯字母, eg: qq.com
  # 2: 纯数字, 176.com
  # 3: 纯数字或者纯字母均可以, eg: qq.com和176.com都符合条件
  # 4: 包含了1,2,3,且可以允许数字字母混合的类型,eg: qq.com,176.com,qq123.com都符合条件
  chartype: 1


advfilter:
  # 出现的字符种类上限,越小代表域名的字符表现越工整、平坦,例如
  # qq.com : 1
  # baidu.com: 5
  # aabb.com: 2
  # a01.com : 3
  occurchars: 4

执行:

./dropcatch

怎样生成CSR

2016年11月28日

参考:https://doc.ssl.do/page/generate-csr/

当申请SSL证书时,需要提供一个证书签发请求 (Certificate Signing Request, CSR) 才能申请签发 SSL 证书。

以下介绍在CentOS下生成 CSR/Key 文件:

openssl req -out weblog.org.csr -new -newkey rsa:2048 -sha256 -nodes -keyout weblog.org.key

您需要填写的信息:
1. Country Name,两位国别代码,比如:CN。
2. State or Province Name, 您所在的省或州的全名,比如:Beijing。
3. Locality Name,您所在的地区 / 城市名称,比如:Beijing。
4. Organization Name, 您所在的组织名称,比如:Google Inc。
5. Organization Unit Name, 您所在组织的部门 / 单元名称,比如:Network Dept。
6. Common Name, 请填写您希望签发证书的完整域名,比如:weblog.org 或 sub.weblog.org。如果申请的是泛域名证书,请在特定子域填写通配符,例如 *.weblog.org 或者 *.l2sub.weblog.org。
7. Email Address, 请填写您的证书联系人邮件地址。

一句话生成:

openssl req -new -newkey rsa:2048 -sha256 -nodes -out weblog.org.csr -keyout weblog.org.key -subj "/C=CN/ST=Beijing/L=Chaoyang/O=TricroMedia SciTech Co., Ltd./OU=Tech Dept/CN=*.weblog.org"

如果希望生成 ECC 证书,命令看起来像这样:

openssl ecparam -out weblog.org.pkey -name prime256v1 -genkey && openssl req -new -key weblog.org.pkey -nodes -out weblog.org.csr -subj 
"/C=CN/ST=Beijing/L=Chaoyang/O=TricroMedia SciTech Co., Ltd./OU=Tech Dept/CN=weblog.org"

如果您准备签发的是多域名证书,请使用下面的命令将所有的域名包含进去,生成带有 SAN 的 CSR

openssl req -new -newkey rsa:2048 -sha256 -nodes -out weblog.org.csr -keyout weblog.org.key -subj "/C=CN/ST=Beijing/L=Chaoyang/O=TricroMedia SciTech Co., Ltd./OU=Tech Dept/CN=weblog.org/subjectAltName=DNS.1=sub1.weblog.org,DNS.2=sub2.weblog.org,DNS.3=sub.another-weblog.org"

错误代码 ssl_error_internal_error_alert

2016年11月28日

最近打开 http://amon.org/ 时时常遇到:

“连接时发生错误。对等端报告其遇到一个内部错误。错误代码 ssl_error_internal_error_alert”

难道是LetsEncrypt证书服务器连接不上?

参考:http://mozilla.com.cn/thread-371943-1-1
参考:http://mozilla.com.cn/thread-374869-1-1

一切都是百度云加速的锅?

参考:http://ctohome.com/FuWuQi/cb/770

怎样删除乱码文件名

2016年11月24日

有的时候在线解压,而CentOS系统不支持中文的话,会产生乱码文件名。无法直接删除,系统会说找不到文件。那么怎样删除它呢?

可以根据 inode 来修改或删除linux下乱码的文件。

先创建测试文件:

touch 1?.txt

查询inode:

ll -i

输出:

total 14694452
17956913 -rw-r--r-- 1 oracle oinstall          0 Jan 18 20:24 1?.txt

修改测试文件名:

find . -inum 17956913 -exec mv {} file.txt \;

检查修改结果

ll

输出:

total 14694452
....
-rw-r--r-- 1 oracle oinstall          0 Jan 18 20:24 file.txt

所以删除乱码的文件可使用:

find . -inum 17956913 -exec rm {} \;