系统环境部署及调整
1. 检查系统是否正常
# more/var/log/messages
(检查有无系统内核级错误信息)
# dmesg (检查硬件设备是否有错误信息)
# ifconfig(检查网卡设置是否正确)
# ping www.163.com
(检查网络是否正常)
2. 关闭不需要的服务
# ntsysv
以下仅列出需要启动的服务,未列出的服务一律关闭:
crond
crond是Unix下的一个传统程序,该程序周期地运行用户调度的任务。比起传统的Unix版本,Vixie版本添加了不少属性,而且更安全,配置更简单
irqbalance
仅当服务器CPU为S.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++、PHP、Pascal、Ruby、Tcl等语言的绑定,能在Windows、linux、Solaris、MacOsX等平台上运行。
# 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. 升级OpenSSL和OpenSSH
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 Shell,SSH协议族由IETF(InternetEngineering Task Force)的Network Working Group制定,SSH协议的内容SSH协议是建立在应用层和传输层基础上的安全协议。SSH(SecureShell)是目前比较可靠的为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。通过SSH,可以把所有传输的数据进行加密,也能够防止DNS欺骗和IP欺骗。SSH,还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。SSH有很多功能,它既可以代替Telnet,又可以为FTP、Pop、甚至为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;
分享到:
相关推荐
`mysql-5.6.26.tar.gz`包含了MySQL 5.6.26的源代码,这个版本支持事务处理、ACID特性、存储过程和触发器等。 4. **PHP**:PHP是一种服务器端的脚本语言,主要用于Web开发。`php-5.6.11.tar.bz2`是PHP 5.6.11的源...
- **安装Joomla**:下载Joomla的安装包,将其上传到Web服务器的根目录,然后通过浏览器访问安装向导,根据提示完成数据库连接、站点设置等配置。 - **配置与优化**:安装完成后,对Joomla进行进一步的配置,如设置...
[root@localhost data]# netstat -lanp | grep "27017" ``` 6. **连接MongoDB**:使用`mongo`客户端连接数据库,确认安装成功。 ``` [root@localhost bin]# ./mongo ``` 7. **设置自动启动**:为了使MongoDB...
Linux MongoDB 安装及配置 MongoDB 是一个基于分布式文件存储的开源数据库系统,具有高性能、可扩展性和灵活性。下面是 Linux 平台上 MongoDB 的安装和配置过程。 一、安装 MongoDB 1. 解压缩文件:使用 tar ...
MongoDB 是一个流行的开源文档型数据库系统,常用于处理大量结构化和半结构化数据。在Linux环境下安装MongoDB涉及几个关键...请注意,实际操作时应根据MongoDB的最新版本和你的Linux发行版调整相应的安装和配置步骤。
# netstat -lanp | grep 27017 ``` ### 主从复制 主从复制是 MongoDB 提供的一种数据复制和故障转移方案。以下是设置主从复制的步骤: 1. **启动主节点**:在主服务器上,启动 MongoDB 并指定为主节点。 ```...
INSERT INTO student (name, birth, score) VALUES ('lanp', NOW(), 30); INSERT INTO student (name, birth, score) VALUES ('ph', 'ph', 40); INSERT INTO student (name, birth, score) VALUES ('wxh', 'wxh', 50...
iBatis工程的简单例子,在eclipse上实现的,数据库是mysql数据库...insert into student values("lanp","lanpiao",true); insert into student values("ph","ph",true); insert into student values("wxh","wxh",true);
- 首先,从MongoDB官网或其他可信源下载适合Linux系统的安装包,如`mongodb-linux-i686-1.8.1.tgz`。 - 命令示例:`wget http://downloads.mongodb.org/linux/mongodb-linux-i686-1.8.1.tgz` 2. **解压并重命名...
单独搭建的windows64+apach2.4+mysql5.5+php7.2的...redis版本3.1.将lanp文件和redis文件放到D盘下,更网站的根目录为lamp/www. 开启apach服务命令为 httpd.exe 开启redis服务的命令为redis-server redis.windows.conf
它为开发者提供了一种结构化的方式来组织代码,使得业务逻辑、用户界面和数据层之间能够更加清晰地分离。Struts有两个主要版本:Struts1和Struts2,两者在设计理念和技术实现上都有所不同。 #### Struts1配置文件...
### MongoDB在Linux下的安装与配置知识点详解 #### 一、MongoDB简介 MongoDB是一款开源的NoSQL数据库系统,以其高性能、高可用性和易扩展性而闻名。它使用JSON-like的文档来存储数据,非常适合处理非结构化或半结构...
netstat -lanp | grep "27017" ``` 最后,可以通过命令行工具连接到MongoDB: ```bash ./mongo ``` 为了方便后续操作,还需要将MongoDB的bin目录添加到环境变量中: ```bash # 编辑/etc/profile文件 vi /etc/...
netstat -lanp | grep 27017 ``` 如果端口已经启动,则会显示相关信息。 7. **连接数据库**:使用`mongo`命令行工具连接到MongoDB服务。 ``` cd /opt/mongodb/bin ./mongo ``` 成功连接后,可以执行各种...
在示例代码中,`ws.run"J:\lanp\autoRun\timer.bat/start",0`行展示了如何使用Windows Script Host对象模型中的`WScript.Shell`对象来运行VBS脚本。这种方法可以用来执行更复杂或无法用批处理脚本直接完成的任务,...