工作,学习,生活,这里将会有一些记录. 备用域名:http://meisw.wdlinux.cn 注册 | 登陆
浏览模式: 标准 | 列表全部文章

rhel4优化配置完整版and apache_mysql_php setup

/*     本文为原创,转载请注明来自:http://meisw.cn/show-15-1.html    */

/*     QQ:5846690,mail/msn:mymail#3126.com */


一 安全优化配置和升级内核
1 采用RPM包方式
rpm -ivh kernel*rpm

停止不需要的服务
可以用ntsysv
或 chkconfig

显示乱码
vi /etc/sysconfig/i18n

修改登录控制台
vi /etc/inittab
#2:2345:respawn:/sbin/mingetty tty2
#3:2345:respawn:/sbin/mingetty tty3
#4:2345:respawn:/sbin/mingetty tty4
#5:2345:respawn:/sbin/mingetty tty5
#6:2345:respawn:/sbin/mingetty tty6

删除无用用户
userdel lp
userdel adm
userdel halt
userdel mail
userdel news
userdel uucp
userdel operator
userdel games
userdel gopher
userdel vcsa
userdel xfs
userdel ntp
userdel webalizer
userdel squid
userdel smmsp
userdel nfsnobody


保存指纹信息
rpm -aV > rpm_o

将/etc/rc.d/ini.d下的文件设为700
chmod 700 /etc/rc.d/init.d/*

备份部分程序的md5
for i in `ls /bin/`;do md5sum /bin/$i;done > bin_md5
for i in `ls /sbin/`;do md5sum /sbin/$i;done > sbin_md5
for i in `ls /usr/sbin/`;do md5sum /usr/sbin/$i;done > usbin_md5
for i in `ls /usr/bin/`;do md5sum /usr/bin/$i;done > ubin_md5
for i in `ls /etc/rc.d/init.d/`;do md5sum /etc/rc.d/init.d/$i;done > initd_md5
tar -zcvf md5_host.tar.gz *

修改/etc/passwd的不可改属性
chattr +i /etc/passwd

查找带有S位的文件
find / -perm +2000
chmod 755 /usr/bin/write
chmod 755 /usr/sbin/sendmail.sendmail
chmod 755 /usr/sbin/utempter
chmod 755 /usr/bin/wall
chmod 755 /sbin/netreport

find / -perm +4000
chmod 755 /bin/mount
chmod 755 /bin/umount
chmod 755 /bin/traceroute
chmod 755 /bin/traceroute6
chmod 755 /bin/ping
chmod 755 /bin/ping6
chmod 755 /bin/su
chmod 755 /usr/bin/rlogin
chmod 755 /usr/bin/newgrp
chmod 755 /usr/bin/crontab
chmod 755 /usr/sbin/usernetctl
chmod 755 /usr/sbin/userisdnctl
chmod 755 /usr/sbin/suexec
chmod 755 /usr/sbin/userhelper
chmod 755 /usr/bin/sudo
chmod 755 /usr/bin/rsh
chmod 755 /usr/bin/gpasswd
chmod 755 /usr/bin/rcp
chmod 755 /usr/bin/lppasswd
再次检查
find / -perm +2000 -o -perm +4000

检查没有用户缩主的文件
find / -nouser

设置gcc等编译器的权限
chmod 700 /usr/bin/gcc*
chmod 700 /usr/bin/g++*

设置网卡传输速率
mii-tools -F

系统优化设置
echo "30" >/proc/sys/net/ipv4/tcp_fin_timeout
echo "10240" >/proc/sys/net/ipv4/tcp_max_syn_backlog
echo "1800" >/proc/sys/net/ipv4/tcp_keepalive_time
#163760
echo "81920" >/proc/sys/net/ipv4/ip_conntrack_max
echo "3" >/proc/sys/net/ipv4/tcp_synack_retries
echo "3" >/proc/sys/net/ipv4/tcp_syn_retries
echo "81920" >/proc/sys/net/ipv4/tcp_max_orphans
echo "380000" >/proc/sys/net/ipv4/tcp_max_tw_buckets
echo 0 >/proc/sys/net/ipv4/tcp_window_scaling
echo 0 >/proc/sys/net/ipv4/tcp_sack
echo 0 >/proc/sys/net/ipv4/tcp_timestamps
echo "3" >/proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_syn_recv
echo 1 >/proc/sys/net/ipv4/tcp_syncookies

 


二 apache/mysql/php的安装
下载相关软件和包(略)
mysql
编辑 sql/mysqld.cc :
搜索:&max_connections, 0, GET_ULONG, REQUIRED_ARG, 100, 1, 16384, 0, 1,
修改:&max_connections, 0, GET_ULONG, REQUIRED_ARG, 1000, 1, 16384, 0, 1,

groupadd mysql
useradd -g mysql -d /dev/null -s /sbin/nologin mysql

./configure --prefix=/www/servers/mysql --with-unix-socket-path=/tmp/mysql.sock --with-mysqld-user=mysql
make;make install

$path/bin/mysql_install_db
chown -R mysql.mysql $path/var
cp $path/share/msyql/mysql.server /etc/rc.d/init.d/mysqld
chkconfig --add mysqld
use mysql
update user set password=password("") where user="root";
flush privileges;

http
tar ...
./configure --prefix=/www/servers/httpd20 --enable-cgi --with-mpm=worker --enable-rewrite --enable-so
--enable-proxy --enable-cache --enable-disk-cache
make;make install

freetype
./configure --prefix=/usr/local/freetype;make;make install

jpeg
mkdir /usr/local/jpeg
mkdir /usr/local/jpeg/bin
mkdir /usr/local/jpeg/lib
mkdir /usr/local/jpeg/include
mkdir /usr/local/jpeg/man
mkdir /usr/local/jpeg/man/man1
./configure --prefix=/usr/local/jpeg --enable-shared --enable-static
make;make install

##### LibPNG #####
cd libpng-1.2.8
cp scripts/makefile.linux makefile
make test
make install

zlib
cd zlib-1.2.2
./configure
make
make install

gd
cd gd-2.0.33
./configure --prefix=/usr/local/gd --with-jpeg=/usr/local/jpeg --with-freetype=/usr/local/freetype --with-png --with-zlib;make;make install

php
./configure --prefix=/www/servers/php --with-apxs2=/www/servers/httpd/bin/apxs --with-gd=/usr/local/gd --enable-gd-native-ttf --with-jpeg-dir=/usr/local/jpeg --with-png --with-ttf --with-zlib --with-freetype-dir=/usr/local/freetype --with-mysql=/www/servers/mysql --with-iconv --enable-mbstring --enable-ftp --with-openssl=/usr/local/ssl --with-openssl-dir=/usr/local/ssl
make;make install


##### vsftpd #####

cd vsftpd-2.0.3

编辑 builddefs.h :
#define VSF_BUILD_PAM
修改为
#undef VSF_BUILD_PAM

编辑 defs.h :
#define VSFTP_DEFAULT_CONFIG   "/etc/vsftpd.conf"
修改为
#define VSFTP_DEFAULT_CONFIG   "/server/vsftpd/conf/vsftpd.conf"

make

mkdir /usr/share/empty
mkdir /www/servers/vsftpd
install -m 755 vsftpd /www/servers/vsftpd/vsftpd
install -m 644 vsftpd.8 /usr/share/man/man8
install -m 644 vsftpd.conf.5 /usr/share/man/man5
install -m 644 vsftpd.conf /etc/vsftpd.conf


#mod_evasive
http://www.nuclearelephant.com/projects/mod_evasive/


faq
checking lex output file root... ./configure: line 2540: lex: command not found
下载安装flex
需要安装yacc
ftp://rpmfind.net/linux/SuSE-Linux/i386/9.0/suse/i586/yacc-91.7.30-768.i586.rpm

patch
patch -d flex-2.5.4 -p1 < filename


chattr list
passwd
shadow
php.ini
apache/bin
mysql/bin

soft
ftp://rpmfind.net/linux/dag/redhat/el4/en/i386/dag/RPMS/nload-0.6.0-1.2.el4.rf.i386.rpm

Tags: 优化配置

osCommerce - 开源电子商务解决方案

软件版本:2.2 Milestone 2 Update 051113
官方网站:
中文社区:
http://www.oscommerce-cn.com/www.oscommerce.com


首页截图:
 

简介:
Commerce 是"商业"的意思,os是Open Source的英文缩写,Open Source中文称为"开放源代码",以下均简称为"开源"。取名为osCommerce的意思就代表"开放源代码的商业软件",进一步来说, osCommerce是一个利用互联网建立网上商店的应用程序,所以我们可以称它是"开源网上开店程序"。

1.1 最好的免费电子商务解决方案 

osCommerce 是一套由自由软件开发社团开发并维护的在线商店的解决方案。由于遵循开源软件开发和发布协议,osCommerce可以自由下载、安装和使用,并可以根据 自己的需要进行修改和发布,可以应用到任何的商业环境中,但是不能够利用本身进行营利性质的活动[修改] ,详细的GNU General Public License协议参照附录。 

 这套系统拥有简单的安装、灵活的设置和强大的后台维护功能,可以让 不懂技术的使用者根据 参考的文档和说明非常容易的在自己的系统平台上,比如自己的Windows电脑上面安装和运行自己的电子商务网站。如果遇到问题,可以到官方的支持社区寻 求帮助,在那里,我们可以找到许多资源,可以到技术支持论坛上搜索和提出你的问题,可以在插件栏目下搜索你需要的外挂插件,可以到FAQ上寻求一般的问题 解答,这一切都使得osCommerce具有旺盛的生命力。

这是它的后台:
 

1.2 开放源码的技术平台 

osCommerce 采用了 Open Source 世界里多种主流的技术方案,提供了一整套的免费和开放式的平台,包括强大的 PHP 动态网站开发语言,稳定的 Apache web 服务器, 和速度一流的 MySQL 数据库服务器。 

安 装和使用osCommerce,不需要特殊的系统平台,osCommerce 可以运行在任何支持 PHP3 或 PHP4 的 web 服务器上, 环境需要支持 PHP 和 MySQL 即可, 操作系统可以支持 Linux, Solaris, BSD, 或者 Microsoft Windows 。

Tags: 解决方案

Zen-Cart - 开源购物车软件建立自己的网上商店

简介:
为网上销售商而设计

Zen Cart是真正的电子商务艺术,一个免费、界面友好,开放式源码的购物车软件。 该软件由一些销售商、程序员、设计师和顾问们共同开发,目的就是用户能建立风格不同的电子商务系统。现有的一些解决方案过重于编程,而不是着眼于客户的需求。ZenCart把销售商和购物者的需求放在第一位。同时,那些程序如果没有专业人员,几乎不可能安装成功,而一个有基本计算机知识的人就会安装Zen Cart。另外那些程序也非常昂贵... 而Zen Cart,完全免费!

为网上购物者而设计

Zen Cart将带给您的客户全新的网上购物体验。 通过Zen Cart浏览商品将会变得轻而易举。除了传统的目录清单,该程序还提供几个特色商品目录。商品加入购物车后,只要简单的三步就可以安全结帐。客户填写交货地址,选择交货方式(含多种交货方式,内置网上实时运费报价)。然后,从多种流行的付款方式中任选一种。(例如,PayPal和AuthorizeNet)最后,客户复查订单、交付方式和付款选择,然后确认订单。您可以立即得到订单通知,客户也会收到电子邮件的订单确认 。

Zen Cart实现了我们设定的很多目标:
* 容易安装
* 容易定制
* 自动化,例如订单确认
* 方便浏览
* 内置的促销、折扣、礼物券、新闻简讯和商品通知功能
* 单件商品优惠或者全部商品折扣,团体优惠和大订单优惠
* 内置搜索优化工具
* 密码保护的管理员工具
* 支持多种语言、货币和税率结构

简而言之,Zen Cart包括了购物车软件所应该具备的所有功能。

为网页设计者而设计

Zen Cart给网页设计者一个稳定而灵活的电子商店前台,易于更新。它提供了易用的、直观的、简洁的购物流程,完全依照现行商业标准 - 您的客户即刻能使用它!该软件强大功能的一个秘密就是模板系统。该模板系统抽象了Zen Cart代码和逻辑的"观感",从而带给您的客户一个真正可定制的方案,迅速而完美地集成他们现行的营销网站。

为程序员和服务器提供商而设计

基于Zen Cart现代标准和技术,程序员能实现最尖端技术。采用PHP服务器端技术,以及可以适应后台多数据库系统(在以后版本中利用ADOdb技术),就能够开发出容易定制和修改的软件。

当前版本:1.3.0.2
官方网站:http://www.zen-cart.com/
中文社区:http://www.zen-cart.cn/
界面截图:
 

Tags: 网上商店

configure: error: Cannot find libmysqlclient_r und

libmysqlclient_r 为线程安全客户端库

环境为:as4 mysql5 php5

安装PHP5时提示这个错误,只要重新编译mysql5,且加上参数 --enable-thread-safe-client 即可

原谅请看 http://dev.mysql.com/doc/refman/5.1/zh/apis.html

25.2.15. 如何生成线程式客户端

squid2.6 新版特性

2.6相对2.5有了一些改变,大家可以去看:http://www.squid-cache.org/Versions/v2/2.6/squid-2.6.STABLE1-20060726-RELEASENOTES.html#s2

下载http://www.squid-cache.org/Versions/v2/2.6/squid-2.6.STABLE6.tar.gz

#2.5的反向代理加速配置
#httpd_accel_host 127.0.0.1
#httpd_accel_port 80
#httpd_accel_single_host on
#httpd_accel_uses_host_header on
#httpd_accel_with_proxy on


#2.6的反向代理加速配置
#代理到本机的80端口的服务,仅仅做为原始内容服务器
cache_peer 127.0.0.1 parent 80 0 no-query originserver

关于win 2003 iis中不能下载rmvb的解决方法

关于win 2003 iis中不能下载rmvb的解决方法:

网站的属性>HTTP头->MIME类型->新建,扩展名填入.rmvb,MIME类型是application

IIS6 解决下载/上传大文件的问题

Windows 2003,当在IIS6上下载(/上传)大文件时,

会出现错误(log 文件中):80004005 Response_Buffer_Limit_Exceeded。

原因:IIS6 有一个缺省的设置:AspBufferingLimit= 4194304 是4M。
解决办法:将AspBufferingLimit的值增大到合适的大小。

步骤:
1. 修改IIS设置,允许直接编辑配置数据库
管理工具->IIS管理器里,选择计算机,右键,选择属性,然后选中“Enable Direct Metabase Edit”.
2. 修改IIS配置文件
1). 先在服务管理器里关闭iis admin service服务
         管理工具->服务->iis admin service->停止。
2). 用文本编辑器打开C:\Windows\System32\Inesrv\下的Metabase.xml文件
         注意:修改文件之前请先备份。

3). 修改对下载文件大小限制
         找到AspBufferingLimit,把它修改为你所需的大小。
         例如:AspBufferingLimit="8388608" (8M)
修改对上传文件大小限制


         找到ASPMaxRequestEntityAllowed 把他修改为需要的值,默认为204800,即200K 把它修改为你所需的大小。如:8388608(8M)

         例如:AspRequestQueueMax="8388608"

4). 然后开启www服务

     管理工具->服务->World Wide Web Publishing Service->开启


备注:

       也可以直接在控制台命令行运行 ADSUTIL.VBS更改此值。不用停止IIS。

       例如改为8M:运行“ADSUTIL.VBS SET W3SVC/AspBufferingLimit 8388608”

另外,可以在控制台命令行直接停止和启动IIS。

         停止:“Net stop iisadmin /y”
        启动:“Net start w3svc

解决w3wp.exe内存占用问题

在IIS6下,经常出现w3wp的内存占用不能及时释放,从而导致服务器响应速度很慢。
今天研究了一下,可以做以下配置:
1、在IIS中对每个网站进行单独的应用程序池配置。即互相之间不影响。
2、设置应用程序池的回收时间,默认为1720小时,可以根据情况修改。同时,设置同时运行的w3wp进程数目为1。再设置当内存或者cpu占用超过多少,就自动回收内存
 
 
一般来说,这样就可以解决了。但仍然会出现个别网站因为程序问题,不能正确释放。
那么,怎么样才能找到是哪一个网站的?
 
1、在任务管理器中增加显示pid字段。就可以看到占用内存或者cpu最高的进程pid
2、在命令提示符下运行iisapp -a。注意,第一次运行,会提示没有js支持,点击确定。然后再次运行就可以了。这样就可以看到pid对应的应用程序池
3、到iis中察看该应用程序池对应的网站,就ok了

Tags: w3wp.exe, 内存占用