CentOS5 VPS SETUP
参考了linode library。地址如下:http://library.linode.com
- yum update, 对于debian则是apt-get update;apt-get upgrade
- 修改hostname,可以在/etc/sysconfig/network中修改
- tzselect 来获得时区字符串,然后写入~/.bash_profile中:TZ='Asia/Shanghai';Export TZ,这里中国一般就是Asia/Shanghai;对于debian是dpkg-reconfigure tzdata
- 关闭ipv6
vi /etc/modprobe.conf
添加下面两行内容
alias net-pf-10 off #networking protocol family 10 is just ipv6
alias ipv6 off ,debian的文件位置是/etc/modprobe.d/alias - 因为这次选择的服务器提供商默认给了有2个IP地址,先去掉一个,只让vps自己使用一个。所以删除/etc/sysconfig/network-scripts/ifcfg-eth0:0
service network restart 使之起作用。 - 修改域名的dns信息
- 安装pptp VPN(从googlecode下载rpm http://acelnmp.googlecode.com/files/pptpd-1.3.4-1.rhel5.1.i386.rpm );对于debian则只需要apt-get install pptpd ppp iptables
yum install -y iptables ppp # 安装这两个依赖。
检查内核是否包含mppe,基本上CentOS都有的,输入这个命令,如果是ok就可以:modprobe ppp-compress-18 && echo ok /etc/ppp/options.pptpd 文件如下: - name pptpd refuse-pap refuse-chap refuse-mschap require-mschap-v2 require-mppe-128 proxyarp lock nobsdcomp novj novjccomp nologfd /etc/pptpd.conf 文件如下: - option /etc/ppp/options.pptpd logwtmp localip 192.168.2.1 # 用于pptp vpn连接的地址,应该是服务器的外网地址 remoteip 192.168.2.11-15 # 用于vpn客户端连接上来后的地址,可以是虚拟的内网地址,也可以是外网地址。 Add the following username (johndie) and password (passwrd) in /etc/ppp/chap-secrets as below: - # Secrets for authentication using CHAP # client server secret IP addresses johndoe pptpd passwrd * #上面的*号表示此用户的IP端。*为任何可用IP,也可以这样指定:192.168.2.12, 或者也可以给出一个范围。 <font color=red>chkconfig --level 35 pptpd on</font> # 对于专门的服务器,也可以不用指定5. For pptpd to work, the packet forwarding must be enabled. Edit <font color=red>/etc/sysctl.conf</font> and change the line to below: - <font color=red>net.ipv4.ip_forward = 1</font> To enable it immediately, run the following command below: - <font color=red>sysctl -p</font> 这时,PPTP基本上配置好了,输入service pptpd start启动。 下面来配置iptables,首先输入service iptables start启动。 然后分别输入下面四条命令,每天输完后要记得按回车: <font color=red>iptables -A INPUT -p tcp --dport 1723 -j ACCEPT</font> <font color=red>iptables -A INPUT -p tcp --dport 47 -j ACCEPT</font> # 为什么要打开47呢?我没有做。 <font color=red>iptables -A INPUT -p gre -j ACCEPT</font> 以上需要注意有些版本的iptables中会有类似 -A INPUT -j RH-Firewall-1-INPUT 这样的规则,那么以后名字就需要变成RH-Firewall-1-INPUT,我在某VPS CENTOS上遇到。 <font color=red>iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -o eth0 -j MASQUERADE</font> 完成后输入/etc/init.d/iptables save保存,并且输入/etc/init.d/iptables restart重新启动。 如果你需要服务器启动时候自动启动VPN服务,还需要输入chkconfig pptpd on和chkconfig iptables on这两条命令。 由于默认建立的PPP# 连接都是mtu 1396的,可能在访问一些站点的时候有问题,所以我们需要修改成mtu 1430 对于centos 5来说,可以在 /etc/ppp/下建立一个ip-up.local文件,加入如下内容: #!/bin/sh ifconfig $1 mtu 1430 即可,对于debian的版本可以在/etc/ppp/ip-up.d下建立一个文件,名字随便,写入如上内容。 同时,需要给予这两个文件+x属性。以便让脚本调用。
LAMP 是一个缩写,它指一组通常一起使用来运行动态网站或者服务器的开源软件,包括:Linux 操作系统,APACHE 服务器,MYSQL,Perl,PHP 或者
Python 编程语言。 虽然这些开放源代码程序本身并不是专门设计成同另外几个程序一起工作的,但由于它们都是影响较大的开源软件,拥有很多共同特点,这就导致
了这些组件经常在一起使用。在过去的几年里,这些组件的兼容性不断完善,在一起的应用情形变得更加普遍。并且它们为了改善不同组件之间的协
作,已经创建了某些扩展功能。目前,几乎在所有的 Linux 发行版中都默认包含了这些产品。Linux 操作系统、Apache 服务器、MySQL 数据库和
Perl、PHP 或者 Python 语言,这些产品共同组成了一个强大的 Web 应用程序平台。 我的搭建环境是在CentOS5的系统,虽然在CentOS5的安装光盘里有这些程序的rpm安装包,但为了能最大限度的提高LAMP的性能,我们还是要通
过源代码的安装对mysql,php,apache进行优化,以下为LAMP的搭建步骤,目标是搭建一个 Discuz 论坛。 一,构建安装环境 1,查看下下列程序是否已经正确安装 gcc gcc-c++ flex bison autoconf automake bzip2-devel ncurses-devel libjpeg-devel libpng-devel libtiff-devel freetype-devel pam-devel 可以用CentOS的yum命令安装
- LANG=C
- yum install -y gcc gcc-c++ flex bison autoconf automake bzip2-devel ncurses-devel libjpeg-devel libpng-devel libtiff-devel
freetype-devel pam-devel 2,下载源代码gd-2.0.34.tar.gz,libxml2-2.6.29.tar.gz,libmcrypt-2.5.8.tar.bz2,openssl-0.9.8e.tar.gz,并分别安装他们 a:先将4个包全部解压到/tmp目录
- tar zxvf gd-2.0.34.tar.gz -C /tmp
- tar jxvf libxml2-2.6.29.tar.gz -C /tmp
- tar zxvf libmcrypt-2.5.8.tar.bz2 -C /tmp
- tar zxvf openssl-0.9.8e.tar.gz -C /tmp
b:安装GD
- cd /tmp/gd-*
- ./configure –prefix=/usr/local/gd2
- make
- make install
c:安装libxml2
- cd /tmp/libxml2*
- ./configure –prefix=/usr/local/xml2
- make
- make install
d:安装libmcrypt
- cd /tmp/libmcrypt*
- ./configure /usr/local/mcrypt
- make
- make install
e:安装openssl
- cd /tmp/openssl*
- ./config –prefix=/usr/local/openssl
- make
- make install
二,编译安装mysql 创建musql的系统帐号
- useradd mysql
编译安装mysql
- tar xzvf mysql-5.0.27.tar.gz -C /tmp
- cd /tmp/mysql*
- ./configure \
“–prefix=/usr/local/mysql” \ #指定程序的安装路径, 默认为/usr/local “–localstatedir=/var/lib/mysql” \ #数据库文件的路径, “–with-mysqld-user=mysql” \ #数据库的系统帐号 “–without-debug” \ #关闭MySQL配置的调试代码 “–enable-static” \ #打开静态编译功能 “–with-client-ldflags=-all-static” \ #静态编译安装客户端 “–with-mysqld-ldflags=-all-static” \ #静态编译安装服务端 “–with-unix-socket-path=/var/run/mysql.sock”\ (使用unix套接字) “–with-big-tables” \ #打开构建支持大数据库表的MySQL的功能 –with-charset=utf8″ \ #默认字符为UTF-8 “–with-extra-charsets=all” \ #定义在服务器中使用全部字符集 “pgcc 1% \ CFLAGS=”-O3 -mpentiumpro -mstack-align-double” CXX=gcc CXXFLAGS=”-O3 -mpentiumpro-mstack-align-double-felide-constructors -fno
-exceptions -fno-rtti” ” \ #intel CPU优化 “–enable-assembler” \ #打开Assembler 汇编语言的支持 “–enable-thread-safe-client” \ #编译线程模式客户端 “–with-pthread” \ #打开Pthread线程库的支持 “–without-isam” \ #关闭isam数据引擎 “–without-innodb” \ #关闭innodb存储引擎功能 “–without-ndb-debug” #关闭ndb存储引擎的调试
- make
- make install
- cd /usr/local/mysql
- bin/mysql_install_db –user=mysql #初始化授权表
- chown -R root.mysql .
- chown -R mysql. /var/lib/mysql
- cp share/mysql/my-huge.cnf /etc/my.cnf
- cp share/mysql/mysql.server /etc/rc.d/init.d/mysqld
- chmod 755 /etc/rc.d/init.d/mysqld
- chkconfig –add mysqld
- chkconfig –level 3 mysqld on
- /etc/rc.d/init.d/mysqld start
- bin/mysqladmin -u root password ‘password_for_root’
mysql安装配置完成,对mysql做下优化将在整个环境构建完成后根据实际情况进行: 三,安装编译APACHE
- tar xjvf httpd-2.2.4.tar.bz2 -C /tmp
- cd /tmp/httpd-2.2.4
- ./configure \
“–prefix=/usr/local/apache2″ \ #apache安装路径 “–with-included-apr” \ “–enable-so” \ “–enable-deflate=shared” \ “–enable-expires=shared” \ “–enable-rewrite=shared” \ “–enable-static-support” \ “–disable-userdir” #关闭对用户家目录支持
- make
- make install
- echo ‘/usr/local/apache2/bin/apachectl start ‘ >> /etc/rc.local
四,编译安装 PHP
- tar xjvf php-5.2.3.tar.bz2 /tmp
- cd /tmp/php-5.2.3
- ./configure \
“–prefix=/usr/local/php” \ “–with-apxs2=/usr/local/apache2/bin/apxs” \ “–with-config-file-path=/usr/local/php/etc” \ “–with-mysql=/usr/local/mysql” \ “–with-libxml-dir=/usr/local/libxml2″ \ “–with-gd=/usr/local/gd2″ \ “–with-jpeg-dir” \ “–with-png-dir” \ “–with-bz2″ \ “–with-freetype-dir” \ “–with-iconv-dir” \ “–with-zlib-dir ” \ “–with-openssl=/usr/local/openssl” \ “–with-mcrypt=/usr/local/libmcrypt” \ “–enable-soap” \ “–enable-gd-native-ttf” \ “–enable-memory-limit” \ “–enable-ftp” \ “–enable-mbstring” \ “–enable-exif” \ “–disable-ipv6″ \ “–disable-cgi” \ “–disable-cli”
- make
- make install
- mkdir /usr/local/php/etc
- cp php.ini-dist /usr/local/php/etc/php.ini
五,安装 Zend Optimizer
- tar xzvf ZendOptimizer-3.2.8-linux-glibc21-i386.tar.gz
- ./ZendOptimizer-3.2.8-linux-glibc21-i386/install.sh
六,整合 Apache 与 PHP
- vi /usr/local/apache2/conf/httpd.conf
找到: AddType application/x-gzip .gz .tgz 在该行下面添加 AddType application/x-httpd-php .php 找到: <IfModule dir_module> DirectoryIndex index.html </IfModule> 将该行改为 <IfModule dir_module> DirectoryIndex index.html index.htm index.php </IfModule> 找到:
- Include conf/extra/httpd-mpm.conf
- Include conf/extra/httpd-info.conf
- Include conf/extra/httpd-vhosts.conf
- Include conf/extra/httpd-default.conf
去掉前面的“#”号,取消注释。 注意:以上 4 个扩展配置文件中的设置需要根据实际需要进行更改。 修改完成后保存退出,重启apache。
- /usr/local/apache2/bin/apachectl restart