转转:http://hi.baidu.com/asmstudy/blog/item/147ac3c3cae4f9010cf47760.html

ext4命令:mkfs.ext4 /dev/sdb1

我插上硬盘后,用fdisk -l查看,不是sdb是sda,需要注意,别搞错了。这个可能跟sata数据线所插入的接口有关。

=======================

Centos服务器上原有SCSI硬盘是sda,按照顺序新添加的硬盘是sdb。

进入fdisk模式:
#fdisk /dev/sdb
输入n创建新分区
n
输入p为创建主分区
p
输入1创建第1个主分区
1
创建完后用w保存分区
w
对硬盘进行格式化
#mkfs -t ext3 -c /dev/sdb1
挂载分区
#mkdir /data
#mount /dev/sdb1 /data
开机后自动挂载
#vim /etc/fstab
在最后一行添加如下内容:

/dev/sdb1 /data ext3 defaults 1 2

 

centos linux 增加硬盘步骤

 

先将硬盘挂上,然后进入centos,执行如下步骤

第一步:查出新加设备
[root@YckTestSvr ~]# fdisk -l
Disk /dev/sda: 268.4 GB, 268435456000 bytes
255 heads, 63 sectors/track, 32635 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 32635 262036215 8e Linux LVM
Disk /dev/sdb: 128.8 GB, 128849018880 bytes
255 heads, 63 sectors/track, 15665 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

[root@YckTestSvr ~]# fdisk -l
Disk /dev/sda: 268.4 GB, 268435456000 bytes255 heads, 63 sectors/track, 32635 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System/dev/sda1 * 1 13 104391 83 Linux/dev/sda2 14 32635 262036215 8e Linux LVM
Disk /dev/sdb: 128.8 GB, 128849018880 bytes255 heads, 63 sectors/track, 15665 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sdb doesn’t contain a valid partition table

这里查出新增/dev/sdb

第二步 分区

输入 fdisk /dev/sdb

显示 Command (m for help):

输入 n

显示 Command action

e extended
p primary partition (1-4)
输入 p
显示Partition number (1-4):
输入 1
显示First cylinder (1-15665, default 1):
默认回车
显示 Last cylinder or +size or +sizeM or +sizeK (1-15665, default 15665):
默认回车,表示将整个盘分为一个区
显示Command (m for help):
输入w 保持退出

第三步 格式化

mkfs -t ext3 /dev/sdb1

第四步 挂载硬盘到某个目录下

mkdir /sedisk

mount /dev/sdb1 /sedisk/

第五步,将挂载硬盘设置系统启动自动挂载

vi /etc/fstab

在文件的末尾填加如下内容:

vi /etc/fstab

在文件的末尾填加如下内容:

/dev/sdb1 /sedisk ext3 defaults 1 2

如有多个分区可修改sdb1和/sedisk,修改完后保存,重起服务器。

转:http://www.myhack58.com/Article/sort099/sort0102/2011/29472.htm

一、更改yum源为网易的源加快速度

vi /etc/yum.repos.d/CentOS-Base.repo
更改内容如下

# CentOS-Base.repo
#
# This file uses a new mirrorlist system developed by Lance Davis for CentOS.
# The mirror system uses the connecting IP address of the client and the

# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client. You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
#

[base]
name=CentOS-$releasever - Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
baseurl=http://mirrors.163.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

#released updates
[updates]
name=CentOS-$releasever - Updates
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
baseurl=http://mirrors.163.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

#packages used/produced in the build but not released
[addons]
name=CentOS-$releasever - Addons
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=addons
#baseurl=http://mirror.centos.org/centos/$releasever/addons/$basearch/
baseurl=http://mirrors.163.com/centos/$releasever/addons/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
baseurl=http://mirrors.163.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
baseurl=http://mirrors.163.com/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

二、update yum

yum -y update

三、利用CentOS Linux系统自带的yum命令安装、升级所需的程序库

LANG=C
yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers

四、安装php和mysql

yum -y install php mysql mysql-server mysql-devel php-mysql php-cgi php-mbstring php-gd php-fastcgi

五、安装nginx
由于centos没有默认的nginx软件包,需要启用REHL的附件包

