LANP源码安装注释版

系统环境部署及调整
1. 检查系统是否正常

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

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

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

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

2. 关闭不需要的服务

# ntsysv


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

crond
crond
Unix下的一个传统程序,该程序周期地运行用户调度的任务。比起传统的Unix版本,Vixie版本添加了不少属性,而且更安全,配置更简单

irqbalance
仅当服务器CPUS.M.P架构或支持双核心、HT技术时,才需开启,否则关闭

microcode_ctl
可以编码以及发送新的微代码到kernel以更新Intel IA32系列处理器


mysql 

一个快速高效可靠的轻型SQL数据库引擎

network
激活/关闭启动时的各个网络接口网络。

random
保存和恢复系统的高质量随机数生成器,这些随机数是系统一些随机行为提供的。


sendmail


邮件服务器
sshd



OpenSSH守护进程。用于在不可信网络上提供安全的连接通道

Syslog
syslog是操作系统提供的一种机制,守护程序通常使用这种机制将各种信息写到各个系统日志文件。通常应该启动该服务

3. TCP/IP网络参数进行调整,加强抗SYNFlood能力

# echo 'net.ipv4.tcp_syncookies = 1'>> /etc/sysctl.conf


# sysctl -p


4. 配置yum,导入CentOS RPM-GPG-KEY

#rpm --import  http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

Or rpm ?import/etc/pki/rpm-gpg/ RPM-GPG-KEY-CentOS-5

# yum list | tee /etc/yum.list


5. 重新启动系统

# init 6


6. 使用 yum 程序安装所需开发包(以下为标准的RPM 包名称)

#yum install ntp vim-enhanced gccgcc-c++ gcc-g77 flex bison autoconf automake bzip2-devel
ncurses-devel zlib-devel libjpeg-devellibpng-devel libtiff-devel freetype-devel libXpm-devel gettext-devel pam-develkernel


7. 定时校正服务器时钟,定时与中国国家授时中心授时服务器同步

# crontab -e

加入一行:
15 3 * * */usr/sbin/ntpdate 210.72.145.44 > /dev/null 2>&1

8. 源码编译安装所需包(Source)

(1) GD2
gd库是php处理图形的扩展库,gd库提供了一系列用来处理图片的API,使用GD库可以处理图片,或者生成图片。在网站上GD库通常用来生成缩略图或者用来对图片加水印或者对网站数据生成报表。

# cd /usr/local/src


# wget http://www.libgd.org/releases/oldreleases/gd-2.0.34.tar.gz


# tar xzvf gd-2.0.34.tar.gz


# cd gd-2.0.34


# ./configure --prefix=/usr/local/gd2 
#配置安装路径

# make


# make install



(2) LibXML2
Libxml2是一个xml c语言版的解析器,本来是为Gnome项目开发的工具,是一个基于MITLicense的免费开源软件。它除了支持c语言版以外,还支持c++PHPPascalRubyTcl等语言的绑定,能在WindowslinuxSolarisMacOsX等平台上运行

# cd /usr/local/src


# wget

http://xmlsoft.org/sources/libxml2-2.6.32.tar.gz

http://www.ismole.net/downloads/libxml2-2.6.32.tar.gz


# tar zvxf libxml2-2.6.32.tar.gz


# cd libxml2-2.6.32


# ./configure--prefix=/usr/local/libxml2


# make


# make install



(3) LibMcrytpt

libmcrypt是编码函数库,前身是mcrypt

# cd /usr/local/src


#wget http://voxel.dl.sourceforge.net/ ... mcrypt-2.5.8.tar.gz

http://jaist.dl.sourceforge.net/sourceforge/mcrypt/libmcrypt-2.5.8.tar.gz

# tar zvxf libmcrypt-2.5.8.tar.gz


# cd libmcrypt-2.5.8

# ./configure --prefix=/usr/local/libmcrypt

# make


# make install



(4) Zlib
zlib是一套公开源代码的压缩,解压缩的函数库,提供了很多文件操作的方法,但是他不是一套类库,所以有兴趣的人都可以把他进行封装,实现自己的类库,和更高层的接口。

# cd /usr/local/src


# wget http://www.zlib.net/zlib-1.2.3.tar.gz 


http://down.itlearner.com/downsoft/tools/zlib-1.2.3.tar.gz

# tar xzvf zlib-1.2.3.tar.gz


# cd zlib-1.2.3


# ./configure --prefix=/usr/local/zlib


# make


