读书人

linux上xampp搭配AMP 安装配置、优

发布时间: 2012-12-18 12:43:41 作者: rapoo

linux下xampp搭配——AMP 安装配置、优化、搭建网站

一、安装

这里我选择的是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 等版本,其实它是适合做开发环境的,并不适合生产环境

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

读书人网 >UNIXLINUX

热点推荐