WordPress 在 Linux 下不能发送邮件的问题

本博客迁移到现在的 VPS 上已是两年有余,在有评论到来时从来就没收到过提醒邮件,以前是放在租的主机上,所以那些都有人配置好了的。其实一直没把 WordPress 未能发送邮件的问题放心上,自己收不到倒无所谓,但评论者接收邮件提醒算是件重要的事。

今天一同事说我的博客无法进行评论,我一段时间以来只有一丝感觉为何这么久没人评论了,只想大家都不爱说话罢了,并未意思到博客本身的问题,也在此表示感谢。于是自己测试了下,登陆用户评论没问题,游客无法评论,最后查到是 wpDiscuzMath Comment Spam Protection 插件起冲突了,于是把后者禁用了就没问题。至于评论提交后响应有些慢是由于不得不用的 Akismet 插件的原因。

为评论的问题既然登陆到了 VPS 上了,也顺便把两年来的邮件发送问题也诊断一下,其实做来很简单,就是当初配置 VPS 时少做了一步。当前所用的 Linux 发行版是  Debian,之前记录过一篇 Debian Linux VPS 为 WordPress 的系统准备,其中提到 WordPress 发送邮件用的是 exim4,

所以第一步,修改 /etc/exim4/update-exim4.conf.conf, dc_eximconfig_configtype 的值由 'local' 改成 'internet'

dc_eximconfig_configtype='internet'

然后重启 exim4 服务,可用命令 service exim4 restart. 阅读全文 >>

类别: Linux/Unix. 标签: , . 阅读(40). 评论(2) »

Docker for Mac 公测版试用

伴随着 2016 年 Docker Conference 的进行, Docker for Mac 和 Windows 的版本终于完全公测开始了. 之前阅读 Docker for Mac Windows Beta: the simple way to use Docker on your laptop 里的介绍, 想要安装的必须在 https://beta.docker.com/  收到获准才能下载.

Docker for Mac and Windows 可能让我们在 Mac 或 Windows 下脱离 Virtual Box 虚拟机, 像在 Linux 下一样跑 Docker. 因为不存在了 Virtual Box 这一中间层, 端口重定向就变成了一件很简单的事情了. 再也不用像原来那样 Localhost:80 -> VirtualBox-Default:1080 -> Container:80, 而直接就是 Localhost:80 -> Container:80.

也不再需要用 eval $(docker-machine env default) 来设置 DOCKER_HOST 等环境变量了.

目前的 Beta 版是 Version 1.12.0-rc2-beta16 (build: 9493) f615be9fb245904fbdf1aa0cad251d418c869428

本人趁手的是 Mac, 所以大概讲述如何安装 Docker for Mac. 首先我们可以尽情的卸载掉已安装的 Virtual Box, Docker-Machine 和 Docker 了, 然后从 https://docs.docker.com/docker-for-mac/ 下载 Docker for Mac. 它是一个 dmg 文件, 想安装普通的 Mac 应用那样拖拽到 /Applications 目录,  阅读全文 >>

类别: Linux/Unix. 标签: . 阅读(177). 评论(0) »

Mac OS X 下安装使用 Docker (新)

两年前的一篇 Mac OS X 下安装使用 Docker 安装时还是用的 boot2docker, 如今进化到了在 Mac OS X 下用 Docker Toolbox, 而且命令也由 boot2docker 换成了 docker-machine. 当然由于是非 Linux 系统, 所以 Mac OS X 仍然需要借助于 VirtualBox 中的 Linux 虚拟机作为桥梁, Docker Toolbox 创建的虚拟机名是 default (boot2docker 创建的虚拟机名是 boot2docker-vm) 就是这一桥梁, 我们称之为 DOCKER_HOST. 文中的 default 虚拟机指的就是这个 DOCKER_HOST.

现在来看下安装步骤及体验, 因为我系统中已安装好了 VirtualBox, 所以这一步骤等会就省略了.

一. 安装 docker 和  docker-machine

官方的指南是通过下载  DockerToolbox 来安装 docker, docker-machine 和其他辅助工具. 但如果你偏于极客, 并不习惯于图形界面来安装的话, 那么安装 docker 和 docker-machine 就只要下面两个指令