rpm -Uvh http://download.Fedora.RedHat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm
yum -y install nginx

设置开机启动

chkconfig nginx on

六、安装spawn-fcgi来运行php-cgi

yum install spawn-fcgi

七、下载spawn-fcgi 的启动脚本

wget http://bash.cyberciti.biz/dl/419.sh.zip
unzip 419.sh.zip
mv 419.sh /etc/init.d/php_cgi
chmod +x /etc/init.d/php_cgi

启动php_cgi

/etc/init.d/php_cgi start

查看进程

netstat -tulpn | grep :9000

若出现如下代表一切正常

tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 4352/php-cgi

八、配置nginx(详细配置见nginx.conf详细说明)

location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name;
include fastcgi_params;
}

九、查看phpinfo
编写脚本

phpinfo();

十、安装phpmyadmin
修改/var/lib/php/session的权限和nginx和php_cgi一致

chown -R www.www /var/lib/php/session

转:http://apps.hi.baidu.com/share/detail/14819035

如果你打算使用Apache httpd Web服务器,请看这里。

一、系统约定

软件源代码包存放位置 /usr/local/data-original

源码包编译安装位置(prefix) /usr/local/software_name

脚本以及维护程序存放位置 /usr/local/sbin

MySQL 数据库位置 /var/lib/mysql(可按情况设置)

网站根目录 /home/www/wwwroot(可按情况设置)

虚拟主机日志根目录 /home/www/logs(可按情况设置)

运行账户 www:www

二、系统环境部署及调整

1、检查系统是否正常

# more /var/log/messages (检查有无系统级错误信息)

# dmesg (检查硬件设备是否有错误信息)

# ifconfig(检查网卡设置是否正确)

# ping www.163.com (检查网络是否正常)

# cat /proc/cpuinfo (检查CPU频率是否正常)

# top (按1检测CPU核数是否正常,内存大小是否正常)

2、关闭不需要的服务

# ntsysv

以下仅列出需要启动的服务,未列出的服务一律推荐关闭:

atd

crond

irqbalance

microcode_ctl

network

sendmail

sshd

syslog

关闭SElinux:修改/etc/selinux/config文件中的SELINUX= 为 disabled

3、更换yum国内源

# cd /etc/yum.repos.d

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

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

# mv CentOS-Base.repo.5 CentOS-Base.repo

# yum clean all

4、服务器时间检查和设置

#data (检查时间是否正确,是否是中国时间CST)

#cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime (如果时区不对,则执行,时间正常的跳过)

#yum -y install ntp (安装ntp对时工具)

#chkconfig ntpd on (让对时服务开机启动)

5、使用 yum 对系统进行更新并且安装必要软件包

#yum update –y

  1. #yum -y install make openssl openssl-devel pcre pcre-devel libpng libpng-devel libjpeg-6b libjpeg-devel-6b freetype freetype-devel gd gd-devel zlib zlib-devel gcc gcc-c++ libXpm libXpm-devel ncurses ncurses-devel libmcrypt libmcrypt-devel libxml2 libxml2-devel imake autoconf automake screen sysstat compat-libstdc++-33 curl curl-devel

复制代码

6. 重新启动系统

# init 6

三、编译安装L.A.M.P环境

1、下载软件(截止到09年10月的最新版本)

# cd /usr/local/data-original

#wget http://sysoev.ru/nginx/nginx-0.7.63.tar.gz

#wget http://download.scientificlinux.net/nginx

#wget http://download.scientificlinux.net/php-fpm.conf

#wget http://download.scientificlinux.net/nginx.conf

#wget http://download.scientificlinux.net/fcgi.conf

#wget http://download.scientificlinux.net/php-5.2.10.tar.gz

#wget http://download.scientificlinux.net/php-5.2.10-fpm-0.5.13.diff.gz

#wget http://download.scientificlinux. ... glibc23-i386.tar.gz (32位系统)

#wget http://download.scientificlinux. ... ibc23-x86_64.tar.gz (64位系统)

#wget http://download.scientificlinux. ... i686-glibc23.tar.gz (32位系统)

