安装操作系统

CentOS 6.2 CentOS-6.2-i386-bin-DVD1.iso32位 CentOS-6.2-x86_64-bin-DVD1.iso64位

安装 CentOS时选择 “Basic Server”
root密码root123
CentOS 自带了ssh

安装完操作系统后添加一个用户 manong

1
[root@localhost ~]$ useradd manong

然后密码设为 manong123

1
[root@localhost ~]$ passwd manong

给予 sudo 权限

1234
[root@localhost ~]$ chmod u+w /etc/sudoers[root@localhost ~]$ vim /etc/sudoers# 在root ALL=(ALL) ALL 下 添加manong ALL=(ALL) ALL[root@localhost ~]$ chmod u-w /etc/sudoers

设置上网

安装完操作系统后还不能上网配置DHCP方式上网

1234567891011
vim /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE="eth0"HWADDR="00:0C:29:BD:E1:19"NM_CONTROLLED="yes"ONBOOT="yes"BOOTPROTO=dhcpUSECTL=noTYPE=EthernetPEERDNS=yes#保存退出sudo service network restart

或者配置静态IP

1234567891011121314151617
DEVICE="eth0"HWADDR="00:0C:29:10:F4:4C"ONBOOT="yes"BOOTPROTO=staticTYPE=EthernetIPADDR=192.168.0.162NETMASK=255.255.255.0BROADCAST=192.168.0.255NETWORK=192.168.0.0#保存退出  #修改/etc/sysconfig/networksudo vim /etc/sysconfig/networkNETWORKING=yesHOSTNAME=localhost.localdomainGATEWAY=192.168.0.1#保存退出重启网络sudo service network restart

如果失败比如IP已被占用换一个IP试试

修改DNS即时生效

12345
sudo vim /etc/resolv.confnameserver 192.168.0.1# google提供的域名服务器nameserver 8.8.8.8search localhost

安装常用软件

有两种方式方法一去官网下载已经编译好的二进制文件或源代码编译安装 方法二用yum 命令安装安装官方yum源里已经编译好的程序包。
第一种方式要敲很多命令比yum麻烦但是可以预先下载好文件省略了下载的时间整体速度比yum安装方式快很多而且可以安装最新版。推荐第一种方式

第二种方式操作简单敲打的命令少但是往往yum源的更新速度跟不上各个软件的官网速度用Yum安装的版本经常比较旧。

yum的命令形式一般是如下yum [options] [command] [package ...]其中的[options]是可选的选项包括-h帮助-y当安装过程提示选择全部为”yes”-q不显示安装的过程等等。[command]为所要进行的操作[package …]是操作的对象。

12345678910111213141516171819
#yum search package-name # 在线搜索包 #yum list installed # 列出所有已经安装的包##sudo yum install package-name # 安装程序包 #sudo yum groupinsall group-name 安装程序组##sudo yum remove package-name 删除程序包#sudo yum groupremove group-name 删除程序组##yum update #全部更新#yum update package-name #更新程序包#sudo yum groupupdate groupn-name 升级程序组#sudo yum upgrade # 更新源列表#yum upgrade package-name #升级程序包#sudo yum clean all # 清除缓存#更新sudo yum update#清理缓存sudo yum clean all && yum clean metadata && yum clean dbcache

安装编译工具

方法一

去 http://gcc.gnu.org/ 下载源码

1
# TODO

方法二

1
sudo yum groupinstall "Development Tools"

该命令类似于 Ubuntu 下的apt-get install build-essential会自动安装一下软件包autoconf automake bison byacc cscope ctags diffstat doxygen flex gcc gcc-c++ gcc-gfortran git indent intltool libtool patchutils rcs redhat-rpm-config rpm-build subversion swig systemtap同时安装了以下依赖包apr, apr-util, 等等。

安装JDK

12345
#删除旧的JDKyum list installed | grep jdk#复制显示出来的JDK卸载sudo yum remove java-1.6.0-openjdk.x86_64#安装新的jdk

方法一

123456789101112131415
#从官网下载最新版的当前是jdk6u32#开始安装chmod u+x chmod u+x jdk-6u32-linux-x64-rpm.binsudo ./jdk-6u32-linux-x64-rpm.bin#设置环境变量.bash_profile是当前用户/etc/profile是所有用户的sudo vim /etc/profile#在末尾添加export JAVA_HOME=/usr/java/defaultexport JRE_HOME=$JAVA_HOME/jreexport PATH=$PATH:$JAVA_HOME/binexport CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar# 保存退出输入以下命令使之立即生效source /etc/profile# 测试java -version

