Monthly Archives: March 2011

在OpenVZ VPS中成功添加PPTPD

一个刚刚生成的vps,

#cat /dev/net/tun
#cat /dev/ppp

显示皆为空行

1.母机设置

vzctl stop 103
vzctl set 103 --features ppp:on --save
vzctl start 103
vzctl set 103 --devices c:108:0:rw --save
vzctl exec 103 mknod /dev/ppp c 108 0

有人喜欢用OpenVPN,那就需要设置开启TUN/TAP:

首先看母机是否来了tun内核mod:

# lsmod | grep tun

没有的话加载一下:

# modprobe tun
vzctl set 103 --devices c:10:200:rw --save
vzctl set 103 --capability net_admin:on --save

vzctl exec 103 mkdir -p /dev/net
vzctl exec 103 mknod /dev/net/tun c 10 200
vzctl exec 103 chmod 600 /dev/net/tun

vzctl set 103 --devnodes net/tun:rw --save

设置参考这里:
http://wiki.openvz.org/VPN_via_the_TUN/TAP_device

看看vps中怎么样:

#cat /dev/net/tun
#cat /dev/ppp

显示还是空行

不管了,先弄下去再说.

2.VPS安装pptpd

apt-get install pptpd

然后注释

#refuse-pap
#refuse-chap
#refuse-mschap

ms拨号的加密保留

开启pptpd.conf中的remoteip

添加用户

vim /etc/ppp/chap-secrets 

net.ipv4.ip_forward=1 改为1

sysctl -p

/etc/init.d/pptpd restart

OK 可以连上了

去掉ms-dns前面的#,并修改成如下字段:

ms-dns 8.8.8.8
ms-dns 8.8.4.4
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source 76.164.216.197

iptables-save >> /etc/network/iptables

在/etc/rc.local 中添加这行 iptables-restore < /etc/network/iptables 重启后一切OK了

关于vps设置pptpd的问题

1. 内核支持

母机的内核只要更新到最新的openvz内核应该都可以的,我的显示如下:

ppp_mppe               39816  0
ppp_deflate            39168  0
zlib_deflate           52760  1 ppp_deflate
ppp_async              45056  0
ppp_generic            63632  4 ppp_mppe,ppp_deflate,ppp_async
slhc                   39680  1 ppp_generic
crc_ccitt              35200  1 ppp_async

VPS内核:

modprobe ppp-compress-18 && echo ok(用模块方式支持MPPE加密模式浏览,如果内核支持检测不到。)

我这里是显示

FATAL: Module ppp_compress_18 not found.

虽然和很多教程上说的不太一样,但是可以照样可以正常开启pptpd,XP拨号.

2. ppp和/dev/net/tun显示

#cat /dev/net/tun
cat: /dev/net/tun: No such file or directory
#cat /dev/ppp
cat: /dev/ppp: No such device or address

3. 母机设置VPS权限

vzctl stop 101(101为vps的openvz编号,下同)
vzctl set 101 --features ppp:on --save
vzctl start 101
vzctl set 101 --devices c:108:0:rw --save
vzctl exec 101 mknod /dev/ppp c 108 0

4. pptpd配置问题

vim /etc/ppp/pptpd-options

注释情况如下:

#refuse-pap
#require-pap
#refuse-chap
#refuse-mschap
# Require the peer to authenticate itself using MS-CHAPv2 [Microsoft
# Challenge Handshake Authentication Protocol, Version 2] authentication.
#require-pap
require-mschap-v2
# Require MPPE 128-bit encryption
# (note that MPPE requires the use of MSCHAP-V2 during authentication)
#require-mppe-128

听说因为win7默认要开启mppe-128,所以#require-mppe-128前面的”#”要取消,没有尝试,但是在XP下pptp拨号没问题.
PS:刚才做了测试,require-mppe-128在XP下也能正常拨号,可以放心的把”#”取消掉.

5.iptables支持
debian的iptables和centos不一样,没有/etc/init.d/iptables文件,不能用之来管理iptables,只有几个命令:

iptables          iptables-multi    iptables-save
iptables-apply    iptables-restore  iptables-xml

手工添加如下:

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source 76.164.216.195
iptables-apply 

Debian安装php mysql

vps上装了Debian的确很节省内存,首先安装lamp环境:

1.用apt-spy升级apt速度

默认的vim没有高亮设置,更改一下:

vim /etc/vim/vimrc

把syntax on前面的注释删了.