#wget http://download.scientificlinux. ... 6_64-glibc23.tar.gz (64位系统)

2、安装MySQL

cd /usr/local/data-original

tar zxvf mysql-5.1.39-linux-i686-glibc23.tar.gz

mv mysql-5.1.39-linux-i686-glibc23 /usr/local/

ln -s /usr/local/mysql-5.1.39-linux-i686-glibc23/ /usr/local/mysql

groupadd mysql

useradd -g mysql mysql

chown -R mysql:mysql /usr/local/mysql

chown -R mysql:mysql /usr/local/mysql-5.1.39-linux-i686-glibc23/

cd /usr/local/mysql

./scripts/mysql_install_db --user=mysql

cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld

chmod 755 /etc/rc.d/init.d/mysqld

chkconfig --add mysqld

chkconfig --level 3 mysqld on

cp ./support-files/my-huge.cnf /etc/my.cnf

mv /usr/local/mysql/data /var/lib/mysql

chown -R mysql:mysql /var/lib/mysql

编辑/etc/my.cnf

在 [mysqld] 段增加

  1. datadir = /var/lib/mysql
  2. skip-innodb
  3. wait-timeout = 10
  4. max_connections = 512
  5. max_connect_errors = 10000000

复制代码

在 [mysqld] 段修改

  1. max_allowed_packet = 16M
  2. thread_cache_size = CPU个数*2

复制代码

将 log-bin 注释

service mysqld start

bin/mysqladmin -u root password 'password_for_root'

其中引号内的password_for_root是要设置的root密码

3、安装Nginx

cd /usr/local/data-original/

tar zxvf nginx-0.7.63.tar.gz

cd nginx-0.7.63

./configure --prefix=/usr/local/nginx --conf-path=/usr/local/nginx/conf/nginx.conf --with-http_realip_module --with-http_addition_module --with-http_gzip_static_module --with-http_random_index_module --with-http_stub_status_module --with-http_sub_module --with-http_dav_module

make

make install

cp /usr/local/data-original/nginx /etc/init.d/nginx

chmod 755 /etc/init.d/nginx

chkconfig --add nginx

chkconfig nginx on

4、安装PHP和Zend

cd /usr/local/data-original

tar zxvf php-5.2.10.tar.gz

gzip -cd php-5.2.10-fpm-0.5.13.diff.gz | patch -d php-5.2.10 -p1

cd php-5.2.10

./configure --prefix=/usr/local/php5 --with-config-file-path=/usr/local/etc/cgi --enable-mbstring --enable-ftp --with-gd --with-jpeg-dir=/usr --with-png-dir=/usr --enable-magic-quotes --with-mysql=/usr/local/mysql --with-pear --enable-sockets --with-ttf --with-freetype-dir=/usr --enable-gd-native-ttf --with-zlib --enable-sysvsem --enable-sysvshm --with-libxml-dir=/usr --enable-force-cgi-redirect --enable-fastcgi --with-xmlrpc --enable-zip --enable-fpm

make

make install

mkdir -p /usr/local/etc/cgi/

cp php.ini-dist /usr/local/etc/cgi/php.ini

mv -f /usr/local/data-original/php-fpm.conf /usr/local/php5/etc/php-fpm.conf

groupadd www

useradd -g www www

echo 'ulimit -SHn 65535' >> /etc/rc.local

echo '/usr/local/php5/sbin/php-fpm start' >> /etc/rc.local

cd /usr/local/data-original

tar zxvf ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz

cd ZendOptimizer-3.3.3-linux-glibc23-i386

./install

(注意第一个要填的路径是Zend安装路径,第二个是php.ini所在的路径,即/usr/local/etc/cgi)

(不要选重启apache)

5、启动Nginx和php

mv -f /usr/local/data-original/fcgi.conf /usr/local/nginx/conf/

cp -f /usr/local/data-original/nginx.conf /usr/local/nginx/conf/nginx.conf

mkdir -p /home/www/wwwroot

ulimit -SHn 65535

/usr/local/php5/sbin/php-fpm start

service nginx start

在/home/www/wwwroot放入一个index.php,内容为

打开浏览器访问,即可看到phpinfo页面

