忘记密码   免费注册 查看新帖 | 论坛精华区
ChinaUnix.net
  平台论坛 博客 微博 读书 人才 精华 文库 自测 | 频道操作系统 开发 数据库 存储 服务器 网络 IT新闻 Linux 下载 Power用户组
最近访问板块 发新帖
查看: 4644 | 回复: 25

[CentOS] “新手别怕”| CentOS + AMP 安装配置、优化、搭建网站、攻击防范 [原创申请加精] [复制链接]
更多

Rank: 1

帖子
331
主题
45
精华
1
可用积分
672
专家积分
0
在线时间
14 小时
注册时间
2004-12-04
最后登录
2010-03-14
论坛徽章:
0
发表于 2008-11-17 21:57:23 |显示全部楼层
“新手别怕”| CentOS + AMP 安装配置、优化、搭建网站、常用命令、攻击防范  [原创申请加精]


(个人桌面应用的、和Web老鸟,就不必看了)


首先声明本人真正接触Linux 迄今13天,可能是太聪明的原因 ,Web服务器已经上线并解决了两次攻击!目前运行状况良好!
BBS在原win平台下运行效率是 Processed in 0.011834 second(s),  
转入Linux平台下是 Processed in 0.002159 second(s),
所以我认为PHP架构,在LAMP下要强过WAMP,而且稳定性超高!

在这里我还要感谢几天来论坛里的给予我帮助的朋友,尤其感谢 luo118

本帖全部是我这几天学习的步骤及心得,不排除有错误的地方,有的话请指出,谢谢




废话就不多说了!

一、安装

这里我选择的是CentOS,当然,版本你可以自己选择,官网地址  http://www.centos.org

当然,有一点要值得注意,就是32位和64位的选择。如果机器符合64位,那就没必要用32位的

安装这里就没什么好讲的了,尽量最小化安装,留个“开发工具”就可以了!

至于分区,google一下,很多!但我们在第一次接触时,尽量选择默认分区。先顺利的达成应用,以后再慢慢研究尚可。这能增加你的信心和学习效率!


二、AMP的安装和配置、优化

也就是  apache、mysql、php

我的学习过程是,用一个集成的安装包,而不是一上来就挨个的那样配置,会对信心大打折扣,并且引出的问题会很多!

这里,我推荐的是:LAMPP    官方地址:http://www.apachefriends.org/zh_cn/xampp-linux.html

下载源码包,然后解压进行安装、启动

wget http://nchc.dl.sourceforge.net/s ... linux-1.6.8a.tar.gz

tar xvfz xampp-linux-1.6.8a.tar.gz -C /opt

/opt/lampp/lampp start

此时,lampp组件就成功启动了,但它并不是每次随系统启动

ln -s /opt/lampp/lampp /etc/rc.d/rc3.d/S99lampp
ln -s /opt/lampp/lampp /etc/rc.d/rc4.d/S99lampp
ln -s /opt/lampp/lampp /etc/rc.d/rc5.d/S99lampp

这样,就OK了!

然后我们来重启服务器,看下成功与否

shutdown -r now

——————————————————————————————————————————

但这个时候是比较危险的,如果你的服务器已经在公网的话,那么你需要马上执行下面的命令,根据提示,设定密码。具体的可参照上面给出的lampp官方说明

/opt/lampp/lampp security


——————————————————————————————————————————

开启 eAccelerator

vi /opt/lampp/etc/php.ini

查找 eAccelerator 将前面的 # 去掉,重启apache即可

另外,参数可以默认即可,当然,你也可以改一下,比如我把 eaccelerator.shm_size  修改为  32
意思是eAccelerator缓存可用的共享内存数量为32M

——————————————————————————————————————————

这个时候,实质上,你的LAMP已经是基本可以应用了!但有一点你要知道,这个组件默认是没有zend的,你可以再另外安装配置

wget http://网址/ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz

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

cd ZendOptimizer-3.2.2-linux-glibc21-i386

./install.sh

在Please specify the location for installing ZendOptimizer:提示后输入ZendOptimizer安装路径,例如/data/webserver/zend
在Confirm the location of your php.ini file:提示后输入php.ini文件所在目录,例如/data/webserver/php/etc
在Specify the full path to the Apache control utility (apachectl):提示输入apachectl绝对路径,例如/data/webserver/apache/bin/apachectl


