分类:一些资料

CentOS下xen虚拟机的安装

我的试验环境:
1.使用root用户登陆
2.CentOS为原生dvd最小化安装
3.接入internet

一、安装xen
# yum –y install xen*
安装XEN需要的服务
# yum -y install kernel-xen*
安装XEN的相关内核
二、检查启动选项是否使用xen内核启动
1、检查 xen内核文件
安装是否正常:文件位于/boot
# ls –lh /boot
total 9.5M
-rw-r–r– 1 root root 61K Mar 16 08:19 config-2.6.18-8.el5
-rw-r–r– 1 root root 60K Mar 16 09:27 config-2.6.18-8.el5xen
drwxr-xr-x 2 root root 1.0K Aug 15 14:47 grub
-rw——- 1 root root 1.5M Aug 13 17:18 initrd-2.6.18-8.el5.img
-rw——- 1 root root 1.5M Aug 15 14:47 initrd-2.6.18-8.el5xen.img
drwx—— 2 root root 12K Aug 13 17:15 lost+found
-rw-r–r– 1 root root 79K Apr 1 22:49 message
-rw-r–r– 1 root root 82K Mar 16 08:20 symvers-2.6.18-8.el5.gz
-rw-r–r– 1 root root 83K Mar 16 09:28 symvers-2.6.18-8.el5xen.gz
-rw-r–r– 1 root root 865K Mar 16 08:19 System.map-2.6.18-8.el5
-rw-r–r– 1 root root 848K Mar 16 09:27 System.map-2.6.18-8.el5xen
-rw-r–r– 1 root root 1.7M Mar 16 08:19 vmlinuz-2.6.18-8.el5
-rw-r–r– 1 root root 2.0M Mar 16 09:27 vmlinuz-2.6.18-8.el5xen
-rw-r–r– 1 root root 269K Mar 16 07:51 xen.gz-2.6.18-8.el5
-rwxr-xr-x 1 root root 595K Mar 16 09:43 xen-syms-2.6.18-8.el5