6、设置系统防火墙

编辑/usr/local/sbin/fw.sh

复制以下内容进去

  1. #!/bin/bash
  2. # Stop iptables service first
  3. service iptables stop
  4. # Load FTP Kernel modules
  5. /sbin/modprobe ip_conntrack_ftp
  6. /sbin/modprobe ip_nat_ftp
  7. # Inital chains default policy
  8. /sbin/iptables -F -t filter
  9. /sbin/iptables -P INPUT DROP
  10. /sbin/iptables -P OUTPUT ACCEPT
  11. # Enable Native Network Transfer
  12. /sbin/iptables -A INPUT -i lo -j ACCEPT
  13. # Accept Established Connections
  14. /sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
  15. # ICMP Control
  16. /sbin/iptables -A INPUT -p icmp -m limit --limit 1/s --limit-burst 10 -j ACCEPT
  17. # WWW Service
  18. /sbin/iptables -A INPUT -p tcp --dport 80 -j ACCEPT
  19. # FTP Service
  20. /sbin/iptables -A INPUT -p tcp --dport 21 -j ACCEPT
  21. # SSH Service
  22. /sbin/iptables -A INPUT -p tcp --dport 22 -j ACCEPT

复制代码

退出编辑,执行以下命令

# chmod 755 /usr/local/sbin/fw.sh
# echo '/usr/local/sbin/fw.sh' >> /etc/rc.local
# /usr/local/sbin/fw.sh

squid3.0 反向代理 apache2+squid3

我使用的环境CentOS5.5 yum的apache2+PHP5+squid,目前网站已配置成功。

一.APACHE配置
apache(81端口)+squid(80端口)(apache和squid跑在同一个机器上面 要实现反向代理 )我将我的外网域名用abc.com代替了

apache简单配置如下:
Listen 81
NameVirtualHost *
<VirtualHost *>
<Directory "/usr/local/www/">
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
Satisfy all
</Directory>
ServerName    www.abc.com
ServerAdmin webadmin@abc.com
DocumentRoot "/usr/local/www/"
DirectoryIndex index.jsp
#    ErrorLog "/usr/local/apache/logs/abc-error_log"
#    SetEnvIf Remote_Addr "::1" dontlog
#    CustomLog "/usr/local/apache/logs/abc-access_log" combined env=!dontlog
</VirtualHost>

此时可以通过lsof -i:81查看谁占用81端口

二.SQUID配置
安装    rpm -ivh squid.3.x.rpm

配置    vi /etc/squid/squid.conf

#change for hugwww
visible_hostname www.151051.com

http_port 80 vhost vport

cache_peer 127.0.0.1 parent 81 0 no-query originserver

cache_peer_domain 127.0.0.1 www.151051.com

acl all data-original all

http_access allow all

cache_dir ufs /var/spool/squid 100 16 256

access_log /var/log/squid/access.log squid

cache_log /var/log/squid/cache.log

acl QueryString url_regex \.php?

no_cache deny QueryString

maximum_object_size 320010 KB

maximum_object_size_in_memory 100 KB

dns_nameservers 192.168.0.100

cache_mgr gaojinbo@dayang.com

#/usr/local/squid/sbin/squid -k parse
可以根据这个测试命令用来验证squid.conf的语法和配置(下面是OK的如果不OK会有相应的提示根据提示来修改配置文件)
2008/03/19 15:29:48| Processing Configuration File: /etc/squid.conf (depth 0)

#squid -z
用来Creating Swap Directories

还有测试命令如:squid -CNd1

[root@www ~]# cat /var/log/squid/access.log |grep TCP_MEM_HIT
该指令可以看到在squid运行过程中,有那些文件被squid缓存到内存中,并返回给访问用户

[root@www ~]# cat /var/log/squid/access.log |grep TCP_HIT
该指令可以看到在squid运行过程中,有那些文件被squid缓存到cache目录中,并返回给访问用户

[root@www ~]# cat /var/log/squid/access.log  |grep TCP_MISS
该指令可以看到在squid运行过程中,有那些文件没有被squid缓存,而是现重原始服务器获取并返回给访问用户