如果你已选择了使用上面的两条命令来安装 docker, docker-machine 的话, 那么请跳到下一步.

如果你热爱图形界面来安装应用的话, 可以到页面 https://www.docker.com/products/docker-toolbox 中下载 Mac 的版本的 DockerToolbox-1.10.3.pkg, 当前版本是 1.10.3

Docker Toolbox Installer   Docker Toolbox includings 阅读全文 >>

类别: Linux/Unix. 标签: . 阅读(2,713). 评论(0) »

Mac OS X 下不能 brew update 的问题

我在 Mac OS X 下执行 brew update 出错

➜   brew update
error: Your local changes to the following files would be overwritten by merge:
    Library/Formula/abcde.rb
    Library/Formula/acpica.rb
    ............
    Library/Formula/pypy.rb
    Library/For
error: The following untracked working tree files would be overwritten by merge:
    Library/Aliases/actor-framework
    Library/Formula/aescrypt-packetizer.rb
    ............
    Library/Formula/stlink.rb
    Library/Formula/with-readline.rb
Please move or remove them before you can merge.
Aborting
Error: Failure while executing: git pull -q origin refs/heads/master:refs/remotes/origin/master 阅读全文 >>

类别: Linux/Unix. 标签: . 阅读(111). 评论(0) »

fish 2.2.0 (July 12, 2015) 支持 vi 模式

随着 Mac 下终端的使用日益增多,系统默认的 bash 已经满足不了需求了,于是有了更为强劲的 fishzsh,以及它们各自的强心剂 Oh-My-FishOh-My-Zsh. 我的选择是 Fish 和 Oh-My-Fish。