——————————————————————————————————————————


时间差问题

在php.ini添加    (eaccelerator下边)

;;;;;;;;;;;;;;;;;;;
; Module Settings ;
;;;;;;;;;;;;;;;;;;;

[Date]
; Defines the default timezone used by the date functions
;date.timezone =
date.timezone = Etc/GMT-8

——————————————————————————————————————————


修改mysql最大连接数

my.cnf

在 [mysqld] 下面加入一行

max_connections = 1500

——————————————————————————————————————————


伪静态

打开apache的配置文件(httpd.conf)

找到
#LoadModule rewrite_module modules/mod_rewrite.so
把前面的#去掉
然后找到AllowOverride None
将其全部改成AllowOverride All
即可支持伪静态功能

在bbs等站点根目录下放置相应htaccess规则即可。


——————————————————————————————————————————

#Include conf/extra/httpd-mpm.conf

#Include conf/extra/httpd-default.conf    值默认

#Include conf/extra/httpd-info.conf

#Include conf/extra/httpd-vhosts.conf           这个就是apache虚拟主机的配置文件了

去掉前边的#  按照相关原则进行合理配置!

影响最大的是 httpd-mpm.conf

<IfModule prefork.c>
ServerLimit 2000
StartServers 10
MinSpareServers 10
MaxSpareServers 15
MaxClients 1500
MaxRequestsPerChild 10000
</IfModule>

这是我的配置




虚拟主机配置


#Include conf/extra/httpd-vhosts.conf           这个就是apache虚拟主机的配置文件了


<VirtualHost *:80>
    ServerAdmin www@iamhe.cn
    DocumentRoot /opt/lampp/htdocs/wwwroot/bbs              (网站目录)
    ServerName bbs.123.com                                               (域名)
    ServerAlias bbs2.123.com                                                   (别名)
    ErrorLog logs/bbs.123.com-error_log
    CustomLog logs/bbs.123.com-access_log common
</VirtualHost>

现在,bbs.123.com和bbs2.123.com 即可同时访问这个目录,那么如果你不想让 bbs2 访问,那么去掉  ServerAlias bbs2.123.com   这行就可以了



——————————————————————————————————————————



三、安全方面的问题


这个一看就知道什么意思吧?

修改  Options Indexes FollowSymLinks ExecCGI Includes

为    Options FollowSymLinks Includes




隐藏apache版本相关信息 (错误页面)

添加到httpd.conf文件结尾即可:

ServerSignature Off
ServerTokens Prod




提升PHP安全性

php.ini

找到:

disable_functions =

设置为:

disable_functions = phpinfo,passthru,exec,system,popen,chroot,escapeshellcmd,escapeshellarg,shell_exec,proc_open,proc_get_status,ini_restore

disable_functions = phpinfo,passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server


这里我给出了两组,根据你自己需求写吧



——————————————————————————————————————————

关闭 ipv6 以最大限度保证安全和快速

ifconfig -a   列出全部网络接口信息

sit0 Link encap:IPv6-in-IPv4   ← 确认ipv6是被启动的状态


vi /etc/modprobe.conf ← 修改相应配置文件,添加如下行到文尾:

alias net-pf-10 off
alias ipv6 off

shutdown -r now  ← 重新启动系统,使设置生效


——————————————————————————————————————————

如果你安装了X,那么想让linux默认不启动X,而是启动字符文本....

etc/inittab 文档中,将 id:5改成3即可

(在/etc/inittab修改运行等级为5是系统开机进入X windows,运行等级为3是系统开机进入文本。)

# Default runlevel. (Do not set to 0 or 6)
id:3:initdefault:



字符终端模式下启动x-windows:

startx


——————————————————————————————————————————


ARP绑定:

为了开机启动

vi /etc/rc.d/rc.local  增加

arp -s 网关IP 网关MAC
arp -s 服务器IP 服务器MAC


——————————————————————————————————————————


SYN、DDOS的解决办法  (没有硬防的情况下)

这个只能抵御,不能本质上防范


iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT
iptables -A INPUT -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
echo 2048 > /proc/sys/net/ipv4/tcp_max_syn_backlog
echo 1 > /proc/sys/net/ipv4/tcp_synack_retries
echo 1 > /proc/sys/net/ipv4/tcp_syn_retries
echo 1 > /proc/sys/net/ipv4/tcp_syncookies