可以查看下命中率及其他相关信息
#squidclient -p 80 -h localhost mgr:info

三.配置客户端访问

1.修改HOSTS文件,将svr-ekp.broad-ocean.com的地址设置为192.168.0.193

2.修改DNS记录,将svr-ekp.broad-ocean.com的地址设置为192.168.0.193

3.浏览器访问svr-ekp.broad-ocean.com

注:第一步骤可省略,使用现在WEB服务器.

PS:这篇优化总结不错,适合于小内存的VPS服务器。

CentOS 是免费的,并且有着 RHEL 的稳定,因此深受各大 hosting 服务商支持,几乎所有 Linux VPS 都支持 CentOS。

一般来说如果 VPS 配置较高我会选 CentOS,配置低的话就选 Debian,当然这是个人偏好,大多数 Linux VPS 服务商也会提供 Gentoo,不过每次安装程序,升级都要编译会消耗很多资源,耗时,而且性能没有明显提高,不推荐给配置低的 VPS。

VPS 服务商一般给的操作系统版本都是最小安装版本,或者优化过的版本。每个VPS服务商提供的版本都可能不同,安装 CentOS 的系统最低要求至少 64MB 内存(纯文字界面),1GB 硬盘空间。

安装和升级系统

1、登录 VPS 安装 CentOS 5。

2、安装完毕后马上升级整个系统。

yum update

有了一个干净的系统以后,剩下来就是加强和优化 Linux。

删除不必要的软件包,服务,用户,文件等

3、删除不需要的软件包。

yum remove Deployment_Guide-en-US finger cups-libs cups
bluez-libs desktop-file-utils ppp rp-pppoe wireless-tools irda-utils
nfs-utils nfs-utils-lib rdate fetchmail eject ksh mkbootdisk mtools
syslinux tcsh startup-notification talk apmd rmt dump setserial portmap yp-tools
ypbind

rpm -qa (列出所有安装了的包)
rpm -e package (删除某个包)
rpm -qi package (查询某个包)
rpm -qf command (根据程序查询包的名字)
rpm -ql package (查询某个包所有的安装文件)

4、删除一些不安全的软件包,并且用相应安全的软件替代,如: ssh/sftp/scp 替代 telnet, rsh, ftp, rcp
注意系统需要一个默认的 MAT,删除 Sendmail MAT 之前必须先安装一个,如: Postfix。

yum remove telnet rsh ftp rcp
yum install postfix
yum remove sendmail
/sbin/chkconfig postfix off

5、停掉并且删除一些不需要的 xinetd 服务。

/sbin/service xinetd stop; /sbin/chkconfig xinetd off
rm -rf /etc/xinetd.d

6、禁止一些 /etc/init.d/ 下面不需要的服务,更多信息请参考 “Understanding your (Red Hat Enterprise Linux) daemons, by Len DiMaggio”。

/sbin/chkconfig --list

for a in acpid anacron apmd atd autofs bluetooth cpuspeed cups gpm
hidd ip6tables irqbalance messagebus microcode_ctl netfs nfs nfslock
pcscd portmap readahead_early readahead_later rpcgssd rpcidmapd
sendmail smartd xinetd yum-updatesd; do /sbin/chkconfig $a off; done

7、重启系统后,检查一下正在运行中的服务,看看是不是都是必须的。

netstat -an | grep LISTEN
netstat -atunp

8、为了安全起见,删除一些不需要的用户。

cp /etc/passwd /etc/passwd.sav
cp /etc/group /etc/group.sav
for a in adm lp sync news uucp operator games gopher mailnull nscd rpc;
do /usr/sbin/userdel $a -f; done
for a in lp news uucp games gopher users floopy nscd rpc rpcuser nfsnobody;
do /usr/sbin/groupdel $a -f; done

加固和优化系统

9、打开防火墙。

system-config-securitylevel-tui

10、检查和禁止全局可写的 SUID 文件。

find / -perm +4000 -user root -type f -print
find / -perm +2000 -group root -type f -print
chmod u-s /full/path/to/filename
chmod g-s /full/path/to/filename

11、只允许 root 在一个 terminal 上登录,如: tty1。

