2017年11月

本文基于:CentOS release 6.5 (Final)

注意SMTP使用默认端口25和加密端口465在配置上的区别

安装

yum -y install mailx

配置发送人信息

vim /etc/mail.rc 在最后增加:

set from=yourEmailAddress
set smtp=smtpAddress
set smtp-auth-user=yourEmailAddress
set smtp-auth-password=youPassword
set smtp-auth=login

使用三种方式发送邮件

  • 命令行: mail -s "theme" addressee,回车后输入内容按Ctrl+D发送邮件.
  • 管道符: echo "mail main content" | mail -s "theme" addressee
  • 文件内容作为邮件内容: mail -s "theme" addressee < /tmp/t.txt

thme是邮件标题,addressee收件人地址


在搜索CentOS上发送邮件时,大部分都是上面的流程,的确在部分机器是测试成功的,唯独ECS不成功,后来了解到ECS默认关闭25端口。


使用SSL的方式发送邮件

  • 修改/etc/mail.rc增加如下关于SSL的配置
    set nss-config-dir=/etc/mail.rc_ssl.crt
    set smtp-user-starttls
    set ssl-verify=ignore
  • 修改 set smtp=smtps://xxxx.xxxx:465
  • /etc/mail.rc_ssl.crt目录下增加Firefox浏览器*.db文件(cert8.db、key3.db、secmod.db)以支持SSL的方式发送邮件

如果你的电脑上装有Firefox,windows可以在 %userProfile%\AppData\Roaming\Mozilla\Firefox\Profiles\xxx.default,Linux~/.mozilla/firefox/xxx.default目录下获取*.db文件,或者直接从这类下载:https://dn-zhangguoli.qbox.me/mail.rc_ssl.crt.zip

  • 发送邮件,注意增加 -v 参数,否则报错.echo "email main content" | mail -v -s "theme" addressee

需求:自动备份网站数据文件到七牛

    os      : CentOS release 6.5 (Final)
    website : /opt/website
    MySQL   : /opt/mysql
    backup  : /opt/backup
    qshell  : /opt/qshell

备份网站文件

vim /opt/website.sh

#!/bin/sh
# tar /opt/website to /opt/backup/website

mkdir -p /opt/backup/website
t=`date +"%Y%m%d_%H%M%s"`
tar -zcvf /opt/backup/website/$t.tar.gz /opt/website

chmod u+x website.sh

备份MySQL文件

vim /opt/mysql.sh

#!/bin/bash

# use mysqldump backup mysql to /opt/backup/mysql

mkdir -p /opt/backup/mysql
t=`date +%Y%m%d_%H%M%S`
/opt/mysql/bin/mysqldump -P port -u userName -ppassword database > /opt/backup/mysql/$t.sql

port是MySQL端口,默认3306,userName是MySQL用户名,password是密码,database是要备份的数据库
因为密码是直接明文写在脚本中的,执行的时候会提示Using a password on the command line interface can be insecure.

chmod u+x mysql.sh

上传到七牛

qshell说明文档 : https://developer.qiniu.com/kodo/tools/1302/qshell
dircache说明文档:https://github.com/qiniu/qshell/blob/master/docs/dircache.md
qupload说明文档 :https://github.com/qiniu/qshell/blob/master/docs/qupload.md

  • 注册 七牛 账号并登录
  • 个人中心->密钥管理,创建密钥(AccessKey/SecretKey)
  • 选择自己的平台下载qshell并重命名为qshell,此处下载linux x64:
    wget https://dn-devtools.qbox.me/2.1.5/qshell-linux-x64
  • 设置密钥: ./qshell account AccessKeyValus SecretKeyValues
  • 生成要上传文件的列表upload.list.txt:vim /opt/qshell/cache.sh
    #!/bin/bash

    # auto create dircache upload.list.txt

    /opt/qshell/qshell dircache /opt/backup /opt/qshell/upload.list.txt
  • chmod u+x cache.sh
  • 配置qupload的支持文件: vim /opt/qshell/upload.conf
    {
      "src_dir" : "/opt/backup",
      "bucket" : "xxx",
      "log_file": "/opt/qshell/upload.log",
      "file_list": "/opt/qshell/upload.list.txt",
      "rescan_local": true,
      "check_exists": true
}
  • 使用qshell上传:vim /opt/qshell/qsyn.sh
    #!/bin/bash

    # syn /opt/backup/ to qiniu bucket/xxx

    /opt/qshell/qshell qupload /opt/qshell/upload.conf                                                        
  • chmod u+x qsyn.sh

添加定时任务

crontab -e

00 02 * * *  /opt/website.sh
05 02 * * *  /opt/mysql.sh
10 02 * * *  /opt/qshell/cache.sh
15 02 * * *  /opt/qshell/qsyn.sh

系统会在早上2点之后陆续执行上述任务将/opt/backup下的文件上传到七牛空间。

OAuth2.0是一个开放授权(open authorization)标准,允许用户让第三方应用获取其在某一另外网站的授权码,而无需提供给第三方应用在某网站的账号与密码。

OAuth2.0授权流程

假设第三方应用为zhangguoli.cn,服务器提供商为example.com/,授权服务器、认证服务器和资源服务器可以是一个服务器。

- 阅读剩余部分 -

CentOS release 6.5 (Final)
Oracle Release 11.2.0.4.0

  • 使用ssh连接到服务器
  • 切换到Oracle用户: su - oracle
  • 连接到Oracle:sqlplus /nolog
  • 使用管理员身份登录数据库: conn sys/sys as dba
  • 修改密码:ALTER USER user_name IDENTIFIED BY new_password;

需求:默认情况下Typecho安装完后文章链接是http://zhangguoli.cn/index.php/xxx.html这样的,强迫症是在受不了中间多了个index.php,于是想修改为:http://zhangguoli.cn/xxx.html

本文环境:
CentOS release 6.5 (Final)
Apache 2.4.29
PHP 5.6.32

Apache的安装路径: /opt/apache
网站站点文件位置: /opt/www/zhangguoli

1. 开启Apache的Rewrite模块

vi /opt/apache/conf/httpd.conf

查找httpd.conf中是否包含LoadModule rewrite_module modules/mod_rewrite.so,如果被#注释则去掉或新增。

增加配置如下:

<Directory "/opt/www/zhangguoli"> 
    Order allow,deny
    Allow from all
    AllowOverride All
</Directory>

2. 增加RewriteRule规则

- 阅读剩余部分 -