2016年6月

配置服务器发送email

最近搭了好几个系统在服务器上,其中都用到了发送注册邮件的功能。
但是我没配置过email,所以一直没发送出去。
为了以后装系统能正常发送邮件,现在把安装过程记录下来,以便以后换服务器时又得去找文档配置。

根据DigitalOcean上的回答,敲sendemailconfig开始配置。
但提示我没安装,要我安装sendmail-base
那我们装一下吧。
sudo apt-get install sendmail-base
然后再敲sendemailconfig,问了一堆问题,我都完全不知道怎么搞,反正一路next了。

然后尝试发送邮件给自己

sendmail skys215(at)gmail.com

却提示我sendmail-bin没装。尴尬……或许我装错了?
装了sendmail-bin之后,提示各种错误……

Vagrant离线升级box

今天vagrant box update的时候,它提示box有新版本可用。

$ vagrant up httpd1
Bringing machine 'httpd1' up with 'virtualbox' provider...
==> httpd1: Checking if box 'ubuntu/trusty64' is up to date...
==> httpd1: A newer version of the box 'ubuntu/trusty64' is available! You currently
==> httpd1: have version '20160519.0.2'. The latest is version '20160602.0.0'. Run
==> httpd1: `vagrant box update` to update.
==> httpd1: VirtualBox VM is already running.

(好吧,现在才发现最后一句already running,不升级也可以照样用)

$ vagrant box update
==> httpd1: Checking for updates to 'ubuntu/trusty64'
    httpd1: Latest installed version: 20160519.0.2
    httpd1: Version constraints:
    httpd1: Provider: virtualbox
==> httpd1: Updating 'ubuntu/trusty64' with provider 'virtualbox' from version
==> httpd1: '20160519.0.2' to '20160602.0.0'...
==> httpd1: Loading metadata for box 'http://plamenatv.free.bg/up.html
==> httpd1: Adding box 'ubuntu/trusty64' (v20160602.0.0) for provider: virtualbox
    httpd1: Downloading: https://atlas.hashicorp.com/ubuntu/boxes/trusty64/versions/20160602.0.0/providers/virtualbox.box
    httpd1: Progress: 2% (Rate: 70026/s, Estimated time remaining: 3:18:32)

但是下载速度奇慢。

于是我就用迅雷下载这个文件了。
.box文件可以解压出来。

把文件解压到~/.vagrant.d/boxes/20160602.0.0/virtualbox下面,再运行vagrant box update就识别了。
注意20160602.0这个名字需要与vagrant在前面列出的一致。

从宿主主机访问vagrant内的端口

我在vagrant内的虚拟机搭建了服务器,现在想从宿主主机中访问虚拟机中的服务器。
(因为虚拟机没有桌面环境)

需要先vagrant login登录vagrant hasicorp.
然后再用vagrant share --http 80(apache在80端口)
之后会生成一个一级域名为vagrantshare.com的地址。
打开该地址就可以访问服务器了。

Ubuntu下使用php7.0(nginx)

在nginx.conf下添加user=www-data;后,
运行sudo service php7.0-fpm start
才会在/var/run/php下创建php7.0-fpm.sock

这个时候跑php文件就不会再报404了。

Ubuntu下安装PHP7.0后报undefined symbol: pcre_jit_stack_free

安装完毕后,敲php -v报错:
php: symbol lookup error: php: undefined symbol: pcre_jit_stack_free
完全不知道为什么会出现这个错误。

看来是不php没认出pcre_jit_stack_free这个函数。
但php5版本又不会出现这个问题啊。难道没装pcre?
我记得pcre应该是标配。不管了,先看看怎么安装pcre。
用以下命令安装pcre
apt-get install libpcre3 libpcre3-dev
安装之后,再php -v却再也不会报错了。
奇怪……