方法二

12345678910111213141516171819202122
yum search jdk# java-1.6.0-openjdk只包含了JRE如果在这台机器上开发java程序则需要安装JDK# 要选择 java-1.6.0-openjdk-devel在服务器上我们只需要运行java程序因此选择前者sudo yum install java-1.6.0-openjdk-devel# 使用 alternatives 工具设置默认JDK参考Installing a Java Development Kit on Red Hat Enterprise Linux/usr/sbin/alternatives --config java/usr/sbin/alternatives --config javac# 设置环境变量# 查询JDK路径whereis javall /usr/bin/javall /etc/alternatives/java #这是可以看到JDK路径了sudo vim /etc/profile# 在末尾添加export JAVA_HOME=/usr/lib/jvm/jre-1.6.0-openjdk.x86_64export JRE_HOME=$JAVA_HOME/jreexport PATH=$PATH:$JAVA_HOME/binexport CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar#保存退出输入以下命令使之立即生效# source /etc/profile# 测试java -version

安装 apache

方法一

源码在官网 http://httpd.apache.org/ 下载。
先下载apt, apr-util, pcre三个库httpd 在编译时需要用到这三个库
apr, apr-util官网 http://apr.apache.org , pcre官网为 http://pcre.org

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
# 编译安装 aprtar -jxf apr-1.4.6.tar.bz2cd apr-1.4.6./configuremakesudo make install    # 默认会安装到 /usr/local/apr/cd ~#编译安装 apr-utiltar -jxf apr-util-1.4.1.tar.bz2cd apr-util-1.4.1./configure --with-apr=/usr/local/apr/makesudo make install    # 默认会安装到 /usr/local/apr/cd ~#编译安装 pcretar -jxf pcre-8.30.tar.bz2cd  pcre-8.30./configure --with-apr=/usr/local/apr/make# By default, `make install' installs the package's commands under#`/usr/local/bin', include files under `/usr/local/include', etc. sudo make installcd ~#编译安装 apachetar -jxf httpd-2.2.22.tar.bz2cd httpd-2.2.22./configuremakesudo make install    # 默认会安装到/usr/local/apache2/cd ~#添加防火墙规则让防火墙允许 apache的端口 80通过sudo vim /etc/sysconfig/iptables#添加如下一行实际上是拷贝了原来的一行仅仅改变了端口号位置必须#要放在 含有 "REJECT --reject-with" 的行的前面-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPTsudo service iptables restart#测试sudo /usr/local/apache2/bin/apachectl start#在浏览器输入 http://ip地址 如果看到“It works”说明安装成功/usr/local/apache2/bin/apachectl stop#设置为开机启动#将httpd注册为服务通过chkconfig实现开机启动#以apachectl 为模板sudo cp /usr/local/apache2/bin/apachectl /etc/init.d/httpdsudo vim /etc/init.d/httpd# 在第一行 #!/bin/sh添加如下一行使其支持chkconfig命令# chkconfig: 2345 85 15# 保存退出VIM编辑器sudo chmod u+x /etc/init.d/httpdsudo chkconfig --add httpdsudo chkconfig httpd on#检查一下是否添加成功chkconfig --list httpd

方法二

12345678910111213
sudo yum install httpd#可选sudo yum install httpd-devel#测试#启动 apache http serversudo service httpd start#添加规则让防火墙允许 apache的端口 80sudo vim /etc/sysconfig/iptables#添加如下一行位置必须要放在 含有 "REJECT --reject-with" 的行的前面-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPTsudo service iptables restart#可以在浏览器输入 http://ip地址 测试了#设置为开机启动sudo chkconfig httpd on

安装 mysql

方法一

12345678910
#去官网下载 Oracle & Red Hat 6的安装包64位为MySQL-5.5.23-1.el6.x86_64.tar#32位为 MySQL-5.5.23-1.el6.i686.tartar -xf MySQL-5.5.23-1.el6.x86_64.tar#加 --force 是因为可能会与mysqllib库冲突sudo rpm -ivh --force  MySQL-server-5.5.23-1.el6.x86_64.rpmsudo rpm -ivh MySQL-client-5.5.23-1.el6.x86_64.rpm# 启动 mysql 服务器sudo service mysql start#设置为开机启动sudo chkconfig mysql on

