CentOS 6.3 最小化安装过程及网络配置+用yum安装Apache+PHP+MySQL

一、系统安装(最小化安装)
1、可参考另一篇Centos 6.3图文安装过程。一般安装CentOS 6.3(x86_64)是做为服务器用,所以生产过程中用不到的软件一概不装;如果用yum安装,可以先替换国内的yum更新源,网速条件好也可以不替换,参考CentOS镜像使用帮助如下:
http://mirrors.cn99.com/.help/centos.html如果下载.iso文件刻碟安装,或直接用.iso文件在vm安装,可在这下载,共两个dvd文件:
http://vault.centos.org/6.3/isos/x86_64/
CentOS官方网站:
https://www.centos.org/
CentOS其他版本下载:
https://wiki.centos.org/Download

实际分区按生产业务的需求进行,一般的分区建议如下(如何用LVM逻辑卷管理分区的内容后续再整理一篇):
1)/boot 100M;
2)swap 内存的2倍,如果大于等于4G,则只需给4G即可;
3)/ 全部剩余空间(考虑Log增大占满磁盘的问题,可单独分开一区存放日志,从而不影响根分区和系统运行);

2、选择最小化安装完成及网络配置(vps主机跳过网卡设置):
1)配置临时网络,网络联通就能用SSH连接和操作:
  查看网络设置信息 



/sbin/ifconfig



  同上,可查看 



/sbin/ip addr



  查看路由网关信息 



/sbin/ip route



  网卡命名设定文档,Hpery-V需要添加旧版网络适配器,网卡标识ethN需要对应修改为eth0,则需要重启系统 ,不改就应修改对脚本



/bin/vi /etc/udev/rules.d/70-persistent-net.rules



  设置临时ip地址调试网络用,并不会更改系统中网卡的配置文件,重启后会丢失 



/sbin/ifconfig eth0 192.168.1.28/24 up



/sbin/ifconfig eth0 192.168.1.28 netmask 255.255.255.0 up  #同上,可用hw可指定硬件地址MAC



  虚拟接口,也就是为一个网络接口指定多个IP地址,比如eth0:0、eth0:1、eth0:2 ...eth0:N,

  如果指定不同的网卡,还需要加hw ether硬件mac地址



/sbin/ifconfig eth0:0 192.168.1.29 hw ether `/sbin/ifconfig |grep eth0 |awk '{print $NF}'` netmask 255.255.255.0 up



  临时网关生效



/sbin/route add default gw 192.168.1.1



2)网络配置

  网卡配置文件位置



cd /etc/sysconfig/network-scripts/



  备份网卡配置文件,如果有的话,修改前备份是个好习惯(它会读目录下的所有ethX文件,所加个.bak就不出问题)



/bin/cp -a ifcfg-eth0 ifcfg-eth0.`date +%Y%m%d.%H%M%S`.bak



  将网络信息写入网卡配置文件



/bin/echo "
DEVICE=eth0
BOOTPROTO=static
HWADDR=`/sbin/ifconfig |grep eth0 |awk '{print $NF}'` 
IPADDR=192.168.1.10
NETMASK=255.255.255.0
BROADCAST=192.168.1.255
ONBOOT=yes
TYPE=Ethernet
" > ifcfg-eth0



  修改网关信息 (hostname自己改)



cd /etc/sysconfig/
/bin/cp -a network network.`date +%Y%m%d.%H%M%S` 
/bin/echo "
NETWORKING=yes
HOSTNAME=localhost.localdomain
NETWORKING_IPV6=no
GATEWAY=192.168.1.1
" > /etc/sysconfig/network



   修改DNS的配置(根据实际情况改)



/bin/echo "
nameserver 8.8.8.8
nameserver 4.4.4.4
" > /etc/resolv.conf



   重启网络配置,



/sbin/service network restart
#或
/etc/init.d/network restart



 3)修改hostname的办法

直接用hostname的命令只是临时有效,重启会还原;
所以要修改/etc/sysconfig/network,里面的HOSTNAME=localhost.localdomain;



vi /etc/sysconfig/network



3、校准时间 (ntpdate和ntpd)

在Login到新装系统后,先校正时间,以方便查看日志生成记录,查找问题发生原因等;
在Hyper-v的vm里面,时期和时间会根据物理机自动校准,无需执行以下时间校正命令;
以下命令很多需要用到超级用户权限
/bin/su root 或 /bin/sudo 命令

查看系统时间 



/bin/date



查看系统时间时区 



/bin/date -R



如果需要修改时区,选择对应时区,国内选择亚洲-中国-上海或香港,tzselect命令用于选择时区,在CentOS 6.X版本中这个命令只是帮我们把选择的时区显示出来,如 TZ='Asia/Shanghai' ,并不会实际生效;