vi /etc/securetty

12、避免其他用户按 Ctrl+Alt+Del 重启。

vi /etc/inittab

注释掉
#ca::ctrlaltdel:/sbin/shutdown -t3 -r now

13、/etc/security/console.apps/ 下面有 root 用户登录 console 后可以运行的程序,全部删除。
rm -f /etc/security/console.apps/*

14、删除一些登录信息。

vi /etc/issue (warning at login prompt)
vi /etc/motd (warning after successful login)

15、只运行一个 virtual terminal,如果是 VPS 的话,自己不可能物理登录终端,可以全部禁止掉。

vi /etc/inittab
# Run gettys in standard runlevels
#1:2345:respawn:/sbin/mingetty tty1
#2:2345:respawn:/sbin/mingetty tty2
...

16、加固 SSH 安全。

vi /etc/ssh/sshd_config
Port 2222
Protocol 2
PermitRootLogin no
PermitEmptyPasswords no
X11Forwarding no
UsePAM no
UseDNS no
AllowUsers vpsee
Banner /etc/issue

17、安装 Bastille 软件包帮助加固。

rpm -Uvh perl-Curses-1.15-1.el5.rf.i386.rpm
rpm -ivh Bastille-3.0.9-1.0.noarch.rpm
/usr/sbin/bastille -c

18、优化 Linux 内核。

vi /etc/sysctl.conf
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.all.accept_redirects = 0

定制 Linux 内核

19、定制,编译,安装 Linux 内核。

yum install rpm-build ncurses ncurses-devel
rpm -ivh kernel-2.6.18-8.1.1.el5.data-original.rpm
cd /usr/data-original/redhat/SPECS
rpmbuild -bp --target i686 kernel-2.6.spec
cd /usr/data-original/redhat/BUILD/kernel-2.6.18/linux-2.6.18.i686
sed -i 's/EXTRAVERSION = -prep/EXTRAVERSION = -8.1.1.custom.el5/' Makefile
make menuconfig
make rpm
cd /usr/data-original/redhat/RPMS/i686
rpm -ivh kernel-2.6.18prep-1.rpm
/sbin/mkinitrd /boot/initrd-2.6.18-prep.img 2.6.18-prep (2.6.18-prep -> /lib/modules)
vi /boot/grub/menu.1st

20、修改 iptables,只允许 ssh,http 和 https 端口打开。

/sbin/iptables -F
/sbin/iptables -A INPUT -i lo -j ACCEPT
/sbin/iptables -A INPUT -i ! lo -d 127.0.0.0/8 -j REJECT
/sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -A OUTPUT -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 80 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 443 -j ACCEPT
/sbin/iptables -A INPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT
/sbin/iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
/sbin/iptables -A INPUT -j REJECT
/sbin/iptables -A FORWARD -j REJECT

然后查看一下 iptables:

iptables -L

更多信息

10 Realistic Steps to a Faster Web Site
Understanding your (Red Hat Enterprise Linux) daemons, by Len DiMaggio
Linux Server Security (2nd Edition), by Michael D. Bauer, O’Reilly
Hardening Linux, by James Turnbull, Apress
RHEL 5.0 Deployment Guide, by RedHat
RHEL 5.0 Installation Guide, by RedHat

转自:http://www.vpsee.com/2009/06/128mb-vps-optimize-centos5/

[base]
name=CentOS-$releasever - Base
baseurl=http://mirrors.sohu.com/centos/5.5/os/$basearch/
http://centos.candishosting.com.cn/5.5/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.sohu.com/centos/RPM-GPG-KEY-CentOS-5

#released updates

[update]
name=CentOS-$releasever - Updates
baseurl=http://mirrors.sohu.com/centos/5.5/updates/$basearch/
http://centos.candishosting.com.cn/5.5/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.sohu.com/centos/RPM-GPG-KEY-CentOS-5

#packages used/produced in the build but not released

[addons]
name=CentOS-$releasever - Addons
baseurl=http://mirrors.sohu.com/centos/5.5/addons/$basearch/
http://centos.candishosting.com.cn/5.5/addons/$basearch/
gpgcheck=1
gpgkey=http://mirrors.sohu.com/centos/RPM-GPG-KEY-CentOS-5

#additional packages that may be useful

[extras]
name=CentOS-$releasever - Extras
baseurl=http://mirrors.sohu.com/centos/5.5/extras/$basearch/
http://centos.candishosting.com.cn/5.5/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.sohu.com/centos/RPM-GPG-KEY-CentOS-5

#additional packages that extend functionality of existing packages

[centosplus]
name=CentOS-$releasever - Plus
baseurl=http://mirrors.sohu.com/centos/5.5/centosplus/$basearch/
http://centos.candishosting.com.cn/5.5/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.sohu.com/centos/RPM-GPG-KEY-CentOS-5

#contrib - packages by Centos Users

[contrib]
name=CentOS-$releasever - Contrib
baseurl=http://mirrors.sohu.com/centos/5.5/contrib/$basearch/
http://centos.candishosting.com.cn/5.5/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.sohu.com/centos/RPM-GPG-KEY-CentOS-5

smartmontools介绍

smartmontools是一款开源的磁盘控制,监视工具,可以运行在 Linux,Unix,BSD,Solaris,Mac OS,OS/2,Cygwin和Windows上,同时它还可以从启动光盘或启动软盘运行,支持ATA/ATAPI/SATA-3(到-8)位的硬盘和 SCSI硬盘,另外还支持磁带设备,它的老家在smartmontools.sourceforge.net,实际上它是一个软件包,包括了两个实用程 序:smartctl和smatd。它监控的硬盘必须具有S.M.A.R.T特性,目前所有硬盘都有这个特性,但默认情况下通常没有开启这个功能,有两种 方法来开启这个特性:1)通过BIOS设置选项2)通过smartctl命令。利用它可以测试硬盘的健康状况,并在发生故障前进行预警。

准备工作

在开始测试或监控之前,先检查一下目标硬盘是否支持S.M.A.R.T,以root登陆(Windows下以系统管理员身份登陆),运行下面的命令:

#smartctl -i -d ata /dev/sda

这里的参数-i指出显示设备信息,-d指出设备类型,这里指定的设备类型为ata,当然,如果是SCSI硬盘,就指定scsi了,最后的/dev/sda就是设备了,这个命令返回:

smartctl version 5.37 ‘i686-pc-linux-gnu‘ Copyright (C) 2002-6
Bruce Allen
Home page is http://smartmontools.sourceforge.net/=== START OF INFORMATION SECTION ===
Model Family: Western Digital Caviar SE (Serial ATA) family
Device Model: WDC WD800JD-00MSA1
Serial Number: WD-WMAM9S474555
Firmware Version: 10.01E01
User Capacity: 80,026,361,856 bytes
Device is: In smartctl database ‘for details use: -P show‘
ATA Version is: 7
ATA Standard is: Exact ATA specification draft version not
indicated
Local Time is: Thu Feb 7 13:09:37 2008 PST
SMART support is: Available - device has SMART capability.
SMART support is: Disabled

从返回的信息中,可以看到硬盘的生产厂家,型号,序列号,容量,是否支持SMART,目前SMART开启没有。结果的最后两行就是我们需要的信息,从这里可以看出,这块硬盘是支持SMART技术的,但目前还没有开启它。

1. 到vmware官方网站获取:VMware-server-2.0.0-122956.i386.rpm

2. 到CentOS上面执行rpm -ivh VMware-server-2.0.0-122956.i386.rpm

3. 运行vmware-config.pl,根据提示回答使用网络的Bridge模式,可以不用NAT。

安装过程中需要的序列号:

VMware Server 2 for Windows A0025-FWR6J-V1MFH-4R63M
VMware Server 2 for Linux A2J05-FWWF0-UGH0J-4J2HN

4.修正SELinux
chcon -t texrel_shlib_t /usr/lib/vmware/vmacore/libvmacore.so.1.0

chcon -t texrel_shlib_t /usr/lib/vmware/hostd/diskLibWrapper.so

5. /sbin/service vmware restart

6. 如果要远程管理(我的CentOS是最小安装,没有X),使用putty连接到CentOS机器上面,设置下面的ssh tunnel:

L8222 到远程的127.0.0.1:8222
L8333 到远程的127.0.0.1:8333
L902 到远程的127.0.0.1:902

7. 在本机上面运行IE并访问: http://localhost:8222/
输入3中指定的管理账户,如root和root的密码就可以了。

8. 如果要使用WMWare Remote Console只要选择Console标签,并下载安装IE插件就可以了。

<1> cvs软件默认已经安装好了。
可以用 rpm -qi cvs 来查看。
<2> 创建用户和用户组。
root用户下执行以下命令:
#adduser cvsroot
#passwd cvsroot
这里创建了cvsroot这个用户,同时创建了cvsroot这个用户组。
<3> 创建cvs 资源库的根目录
root用户下执行:
#mkdir /cvsroot  此处可改为你想要的cvsroot路径
#chown cvsroot.cvsroot /cvsroot 把cvs根目录的所属用户设置为cvsroot,所属组设为cvsroot。
<4> 初始化cvs资源库
#su - cvsroot  切换到cvsroot这个用户
#cvs -d /cvsroot init
在/cvsroot目录下会生成CVSROOT这个子目录
<5> 修改环境变量CVSROOT
#exit   从cvsroot用户退回到root用户,只有root用户才有权限修改/etc/profile
#vi /etc/profile 编辑/etc/profile文件
在末尾加上以下两句:
CVSROOT=/cvsroot
export CVSROOT

#source  /etc/profile  更新环境变量,此时系统已经认识$CVSROOT这样的环境变量
<6> 修改服务配置
在/etc/xinetd.d/下找到 cvs文件,修改成下面这样
service cvspserver
{
port                    = 2401
socket_type             = stream
protocol                = tcp
wait                    = no
user                    = root
passenv                 = PATH
server                  = /usr/bin/cvs
env                     = HOME=/cvsroot
server_args             = -f --allow-root=/cvsroot pserver
#       bind                    = 127.0.0.1
}
<7> 启动cvs服务
# /etc/rc.d/init.d/xinetd restart 重启动xinetd服务,需要注意,这个服务centos5默认并不安装,需要定制安装一下。
# netstat -lnp|grep 2401
tcp 0 0 0.0.0.0:2401 0.0.0.0:* LISTEN xxxxxx/xinetd
则说明cvs服务器已经运行。
<8> 注意要打开防火墙的2401端口,否则客户端还是连不上这个cvs的服务器。
<9> 增加新用户。
用root
#cd /
#chmod -R 775 cvsroot  让cvsroot组的所有成员都可以对cvs资源库目录的读写权限
#useradd -g cvsroot user0   创建新用户user0,并且将其添加进入cvsroot用户组
#passwd user0    设置好密码

< SMTP服务器的构建 Postfix > (最近更新日:2006/09/28)

前  言

在CentOS中,默认的邮件服务器(SMTP方面)是sendmail,但sendmail有若干的缺点,比如,配置复杂、安全漏洞曾被多次发现--并且依然存在隐患、邮件发送速度慢等等,这里就不再一一叙述。而另一个被广泛应用于邮件服务方面的“Postfix”的缺点就少得多,或者说它就是针对于sendmail的缺点,而被设计的。对应sendmail的短处,它在各方面也比较成熟。所以,无特殊要求,这里不推荐用sendmail来构建邮件服务器。本站介绍的邮件服务器配置方法,也将基于Postfix。

添加MX记录(这里假设使用动态域名)

由于MX记录添加后,可能生效要等待一段时间(通常为数分钟或数十分钟,也可能马上生效),所以在安装配置前,我们首先为动态域名添加MX记录。添加方法也会因域名ISP的不同而不同,但大致信息如下:

mx mail.centospub.com. 10
a mail 服务器的IP地址

mail为别名,10为优先度。这个别名指向服务器的IP地址。(如有疑问或需要帮忙请到 centospub.com/bbs">技术论坛 发贴。)

确认MX记录的添加是否生效的方法:

[root@sample ~]# host -t mx centospub.com

centospub.com mail is handled by 10 mail.centospub.com.  ← 确认MX记录生效

安装Postfix