方法二

1234567
sudo yum install mysql-serversudo chgrp -R mysql /var/lib/mysqlsudo chmod -R 770 /var/lib/mysql# 启动 mysql 服务器sudo service mysqld start#设置为开机启动sudo chkconfig mysqld on

公共的操作

1234567891011121314
# root 初始密码为空修改root密码mysql -u rootmysql> use mysql;mysql> update user set password=password('root123') where user='root' AND host='localhost';mysql> flush privileges;# 打开MySQL中root账户的远程登录参考如何打开MySQL中root账户的远程登录mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root";mysql> update user set password=password('root123') where user='root' AND host='%';mysql> flush privileges;mysql> quit;#添加防火墙规则让防火墙允许 mysql 的端口 3306通过sudo vim /etc/sysconfig/iptables#添加如下一行实际上是拷贝了原来的一行仅仅改变了端口号位置必须#要放在 含有 "REJECT --reject-with" 的行的前面-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPTsudo service iptables restart

安装 php5

方法一

TODO

方法二

12345678910111213141516171819
sudo yum install php php-pear#重启 apache以确保apache 加载PHP模块sudo service httpd restart# 在 /var/www/html/下新建一个index.php文件用于测试cd /var/www/htmlsudo vim index.php# 添加如下一行<?php phpinfo(); ?># 在浏览器输入 http://xxx.xxx.xxx.xxx/index.php 测试PHP是否成功安装# 如果需要在PHP中支持mysql则需要安装 php-mysql 模块sudo yum install php-mysql# 如果需要在PHP中支持memcached则需要安装 php-pecl-memcache 模块sudo yum install php-pecl-memcache#安装一些常用的PHP扩展模块sudo yum install php-devel php-gd php-mbstring php-xml#可以安装一个wordpress进行测试注意要修改文件夹权限sudo chown -R apache.apache /var/www/html

安装 memcached

方法一

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
# memcached依赖libevent首先要安装 libevent# 去 http://libevent.org/ 下载libevent源码然后编译安装tar -zxf libevent-2.0.18-stable.tar.gzcd libevent-2.0.18-stable./configuremakesudo make install# 对于64位操作系统(32位不需要)还需要配置sudo ln -s /usr/local/lib/libevent-2.0.so.5 /usr/lib64//libevent-2.0.so.5# 去 http://www.memcached.org/ 下载 memcached然后编译安装tar -zxf memcached-1.4.13.tar.gzcd memcached-1.4.13./configuremakesudo make install# 启动, -p端口,-m内存, -umemcached -p 11211 -m 512m -u root -d# 开机启动# centos设置开机启动有两种方式一是把启动程序的命令添加到/etc/rc.d/rc.local文件中二是把写好的启动脚本添加到目录/etc/rc.d/init.d/然后使用命令chkconfig设置开机启动。第二种方式可以用 service xxx start|stop来启动或停止所以推荐第二种。#将 memcached启动命令注册为一个服务cd /etc/init.d/sudo vim memcached#代码如下参考Linux中将memcached注册成服务并可以随机器启动时启动服务#chkconfig: 345 60 60#!/bin/bashstart(){        echo -n $"Starting memcached: "        /usr/local/bin/memcached -p 11211 -m 512m -u root -d        echo "[OK]"}stop(){        echo -n $"Shutting down memcached: "        memcached_pid_list=`pidof memcached`        kill -9 $memcached_pid_list        echo "[OK]"}case "$1" in  start)        start        ;;  stop)        stop        ;;  restart)        stop        sleep 3        start        ;;    *)             echo $"Usage: $0 {start|stop|restart}"        exit 1esacexit 0#保存退出sudo chmod u+x memcachedsudo chkconfig --add memcachedsudo chkconfig  memcached on

方法二

TODO

安装 tomcat6