到目前为止,最新的 fish 2.2.0 于 2015 年 7 月 12 日发布,Release notes 如下 http://fishshell.com/release_notes.html,其中显著改变有:

  • Abbreviations: the new abbr command allows for interactively-expanded abbreviations, allowing quick access to frequently-used commands (#731).
  • Vi mode: run fish_vi_mode to switch fish into the key bindings and prompt familiar to users of the Vi editor (#65).
  • New inline and interactive pager, which will be familiar to users of zsh (#291).
  • Underlying architectural changes: the fishd universal variable server has been removed as it was a source of many bugs and security problems. Notably, old fish sessions will not be able to communicate universal variable changes with new fish sessions. For best results, restart all running instances of fish.
  • The web-based configuration tool has been redesigned, featuring a prompt theme chooser and other improvements.
  • New German, Brazilian Portuguese, and Chinese translations.

我对第二点比较感兴趣,即增加了 vi 模式,在 fish 下运行 fish_vi_mode 命令,或者在 ~/.config/fish/config.fish 中加上 fish_vi_mode 便自动进入 vi 模式。 阅读全文 >>

类别: Linux/Unix. 标签: , . 阅读(132). 评论(0) »

Linux 输入输出重定向, &>file, 2>&1, 1>&2 等

我们无论是在写批处理还是 Linux 的 Shell 都常用到 >, >> 或 <,这是输入输出重定向。特别是 Linux 的 Shell 常见到  2>&1 这样的写法,这是在干什么呢?这里就来了解下 Linux 下的输入输出重定向的一些来龙去脉。

在 Linux 下几乎一切都号称是文件,标准输入、输出也不例外,它们是叫做 fd (File Descriptor) 文件描述符。这里我们关注三个东西

名称 代码 操作符 Java中表示 Linux 下文件描述符(Debian 为例)
标准输入(stdin) 0 < 或 << System.in /dev/stdin -> /proc/self/fd/0 -> /dev/pts/0
标准输出(stdout) 1 >, >>, 1> 或 1>> System.out /dev/stdout -> /proc/self/fd/1 -> /dev/pts/0
标准错误输出(stderr) 2 2> 或 2>> System.err /dev/stderr -> /proc/self/fd/2 -> /dev/pts/0

从以上表格我们可以理解 0, 1 和 2 分别是什么东西了,它们的输入源或输出目的地默认都是屏幕。

下面不作系统解释输入, 输出重定向的完整使用,只说明一些常见的例子: 阅读全文 >>

类别: Linux/Unix. 标签: , . 阅读(1,062). 评论(0) »

Bash 的常用语法,控制结构

最近玩弄 Jenkins 较多,构建服务器基本是 Mac OS 和 Linux,虽说有许多现成插件可用,但不敢不说 Execute Shell 这个东西都是即开即用,方便而灵活的。因此不断的要和 Shell 打交道,真正通用的的 Shell 自然是 Bash,在 Mac OS 下可发现自带了 zsh, ksh 和 tcsh,考虑到 Linux 还是 Bash 吧。

本人工作时用的是 Fish Shell,目前相当的脚本语言都可用来写 Shell 脚本,如 PHP, Ruby, Python, Perl,NodeJs 等,只是 Bash 的地位总难被替代,借句话说 Bash 的是拿来 “用” 的,而像 Ruby, Python 等做 Shell 是拿来 “编” 的,再就是 Bash 与 Linux 命令的亲缘性更强。

我也只会在实在用 Bash 太难于表达的时候才用其他脚本语言,如处理日期的运算,因 Mac OS 的 date 和 Linux 的 date 命令差异较大,不得已会选择有较强类型的 Ruby 等。

既然 Bash 要作为一个日常语言,那不妨作个备忘录,记录下那些常用的语法,控制结构。

1. if 条件语句 阅读全文 >>

类别: Linux/Unix. 标签: , . 阅读(205). 评论(0) »

Vi 寄存器操作,及使用系统剪贴板

使用 Vi 不得不提它强大的寄存器功能,一般操作系统只支持单例的剪贴板操作,而 Vi 借助于寄存器,相当于有几十个剪贴板可以使用。Vi 中针对内容的操作会记入到寄存器中,包括复制,粘贴,删除,以及只读的寄存器和与系统剪贴板交换内容的寄存器。本文最初目的是怎么与系统剪贴板交换内容。

在 Vi 中使用 :reg (:registers 或 :dis/:display) 命令显示寄存器中的内容

vi-registers

主要寄存器

阅读全文 >>

类别: Linux/Unix. 标签: . 阅读(153). 评论(0) »

Vi Buffer 的基本操作

在 vi 中打开过多个文件时,每个文件都是存放在各自的 buffer  中,可以用命令 ls (buffers 或 files,三个命令中拣你最喜欢的一个即可,ls 输入方便,buffers/files 更表意) 显示所有的 buffer。显示出来的结果如下:

vi-list-buffers

可以看到

每个 Buffer  的编号,分别是 1, 4, 5, 6
% 表示的是当前窗口中的 Buffer
+ 表该 Buffer  中的内容有修改
Buffer 中的文件名称 阅读全文 >>

类别: Linux/Unix, Vim. 标签: , . 阅读(46). 评论(0) »

Mac OS X 下安装使用 Docker

前注: 欢迎进到本页, 本篇写时较早, 而 Mac OS X 下 Docker 早不建议用 boot2docker 了, 取而代之的是 docker-machine. 请点击链接 Mac OS X 下安装使用 Docker (新) 查看最新安装过程与体验

云主机可以选择操作系统镜像快速创建主机,这比虚拟机更便捷了,我们本地也可以这么做了,因为有了 Docker 这个东西。它依赖于 LXC(Linux Container),能从网络上获得配置好的 Linux 镜像,非常容易在隔离的系统中运行自己的应用。也因为它的底层核心是个 LXC,所以在 Mac OS X 下需要在 VirtualBox 中跑一个精小的 LXC(这里是一个 Tiny Core Linux,完全在内存中运行,个头只约 24MB,启动时间小于 5 秒的 boot2docker) 虚拟机,构建在 VirtualBox 中。以后的通信过程就是 docker --> boot2docker --> container,端口或磁盘映射也是遵照这一关系。

理解了上面的关系,开始说说 Docker 安装过程

1. 安装 VirtualBox, 不多讲, 因要在它当中创建一个 boot2docker-vm 虚拟机

2. 安装 boot2docker

brew install boot2docker

你也可以手工安装 阅读全文 >>

类别: Linux/Unix. 标签: , . 阅读(17,650). 评论(4) »
Page 1 of 512345