分类 云计算 下的文章

在Debian 8里配置mutt通过远程smtp 465端口发送电子邮件

背景:阿里云专有网络类型的云服务器默认过滤了25端口的通讯,无法向外发送邮件。

环境:Debian 8系统

过程:

  1. dpkg-reconfigure exim4-config 先设置exim4,允许系统往外域发信
  2. vi ~/.muttrc 创建mutt配置文件,内容如下:

    set from = "anqunhe@aliyun.com" # 发信人地址
    set realname = "DongShan" # 发信人名称
    set smtp_url = "smtps://anqunhe@aliyun.com@smtp.aliyun.com:465/" # smtp服务器地址
    set smtp_pass = "password" # 邮箱账户密码
    set ssl_verify_host=no # 不检查邮件服务器证书名称
    set ssl_verify_dates=no # 不检查邮件服务器证书有效期

  3. mutt dongshan3@foxmail.com 发信测试
  4. 发信成功

参考:

  1. https://wiki.debian.org/Exim
  2. http://www.mutt.org/doc/manual
  3. https://superuser.com/questions/387064/mutt-will-not-let-me-save-an-ssl-certificate
  4. https://www.garron.me/en/go2linux/send-mail-gmail-mutt.html
  5. https://mailhelp.aliyun.com/freemail/detail.vm?knoId=5869705

在Debian 8系统里安装nginx + php7.0-fpm + MariaDB

环境:Debian 8.8 64位,阿里云公共系统镜像,ECS实例配置:1核2GB内存,经典网络

过程:

  1. vi /etc/apt/sources.list 编辑安装源,添加 dotdeb 镜像站点信息,

    deb http://mirror.xtom.com.hk/dotdeb/ jessie all
    deb-src http://mirror.xtom.com.hk/dotdeb/ jessie all

  2. 添加 GnuPG key

    wget https://www.dotdeb.org/dotdeb.gpg
    apt-key add dotdeb.gpg

  3. apt-get update 更新
  4. apt-get install nginx 安装nginx
  5. apt-get install php7.0-fpm php7.0-gd php7.0-mysql php7.0-mbstring 安装php7.0及相关组件
  6. 编辑默认的nginx站点配置文件/etc/nginx/sites-enabled/default,添加 index.php 类型的默认首页文件,及启用php

    index index.html index.php index.htm index.nginx-debian.html;

    location ~ .php$ {

             include snippets/fastcgi-php.conf;
             fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
     }
    
  7. systemctl restart nginx 重启 nginx 服务,以让更改生效
  8. apt-get install mariadb-server ,安装 MariaDB (mysql)数据库服务端
  9. 上传一个phpmyadmin测试,正常

参考:

  1. https://www.dotdeb.org/instructions/
  2. https://www.cyberciti.biz/faq/installing-php-7-on-debian-linux-8-jessie-wheezy-using-apt-get/

阿里云公共镜像CentOS 7.3 64位yum安装源文件内容

因为昨晚看到“鬼才”说新创建的ECS实例,运行yum update的命令出错,提示文件未找到。

今天(2017-08-28)新创建的一个网络类型为“经典网络”的1GB ECS实例(未分配公网IP地址),测试结果如下:

a. 内核信息如下:Linux iZbp1e4mchw553gx59aygaZ 3.10.0-514.26.2.el7.x86_64 #1 SMP Tue Jul 4 15:04:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

b. 运行 yum update 命令正常

c. /etc/yum.repos.d 目录下有 CentOS-Base.repo 和 epel.repo 两个安装源文件,分别内容如下:

  [base]
  name=CentOS-$releasever - Base
  failovermethod=priority
  baseurl=http://mirrors.aliyuncs.com/centos/$releasever/os/$basearch/
  gpgcheck=1

gpgkey=http://mirrors.aliyuncs.com/centos/RPM-GPG-KEY-CentOS-7

released updates

[updates]
name=CentOS-$releasever - Updates
failovermethod=priority
baseurl=http://mirrors.aliyuncs.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyuncs.com/centos/RPM-GPG-KEY-CentOS-7

additional packages that may be useful

[extras]
name=CentOS-$releasever - Extras
failovermethod=priority
baseurl=http://mirrors.aliyuncs.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyuncs.com/centos/RPM-GPG-KEY-CentOS-7

additional packages that extend functionality of existing packages

[centosplus]
name=CentOS-$releasever - Plus
failovermethod=priority
baseurl=http://mirrors.aliyuncs.com/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyuncs.com/centos/RPM-GPG-KEY-CentOS-7

contrib - packages by Centos Users

[contrib]
name=CentOS-$releasever - Contrib
failovermethod=priority
baseurl=http://mirrors.aliyuncs.com/centos/$releasever/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyuncs.com/centos/RPM-GPG-KEY-CentOS-7