方法一

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
# 去 http://tomcat.apache.org 下载 apache-tomcat-6.0.35.tar.gztar -zxf apache-tomcat-6.0.35.tar.gzsudo mv apache-tomcat-6.0.35 /usr/local/cd /usr/local/apache-tomcat-6.0.35/bin#【可选】添加环境变量sudo vim /etc/profileexport CATALINA_HOME=/usr/local/apache-tomcat-6.0.35#启动 tomcat sudo ./startup.sh# 在浏览器输入 http://xxx.xxx.xxx.xxx:8080/ 如果能看见tomcat页面则表示安装成功了#设置开机启动#将 tomcat启动命令注册为一个服务cd /etc/init.d/sudo vim tomcatd#代码如下#chkconfig: 345 60 60#!/bin/bashCATALINA_HOME=/usr/local/apache-tomcat-6.0.35start(){        echo -n $"Starting Tomcat: "        $CATALINA_HOME/bin/startup.sh        echo "[OK]"}stop(){        echo -n $"Shutting down Tomcat: "        $CATALINA_HOME/bin/shutdown.sh        echo "[OK]"}case "$1" in  start)        start        ;;  stop)        stop        ;;  restart)        stop        sleep 3        start        ;;    *)             echo $"Usage: $0 {start|stop|restart}"        exit 1esacexit 0#保存退出sudo chmod u+x tomcatdsudo chkconfig --add tomcatdsudo chkconfig tomcatd on#添加防火墙规则让防火墙允许 tomcat 的端口 8080 通过sudo vim /etc/sysconfig/iptables#添加如下一行实际上是拷贝了原来的一行仅仅改变了端口号位置必须#要放在 含有 "REJECT --reject-with" 的行的前面-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPTsudo service iptables restart

方法二

123
#搜索一下 tomcat包的名字yum search tomcatsudo yum search tomcat6.noarch

安装Python

方法一去官网下载源码编译安装

12345678910111213
#开始解压编译安装tar -jxf Python-3.2.3.tar.bz2cd Python-3.2.3# 查看一下说明, vim READMEsudo yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel./configuremake#为了加快安装速度这步可以省略make test#卸载旧的python注意不能用 yum remove python这会卸载几百个包最终损坏系统sudo rpm -evf --nodeps pythonsudo make install#默认安装在 /usr/local/bin/python3

方法二

1
sudo yum install python

安装ruby

方法一

123456
# http://www.ruby-lang.org/en/downloads/ 选择 "Stable Snapshot"tar -zxf ruby-1.9-stable.tar.gzcd  cd ruby-1.9.3-p194/./configuremakesudo make install

方法二

1
sudo yum install ruby

安装go

12345678910
#去官网 http://code.google.com/p/go/downloads 下载go1.0.1.linux-i386.tar.gz (32位)go1.0.1.linux-amd64.tar.gz64位tar -zxf go1.0.1.linux-amd64.tar.gzsudo mv go/ /usr/local/#设置环境变量sudo vim /etc/profileexport GOROOT=/usr/local/goexport PATH=$PATH:$GOROOT/binsource /etc/profile#测试一下go version

安装lua

1234567891011121314151617
# 去官网下载源码编译安装。由于官网仅提供源码故推荐源码编译安装方式。# 去官网 http://www.lua.org/ 下载源码lua-5.2.0.tar.gztar -zxf lua-5.2.0.tar.gzcd lua-5.2.0# lua 依赖 readline.h 头文件sudo yum install  readline-develmake linuxsudo make install#安装 google protobuf#去官网 http://code.google.com/p/protobuf/下载tar -jxf protobuf-2.4.1.tar.bz2cd protobuf-2.4.1./configuremakesudo make install#测试protoc

清理安装包

12
cd ~rm * -rf

压缩打包

安装完后可以Clone压缩打包成一个zip文件方便分享给别人。

在关机之前有一件事需要做

sudo vim /etc/sysconfig/network-scripts/ifcfg-eth0, 把HWADDR=.... 这行删掉
sudo rm /etc/udev/rules.d/70-persistent-net.rules
sudo shutdown -h now

如果没有执行上述命令克隆后的虚拟机开机后无法上网重启网络sudo service network restart也没有效果会出现错误“Device eth0 does not seem to be present, delaying initialization.”

这是因为克隆后的虚拟机它的MAC地址变了即在它的.vmx文件里MAC地址变了ethernet0.generatedAddress这项但是linux不知道这个变化网络配置文件还是旧的这样跟它的而真实mac不匹配网络就无法启动。

执行上述命令删除了70-persistent-net.rules后相当于删除了旧的配置文件在开机时会生成新的配置文件。

关机后右击标签选择”Manage->Clone”选择”Create a full clone”克隆完成后关闭这台虚拟机的标签否则文件夹里有一些临时垃圾文件然后把文件夹压缩打包。以后就可以把这个zip包拷贝给周围的人别人就不用经历一遍重装的过程了。