2、检查grub配置
# cat /boot/grub/grub.conf
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/sda3
# initrd /initrd-version.img
#boot=/dev/sda
default=1
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-8.el5xen)
root (hd0,0)
kernel /xen.gz-2.6.18-8.el5
module /vmlinuz-2.6.18-8.el5xen ro root=LABEL=/
module /initrd-2.6.18-8.el5xen.img
title CentOS (2.6.18-8.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-8.el5 ro root=LABEL=/
initrd /initrd-2.6.18-8.el5.img
修改其中的default=1为default=0,启用xen内核

3、重新启动计算机

4、重启后登录系统,检查XEN是否正常
4.1 执行# xm list
Name ID Mem(MiB) VCPUs State Time(s)
Domain-0 0 3919 4 r—– 16.9
出现上述结果表示xen启动正常

2.1 安装必须的工具
由于以前的安装是基于最小化安装,此时需要增加一个用于安装客户机系统的软件virt-manager,现在安装:
#yum –y install virt-manager
请注意由于此软件包为gnome下的图形管理程序,所以需要安装大量依赖包

经过我折腾了一天 100%成功的openvpn安装方法

服务端配置

SSH登陆VPS,我的系统是32的CentOS 5.4,如果用别的Linux发行版也差不多,有些命令需要修改下就是了。

OpenVPN需要TUN支持,大多数VPS默认都没有开启,你可以用这个命令检测:cat /dev/net/tun

如果返回信息为:cat: /dev/net/tun: File descriptor in bad state 说明正常,否则发个ticket给VPS公司让他们帮忙开吧。

另外如果你需要连上OpenVPN后能访问互联网,还需要iptables_nat模块支持,用这个命令检测:iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o venet0 -j MASQUERADE

如果返回信息为:iptables: Unknown error 4294967295 说明正常,否则同样需要发个ticket让VPS公司帮忙开通。

环境准备好之后,我们正式开始安装OpenVPN了。网上的教程绝大多数都是用源代码编译方式安装的,但我觉得这种方式不便于以后升级维护,这里我们使用yum来安装。

默认情况下centos的yum源没有OpenVPN的,先安装EPEL这个东西,使用命令:rpm -Uvh http://download.fedora.redhat.co … ease-5-3.noarch.rpm

成功后yum源里面就有OpenVPN了,直接使用命令yum -y install openvpn

这里就体现了yum安装的好处,比如OpenVPN需要lzo支持,安装的时候会检测系统,没有的组件会自动安装进去。

我们来找一下安装到哪去了,使用命令:locate easy-rsa

找出来了原来在这里:/usr/share/openvpn/easy-rsa 大家应该都是一样的。

我们把easy-rsa这个文件夹移出来,用命令:cp -R /usr/share/openvpn/easy-rsa /etc/openvpn/

然后cd /etc/openvpn/easy-rsa/2.0进入,生成OpenVPN需要的证书。

用vi vars来编辑环境变量,这里涉及到编辑器vi的用法,不会用就自己google一下。

把最后几行根据实际情况修改:

export KEY_COUNTRY=”CN”
export KEY_PROVINCE=”GD”
export KEY_CITY=”GZ”
export KEY_ORG=”Black-Xstar Net Empire”
export KEY_EMAIL=”webmaster [at] black-xstar.com”

保存后运行. vars设置生效。

接下来运行./build-ca server创建证书颁发机构。

Generating a 1024 bit RSA private key
……………………++++++
….++++++
writing new private key to ‘ca.key’
—–
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‘.’, the field will be left blank.
—–
Country Name (2 letter code) [CN]:回车
State or Province Name (full name) [GD]:回车
Locality Name (eg, city) [GZ]:回车
Organization Name (eg, company) [Black-Xstar Net Empire]:回车
Organizational Unit Name (eg, section) []:回车
Common Name (eg, your name or your server’s hostname) [Black-Xstar Net Empire CA]:回车
Name []:回车
Email Address [webmaster@black-xstar.com]:回车

注意红色的地方,需要按回车的。

创建CA之后来生成服务器证书,输入./build-key-server server

Generating a 1024 bit RSA private key
…++++++
……………++++++
writing new private key to ‘server.key’
—–
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‘.’, the field will be left blank.
—–
Country Name (2 letter code) [CN]:回车
State or Province Name (full name) [GD]:回车
Locality Name (eg, city) [GZ]:回车
Organization Name (eg, company) [Black-Xstar Net Empire]:回车
Organizational Unit Name (eg, section) []:回车
Common Name (eg, your name or your server’s hostname) [server]:回车
Name []:回车
Email Address [webmaster@black-xstar.com]:回车

Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []:回车
An optional company name []:回车
Using configuration from /etc/openvpn/easy-rsa/2.0/openssl.cnf
Check that the request matches the signature
Signature ok
The Subject’s Distinguished Name is as follows
countryName            RINTABLE:’CN’
stateOrProvinceName    RINTABLE:’GD’
localityName           RINTABLE:’GZ’
organizationName       RINTABLE:’Black-Xstar Net Empire’
commonName             RINTABLE:’server’
emailAddress          :IA5STRING:’webmaster@black-xstar.com’
Certificate is to be certified until Nov 18 17:25:15 2019 GMT (3650 days)
Sign the certificate? [y/n]:y

1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated

同样注意红色字的部分,是需要人工输入的。

服务器证书生成完了,我们来生成客户端证书,理论上每个OpenVPN用户都有独立的证书,我们先来生成一个试试。

输入命令:./build-key client1,这里的client1是客户端名称,如果第二个就是client2了。

Generating a 1024 bit RSA private key
…….++++++
………++++++
writing new private key to ‘client1.key’
—–
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‘.’, the field will be left blank.
—–
Country Name (2 letter code) [CN]:回车
State or Province Name (full name) [GD]:回车
Locality Name (eg, city) [GZ]:回车
Organization Name (eg, company) [Black-Xstar Net Empire]:回车
Organizational Unit Name (eg, section) []:回车
Common Name (eg, your name or your server’s hostname) [client1]:回车
Name []:回车
Email Address [webmaster@black-xstar.com]:回车

Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []:回车
An optional company name []:回车
Using configuration from /etc/openvpn/easy-rsa/2.0/openssl.cnf
Check that the request matches the signature
Signature ok
The Subject’s Distinguished Name is as follows
countryName            RINTABLE:’CN’
stateOrProvinceName    RINTABLE:’GD’
localityName           RINTABLE:’GZ’
organizationName       RINTABLE:’Black-Xstar Net Empire’
commonName             RINTABLE:’client1′
emailAddress          :IA5STRING:’webmaster@black-xstar.com’
Certificate is to be certified until Nov 18 17:31:21 2019 GMT (3650 days)
Sign the certificate? [y/n]:y

1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated

注意红色字的部分,和上面生成服务器证书差不多。

最后生成Diffie Hellman参数:./build-dh,这个需要一点时间的。

完成上面的过程后,把/etc/openvpn/2.0/keys里面的东西下载回来。

接下来我们开始配置OpenVPN了,我的配置文件只是一个参考,可以根据实际情况修改。

首先cd ..回到上一级目录,然后vi server.conf新建一个配置文件,输入下面内容:

port 443
proto tcp
dev tun
ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt
cert /etc/openvpn/easy-rsa/2.0/keys/server.crt
key /etc/openvpn/easy-rsa/2.0/keys/server.key
dh /etc/openvpn/easy-rsa/2.0/keys/dh1024.pem
server 10.8.0.0 255.255.255.0
push “redirect-gateway def1″
push “dhcp-option DNS 208.67.222.222″
push “dhcp-option DNS 208.67.220.220″
client-to-client
keepalive 10 120
comp-lzo
persist-key
persist-tun
verb 3

其中DNS服务器地址可以换成主机商的,也可以和我一样用opendns。另外我有了tcp协议和443端口,是为了方便我在cmwap下使用,也可以换别的。

到这里为止OpenVPN就配置好了,接下来我们设置外网访问。

输入vi /etc/sysctl.conf开始编辑,找到net.ipv4.ip_forward = 0改成net.ipv4.ip_forward = 1保存。然后执行sysctl -p这个命令。

输入iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT –to-source 1.2.3.4添加规则,注意最后1.2.3.4改成你的VPS的IP地址。

完成后用/etc/init.d/iptables save保存iptables设置,然后/etc/init.d/iptables restart重新启动下。

重要。。首先vi /etc/openvpn/server.conf

输入以下内容

port 443
proto tcp
dev tun
ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt
cert /etc/openvpn/easy-rsa/2.0/keys/server.crt
key /etc/openvpn/easy-rsa/2.0/keys/server.key
dh /etc/openvpn/easy-rsa/2.0/keys/dh1024.pem
server 10.8.0.0 255.255.255.0
push “redirect-gateway def1″
push “dhcp-option DNS 208.67.222.222″
push “dhcp-option DNS 208.67.220.220″
client-to-client
keepalive 10 120
comp-lzo
persist-key
persist-tun
verb 3

把OpenVPN添加到开机启动,用vi /etc/rc.local进入编辑,在后面加入/usr/sbin/openvpn –config /etc/openvpn/server.conf &这一行。

需要在服务器上完成的操作到这里就结束了,输入openvpn –config /etc/openvpn/server.conf &启动。

客户端配置
和PPTP不一样,OpenVPN需要安装客户端才行,在http://www.openvpn.net/index.php/open-source/downloads.html下载最新版本的Windows Installer安装。

然后在下载回来keys文件夹里面找到ca.crt、client1.crt和client1.key这三个文件,放到C:\Program Files\OpenVPN\config里面。

同时在这里面新建一个名字为“client1.ovpn”的文本文件,输入下面内容:

client
dev tun
proto tcp
remote 1.2.3.4 443
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
ns-cert-type server
comp-lzo
verb 3

把第四行的1.2.3.4换成VPS的IP地址,然后保存。

在开始菜单里面找到OpenVPN GUI并运行,Vista和Win7下需要管理员身份运行。点Connect后等一下,是不是成功连上去了?

打开youtube或twitter(follow我@ovear)试试,爽吧!

如何开启DREAMHOST的ZEND以及PHP.INI配置

今天搞了半天的才搞懂了DH空间配置PHP.INI 开启ZEND 开启采集函数allow_url_fopen
1.本文以putty修改dreamhost虚拟主机为例讲解如何配置PHP.INI:
1)用 ssh 方式登录到你的网站(登陆方法搜索本站其它教材),找到以你的网站名命名的目录,例如 ppfeel.net(网站总目录),在它下面用 mkdir 命令创建一个子目录 cgi-bin(也可以用FTP创建);
mkdir ~/ppfeel.net/cgi-bin/