[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
baseurl=http://mirrors.aliyuncs.com/epel/7/$basearch
failovermethod=priority
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

[epel-debuginfo]
name=Extra Packages for Enterprise Linux 7 - $basearch - Debug
baseurl=http://mirrors.aliyuncs.com/epel/7/$basearch/debug
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=0

[epel-source]
name=Extra Packages for Enterprise Linux 7 - $basearch - Source
baseurl=http://mirrors.aliyuncs.com/epel/7/SRPMS
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=0

为站点设置阿里云CDN加速访问

感谢“光山居士”。

背景:“光山居士”说他的博客里爆料了,有“每月 20G 流量,2年只需0.9元”的阿里云CDN流量包领取。我去领了,试了,购买时付了0.9元,且是可以用代金券结算,感觉捡了大便宜,有些高兴。

目的:设置一个 yun.anqun.org 的CDN访问网址,为 liujia.anqun.org 的站点内容加速。

过程:

  1. 打开CDN产品控制台:https://cdn.console.aliyun.com ,“添加域名”
  2. 加速域名里填写:yun.anqun.org,源站类型里选“源站域名”,填写 liujia.anqun.org,因为博客站启用了https,所以这里选择了443端口
  3. 加速域名,yun.anqun.org 添加成功啦
  4. 回到CDN控制台,查看加速域名的解析记录为 yun.anqun.org.w.kunlunar.com,然后到域名的解析面板里添加相应的CNMAE记录
  5. 如果担心CDN流量计费超过预算,可以在“高级设置”里设置“带宽封顶”,如1Mbps
  6. 具体到这例时,还需要在Web站点设置里绑定 yun.anqun.org 的域名,否则CDN访问的是Web服务器的默认站点

在Debian 8系统中安装nodebb

环境:vultr的2GB内存云服务器, debian 8 64位
目的:安装1.5.x版本的nodebb,通过 https://test.anqun.org 访问

过程:

  1. apt-get update 更新软件库
  2. apt-get install imagemagick git build-essential 安装相关的软件和编译工具
  3. curl -sL https://deb.nodesource.com/setup_8.x | bash - 添加新版本nodejs安装源
  4. apt-get install nodejs 安装nodejs
  5. apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6 准备安装新版本的mongodb
  6. echo "deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.4 main" | tee /etc/apt/sources.list.d/mongodb-org-3.4.list 添加新版本的mongodb安装源
  7. apt-get install -y mongodb-org 安装mongodb
  8. echo never > /sys/kernel/mm/transparent_hugepage/defrag 设置配置文件,忽略mongodb性能提示信息
  9. systemctl enable mongod.service 设置mongod随系统自动启动
  10. service mongod start 启动mongodb
  11. mongo 连接到mongodb
  12. use nodebb 创建nodebb数据库
  13. db.createUser( { user: "nodebb", pwd: "shanghiaaini", roles: [ "readWrite" ] } ) 创建nodebb数据库用户,设置密码为shanghiaaini
  14. vi /etc/mongod.conf 退出mongodb连接后,编辑配置文件,让mongodb支持密码验证
  15. 添加 security: authorization: enabled 的内容
  16. service mongod restart 重启mongodb
  17. 以普通用户 liujia 登录到系统
  18. git clone -b v1.5.x https://github.com/NodeBB/NodeBB.git nodebb 下载nodebb文件
  19. cd nodebb 切换到nodebb目录
  20. npm install 安装相关的组件
  21. ./nodebb setup 初始化安装nodebb,填写网站访问地址,数据库连接信息等
  22. vi /lib/systemd/system/nodebb.service 创建nodebb的自启动服务,内容如下(请替换相应的运行用户名和nodebb文件路径):

    [Unit]
    Description=NodeBB forum for Node.js.
    Documentation=http://nodebb.readthedocs.io/en/latest/
    After=system.slice multi-user.target

    [Service]
    Type=simple
    User=liujia
    StandardOutput=syslog
    StandardError=syslog
    SyslogIdentifier=nodebb
    Environment=NODE_ENV=production
    WorkingDirectory=/home/liujia/nodebb
    ExecStart=/usr/bin/node loader.js --no-daemon --no-silent
    Restart=always

    [Install]
    WantedBy=multi-user.target

23.systemctl enable nodebb 激活endebb服务

24.apt-get install nginx 安装nginx

25.vi /etc/nginx/sites-enabled/default 编辑nginx默认站点配置文件,增加一个nodebb的站点配置,内容如下(请根据实际情况修改绑定域名和证书路径):

server {
listen 443;

server_name test.anqun.org;

    ssl_certificate           /root/.acme.sh/test.anqun.org/fullchain.cer;
    ssl_certificate_key       /root/.acme.sh/test.anqun.org/test.anqun.org.key;

    ssl on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 2d;
    ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
    ssl_prefer_server_ciphers on;

location / {
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_set_header X-NginX-Proxy true;

    proxy_pass http://127.0.0.1:4567/;
    proxy_redirect off;

    # Socket.IO Support
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
}
}

26.systemctl enable nginx 让nginx服务能随系统启动自启动

27.systemctl start nodebb 启动nodebb

28.systemctl start nginx 启动nginx

29.在浏览器访问,nodebb前台和后台显示正常

参考:

  1. https://www.kancloud.cn/a632079/nodebb-cn/372106
  2. https://www.kancloud.cn/a632079/nodebb-cn/372108
  3. https://nodejs.org/en/download/package-manager/
  4. https://docs.mongodb.com/manual/tutorial/install-mongodb-on-debian/
  5. https://docs.nodebb.org/installing/os/debian/