# make install



(5) Apache
日志截断程序


Cronolog
是一个小巧高效的日志文件处理工具,可以实现自动的按规则生成周期性的日志文件
# cd /usr/local/src
# wget http://cronolog.org/download/cronolog-1.6.2.tar.gz
# tar xzvf cronolog-1.6.2.tar.gz
# cd cronolog-1.6.2
# ./configure?prefix=/usr/local/cronolog
# make
# make install


10. 升级OpenSSLOpenSSH
Openssl包括与加密相关的管理工具和库文件,可以向其它软件包提供加密支持,尤其是 OpenSSH和网络浏览器(为了浏览安全的https网站).
OpenSSH是一组用于安全地访问远程计算机的连接工具。它可以作为 rlogin rsh rcp 以及 telnet
的直接替代品使用。更进一步,其他任何TCP/IP 连接都可以通过 SSH 安全地进行隧道/转发。OpenSSH
对所有的传输进行加密,从而有效地阻止了、连接劫持,以及其他网络级的攻击。

# cd /usr/local/src


# wget http://www.openssl.org/source/openssl-0.9.8h.tar.gz


# wget http://mirror.mcs.anl.gov/openssh/portable/openssh-5.0p1.tar.gz


# tar xzvf openssl-0.9.8h.tar.gz


# cd openssl-0.9.8h


# ./config --prefix=/usr/local/openssl


# make


# make test

# make install


# cd ..


# tar xzvf openssh-5.0p1.tar.gz


# cd openssh-5.0p1

# ./configure 
\

"--prefix=/usr" \
"--with-pam" \
"--with-zlib" \
"--sysconfdir=/etc/ssh"\
"--with-ssl-dir=/usr/local/openssl"\
"--with-zlib=/usr/local/zlib"\
"--with-md5-passwords"

# make


# make install





代码说明:

"--with-pam"
à启用PAM(PluggableAuthentication Modules)支持,使用此选项后还必须在sshd_config中开启UsePAM指令
"--sysconfdir=/etc/ssh"
à配置文件目录[PREFIX/etc]
"--with-md5-passwords"
à支持读取/etc/passwd/etc/shadow中经过MD5加密的口令

1)禁用SSH V1 协议

SSH
是指Secure ShellSSH协议族由IETFInternetEngineering Task ForceNetwork Working Group制定,SSH协议的内容SSH协议是建立在应用层和传输层基础上的安全协议。SSH(SecureShell)是目前比较可靠的为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。通过SSH,可以把所有传输的数据进行加密,也能够防止DNS欺骗和IP欺骗。SSH,还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。SSH有很多功能,它既可以代替Telnet,又可以为FTPPop、甚至为PPP提供一个安全的"通道"
#vi /etc/ssh/sshd_config
找到:
#Protocol 2,1
改为:
Protocol 2

2)禁止root直接登录
#
此处先建立一个普通系统用户:
# 

# useradd 
username
#
# passwd username
#
找到:

#PermitRootLoginyes


改为:
#
PermitRootLogin no
3)禁用GSSAPI
#vi /etc/ssh/sshd_config
找到以下两行,并将他们注释:
GSSAPIAuthentication yes
GSSAPICleanupCredentials yes

4)禁用DNS 名称解析
找到:
#UseDNS yes
改为:
UseDNS no

5)禁用客户端GSSAPI
   # vi /etc/ssh/ssh_config 

找到:GSSAPIAuthentication yes 将这行注释掉。
最后,确认修改正确后重新启动SSH 服务
  
# servicesshd restart
   # ssh -V 

确认 OpenSSH 以及 OpenSSL
版本正确。

以上SSH配置可利用以下脚本自动修改:
代码:
#init_ssh
ssh_cf="/etc/ssh/sshd_config" 
sed -i -e '74 s/^/#/' -i -e '76 s/^/#/' $ssh_cf
sed -i "s/#UseDNS yes/UseDNS no/" $ssh_cf
#client
sed -i -e '44 s/^/#/' -i -e '48 s/^/#/' $ssh_cf
echo "ssh is init is ok.............."




三、编译安装L.A.M.P环境
1. 下载软件

# cd /usr/local/src


# wget http://apache.mirror.phpchina.com/httpd/httpd-2.2.9.tar.gz

#wget http://mirrors.ntua.gr/MySQL/Dow ... ysql-5.0.51b.tar.gz
padding: 0px;

猜你喜欢

转载自permiss.iteye.com/blog/930005