2)把默认的 php.cgi 和 php.ini 文件复制到 cgi-bin 目录下,可以从 DreamHost 的系统目录中拷贝,例如:
cp /dh/cgi-system/php5.cgi ovear.cn/cgi-bin/php.cgi
cp /etc/php5/cgi/php.ini ovear.cn/cgi-bin/php.ini  上面是php5 的例子,如果你用的是 php4,则要从 /dh/cgi-system/php.cgi 和 /etc/php/cgi/php.ini 分别获取 DreamHost 的默认 php.cgi 和 php.ini 文件;

2.采集必不可少的allow_url_fopen函数很多主机是不支持的,Dreamhost的allow_url_fopen函数默认不开启,但是可以自己开启,下面介绍下如何开启此功能
1)用FTP编辑 php.ini 文件,把 allow_url_fopen = Off 改为 allow_url_fopen = On 并保存;

2)在网站总目录下建一个(如果已经存在就修改).htaccess 文件,例如 ppfeel.net/.htaccess 文件,在文件中添加
AddHandler php-cgi .php
Action php-cgi /cgi-bin/php.cgi

3)修改文件的访问权限(用ftp修改):
ppfeel.net/.htaccess 改为644
ppfeel.net/cgi-bin 改为755
ppfeel.net/cgi-bin/php.cgi 改为750
ppfeel.net/cgi-bin/php.ini 改为644
3.因为Dreamhost默认是安装了Zend Optimizer的,只要激活即可
用ftp打开php.ini,ctrl+f搜索
zend_extension=”/usr/local/dh/apache/template/phpext/ZendExtensionManager.so”
zend_extension=”/usr/local/dh/apache/template/phpext/zend_optimizer5/ZendOptimizer.so”

在后面加上
zend_optimizer.enable_loader = 1
;zend_optimizer.enable_loader = 1
zend_optimizer.optimization_level=15
;zend_optimizer.license_path =
; Local Variables:
; tab-width: 4
; End:

到此,就全部结束了~