原帖为:http://linux.chinaunix.net/bbs/thread-1045310-1-2.html       (2楼、5楼)





如果你有幸能分析出攻击者的真实肉机IP地址

那么你可以同样通过linux防火墙来封掉他的IP地址或IP段,比如

单个IP的命令是
iptables -I INPUT -s 127.0.0.1 -j DROP

封IP段的命令是
iptables -I INPUT -s 127.1.0.0/16 -j DROP
iptables -I INPUT -s 127.2.0.0/16 -j DROP
iptables -I INPUT -s 127.3.0.0/16 -j DROP

封整个段的命令是
iptables -I INPUT -s 127.0.0.0/8 -j DROP

封几个段的命令是
iptables -I INPUT -s 127.0.1.0/24 -j DROP
iptables -I INPUT -s 127.0.2.0/24 -j DROP


原帖   http://linux.chinaunix.net/bbs/thread-1045562-1-1.html    (7楼)



——————————————————————————————————————————



四、常用命令及使用方法


大家在使用终端的时候可能会出现乱码字符,那么

vi etc/sysconfig/i18n

LANG="zh_CN.GB18030"






VI命令

经常看到有人问在linux有没有类似win那样的图形化远程管理界面
我不知道有没有,但我肯定一点的是,既然你要用linux,那么,你应该尽量用终端字符的方式进行管理你的服务器
那么,VI的命令,就是必须要掌握的!其实这个非常简单

比如我们现在去编译防火墙配置文件,那么命令就是

vi /etc/sysconfig/iptables

进行之后,你无论点什么,都是铛铛铛的声音是吧,不要急,这个时候,你可以按一下你键盘的“i”或"a",就进行了编辑输入状态,这个时候你在试试?

当你编辑完之后想退出时,那么就按一下键盘的“ESC”

然后按:   (也就是冒号),紧接着输入 wq 或 q    再按回车就OK了

(wq是保存并退出,q是直接退出)


至于vi命令的具体使用方法可以google一下,





实用的命令:


top                                  查看CPU、内存资源占用情况

wget 网址                下载资源

tar zxvf 压缩包名称        解压

cd 文件夹                  进入某目录

/opt/lampp/lampp backup      备份

sh backupfilename                恢复

getconf LONG_BIT      查看系统是32还64位

uname -a                   查看系统内核版本号

uname -r

curl --head www.sohu.com                   查看sohu.com的服务器环境

shutdown -r now         重新启动系统,使设置生效

shutdown -h now              关机

reboot                     重启

netstat -an                        查看当前连接

cat /proc/cpuinfo                查看CPU信息

cat /proc/meminfo             查看内存信息




——————————————————————————————————————————

对LAMPP套件的补充


在初步安装完后,你在浏览器里输入  localhost  即可出现lampp的界面,里面包括你开放的组件,安全状况,phpinfo、以及流量监测,都在里面

这个界面的地址是 htdocs的 index.html

那么你在没配置虚拟主机时,任何人通过IP或你绑定的域名,都可以访问得到

我的建议是,在 htdocs 下,新建一个 robots.txt 文件来屏蔽所有的搜索引擎。
然后再另建一个 wwwroot 目录来存放你的网站

套件的官方地址是:http://www.apachefriends.org/zh_cn/xampp-linux.html

这个套件有win、linux、macos 等版本,其实它是适合做开发环境的,并不适合生产环境

但如果你做一下安全配置,例如把不需要的都关掉,也是可以投入生产环境的(安全性我不负责哦)

本帖指出这个套件来做环境,是为了让新手能更快的入门应用,

通过本帖的学习之后,你再学习amp单个套件的安装、配置 也不迟!会非常得快!

因为之前你已对此熟悉了哦




——————————————————————————————————————————




通过以上的学习,我相信你已经基本可以正常使用linux并且搭建网站了,但需要学习的地方还有很多



如果在本帖中发现哪处我写得不对,请拍砖并指教,谢谢

[ 本帖最后由 6808849 于 2008-11-17 22:55 编辑 ]
已有 3 人评分可用积分 收起 理由
luo118 + 6 我很赞同,
swordfish.cn + 15 多谢分享
vermouth + 3 精?!

总评分: 可用积分 + 24   查看全部评分