/usr/bin/tzselect
修改时区的方法一就是直接更改系统配置文件/etc/sysconfig/clock,将ZONE="Europe/Rome"改为ZONE="Asia/Shanghai";



/bin/echo "
ZONE="Asia/Shanghai"
" >/etc/sysconfig/clock



或者手动修改

vi /etc/sysconfig/clock 
改ZONE=Asia/Shanghai,可查/usr/share/zoneinfo/ 下面的文件或用/usr/bin/tzselect显示
UTC=false ( 硬件时钟是否为 UTC 或者说 GMT 时钟。把硬件时钟设置为 UTC 的好处就是他能自动设置夏时制,缺点是,在安装有多重操作系统启动的机器上,在另外的操作系统上时钟会错误。) 

修改时区的方法二,修改符号链接/etc/locatime对应的文件;



/bin/cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime



增加ntpdate和ntp对时服务;



/usr/bin/yum -y install ntpdate ntp
/sbin/chkconfig ntpd on
/bin/cp -a /etc/ntp.conf /etc/ntp.conf.`date +%Y%m%d.%H%M%S`



首次安装操作系统还未启动进入生产环境之前,建议先ntpdate,然后再开启ntpd服务与时间服务器进行实时平滑同步。

ntpdate是立即同步,会产生时钟的跃变,有时候会导致很严重的问题。ntpd在实际同步时间时是一点点的校准时间的。另外还有安全、精确等本身的问题,因此在生产环境中慎用ntpdate。 
使用ntpdate命令从网络同步时间,ntp服务器公网上的NTP服务器列表:http://www.pool.ntp.org/zone/asia,中国cn.pool.ntp.org,香港hk.pool.ntp.org,新加坡sg.pool.ntp.org,亚洲asia.pool.ntp.org,



/usr/sbin/ntpdate asia.pool.ntp.org
/etc/init.d/ntpd start



查看时间同步情况是否启用



/usr/sbin/ntpq -p
/usr/bin/ntpstat



开启防火墙端口,如已关闭请跳过(如有防火墙时,提供对时的服务器需要,做为client的主机不用管)



/sbin/iptables -A INPUT -p udp -dport 123 -j ACCEPT
/etc/init.d/iptables save
service iptables restart



如无联网,则用以下命令设置日期(年月日) 



/bin/date -s 20121010



设置时间(时分秒) 



/bin/date -s 17:19:23



将当前系统时间和日期写入BIOS硬件时间,避免重启后失效 



/usr/sbin/hwclock -w



4、更新系统内核



/usr/bin/yum -y update



5、 调整Linux的最大文件打开数,系统一般默认数量是1024,永久生效是修改/etc/security/limits.conf,加两行:



/bin/echo "
* soft nofile 163840
* hard nofile 163840
" >>/etc/security/limits.conf



查看系统总限制是在这里,修改/etc/sysctl.conf 中也可以控制;



/bin/cat /proc/sys/fs/file-max



看到整个系统目前使用的文件句柄数量



/bin/cat /proc/sys/fs/file-nr



另外,用lsof.可以很方便看到某个进程开了那些句柄.也可以看到某个文件/目录被什么进程占用了

 ulimit命令修改的数值只对当前登录用户的目前使用环境有效,系统重启或者用户退出后就会失效,在启动脚本如httpd加上才有效



ulimit -SHn 65535



ulimit -a 命令并不能真正看到文件的最大文件打开数,大家可用如下脚本查看:



/bin/touch    /home/ulimit.sh
/bin/vi /home/ulimit.sh



脚本内容:



#!/bin/bash
for pid in `ps aux |grep httpd |grep -v grep|awk '{print$2}'`
do
cat /proc/${pid}/limits |grep 'Max open files'
done



测试



/bin/sh /home/ulimit.sh



6、优化操作系统网络参数
修改/etc/sysctl.conf,并生效/sbin/sysctl -p

net.ipv4.tcp_syncookies = 1
开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭;

7、针对一些要用到的命令,安装命令包等
有需要用到查找命令locate,另一个常用是whereis



/usr/bin/yum -y install mlocate



升级本地文件数据库,用于快速查找 



/usr/bin/updatedb



包含ssh、scp等命令,两台linux机之间用到; 包含lspci、iostat、wget、gcc、make、rsync等命令,不用的先不安装;



/usr/bin/yum install openssh-clients -y
/usr/bin/yum -y install pciutils 
/usr/bin/yum install sysstat -y
/usr/bin/yum install wget -y
/usr/bin/yum install gcc -y
/usr/bin/yum install make -y
/usr/bin/yum install telnet -y
/usr/bin/yum install rsync -y



至此,CentOS6.3的基本安装过程就完成了,后续按照生产或测试用的需求安装其他组件和工具,参考其他后续内容;以上内容会根据实际需要更新和细化。