Debian默认的sources.list地址很老,下载速度比较慢,并且apt-get不会像yum那样自动找最快的sources.list,只有手工更新.

#echo "deb http://http.us.debian.org/debian/ stable main" >> /etc/apt/sources.list
apt-get update && apt-get upgrade
#apt-get install apt-spy
#apt-spy update
#apt-spy -d unstable -a North-America -t 5 //有`Africa', `Asia', `Europe', `North-America', `Oceania' and `South-America' 可选,vps在北美,所以选North-America

然后apt-spy报告:

Writing new sources.list file: /etc/apt/sources.list.d/apt-spy.list

保存原有的sources.list:

cp /etc/apt/sources.list /etc/apt/sources.list.bak

把更快的sources.list覆盖:

cp /etc/apt/sources.list /etc/apt/sources.list.bak

VPS上最快的是:

deb http://mirror.peer1.net/debian/ unstable main #contrib non-free
deb-src http://mirror.peer1.net/debian/ unstable main #contrib non-free

2.更新系统

#apt-get update
#apt-get install axel

3.安装mysql-server

apt搜索软件的用法:

apt-cache search XXXX
apt-get install mysql-server

3.安装php5

#apt-get install php5

Debian默认安装的php版本是5.3的,这点比CentOS强的多了.

4.安装httpd

Debian也是默认安装了apache2,并且默认设置占用资源比较小,配置文件在/etc/apache2目录下:

 
        tony@tonybox:/etc/apache2$ ls -l
        total 72
        -rw-r--r-- 1 root root 12482 2006-01-16 18:15 apache2.conf
        drwxr-xr-x 2 root root  4096 2006-06-30 13:56 conf.d
        -rw-r--r-- 1 root root   748 2006-01-16 18:05 envvars
        -rw-r--r-- 1 root root   268 2006-06-30 13:56 httpd.conf
        -rw-r--r-- 1 root root 12441 2006-01-16 18:15 magic
        drwxr-xr-x 2 root root  4096 2006-06-30 13:56 mods-available
        drwxr-xr-x 2 root root  4096 2006-06-30 13:56 mods-enabled
        -rw-r--r-- 1 root root    10 2006-06-30 13:56 ports.conf
        -rw-r--r-- 1 root root  2266 2006-01-16 18:15 README
        drwxr-xr-x 2 root root  4096 2006-06-30 13:56 sites-available
        drwxr-xr-x 2 root root  4096 2006-06-30 13:56 sites-enabled
        drwxr-xr-x 2 root root  4096 2006-01-16 18:15 ssl

其中

apache2.conf

为apache2服务器的主配置文件, 查看此配置文件, 你会发现以下内容

 
        # Include module configuration:
        Include /etc/apache2/mods-enabled/*.load
        Include /etc/apache2/mods-enabled/*.conf

        # Include all the user configurations:
        Include /etc/apache2/httpd.conf

        # Include ports listing
        Include /etc/apache2/ports.conf

        # Include generic snippets of statements
        Include /etc/apache2/conf.d/[^.#]*

有此可见, apache2 根据配置功能的不同, 对配置文件进行了分割.

httpd.conf

是个空文件

magic

文件中包含的是有关mod_mime_magic模块的数据, 一般不需要修改它.

ports.conf

则为服务器监听IP和端口设置的配置文件,

 
tony@tonybox:/etc/apache2$ cat ports.conf
Listen 80

mods-available

目录下是一些.conf和.load 文件, 为系统中可以使用的加载各种模块的配置文件, 而mods-enabled目录下则是指向这些配置文件的符号连接, 从配置文件apache2.conf 中可以看出, 系统通过mods-enabled目录来加载模块, 也就是说, 系统仅通过在此目录下创建了符号连接的mods-available 目录下的配置文件来加载模块。同时系统还提供了两个命令 a2enmod 和 a2dismod用于维护这些符号连接。这两个命令由 apache2-common 包提供。命令各式也非常简单: a2enmod [module] a2dismod [module]

sites-available

目录下为配置好的站点的配置文件, sites-enabled 目录下则是指向这些配置文件的符号连接, 系统通过这些符号连接来起用站点 sites-enabled目录下的符号连接附有一个数字前缀, 如000-default, 这个数字用于决定启动顺序, 数字越小, 启动优先级越高. 系统提供了两个命令 a2ensite 和 a2dissite 用于维护这些符号连接。这两个命令由

apache2-common

包提供.

/var/www

默认情况下将要发布的网页文件应该置于/var/www目录下,这一默认值可以同过主配置文件中的DocumnetRoot 选项修改.

我要添加apache2的rewrite模块支持

cd /etc/apache2/mods-enabled
touch rewrite.load
vim rewrite.load

添加如下内容:

LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so

vim /etc/apache2/sites-available/default
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all

改为:

Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order allow,deny
allow from all

/etc/init.d/apache2 restart

4.安装ppp

apt-get install php5
apt-get install php5-mysql

5.rcconf管理加载服务
没有的话,安装:

apt-get install rcconf

忘记Mysql密码更改Mysqld密码

安装Virtualizor很快就完了,但是mysql的root密码是随机的,就在Virtualizor的控制面板中改了mysql的root密码,没想到Virtualizor连进都进不去了,只有更改手工更改mysql密码了.

1.停止Mysqld服务

# service mysqld stop 

2. 使用 “–skip-grant-tables”参数重新启动mysqld

# mysqld_safe --skip-grant-tables &

2. 手工改密码

# mysql -u root
mysql> use mysql
mysql> update user set password=password('admin123') where user='root';
mysql> flush previleges;
mysql> quit

4. 重启mysqld服务

#service mysqld start

安装HyperVM

测试用机已经安装过了Openvz,其实安装HyperVM的时候可以完全在裸机上安装(甚至mysql-server也不用装),这是装过以后的经验了.

注意:如果安装过mysql-server,最好先删除了,否则安装HyperVM一半的时候会有报错.

# rm -rf /var/lib/mysql
# rpm -e mysql-server
# rm /var/log/mysqld.log.rpmsave

1. 首先root登录

sh ./hypervm-install-master.sh --virtualization-type=NONE --skip-ostemplate
//这才是正确的参数(wordpress编辑器的问题,skip-ostrempalte前面是两个"-")

2. 登录系统
默认安装后,在母机的ip地址888端口开启服务,用户名和密码都是admin.
母机还要启动smtp服务:

#yum install postfix
#chkconfig postfix on
#service postfix start

首先创建ip pools,然后创建Resource Plans,最后创建VPS

3.总结
OK,hyperVM界面真的很丑.

CentOS yum加速

CentOS 的 yum 下载源有时会位于国外,下载和安装都非常慢。而 fastestmirror 插件的作用,就是用来自动选择最快的 YUM 下载源的镜像(mirror)。

fastestmirror 是 CentOS 本身附带的软件包。查看 fastestmirror 是否安装:

    

    # yum list yum-fastestmirror
    ……
    yum-fastestmirror.noarch   1.1.16-14.el5.centos.1  installed

如果安装有 fastestmirror 插件,则在 CentOS 里第一次、或运行了 yum clean all 命令后,运行 yum list 等命令,会有提示:

    Loaded plugins: fastestmirror
    Determining fastest mirrors
     * addons: mirrors.163.com
     * base: mirrors.163.com
     * extras: mirrors.163.com
     * rpmforge: apt.sw.be
     * updates: mirrors.163.com
    ……

可见,YUM 会测试、比较一些 YUM 安装源,并从最快的安装源下载软件包。安装源比较结果缓存在 timedhosts.txt 文件里。

CentOS 的 yum 下载源有时会位于国外,下载和安装都非常慢。而 fastestmirror 插件的作用,就是用来自动选择最快的 YUM 下载源的镜像(mirror)。

fastestmirror 是 CentOS 本身附带的软件包。查看 fastestmirror 是否安装:

    # yum list yum-fastestmirror
    ……
    yum-fastestmirror.noarch   1.1.16-14.el5.centos.1  installed

如果安装有 fastestmirror 插件,则在 CentOS 里第一次、或运行了 yum clean all 命令后,运行 yum list 等命令,会有提示:

    Loaded plugins: fastestmirror
    Determining fastest mirrors
     * addons: mirrors.163.com
     * base: mirrors.163.com
     * extras: mirrors.163.com
     * rpmforge: apt.sw.be
     * updates: mirrors.163.com
    ……

PS:手工添加国内YUM源

先进入yum源配置目录

cd /etc/yum.repos.d

备份系统自带的yum源

mv CentOS-Base.repo CentOS-Base.repo.save

下载其他更快的yum源
中科大的yum源:

wget http://centos.ustc.edu.cn/CentOS-Base.repo

163的yum源:

wget http://mirrors.163.com/.help/CentOS-Base-163.repo

sohu的yum源

wget http://mirrors.sohu.com/help/CentOS-Base-sohu.repo

更新玩yum源后,建议更新一下,使操作立即生效

yum makecache