帖子
2934
主题
90
精华
0
可用积分
177
专家积分
10
在线时间
1533 小时
注册时间
2008-07-23
最后登录
2011-11-03
论坛徽章:
0
发表于 2008-11-17 22:08:11 |显示全部楼层
虽然有些部分不是很详细,但是相当不错。谢谢了。比我强多了
从此扰扰攘攘,又不知梦醒何时耳.

Rank: 1

帖子
331
主题
45
精华
1
可用积分
672
专家积分
0
在线时间
14 小时
注册时间
2004-12-04
最后登录
2010-03-14
论坛徽章:
0
发表于 2008-11-17 22:44:03 |显示全部楼层
原帖由 tinybiz 于 2008-11-17 22:08 发表
虽然有些部分不是很详细,但是相当不错。谢谢了。比我强多了



嘿嘿

你觉得哪块不够详细或者不懂,可以指出来

我再细化一下

Rank: 2

帖子
1176
主题
11
精华
2
可用积分
1656
专家积分
15
在线时间
129 小时
注册时间
2007-02-15
最后登录
2012-01-28
论坛徽章:
0
发表于 2008-11-17 22:48:41 |显示全部楼层
友情支持下,
哥只是CU网友。

Rank: 8Rank: 8

帖子
2842
主题
77
精华
1
可用积分
27549
专家积分
30
在线时间
506 小时
注册时间
2007-02-15
最后登录
2011-12-06
论坛徽章:
0
发表于 2008-11-17 22:53:33 |显示全部楼层
如果能整理成PDF,就更好了。
好躁动啊。
男性it民工

Rank: 8Rank: 8

帖子
33272
主题
152
精华
3
可用积分
107486
专家积分
563
在线时间
7048 小时
注册时间
2001-12-24
最后登录
2012-02-09
论坛徽章:
0
发表于 2008-11-18 08:35:44 |显示全部楼层
其实安装的时候选上LAMP服务在安装别的比较省事,建议新手采用
好读书,不求甚解;每有会意,便欣然忘食
宝剑锋从磨砺出,梅花香自苦寒来!!!

Rank: 8Rank: 8

帖子
16373
主题
1580
精华
4
可用积分
20630
专家积分
50
在线时间
2068 小时
注册时间
2005-05-08
最后登录
2012-02-09
论坛徽章:
0
发表于 2008-11-18 08:47:02 |显示全部楼层

回复 #1 6808849 的帖子

基本上是比较到位的,一些细节的都说道了,
不过对性能优化说的比较的少
有问题加QQ964891849 群27053595,遇忙邮件LVS-HOWTO中文翻译计划
Linux开源技术指导 提供专业Linux技术支持,Linux系统定制指导;每天坚持CU 1小时

帖子
14
主题
3
精华
0
可用积分
16
专家积分
0
在线时间
41 小时
注册时间
2008-01-14
最后登录
2010-08-17
论坛徽章:
0
发表于 2008-11-18 09:45:12 |显示全部楼层
流程很清晰哈···
笨笨的小菜鸟
楠竹

Rank: 3Rank: 3

帖子
4998
主题
32
精华
1
可用积分
4924
专家积分
1
在线时间
2919 小时
注册时间
2005-09-22
最后登录
2012-02-09
论坛徽章:
0
发表于 2008-11-18 10:21:04 |显示全部楼层
友情支持下LZ,多尝试,多写总结,提高会很快的
我为你翻山越岭, 却无心看风景.

Rank: 7Rank: 7Rank: 7

帖子
4488
主题
72
精华
0
可用积分
10171
专家积分
8
在线时间
359 小时
注册时间
2007-01-15
最后登录
2011-08-06
论坛徽章:
0
发表于 2008-11-18 12:39:25 |显示全部楼层
如前所述,XAMPP 并不适用于生产环境,而仅供开发环境使用。XAMPP 被设置为尽量开放,并提供开发者任何他/她想要的功能。这对于开发环境来说是很棒的,但对于生产环境来说却可能是致命的。


以前我就遇到过这样的一个问题。有台机器服务突然起不来,数据也被搞得一团糟,一时半会没恢复得了。
提问必看:提问的智慧
blog
您需要登录后才可以回帖 登录 | 注册

北京皓辰网域网络信息技术有限公司. 版权所有 京ICP证:060528号 北京市公安局海淀分局网监中心备案编号:1101082001
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员  联系我们:
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP