2007/02/28

Mysql的一般性安全设置

打开/etc/my.cnf文件,修改以下设置,如果没有,可手动添加。

#取消文件系统的外部锁
skip-locking

#不进行域名反解析,注意由此带来的权限/授权问题
skip-name-resolve

#禁止MySQL中用“LOAD DATA LOCAL INFILE”命令。这个命令会利用MySQL把本地文件读到数据库中,然后用户就可以非法获取敏感信息了。网络上流传的一些攻击方法中就有用它的,它也是很多新发现的SQL Injection攻击利用的手段!
local-infile = 0

#关闭远程连接,即3306端口。这是MySQL的默认监听端口。由于此处MySQL只服务于本地脚本,所以不需要远程连接。尽管MySQL内建的安全机制很严格,但监听一个TCP端口仍然是危险的行为,因为如果MySQL程序本身有问题,那么未授权的访问完全可以绕过MySQL的内建安全机制。(你必须确定,你是否真的不需要远程连接mysql)
skip-networking

修改完my.cnf后,还需要对mysql的用户名、帐号、及默认数据库进行调整
首先先登录mysql,在终端窗口输入 /usr/local/mysql/bin/mysql -u root -p
然后会提示输入密码,输入正确密码后,会出现mysql>提示符。

输入以下命令:
mysql>use mysql;
mysql>update user set user="centos" where user="root"; (将mysql的root用户名修改成centos,防止root的密码被暴力破解)
mysql>select Host,User,Password,Select_priv,Grant_priv from user;
mysql>delete from user where user=''; (删除user用户)
mysql>delete from user where password=''; (删除user用户)
mysql>delete from user where host=''; (删除user用户)
mysql>drop database test; (删除默认的test数据库)
mysql>flush privileges; (刷新mysql的缓存,让以上设置立即生效)
mysql>quit;

为了使以上优化和安全设置生效,请重启Mysql服务或Linux。

关于Mysql的安全设置,这篇文章很值得一看
http://www.unixren.com/linux/bencandy.php?fid=21&id=459


一般来说mysql使用这些安全设定就差不多了。

2007/02/22

NTFS-3g稳定版1.0发布

NTFS-3g稳定版1.0发布 

"NTFS-3G是一个开源的项目,目标是为Linux提供非官方的NTFS的驱动程序。稳定版1.0于2007年2月21日释放。相对于以前的ntfs驱动,ntfs-3g提供了高效可靠的写入支持。"

The NTFS-3G driver is an open source, freely available NTFS driver for Linux with read and write support. It provides safe and fast handling of the Windows XP, Windows Server 2003, Windows 2000 and Windows Vista file systems. Most POSIX file system operations are supported, with the exception of full file ownership and access right support.

The purpose of the project is to develop, continuously quality test and support a trustable, feature rich and high performance solution for hardware platforms and operating systems whose users need to reliably interoperate with NTFS. Besides this practical goal, the project also aims to explore the limits of a hybrid, kernel/user space file system driver approach. Performance, reliability and feature richness per invested effort are being examined.

The driver is in STABLE status. Please see our test methods and testimonials on the driver quality page.

二进制包下载链接:
http://www.ntfs-3g.org/ntfs-3g-1.0.tgz

redhat/centos 相应的rpm /src.rpm下载链接:

http://marush.com/category/linux/rpm/ntfs-3g/

ntfs-3g需要 fuse 2.6以上版本的支持。

2007/02/19

CentOS 4.4 postfix2.3+ sasl 2+ dovecot 1.0搭建简洁快速的论坛邮件服务器

在网上找到的postfix加邮件服务器都稿得很复杂,非要什么mysql来管理帐户,我建的就是个论坛用的邮件服务器,一二个用户就行了,根本没有必要用mysql这个大神。所以我搜索了些资料,搭建一个简洁快速的论坛邮件服务器。

在CentOS中,默认的邮件服务器(SMTP方面)是sendmail,但sendmail有若干的缺点,比如,配置复杂、安全漏洞曾被多次发现--并且依然存在隐患、邮件发送速度慢等等,这里就不再一一叙述。而另一个被广泛应用于邮件服务方面的“Postfix”的缺点就少得多,或者说它就是针对于 sendmail的缺点,而被设计的。对应sendmail的短处,它在各方面也比较成熟。所以,无特殊要求,这里不推荐用sendmail来构建邮件服务器。本站介绍的邮件服务器配置方法,也将基于Postfix。

添加MX记录(这里假设使用固定IP域名)

  由于MX记录添加后,可能生效要等待一段时间(通常为数分钟或数十分钟,也可能马上生效),所以在安装配置前,我们首先为动态域名添加MX记录。添加方法也会因域名ISP的不同而不同,但大致信息如下:

     mx mail.cnprint.org. 10
     a mail 服务器的IP地址
然后再设置mail.cnprint.org的域名A记录,否则,即使你用动态IP建成了邮件服务器,也会被大多数ISP邮件服务器视为垃圾邮件服务器,而无法向其发送邮件。
  mail为别名,10为优先度。这个别名指向服务器的IP地址。
  确认MX记录的添加是否生效的方法:

# host -t mx cnprint.org

cnprint.org mail is handled by 10 mail.cnprint.org.  // 确认MX记录生效
# dig mail.cnprint.org //再查询mail.cnprint.org的域名A记录,已经找到了。
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 62310
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 4
;; QUESTION SECTION: ;mail.cnprint.org. IN A ;;
ANSWER SECTION: mail.cnprint.org. 227 IN A 125.83.88.7 // 已经查找到mail.cnprint.org的域名A记录在125.83.88.7这个IP上。

安装Postfix

我们这里下载最新的postfix 2.3 的src rpm自己进行编译,postfix 2.3默认已经不支持sasl2验证了,所以我们要自己重新编译加入对sasl2的支持。

下载并安装Postfix。

cd /usr/local/src
wget ftp://ftp.wl0.org/official/2.3/SRPMS/postfix-2.3.7-1.src.rpm

rpm -i postfix-2.3.7-1.src.rpm

cd /usr/src/redhat/SPECS

vi postfix.specs

搜索并找到下面几行修改如下:

%define with_cdb 0
%define with_ldap 0
%define with_mysql 0
%define with_mysql_redhat 0
%define with_pcre 0
%define with_pgsql 0
%define with_sasl 2
%define with_spf 0
%define with_dovecot 1
%define with_tls 1
%define with_tlsfix 2
%define with_vda 0

编译postfix rpm

rpmbuild -ba postfix.sepc

编译完成后安装postfix:

cd ../RPMS/i386/

rpm -ivh postfix-2.3.7-1.rhel4.i386.rpm

配置Postfix及相关组件

[1] 对Postfix进行配置。

# vi /etc/postfix/main.cf  // 编辑Postfix的配置文件

#myhostname = host.domain.tld  // 找到此行,将等号后面的部分改写为主机名
myhostname = sample.cnprint.org  // 变为此状态,设置系统的主机名

#mydomain = domain.tld  // 找到此行,将等号后面的部分改写为域名

mydomain = cnprint.org  // 变为此状态,设置域名(我们将让此处设置将成为E-mail地址“@”后面的部分)

#myorigin = $mydomain  // 找到此行,将行首的#去掉

myorigin = $mydomain  // 变为此状态,将发信地址“@”后面的部分设置为域名(非系统主机名)

#inet_interfaces = all  // 找到此行,将行首的#去掉
inet_interfaces = all  // 变为此状态,接受来自所有网络的请求

#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain  // 找到此行,将行首的#去掉

mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain  // 变为此状态,指定发给本地邮件的域名

#relay_domains = $mydestination  // 找到此行,将行首的#去掉

relay_domains = $mydestination  // 变为此状态,定义允许转发的域名

#mynetworks = 168.100.189.0/28, 127.0.0.0/8  // 找到此行,依照自己的内网情况修改
mynetworks = 168.100.189.0/28, 127.0.0.0/8  // 变为此状态,指定内网和本地的IP地址范围

#home_mailbox = Maildir/  // 找到这一行,去掉行首的#

home_mailbox = Maildir/  // 变为此状态,指定用户邮箱目录

# SHOW SOFTWARE VERSION OR NOT #

# The smtpd_banner parameter specifies the text that follows the 220
# code in the SMTP server's greeting banner. Some people like to see
# the mail version advertised. By default, Postfix shows no version. #

# You MUST specify $myhostname at the start of the text. That is an
# RFC requirement. Postfix itself does not care. #

#smtpd_banner = $myhostname ESMTP $mail_name
#smtpd_banner = $myhostname ESMTP $mail_name ($mail_version)  // 找到这一行,接此行添加如下行:

smtpd_banner = $myhostname ESMTP unknow  // 添加这一行,不显示SMTP服务器的相关信息

在配置文件的文尾,添加如下行:

smtpd_sasl_auth_enable = yes  // 服务器使用SMTP认证

smtpd_sasl_local_domain = $myhostname  // 指定SMTP认证的本地域名(主机名)
smtpd_sasl_security_options = noanonymous   // 不允许匿名的方式认证
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated,
reject_unauth_destination message_size_limit = 15728640  // 规定邮件最大尺寸为15MB [2]

配置SMTP认证的相关选项

为了提高安全性,我们不将系统用户的密码作为相应用户SMTP认证的密码,而将在后面为用户建立SMTP认证专用的密码。

# vi /usr/lib/sasl2/smtpd.conf  // 编辑SMTP认证的配置文件

pwcheck_method: saslauthd  // 找到此行,将“saslauthd”改为“auxprop”
pwcheck_method: auxprop  // 不使用系统用户密码作为用户的SMTP认证密码

# vi /etc/sysconfig/saslauthd

MECH=shadow  // 找到这一行,在前面加#

#MECH=shadow  //不使用shadow机制

FLAGS=  // 找到此行,在等号后面添加“sasldb”

FLAGS=sasldb   // 定义认证方式为sasldb2

[3] 建立用户的邮箱目录

首先建立用户模板下的邮箱目录,以便于建立新用户时,相应用户的邮箱目录自动被建立。

# mkdir /etc/skel/Maildir  // 在用户模板下建立用户邮箱目录

# chmod 700 /etc/skel/Maildir  // 设置用户邮箱目录属性为700 然后再为已经存在的用户建立相应邮箱目录。

# mkdir /home/cnprintorg/Maildir  // 为用户(这里以cnprintorg用户为例)建立邮箱目录

# chmod 700 /home/cnprintorg/Maildir  // 设置该用户邮箱目录属性为700

# chown cnprintorg. /home/cnprintorg/Maildir  // 设置该用户邮箱目录为该用户所有

[4] 为用户设置SMTP认证密码

# saslpasswd2 -u sample.cnprint.org -c cnprintorg  // 为cnprintorg用户设置SMTP认证密码
Password:  // 在这里输入密码(不会显示)

Again (for verification):  // 再次输入密码

[5] 改变SALS的属性及归属

# chgrp postfix /etc/sasldb2  // 将数据库归属改为postfix,

# chmod 640 /etc/sasldb2  // 将数据库属性改为640

[6] 关闭sendmail服务及设置默认MTA

因为在用Postfix作为SMTP服务器的前提下,我们不准备再用sendmail,所以将sendmail服务关掉,以确保安全及节省系统资源。


# /etc/rc.d/init.d/sendmail stop  // 关闭sendmail服务

Shutting down sendmail:         [ OK ] Shutting down sm-client: [ OK ]

# chkconfig sendmail off  // 关闭sendmail自启动

# chkconfig --list sendmail  // 确认sendmail自启动已被关闭(都为off就OK)

sendmail 0:off 1:off 2:off 3:off 4:off 5:off 6:off

然后再将默认的MTA设置为Postfix。

# alternatives --config mta  // 设置默认MTA

There are 2 programs which provide 'mta'.
Selection Command
-----------------------------------------------

*+ 1 /usr/sbin/sendmail.sendmail  // 当前状态:sendmail为默认MTA
2 /usr/sbin/sendmail.postfix


Enter to keep the current selection[+], or type selection number: 2  // 在这里输入2,使Postfix成为默认MTA 启动相应服务

最后,启动SMTP认证及Postfix服务,并设置相应服务为自启动。

# chkconfig saslauthd on  // 将SMTP-Auth设置为自启动

# chkconfig --list saslauthd  // 确认SMTP-Auth服务状态

saslauthd 0:off 1:off 2:on 3:on 4:on 5:on 6:off  // 确认2~5为on的状态就OK

# /etc/rc.d/init.d/saslauthd start  // 启动SMTP-Auth Starting saslauthd:           [ OK ]

# chkconfig postfix on// 将Postfix设置为自启动

# chkconfig --list postfix  // 确认Postfix服务状态

postfix 0:off 1:off 2:on 3:on 4:on 5:on 6:off  // 确认2~5为on的状态就OK

# /etc/rc.d/init.d/postfix start  // 启动Postfix Starting postfix:            [ OK ]

至此,就完成了SMTP服务器方面的配置,但目前只具从备客户端通过服务器发送邮件的功能。做为完整的邮件服务器,还需具备从客户端通过POP/IMAP协议接受邮件到本地的功能。

POP / IMAP 是 MUA 从邮件服务器中读取邮件时使用的协议。 其中,与 POP3 是从邮件服务器中下载邮件比起来,IMAP4 则是将邮件留在服务器端直接对邮件进行管理、操作。这里,我们用 Dovecot 来实现对 POP3 及 IMAP4 等协议支持的邮件接收服务器的搭建。 Dovecot 是一个比较新的软件,由 Timo Sirainen 开发,最初发布于 2002年7月。作者将安全性考虑在第一,所以 Dovecot 在安全性方面比较出众。另外,Dovecot 支持多种认证方式,所以在功能方面也比较符合一般的应用。

安装 Dovecot 首先,安装 Dovecot 。

cd /usr/local/src

wget http://download.fedora.redhat.com/pub/fedora/linux/core/updates/6/SRPMS/dovecot-1.0-1.1.rc15.fc6.src.rpm

rpm -i dovecot-1.0-1.1.rc15.fc6.src.rpm

cd /usr/src/redhat/SPECS

由于dovecot默认支持mysql,postgresql,而我们不需要,所以我们编译源代码,去掉对mysql,postgresql的支持。如果现在不编译。等一会儿要求你安装mysql 4.1.20,否则,不会你安装。呵呵。这样mysql 4.1.20可能跟我们手动安装的mysql 5.0冲突,为了系统的稳定,所以我们取消了那些不需要的认证方式。

vi dovecot.spec

搜索以下语句:

%define build_postgres 1
%define build_mysql 1
%define upstream 1.0.rc15

修改为:

%define build_postgres 0
%define build_mysql 0
%define upstream 1.0.rc15


降低对openssl的版本要求,查找:

Prereq: openssl >= 0.9.7f4, /sbin/chkconfig, /usr/sbin/useradd

修改为:
change to Prereq: openssl >= 0.9.7a, /sbin/chkconfig, /usr/sbin/useradd


编译rpm 文件。
rpmbuild -ba dovecot.spec


cd ../RPMS/i386/

rpm -ivh dovecot-1.0-1.1.rc15.i386.rpm

OK.

配置 Dovecot

然后,修改相应配置文件,配置 Dovecot 。
# vi /etc/dovecot.conf  // 编辑Dovecot 的配置文件

#protocols = imap imaps pop3 pop3s  // 找到这一行,去掉行首的#
 
protocols = imap imaps pop3 pop3s  // 变为此状态

# mail_location = maildir:~/Maildir  // 找到这一行,定义邮件目录
 
mail_location = maildir:~/Maildir  // 定义邮件目录为用户目录下的Maildir目录

添加防火墙规则

  由于 POP3 协议与 IMAP4 协议要分别用到110号和143号端口,所以在启动服务前,配置防火墙,开通这两个端口。
# vi /usr/local/sbin/fw.sh  // 编辑防火墙规则

/sbin/iptables -A INPUT -p tcp --dport 25 -j ACCEPT //
/sbin/iptables -A INPUT -p tcp --dport 110 -j ACCEPT // 允许POP使用的110号端口
/sbin/iptables -A INPUT -p tcp --dport 143 -j ACCEPT // 允许IMAP使用的143号端口

# /etc/rc.d/init.d/iptables restart  // 重新启动防火墙,使新的设置生效

Flushing firewall rules:          [ OK ]
Setting chains to policy ACCEPT: filter   [ OK ]
Unloading iptables modules:       [ OK ]
Applying iptables firewall rules:      [ OK ]

启动 Dovecot

最后,启动 Dovecot ,并将其设置为自启动。

# chkconfig dovecot on  // 设置Dovecot为自启动

# chkconfig --list dovecot
dovecot 0:off 1:off 2:on 3:on 4:on 5:on 6:off  // 确认2~5为on的状态就OK

# /etc/rc.d/init.d/dovecot start  // 启动Dovecot服务

Starting Dovecot Imap:        [ OK ]

test

telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
220 localhost.localdomain ESMTP Postfix
ehlo dd
250-localhost.localdomain
250-PIPELINING
250-SIZE 15728640
250-VRFY
250-ETRN
250-AUTH LOGIN PLAIN //
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
auth login
334 VXNlcm5hbWU6
dfdf
334 UGFzc3dvcmQ6

telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
+OK Dovecot ready.


这样我们利用postfix和 dovecot两个RPM包就成功的安装了我们的邮件服务器了。而不会装其他很多无价值的东西。真是又快又简单。

2007/02/12

建立了一个CentOS qq 交流群

有兴趣的兄弟可以共同进来交流下。

QQ群号:28910308

请注明centos

2007/02/11

CentOS 4.4 编译安装 apache 2.2.4(mod_ssl)+php 5.2.1 with Suhosin-Patch+mysql 5.0.33+Zend Optimizer v3.2.2+eaccelerator-0.9.5+phpmyadmin 2.10笔记 v1.2

v1.2 2007年2月12日 apache 更新为2.2.4版本,增加mod_ssl和openssl支持,增加apr和apr-util的编译, php更新为5.2.1,增加集成Suhosin补丁,mysql 更新为5.0.33, Zend Optimizer 更新为3.2.2, 增加phpmyadmin.修改一些文字错误。
v1.0 2007年1月11日

先声明,我绝对是个Linux的菜鸟,以下的这些文字个人的安装笔记,是参考了网上许多高手的成功经验组合而成的,说实话我自己的东西不多 :)我想把这些经验写下来,既可以对其他跟我一样摸索的兄弟一个经验,也可以防止以后自己都忘记了,嘿嘿。

所以如果某个大虾看到我借用了你的资源,请你不要生气。也欢迎大家进行指点。

1、下载centos 4.4
我是下载的DVD版本,大家也可以下载服务器CD安装版本,其实都差不多。大家可以到这儿下载,速度很快的。
http://ftp.iasi.roedu.net/mirrors/centos.org/4.4/isos/i386/

下载后当然就刻录成光盘。我建议你刻录DVD啦,如果是菜鸟,也可以在图形界面进行学习,不会这么抓不住头脑。

2、(1)安装CentOS4.4
作为服务器,不安装不需要的组件,所以在选择组件的时候,除了选择FTP SERVER外取消所有组件的选择。也不要选web服务器。因为我们后面要手动编译安装。


系统约定RPM包和源码包存放位置

RPM包和源码包存放位置 /usr/local/src
源码包编译安装位置(prefix) /usr/local/xxx
脚本以及维护程序存放位置 /usr/local/sbin
MySQL 数据库位置 /var/lib/mysql
Apache 网站根目录 /home/www
Apache 虚拟主机日志根目录 /data/logs/www
yum RPM包信息文件 /etc/yum.list

(2)更新系统,此处我们使用up2date,先修改up2date镜像。
vi /etc/sysconfig/rhn/sources

我把源修改成这样了:

yum centos4-Base http://mirror.be10.com/centos/4/os/$ARCH/
yum centos4-Updates http://mirror.be10.com/centos/4/updates/$ARCH/
yum centos4-extras http://mirror.be10.com/centos/4/extras/$ARCH/
yum centos4-contrib http://mirror.be10.com/centos/4/contrib/$ARCH/
yum centos4-addons http://mirror.be10.com/centos/4/addons/$ARCH/
yum centos4-centosplus http://mirror.be10.com/centos/4/centosplus/$ARCH/

然后执行:
# up2date -l //列出更新
# up2date -uf //更新包括版本的所有程序。如果不包括内核,则用up2date -u


3、系统环境部署及调整

(1). 检查系统是否正常
# more /var/log/messages //检查有无系统内核级错误信息
# demesg //检查硬件设备是否有错误信息
# ifconfig //检查网卡设置是否正确
# ping www.163.com // 检查网络是否正常

(2). 关闭不需要的服务
# export LANG='en_US' //设置语言
# setup //选择启动的服务
进入system service 选项。
以space 键选定所需服务。
以下仅列出需要启动的服务,未列出的服务一律关闭:
crond
irqbalance 仅当服务器CPU为S.M.P架构或支持双核心、HT技术时,才需开启,否则关闭。
microcode_ctl
network
vsftpd
sshd
syslog

(3)、修改/etc/yum.repos.d/CentOS-Base.repo,将镜象站点地址改为在中国的镜象站点地址。不然我们通过yum安装软件速度会极慢。修改如下:

# CentOS-Base.repo
#
# This file uses a new mirrorlist system developed by Lance Davis for CentOS.
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client. You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
#

[base]
name=CentOS-$releasever - Base
baseurl=http://mirror.vmmatrix.net/CentOS/$releasever/os/$basearch/
http://mirror.be10.com/centos/$releasever/os/$basearch/
http://centos.hostlink.com.hk/$releasever/os/$basearch/
http://ftp.hostrino.com/pub/centos/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos4

#released updates
[update]
name=CentOS-$releasever - Updates
baseurl=http://mirror.vmmatrix.net/CentOS/$releasever/os/$basearch/
http://mirror.be10.com/centos/$releasever/os/$basearch/
http://centos.hostlink.com.hk/$releasever/os/$basearch/
http://ftp.hostrino.com/pub/centos/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos4

#packages used/produced in the build but not released
[addons]
name=CentOS-$releasever - Addons
baseurl=http://mirror.vmmatrix.net/CentOS/$releasever/os/$basearch/
http://mirror.be10.com/centos/$releasever/os/$basearch/
http://centos.hostlink.com.hk/$releasever/os/$basearch/
http://ftp.hostrino.com/pub/centos/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos4

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
baseurl=http://mirror.vmmatrix.net/CentOS/$releasever/os/$basearch/
http://mirror.be10.com/centos/$releasever/os/$basearch/
http://centos.hostlink.com.hk/$releasever/os/$basearch/
http://ftp.hostrino.com/pub/centos/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos4

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos4

#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib
baseurl=http://mirror.centos.org/centos/$releasever/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos4

保存。

然后导入key升级相应yum数据

# rpm --import /usr/share/doc/centos-release-4/RPM-GPG-KEY-centos4
# yum list tee /etc/yum.list //读取yum list 数据,将其输出到 /etc/yum.list。


(4)、定时校正服务器时间
# yum install ntp
# crontab -e
0 23 * * * root /usr/sbin/ntpdate 210.72.145.44 > /dev/null 2>&1

以上命令设置好后存盘。您的机器将在每天的23:00根据中国国家授时中心的NTP服务器时间自动校准时间。

(5). 对TCP/IP网络参数进行调整,加强抗SYN Flood能力
# echo 'net.ipv4.tcp_syncookies = 1' >> /etc/sysctl.conf //将net.ipv4.tcp_syncookies = 1写入sysctl.conf 文件
# sysctl -p //查看

(6)、FTP服务器的配置
vi /etc/vsftpd/vsftpd.conf
把anonymous_enable=YES注释掉不允许匿名登录。
把chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
前的注释去掉。
把ftpd_banner=*前的注释去掉。后面改成你的欢迎信息(这样设置可以避免显示ftp服务器的版本信息)
然后保存,service vsftpd start就可以了。

这时应当添加用户,因为root默认不能通过FTP方式登录。

# adduser username
# passwd userpassword

这样对于我们上传一些文件到系统中很方便。


4. 重新启动系统
# init 6


5. 使用 yum 程序安装所需开发包(以下为标准的 RPM 包名称)
# yum install gcc gcc-c++ gcc-g77 flex bison autoconf automake bzip2-devel zlib-devel ncurses-devel libjpeg-devel libpng-devel libtiff-devel freetype-devel pam-devel

#这里我们将编译GD所必须的一些小软件比如libpng,libtiff,freetype,libjpeg等先用RPM的方式一并安装好,避免手动编译浪费时间,同时也能避免很多错误,这几个小软件的编译很麻烦。这几个小软件编译错误了,GD当然安装不了,php5的编译当然也没戏了。所以我们抓大放小,对这些小牛鬼蛇神采取快速简洁的方式进行安装。并且对服务器的性能也不能产生什么影响。

6. 源码编译安装所需包 (Source)
(1) GD2
# cd /usr/local/src
# wget http://www.boutell.com/gd/http/gd-2.0.33.tar.gz
# tar xzvf gd-2.0.33.tar.gz
# cd gd-2.0.33
# ./configure --prefix=/usr/local/gd2 --mandir=/usr/share/man //./configure 配置。
# make //make 是用来编译的,它从 Makefile 中读取指令,然后编译。
# make install //make install 是用来安装的,它也从 Makefile 中读取指令,安装到指定的位置。

(2) Apache 日志截断程序
# 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

(3) libxml 库程序
# cd /usr/local/src
# wget http://ftp.gnome.org/pub/gnome/sources/libxml2/2.6/libxml2-2.6.26.tar.gz
# tar zxvf libxml2-2.6.26.tar.gz
# cd libxml2-2.6.26
# ./configure --prefix=/usr/local/libxml2
# make
# make install

7、编译mysql 5.0.33

cd /usr/local/src
# wget http://mysql.oss.eznetsols.org/Downloads/MySQL-5.0/mysql-5.0.33.tar.gz
# tar xzvf mysql-5.0.33.tar.gz
# cd mysql-5.0.33

修改mysql 客户端最大连接数, 默认的只有100,远远达不到我们的要求。

# vi sql/mysqld.cc

搜索找到下面一行:
{"max_connections", OPT_MAX_CONNECTIONS,
"The number of simultaneous clients allowed.", (gptr*) &max_connections,
(gptr*) &max_connections, 0, GET_ULONG, REQUIRED_ARG, 100, 1, 16384, 0, 1,
0},

将其中的100改为1500, 当然小点也可以,根据你的需要来,不建议改的太大。

{"max_connections", OPT_MAX_CONNECTIONS,
"The number of simultaneous clients allowed.", (gptr*) &max_connections,
(gptr*) &max_connections, 0, GET_ULONG, REQUIRED_ARG, 1500, 1, 16384, 0, 1,
0},

保存。

# CHOST="i686-pc-linux-gnu" CFLAGS="-O3 -msse2 -mmmx -mfpmath=sse -mcpu=pentium4 -march=pentium4 -pipe -fomit-frame-pointer" CXXFLAGS="-O3 -msse2 -mmmx -mfpmath=sse -funroll-loops -mcpu=pentium4 -march=pentium4 -pipe -fomit-frame-pointer" ./configure --prefix=/usr/local/mysql --localstatedir=/var/lib/mysql --with-comment=Source --with-server-suffix=-Community-Server --with-mysqld-user=mysql --without-debug --with-big-tables --with-charset=latin1 --with-collation=latin1_swedish_ci --with-extra-charsets=all --with-pthread --enable-static --enable-thread-safe-client --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static --enable-assembler --without-innodb --without-ndb-debug --without-isam


配置成功会提示:

MySQL has a Web site at [URL="http://www.mysql.com/"][COLOR=#000000]http://www.mysql.com/[/COLOR][/URL] which carries details on the
latest release, upcoming features, and other information to make your
work or play with MySQL more productive. There you can also find
information about mailing lists for MySQL discussion.

Remember to check the platform specific part of the reference manual for
hints about installing MySQL on your platform. Also have a look at the
files in the Docs directory.

Thank you for choosing MySQL!

// 注意 ,CHOST="i686-pc-linux-gnu" CFLAGS="-O3 -msse2 -mmmx -mfpmath=sse -mcpu=pentium4 -march=pentium4 -pipe -fomit-frame-pointer" CXXFLAGS="-O3 -msse2 -mmmx -mfpmath=sse -funroll-loops -mcpu=pentium4 -march=pentium4 -pipe -fomit-frame-pointer" 这个环境参数只针对intel P4 芯片,如果你的CPU是AMD的,注意不能使用。请查看相应的编译优化参数。否则程序会无法编译,即使编译成功也无法运行,嘿嘿。

# make
编译的时间可能会比较长,毕竟优化的比较厉害。

# make install

编译安装完成后执行后续操作:
# useradd mysql //添加 mysql 用户
# cd /usr/local/mysql
# bin/mysql_install_db --user=mysql
# chown -R root:mysql . //设置权限,注意后面有一个 "."
# chown -R mysql /var/lib/mysql //设置 mysql 目录权限
# chgrp -R mysql . //注意后面有一个 "."
# cp share/mysql/my-medium.cnf /etc/my.cnf
# cp share/mysql/mysql.server /etc/rc.d/init.d/mysqld //开机自动启动 mysql。
# chmod 755 /etc/rc.d/init.d/mysqld
# chkconfig --add mysqld
# /etc/rc.d/init.d/mysqld start //启动 MySQL
# bin/mysqladmin -u root password "password_for_root"
# service mysqld stop //关闭 MySQL

8. 编译安装 Apache
# cd /usr/local/src
# wget http://www.ip97.com/apache.org/httpd/httpd-2.2.4.tar.gz
# tar zxvf httpd-2.2.4.tar.gz
# cd httpd-2.2.4

依次安装apr和apr-util

# cd srclib/apr
# ./configure --prefix=/usr/local/apr --enable-threads --enable-other-child USE=ipv6
# make && make install

# cd ../apr-util
# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/ --with-mysql=/usr/local/mysql
# make && make install

cd /usr/local/src/httpd-2.2.4
# CHOST="i686-pc-linux-gnu" CFLAGS="-O3 -msse2 -mmmx -mfpmath=sse -funroll-loops -mcpu=pentium4 -march=pentium4 -pipe -fomit-frame-pointer" ./configure --prefix=/usr/local/apache2 --enable-mods-shared=all --enable-deflate=shared --with-mysql=/usr/local/mysql --enable-cache --enable-file-cache --enable-mem-cache --enable-disk-cache --enable-static-support --enable-static-htpasswd --enable-static-htdigest --enable-static-rotatelogs --enable-static-logresolve --enable-static-htdbm --enable-static-ab --enable-static-checkgid --disable-cgid --disable-cgi --with-mpm=worker --with-apr=/usr/local/apr/ --with-apr-util=/usr/local/apr-util/ --enable-ssl --with-ssl=/usr/include/openssl

# make
# make install
# echo '/usr/local/apache2/bin/apachectl start ' >> /etc/rc.local //将 apachectl 的调用加入到你的系统启动文件中。

注解:
./configure //配置源代码树
--prefix=/usr/local/apache2 //体系无关文件的顶级安装目录PREFIX ,也就Apache的安装目录。
--enable-module=so //打开 so 模块,so 模块是用来提 DSO 支持的 apache 核心模块
--enable-mods-shared=all //编译全部的模板,对于不需要我们可以在httpd.conf去掉。
--enable-cache //支持缓存
--enable-file-cache //支持文件缓存
--enable-mem-cache //支持记忆缓存
--enable-disk-cache //支持磁盘缓存
--enable-static-support //支持静态连接(默认为动态连接)
--enable-static-htpasswd //使用静态连接编译 htpasswd - 管理用于基本认证的用户文件
--enable-static-htdigest //使用静态连接编译 htdigest - 管理用于摘要认证的用户文件
--enable-static-rotatelogs //使用静态连接编译 rotatelogs - 滚动 Apache 日志的管道日志程序
--enable-static-logresolve //使用静态连接编译 logresolve - 解析 Apache 日志中的IP地址为主机名
--enable-static-htdbm //使用静态连接编译 htdbm - 操作 DBM 密码数据库
--enable-static-ab //使用静态连接编译 ab - Apache HTTP 服务器性能测试工具
--enable-static-checkgid //使用静态连接编译 checkgid
--disable-cgid //禁止用一个外部 CGI 守护进程执行CGI脚本
--disable-cgi //禁止编译 CGI 版本的 PHP
--with-mpm=worker // 让apache以worker方式运行
--enable-ssl // 编译 ssl模块。

将apache设置成开机自启动:

在/etc/rc.d/rc.local文件中加入一行
/usr/local/apache2/bin/apachectl start
这样每次重新启动系统以后,apache也会随系统一起启动.

或者
# cp /usr/local/apache2/bin/apachectl /etc/rc.d/init.d/httpd
然后 vi /etc/rc.d/init.d/httpd 添加(#!/bin/sh下面)
# chkconfig: 2345 10 90
# description: Activates/Deactivates Apache Web Server
最后,运行chkconfig把Apache添加到系统的启动服务组里面:
# chkconfig --add httpd
# chkconfig httpd on


9、编译php 5.2.1并打上Suhosin Patch。
Suhosin是php增强型安全补丁,可以编译到静态内核中,也可以编译成php动态扩展。我个人强烈你建议安装成静态内核。Suhosin已经进入freebsd和gentoo的ports。下面的以下先说静态安装步骤。当然你也可以在安装php后将它编译成php的动态扩展。

# cd /usr/local/src
# wget http://cn.php.net/get/php-5.2.1.tar.gz/from/this/mirror
wget http://www.hardened-php.net/suhosin/_media/suhosin-patch-5.2.1-0.9.6.2.patch.gz
# tar zxvf php-5.2.1.tar.gz
# gunzip suhosin-patch-5.2.1-0.9.6.2.patch.gz
# cd php-5.2.1
patch -p 1 -i ../suhosin-patch-5.2.1-0.9.6.2.patch

#./buildconf --force

# CHOST="i686-pc-linux-gnu" CFLAGS="-O3 -msse2 -mmmx -mfpmath=sse -mcpu=pentium4 -march=pentium4 -pipe -fomit-frame-pointer" CXXFLAGS="-O3 -msse2 -mmmx -mfpmath=sse -funroll-loops -mcpu=pentium4 -march=pentium4 -pipe -fomit-frame-pointer" ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-zlib-dir --with-bz2 --with-tiff-dir --with-libxml-dir=/usr/local/libxml2 --with-gd=/usr/local/gd2 --with-freetype-dir --with-jpeg-dir --with-png-dir --with-ttf --enable-mbstring --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-config-file-path=/etc --with-iconv --disable-ipv6 --enable-static --enable-maintainer-zts --enable-memory-limit --enable-zend-multibyte --enable-inline-optimization --enable-zend-multibyte --enable-sockets --enable-soap --enable-suhosin --with-openssl

# make

# make install

# cp php.ini-recommended /etc/php.ini


在这里也顺便说一下将suhosin安装成为php的动态扩展的方法。毕竟网上根本不见它的中文安装教程。

虽然我个人不推荐这种方式。

wget http://www.hardened-php.net/suhosin/_media/suhosin-0.9.16.tgz
tar zxvf suhosin-0.9.16.tgz
cd suhosin-0.9.16
./configure --with-php-config=/usr/local/php/bin/php-config
make
make install

会提示编译的模块存在的目录,记住它。
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/

然后在php.ini中增加一行下列语句。
extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/suhosin.so

10 、整合apache 与php
# vi /usr/local/apache2/conf/httpd.conf
在最后一行加上:
AddType application/x-httpd-php .php

查找:(设置 WEB 默认文件)
DirectoryIndex index.html
替换为:
DirectoryIndex index.php index.html index.htm //在 WEB 目录不到默认文件,httpd 就会执行 /var/www/error/noindex.html

找到这一段:
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride none

更改为AllowOverride all
允许apache rewrite

# 监听443端口,支持https连接
取消注释 httpd.conf 中的 Include conf/extra/httpd-ssl.conf

保存httpd.conf,退出。

# /usr/local/apache2/bin/apachectl restart //重启 Apache

11. 查看确认 L.A.M.P 环境信息
vi /usr/local/apache2/htdocs/phpinfo.php
增加下面一行,并保存。

# chmod 755 /usr/local/apache2/htdocs/phpinfo.php

用浏览器打开 [URL="http://127.0.0.1/phpinfo.php"][COLOR=#000000]http://127.0.0.1/phpinfo.php[/COLOR][/URL]


# echo ' ' > /usr/local/apache2/htdocs/testdb.php
# chmod 755 /usr/local/apache2/htdocs/testdb.php
# service mysqld start
用浏览器打开 [URL="http://127.0.0.1/testdb.php"][COLOR=#000000]http://127.0.0.1/testdb.php[/COLOR][/URL]
检查 phpinfo 中的各项信息是否正确。

12、设置SSL并创建自己的CA

# cd /usr/share/ssl/misc

# ./CA -newca

屏幕上出现如下的提示:CA certificate filename (or enter to create)

这是要求输入要创建的CA的证书文件名, 可以直接回车或输入证书文件名。

Making CA certificate ...
Generating a 1024 bit RSA private key
.........++++++
................................++++++
writing new private key to './demoCA/private/./cakey.pem'
Enter PEM pass phrase:

Verifying password - Enter PEM pass phrase:-

此时要求输入和验证CA的私钥口令、国家代码(中国是CN)、省份、城市或地区、组织或企业名称、部门名称、CA的名称或服务器的主机名称、管理员电子邮件地址。

至此,在当前目录下生成了demoCA的目录,CA的证书就在该目录下,文件名为cacert.pem

生成服务器的证书请求

# ./CA -newreq

屏幕上出现如下的提示:

Generating a 1024 bit RSA private key
.....................................................++++++
.....++++++
writing new private key to 'newreq.pem'
Enter PEM pass phrase:
Verifying password - Enter PEM pass phrase:

此时要求输入和验证服务器的私钥口令、国家代码(中国是CN)、省份、城市或地区、组织或企业名称、部门名称、CA的名称或服务器的主机名称、管理员电子邮件地址。

Please enter the following 'extra' attributes

to be sent with your certificaterequest

A challenge password []:

An optional company name []:

.Request (and private key) is in newreq.pem

这是要求输入服务器的相关信息。

此时,在当前目录下生成了一个名为newreq.pem的文件,包含了要生成服务器数字证书的请求。

签署证书

# ./CA -sign

屏幕上出现如下的提示:

Using configuration from /usr/share/ssl/openssl.cnf

Enter PEM pass phrase:

此时一样需要输入CA的私钥口令、国家代码(中国是CN)、省份、城市或地区、组织或企业名称、部门名称、CA的名称或服务器的主机名称、管理员电子邮件地址。

Certificate is to be certified until Nov 19 13:46:19 2002 GMT (365 days)

Sign the certificate? [y/n]:y

这时显示证书请求文件中的各项信息,并询问是否要签署证书,回答y,进行签署。

1 out of 1 certificate requests certified, commit? [y/n]y

回答y,会显示已经签署的证书的信息,并在当前目录下生成服务器的证书文件newcert.pem。

# mkdir /usr/local/apache2/conf/ssl.crt/
# mkdir /usr/local/apache2/conf/ssl.key/
# cp newcert.pem /usr/local/apache2/conf/ssl.crt/server.pem
# cp newreq.pem /usr/local/apache2/conf/ssl.key/server.pem


更改服务器的证书文件的相关配置
# vi /usr/local/apache2/conf/extra/httpd-ssl.conf

查找并修改

# Server Certificate:
# Point SSLCertificateFile at a PEM encoded certificate. If
# the certificate is encrypted, then you will be prompted for a
# pass phrase. Note that a kill -HUP will prompt again. Keep
# in mind that if you have both an RSA and a DSA certificate you
# can configure both in parallel (to also allow the use of DSA
# ciphers, etc.)
SSLCertificateFile /usr/local/apache2/conf/ssl.crt/server.pem
#SSLCertificateFile /usr/local/apache2/conf/server-dsa.crt

# Server Private Key:
# If the key is not combined with the certificate, use this
# directive to point at the key file. Keep in mind that if
# you've both a RSA and a DSA private key you can configure
# both in parallel (to also allow the use of DSA ciphers, etc.)
SSLCertificateKeyFile /usr/local/apache2/conf/ssl.key/server.pem
#SSLCertificateKeyFile /usr/local/apache2/conf/server-dsa.key


示例文件

在SSL的根目录中生成一个index.html,它是如下所示:

<html>

这是SSL示例!

</html>

测试

假如Web服务器的DNS名称是www.cnprint.org.

在浏览器的URL地址栏里输入 http://www.cnprint.org/,浏览器便会显示APACHE安装时确省的Test Page.

在浏览器的URL地址栏里输入 https://www.cnprint.org/,注意:是 https 而不是http !

浏览器会提示站点已经采用了SSL进行数据的加密传输.由于我们的CA证书不是浏览器缺省的信任的根证书,所以,浏览器会说无法确认服务器的证书可信。暂时不管,一直NEXT,最后,浏览器会显示:这是SSL示例!

可以把CA的证书放在非SSL的站点上,让浏览器下载并安装CA证书,并将其设置成可信任的根证书,便可解决上面的问题.8 解除HTTPD起动时的口令输入。

由于安全的原因,Web服务器的私钥是口令加密了的,每次重新起动HTTPD或Linux时,都会要求输入Web服务器的私钥的口令。

如果要解除HTTPD起动时的口令输入,可以这样:

# cd /usr/local/apache2/conf/ssl.key/
# cp server.pem server.pem.org
# openssl rsa -in server.pem.org -out server.pem
# chmod 400 server.pem

另外在网上看到一个方法,我没有试。有兴趣的可以试下。

创建SSL密码自动应答文件,否则每次Apache启动的时候,都会要求你输入SSL的密码.
创建 /usr/local/apache2/conf/ssl.key/sendsslpwd ,内容如下.

#!/bin/bash
SSLpasswd="YOUR PASSPHRASE"
echo $SSLpasswd
chmod 755 /usr/local/apache2/conf/ssl.key/sendsslpwd

此时,Web服务器的私钥已经没有口令加密,一定要确保server.pem文件除root外,任何用户均无权读取它。


13、安装 Zend Optimizer
# cd /usr/local/src
# wget http://downloads.zend.com/optimizer/3.2.2/ZendOptimizer-3.2.2-linux-glibc21-i386.tar.gz
# tar xzvf ZendOptimizer-3.2.2-linux-glibc21-i386.tar.gz
# ./ZendOptimizer-3.2.2-linux-glibc21-i386/install.sh
按照它的提示一步步进行就行了。

14、安装eaccelerator // eaccelerator是php的加速软件,使用后php的执行效率会有较大幅度的提升。目前eaccelerator 0.9.5已经和ZendOptimizer-3.2.2能够很好兼容啦。不过我个人觉得,ZendOptimizer-3.2.2没有加速的功能,只是起到了运行zend加密文件的作用而已。闲话不多说了,大家有兴趣的,可以去google下。

# cd /usr/local/src
# wget http://bart.eaccelerator.net/source/0.9.5/eaccelerator-0.9.5.tar.bz2
# tar -jxvf eaccelerator-0.9.5.tar.bz2
# cd eaccelerator-0.9.5

export PHP_PREFIX="/usr/local/php"
$PHP_PREFIX/bin/phpize //指定一下php的目录

# ./configure --enable-eaccelerator=shared --with-php-config=$PHP_PREFIX/bin/php-config // 设置

# make & make install

编译安装后我们会看到屏幕提示的eaccelerator.so所在的目录,比如我得到的是/usr/local/php/lib/php/extensions/no-debug-zts-20060613/eaccelerator.so,记住这个路径,待会要用到。

修改php.ini(安装完zend之后,php.ini存放于/usr/local/Zend/etc)
在文件最后,zend之前,注意,这部分内容务必放在zend之前,不然可能会出现不可预期的服务器问题。添加下列信息:

[eaccelerator]
extension="/usr/local/php/lib/php/extensions/no-debug-zts-20060613/eaccelerator.so"
eaccelerator.shm_size="32"
eaccelerator.cache_dir="/tmp/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"

解释:
zend_extension 是安装完程序自动指示给我们的
eaccelerator.shm_size="32" 缓存大小单位MB
eaccelerator.cache_dir="/tmp/eaccelerator" 缓存路径

# mkdir /tmp/eaccelerator // 建立目录
# chmod 0777 /tmp/eaccelerator // 修改目录属性

最后重新启动apachectl

重启apache,phpinfo显示:
This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.2.0, Copyright (c) 1998-2006 Zend Technologies
with eAccelerator v0.9.5, Copyright (c) 2004-2006 eAccelerator, by eAccelerator
with Zend Extension Manager v1.0.11, Copyright (c) 2003-2006, by Zend Technologies
with Zend Optimizer v3.2.2, Copyright (c) 1998-2006, by Zend Technologies

也会有eAccelerator的具体信息。

15、安装phpmyadmin,管理mysql数据库

# cd /usr/local/apache2/htdocs/
# wget http://jaist.dl.sourceforge.net/sourceforge/phpmyadmin/phpMyAdmin-2.10.0-beta1-all-languages.tar.bz2

# tar jxvf phpMyAdmin-2.10.0-beta1-all-languages.tar.bz2
# mv phpMyAdmin-2.10.0-beta1-all-languages phpmyadmin

# cd phpmyadmin/libraries

修改配置文件
# vi config.default.php

找到这几行进行修改:
$cfg['Servers'][$i]['auth_type'] = 'http'; // Authentication method (valid choices: config, http, HTTP, signon or cookie)
$cfg['Servers'][$i]['user'] = 'root'; // MySQL user
$cfg['Servers'][$i]['password'] = 'PASSWORD'; // MySQL password (only needed

经过这几个步骤,我们一个比较安全的LAMP服务器就环境基本建立成功啦。感觉上也不是很难,是吧?
当然对于打造基于动态IP的网站,以上的信息还不够,还有建立ADSL拨号,NAT,动态域名更新,防火墙,安装论坛程序等一系列的工作,我会慢慢地写出自己的心得与大家分享。毕竟这对我来说,也是个学习的过程。

2007/02/10

修改 Linux 下面mysql 5.0.xx 的默认连接数

这段时间服务器崩溃2次,一直没有找到原因,今天看到论坛发出的错误信息邮件,想起可能是mysql的默认连接数引起的问题,一查果然,老天,默认连接数才100, 怎么够呀,在网上找了半天资料,有说修改my.cnf的,有说修改safe_mysqld,试了,前者无用,后者文件找不到:)原来是以前的版本跟现在的版本有所不同。

言归正传。我以centos 4.4 下面的mysql 5.0.27 手工编译版本为例说明:

vi /usr/local/mysql/bin/mysqld_safe

找到safe_mysqld编辑它,找到mysqld启动的那两行,在后面加上参数 :
-O max_connections=1500

具体一点就是下面的位置:

用红字特别说明:

then $NOHUP_NICENESS $ledir/$MYSQLD $defaults --basedir=$MY_BASEDIR_VERSION --datadir=$DATADIR $USER_OPTION --pid-file=$pid_file --skip-external-locking -O max_connections=1500 >> $err_log 2>&1 else eval "$NOHUP_NICENESS $ledir/$MYSQLD $defaults --basedir=$MY_BASEDIR_VERSION --datadir=$DATADIR $USER_OPTION --pid-file=$pid_file --skip-external-locking $args -O max_connections=1500 >> $err_log 2>&1"

保存。
# service mysqld restart
# /usr/local/mysql/bin/mysqladmin -uroot -p variables
输入root数据库账号的密码后可看到
max_connections 1000 即新改动已经生效。

还有一种方法,
修改原代码:

解开MySQL的原代码,进入里面的sql目录修改mysqld.cc找到下面一行:

{"max_connections", OPT_MAX_CONNECTIONS,
"The number of simultaneous clients allowed.", (gptr*) &max_connections,
(gptr*) &max_connections, 0, GET_ULONG, REQUIRED_ARG, 100, 1, 16384, 0, 1,
0},

把它改为:

{"max_connections", OPT_MAX_CONNECTIONS,
"The number of simultaneous clients allowed.", (gptr*) &max_connections,
(gptr*) &max_connections, 0, GET_ULONG, REQUIRED_ARG, 1500, 1, 16384, 0, 1,
0},

存盘退出,然后./configure ;make;make install可以获得同样的效果

2007/02/07

最新的Codeweavers CrossOver Office Professional 6.0下载

6.0才出来,真不好找,找了半天才在0day里面找到。可是却下载不了。
终于发现了BT,能够下载,提供给大家。

Codeweavers.CrossOver.Office.Professional.v6.0.LINUX-SHOCK

http://www.mininova.org/get/571009

CrossOver Office 6.0的特色是对微软office系统2003的支持。新"Bottles" 能力CrossOver Office, 版本5.0 提供全新的虚拟化技术称Bottles 。

"Bottles为它提供巨大的可靠的和便利的未实施CrossOver Office的用户更容易的安装。Bottles创造一个有利环境为所有公司的重要软件。 管理员能有效地现在安装, 处理, 并且更新他们公司的整个窗口应用存货在CrossOver Office之内。

"其它操作的改善对CrossOver Office5.0 包括一个更好的整体视觉介绍, 例如, 更加光滑的页刷新和少量图表人工制品。 新软件为DirectX 并且提供更好的API支持 。最新的wine技术wine项目是全世界开放来源编程的社区致力创造Win32 的实用实施API 在Unix 之下。 由工作在旁边, 并且贡献对, wine项目, CodeWeavers 能提供CrossOver Office5.0 用户实际上所有改善被发现在新wine 0.9 里。

wine0.9 是主要发行和wine中具有历史性的版本。 它提供健壮和充分功能核心, 以对微软组分的最小对没有依赖。 这是在CodeWeavers 的工作安置者(微软安置者) 并且使窗口能应用增加的可能wine的COM (组分对象模型) 部份安装在wine0.9 和CrossOver Office5.0 。

定价, 折扣CrossOver Office5.0 标准版现在是可利用的为$39.95 。 CrossOver Office5.0 专家版, 产品的企业版本, 定价在$69.95, 以总量折扣可利用。 下载任何产品CrossOver Office5.0 家庭, 或学会更多, 参观www.codeweavers.com

CentOS 4.4及Linux下最常用最有效的安全设置

1、CentOS或Red Had Enterprise Linux 4 的用户要首先要打开SElinux,方法是修改/etc/selinux/config文件中的SELINUX="" 为enforcing 。它可以保证你的系统不会非正常的崩溃。有些人认为应该关闭,我强烈不推荐,当然只是将centos用来玩玩,不是用于实际服务器则无所谓了。

2、启用iptables 防火墙,对增加系统安全有许多好处。设置好防火墙的规则。

3、执行setup 关闭那些不需要的服务 ,记住少开一个服务,就少一个危险。

4、禁止Control-Alt-Delete 键盘关闭命令
在"/etc/inittab" 文件中注释掉下面这行(使用#):
ca::ctrlaltdel:/sbin/shutdown -t3 -r now 
改为:
#ca::ctrlaltdel:/sbin/shutdown -t3 -r now 
为了使这项改动起作用,输入下面这个命令:
# /sbin/init q

5、给"/etc/rc.d/init.d" 下script文件设置权限
给执行或关闭启动时执行的程序的script文件设置权限。
# chmod -R 700 /etc/rc.d/init.d/* 
这表示只有root才允许读、写、执行该目录下的script文件。

6、修改"/etc/host.conf"文件
"/etc/host.conf"说明了如何解析地址。编辑"/etc/host.conf"文件(vi /etc/host.conf),加入下面这行:
# Lookup names via DNS first then fall back to /etc/hosts. 
order bind,hosts 
# We have machines with multiple IP addresses. 
multi on 
# Check for IP address spoofing. 
nospoof on 
第一项设置首先通过DNS解析IP地址,然后通过hosts文件解析。第二项设置检测是否"/etc/hosts"文件中的主机是否拥有多个IP地址(比如有多个以太口网卡)。第三项设置说明要注意对本机未经许可的电子欺骗。

7、使"/etc/services"文件免疫
使"/etc/services"文件免疫,防止未经许可的删除或添加服务:
# chattr +i /etc/services

8.阻止你的系统响应任何从外部/内部来的ping请求。
既然没有人能ping通你的机器并收到响应,你可以大大增强你的站点的安全性。你可以加下面的一行命令到/etc/rc.d/rc.local,以使每次启动后自动运行。
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

9、对你的系统上所有的用户设置资源限制可以防止DoS类型攻击(denial of service attacks)
如最大进程数,内存数量等。例如,对所有用户的限制象下面这样:
vi /etc/security/limits.conf

下面的代码示例中,所有用户每个会话都限制在 10 MB,并允许同时有四个登录。第三行禁用了每个人的内核转储。第四行除去了用户 bin 的所有限制。ftp 允许有 10 个并发会话(对匿名 ftp 帐号尤其实用);managers 组的成员的进程数目限制为 40 个。developers 有 64 MB 的 memlock 限制,wwwusers 的成员不能创建大于 50 MB 的文件。


清单 3. 设置配额和限制

* hard rss 10000
* hard maxlogins 4
* hard core 0
bin -
ftp hard maxlogins 10
@managers hard nproc 40
@developers hard memlock 64000
@wwwusers hard fsize 50000


要激活这些限制,您需要在 /etc/pam.d/login 底部添加下面一行: session required /lib/security/pam_limits.so。

10、注释掉不需要的用户和用户组。
vipw
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
news:x:9:13:news:/etc/news:
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin
rpm:x:37:37::/var/lib/rpm:/sbin/nologin
haldaemon:x:68:68:HAL daemon:/:/sbin/nologin
netdump:x:34:34:Network Crash Dump user:/var/crash:/bin/bash
nscd:x:28:28:NSCD Daemon:/:/sbin/nologin
sshd:x:74:74:Privilerpc:x:32:32:Portmapper RPC user:/:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
mailnull:x:47:47::/var/spool/mqueue:/sbin/nologin
smmsp:x:51:51::/var/spool/mqueue:/sbin/nologin
pcap:x:77:77::/var/arpwatch:/sbin/nologin
xfs:x:43:43:X Font Server:/etc/X11/fs:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
gdm:x:42:42::/var/gdm:/sbin/nologin
pegasus:x:66:65:tog-pegasus OpenPegasus WBEM/CIM services:/var/lib/Pegasus:/sbin/nologin
htt:x:100:101:IIIMF Htt:/usr/lib/im:/sbin/nologin
wangjing:x:500:500::/home/wangjing:/bin/bash
mysql:x:101:102:MySQL server:/var/lib/mysql:/bin/bash
apache:x:48:48:Apache:/var/www:/sbin/nologin
ge-separated SSH:/var/empty/sshd:/sbin/nologin

对于不需要的用户全部加 # 注释掉。
注意,我不建议直接删除,当你某种原因需要某个用户时,自己重新会很麻烦。

vi /etc/group
root:x:0:root
bin:x:1:root,bin,daemon
daemon:x:2:root,bin,daemon
sys:x:3:root,bin,adm
adm:x:4:root,adm,daemon
tty:x:5:
disk:x:6:root
lp:x:7:daemon,lp
mem:x:8:
kmem:x:9:
wheel:x:10:root
mail:x:12:mail
news:x:13:news
uucp:x:14:uucp
man:x:15:
games:x:20:
gopher:x:30:
dip:x:40:
ftp:x:50:
lock:x:54:
nobody:x:99:
users:x:100:
dbus:x:81:
floppy:x:19:
vcsa:x:69:
rpm:x:37:
haldaemon:x:68:
utmp:x:22:
netdump:x:34:
nscd:x:28:
slocate:x:21:
sshd:x:74:
rpc:x:32:
rpcuser:x:29:
nfsnobody:x:65534:
mailnull:x:47:
smmsp:x:51:
pcap:x:77:
xfs:x:43:
ntp:x:38:
gdm:x:42:
pegasus:x:65:
htt:x:101:
wangjing:x:500:
mysql:x:102:
apache:x:48:

对于不需要的用户组全部加 # 注释掉。注意,我不建议直接删除,当你某种原因需要某个用户组时,自己重新会很麻烦。

11、用chattr命令给下面的文件加上不可更改属性。
[root@deep]# chattr +i /etc/passwd
[root@deep]# chattr +i /etc/shadow
[root@deep]# chattr +i /etc/group
[root@deep]# chattr +i /etc/gshadow

注意执行这个操作后,以root身份都不能向系统增加用户或者修改密码了。如果我们要增加用户或者修改密码的。应该先用chattr -i /etc/passwd等命令解除不可写设置,再进行操作。

12、改变sshd缺省端口
SSHD的默认端口就是 22 ,地球人都知道,通常黑客在没有准确目标的情况下要寻找 Linux机器的最好方法就是扫描所有开放了 22 端口的机器,然后放在一个列表里,一个个去探求它的漏洞。
比如 nmap4 的新功能 nmap -v -iR 10000 -P0 -p 22 可随机在10000个IP里去寻找开放了 22 端口的机器。当然也可以有目标的把日本或者其他国家的ip段添上再扫描。
通常是按照服务对应的常规端口去扫描,除非用全端口1-65535,但除非是针对性的对一台机器扫描,否则这样效率不高。
把默认端口改变成60022的步骤如下:
vi /etc/ssh/sshd_config

找到#Port 22,标识默认使用22端口,如果需要更改为8888则去掉前面的 # 注释符号,修改为:Port 60022
然后重启服务进程
# /etc/init.d/sshd restart

sshd_config其他安全选项
把 #PermitRootLogin yes 改为 PermitRootLogin no 可防止 root 远程登陆
把 #Protocol 1,2 改 Protocol 2 ,不用 SSH protocol 1 协议,只用 2

当然还有一些选项,视需要而定,比如:Banner的伪造、登陆失败后的的锁定时间、是否允许空口令帐号登陆、服务器密钥的位数等、允许登陆的用户和IP等。

13、 内核参数调整
sysctl -w net.ipv4.conf.default.accept_source_route=0
sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=1
#sysctl -w net.ipv4.icmp_echo_ignore_all=1
sysctl -w net.ipv4.icmp_ignore_bogus_error_responses=1
sysctl -w net.ipv4.ip_conntrack_max=65535
sysctl -w net.ipv4.tcp_syncookies=1
sysctl -w net.ipv4.tcp_syn_retries=1
sysctl -w net.ipv4.tcp_fin_timeout=5
sysctl -w net.ipv4.tcp_synack_retries=1
sysctl -w net.ipv4.tcp_syncookies=1
sysctl -w net.ipv4.route.gc_timeout=100
sysctl -w net.ipv4.tcp_keepalive_time=500
sysctl -w net.ipv4.tcp_max_syn_backlog=10000

14、经常检查系统日志。系统日志主要位于/var/log/目录下。防患于未然。

通过以上设置你的系统一般来说就比较安全了。当然安全与不安全是道与魔的斗争。

2007/02/06

windows 下合并 solaris 10 u3 DVD 镜像

从sun网站下载 solaris 10 u3 的5个压缩包文件。
并5个压缩包逐一解压出来。
然后执行:
copy /b sol-10-u3-ga-x86-dvd-iso-a + sol-10-u3-ga-x86-dvd-iso-b + sol-10-u3-ga-x86-dvd-iso-c + sol-10-u3-ga-x86-dvd-iso-d + sol-10-u3-ga-x86-dvd-iso-e sol-10-u3-ga-x86-dvd-iso.iso

OK。MD5值检查为308f19269b250bf03b7a597d85d471 跟官方提供的sol-10-u3-ga-x86-dvd.iso的MD5吻合。
烧录DVD。

centos 4.4 upgrade install openoffice 2.1.0

cd /usr/local/src
wget http://ftp.ntu.edu.tw/OpenOffice/stable/2.1.0/OOo_2.1.0_LinuxIntel_install_en-US.tar.gz
tar zxvf OOo_2.1.0_LinuxIntel_install_en-US.tar.gz
cd OOE680_m6_native_packed-1_en-US.9095
cd RPMS
rpm -Uvh openoffice.org-.*.rpm
cd desktop-integration
rpm -Uvh openoffice.org-redhat-menus-2.1-5.noarch.rpm

OK.enjoy it .

centos 4.4 quickly install mplayer

cd /usr/local/src
wget http://ftp.wl0.org/RPMS-rhel4-various/mplayer-1.0pre7-2.i386.rpm
wget http://ftp.wl0.org/RPMS-rhel4-various/mplayer-gui-1.0pre7-2.i386.rpm
wget ftp://fr2.rpmfind.net/linux/falsehope/home/rathann/apt/7.3/RPMS.stable/mplayer-skin-default-1.0-2.noarch.rpm

rpm -ivh mplayer-1.0pre7-2.i386.rpm mplayer-gui-1.0pre7-2.i386.rpm mplayer-skin-default-1.0-2.noarch.rpm

OK,It's very simple, enjoy it.

Linux Kernel 2.6.20发布

在经过几个月的精心准备之后,Linux 2.6.20终于发布了。这个内核版本包含两种不同的虚拟化实施方案,一个就是利用Intel/AMD的虚拟化扩展支持的完全虚拟化功能:KVM;还有一种是通过不同的超线程技术实现的并行虚拟化。

  另外最新的Linux2.6.20包含有对PS3的支持:一种新的错误注入调试功能也被引入Linux 2.6.20。

  更多的发布声明请阅读这里

2007/02/05

centos 4.4 安装 firefox 2.0中文版

cd /usr/lib/
tar zxvf firefox-2.0.0.1-zh-CN.tar.gz
cd firefox
./firefox
会提示:
./updater: error while loading shared libraries: libstdc++.so.5: cannot open shared object file: No such file or directory

我们安装:
yum install libstdc++.so.5
会自动安装compat-libstdc++-33.i386 0:3.2.3-47.3 包.

rm -f /usr/bin/firefox
ln -s /usr/lib/firefox/./firefox /usr/bin/firefox

OK.

2007/02/03

非主流的Linux ,你见过哪些?

Linux的世界是个多姿多彩的世界,我们知道SUSE,RedHat,Mandriva,Ubuntu,Debian……但这些还仅仅是一小部分……
更多Linux发行版,请关注……

简介摘自:Distrowatch.com

MEPIS——An OS for the 21st Century

6.0 Extras CDs rc1版
下载地址:
http://www.mepis.org/node/1462
http://www.debianworld.net/pub/m … yMEPIS_6.0_i386.iso

Damn Small Linux(DSL)

DSL is a very versatile 50MB mini desktop oriented Linux distribution
下载地址:
http://www.damnsmalllinux.org/download.html
http://distro.ibiblio.org/pub/li … current/current.iso (3.0.1)

VectorLinux

Vector Linux是一份小巧快捷的、基于Intel处理器的PC机Linux操作系统。Vector Linux的创建者们有一则简单的信条:简单、小巧,并让最终用户决定他们的操作系统成为什么样子。由此观念发展而来的恐怕是世界上小型Linux操作系统中的最优者。对那些普通的计算机用户而言,他们得到的是一份快捷的桌面,有很多图形化的程序可供处理日常中的各种事物,从上网冲浪、收发电子邮件到用ICQ或者IRC聊天,以及架设一台ftp服务器。高级用户们将会感到满意,因为有全套的工具可以编译他们自己的应用程序,从而把系统设置成服务器,要么是家庭或办公室计算机网络的网关。系统管理员们将同样得到满足,因为这份操作系统所要求的磁盘和内存空间是那样的小,以至可以部署在那些恐怕早已被遗忘的旧式机器上。

http://distro.ibiblio.org/pub/li … HO-5.1.2-LIVE-5.iso (5.1.2 Live)

PCLinuxOS

PCLinuxOS是一份纯英文的自启动运行光盘,它最初基于Mandrake Linux(就是现在的Mandriva)。PCLinuxOS完全从一张可启动光盘运行。光盘上的数据实时地解压缩,从而使得这一张光盘上集成的应用程序多达2G,这包括一份完整的X服务器,KDE桌面,OpenOffice.org以及更多即刻可用的程序。除了作为自启动运行光盘来使用,你也可以通过一套易于使用的光盘安装程序将PCLinuxOS安装到硬盘。额外的应用程序可以通过一份友好的apt-get前端Synaptic来添加或删除。
http://www.pclinuxos.com/page.php?7(但是没找到下载地址)

Slax——SLAX

Live CD是一张200兆字节的Linux发行光盘,它基于Slackware。它拥有很多特色的加工具,包括用于创建你自己的自启动运行光盘所需的脚本。
下载地址:
http://www.slax.org/download.php
http://merlin.fit.vutbr.cz/mirrors/slax/SLAX-5.x/slax-5.1.7b.iso (5.1.7b)

Zenwalk Linux

Minislack是一份轻量级的Linux发行,它基于Slackware Linux。Minislack把重点放在Internet应用和开发工具上。Minislack支持所有的Slackware软件包。
下载地址:
http://www.zenwalk.org/modules/tinycontent/index.php?id=1
http://zenwalk.mirrors.tds.net/p … ISO/zenwalk-2.8.iso (2.8)

Puppy Linux

是的,Puppy Linux是另外一种Linux发行。它的不同之处在于,Puppy是格外的小,然而又充满了特性。Puppy能从64M的存储设备启动,并且,整套系统都能在内存中运行。有很多自启动运行光盘的Linux发行,它们需要不停地从光盘读取数据才能运行,Puppy与它们不一样,Puppy整个装载在内存中。这意味着,所有的应用程序一眨眼的功夫就能启动,并且立即对用户的输入作出响应。Puppy Linux能从flash卡或者是任何的USB存储设备启动(这是flash-Puppy),或者光盘(这是live-Puppy),或者Zip disk及LS/120/240 Superdisk(这是zippy-Puppy),或者软盘(这是floppy-Puppy),或者硬盘(这是hard-Puppy)。它甚至可以使用一张多区段烧录的CD-R/DVD-R以将所有内容保存回CD/DVD中。
下载地址:
http://www.puppylinux.org/user/downloads.php(这个地址用于选择下载版本)
http://www.puppylinux.org/user/d … &download_id=55
http://ftp.nluug.nl/ftp/pub/os/L … -2.02-seamonkey.iso (2.02)

KANOTIX

KANOTIX是基于Debian“sid”的Linux发行。通常它包含最新的软件包及内核,精心安装了补丁和面向多数时新硬件的驱动。尽管它可以当作一张自启动运行光盘使用,它也包含了一份简单的图形化安装程序,以便于硬盘安装。一份定制的控制中心和专家脚本进一步增强了该发行的用户友好特性。KANOTIX通过如下渠道得到来自该发行活跃的和友好的用户社区的技术支持:多语种论坛、Wiki和IRC频道。
下载地址:
http://kanotix.com/module-Downloads.html (没看明白怎么下载……)

Arch Linux

Arch Linux是一份为i686优化的轻量级Linux发行,它包含了各种软件的最新稳定版本。软件以.tar.gz格式打包并由包管理器进行跟踪维护,这样的设计使得软件升级非常容易。与其他发行相比,Arch的技术相当之先进。一些相对不大使用(至少对我而言)的东西没有保留下来(例如,info页面)。一次缺省的Arch安装带给你的是一套牢固的系统基础,你可以在此基础上增加软件包从而创建你所需要的定制安装。Arch的包系统允许你方便地创建你自己的软件包,这使得按你自己特定的配置重新编译一份新的软件包变得非常容易。Arch的另一个目标是让用户尽可能地使用到Linux的新特性,例如ReiserFS、ext3以及devfs。
下载地址:
http://www.archlinux.org/download/
ftp://mirror.pacific.net.au/linu … i686/arch-0.7.2.iso (0.7.2)

Sabayon Linux

Sabayon是一份自启动运行DVD,它被设计为能在5分钟以内使一台电脑进入强大的Gentoo Linux系统。Gentoo Linux是一份Linux发行,它由软件安装管理引擎Portage来驱动。除了作为自启动运行DVD使用,Sabayon Linux也能安装到硬盘上,实际上相当于一张易于使用的Gentoo安装盘。该自启动运行DVD包含了大量的桌面环境及开源应用软件,例如KDE、GNOME、XFce、Fluxbox、KOffice、OpenOffice.org、FreeNX、amaroK、Kaffeine等等
下载地址
http://www.lxnaydesign.net/index.php
http://mirror.etf.bg.ac.yu/distr … C1b-miniEdition.iso (3.0 Mini)

Kororaa

Kororaa是在二进制安装中集成了预配置方法的Gentoo Linux,它带有完全自动对话安装程序。它包含了预配置好的KDE系统;由于是基于Gentoo,它拥有了portage的全部功能,以及其他美妙的特性。它带有最好的开源软件包,并将它们集成为一份功能强大且快捷的Linux桌面。Kororaa被设计为包含各种应用程序以支持大量的日常工作,例如电子邮件、网页浏览、即时消息,以及对相片、视频、电视、音乐、烧录等的多媒体支持。另外,在XGL刚开始出现时,Kororaa就制作了XGL Live CD,这给了人们更多的机会去了解XGL以及Linux的神奇。
下载地址
http://kororaa.org/static.php?page=static060311-165115
XGL Live CD:http://kororaa.org/static.php?page=static060318-181203
http://mirror.frubar.net/kororaa/kororaa-xgl-livecd-0.2.iso (XGL LiveCD 0.2)

Nexenta OS

Nexenta是完全基于GNU和Debian的开源软件操作系统,它构建于OpenSolaris内核和运行时环境。它是这样一种灵感和愿望的结果:构建一份基于SunOS内核及GNU软件的完整系统。
下载地址:
http://www.gnusolaris.org/gswiki/Download-form
http://www.gnusolaris.org/gsmirr … lcd_alpha5_i386.zip (Alpha 5)

GeeXboX——这是我入门的系统,尽管她和以上和以下介绍的系统不一样。现在已经释放出正式版了。

GeeXboX是一份完整的操作系统,它运行Linux内核并基于出色的软件MPlayer。它不需要硬盘,你只要把GeeXboX可启动光盘插入任何一台奔腾级计算机的光驱就能引导之。此外,GeeXboX是自由的软件,它的诞生要感谢许许多多的开源软件。这意味着任何人都可以修改它并且创建他自己的GeeXboX发布。你可能会奇怪,为什么要选择引导进另外一种操作系统以播放你的媒体文件呢?但是,请想像一下那些Mini-ITX平台,例如VIA Epia/Eden或者Shuttle barebones吧。现在可以把DivX带进你的家庭影院,把这类计算机变成你的电视机。在首个开发版本释出时(2002年十二月),它还只能播放DivX电影,但现在,几乎所有的媒体文件都能在GeeXboX里播放了。
下载地址:
http://www.geexbox.org/en/downloads.html
http://geexbox.raystream.de/releases/1.0/geexbox-1.0-en.i386.iso (1.0英文版)

Elive

Elive,或者称为Enlightenment live CD,是基于Debian的桌面Linux发行,它使用Enlightenment作为窗口管理器。除了面向日常桌面应用进行了预配置外,它还包含了“Elpanel”,一份面向简化系统和桌面管理的控制中心。
下载地址:
http://www.elivecd.org/gb/Download/Stable/
http://linux-ds.unidu.hr/elive/Elive_0.4.2.iso

Linspire Desktop and Laptop Linux

Linspire是一份充满特性的操作系统,它基于Debian GNU/Linux,外观上类似Microsoft Windows XP或Apple Mac OSX。Linspire为你提供Linux的强大、稳定和实惠,并带给你Windows环境般的易用性。此外,Linspire的特性还包括独特的Click-N-Run(CNR)技术,这使得在Linspire上安装软件迅速而简单——只要在Click-N-Run软件仓库中找到你想安装的软件,然后点击运行即可!
这是个商业版本,我没有找到下载地址。不过在Emule上是有的,大家可以去找找。

Frugalware Linux

Frugalware Linux是一份独立开发的通用桌面Linux发行,它面向中级用户。它遵循了Slackware风格的简洁设计理念,并且包括了来自Arch Linux的pacman包管理实用工具。
下载地址:
http://frugalware.org/download
ftp://ftp3.frugalware.org/mirror … 5pre2-i686-dvd1.iso
ftp://ftp3.frugalware.org/mirror … 5pre2-i686-dvd2.iso
(晕……竟然是两张DVD,尽管第二张内容不多吧……)

Foresight Linux

Foresight Linux是一份基于Specifix Linux及其Conary包管理的发行,它体现了GNOME项目最新最好的技术。一些创新的内容被包含进来,诸如beagle、howl及最新的hal。它还包括了一些漂亮的、清爽的缺省主题和美工。
下载地址:
http://www.foresightlinux.com/downloads/
http://www.rpath.com/rbuilder/do … .5.rc2-x86-dvd1.iso (0.9.5)

Ark Linux

Ark Linux是为桌面应用而特别设计的Linux发行,尤其是面向那些先前不具备Linux经验的人们。它以易用性为主要目标,并包含了很多最终用户需要的工具。Ark Linux是完全开放源码的自由软件,这主要意味着,你可以自由地以修改的和未修改的方式对其进行再分发。
下载地址:
http://www.arklinux.org/index.ph … ;id=5&Itemid=18
http://ibiblio.org/pub/Linux/dis … arklinux-2006.1.iso

DesktopBSD——BSD也开始向桌面进军了~体会Unix最好的方法就是BSD和Solaris了~如果有兴趣,可以尝试一下这一款。

DesktopBSD是基于FreeBSD和FreeSBIE自启动运行光盘的操作系统。其主要目标是提供一份易于使用的桌面操作系统并保留BSD所有的功能和性能。其最终目标则是成为一份能满足大多数桌面用户的需求的操作系统,例如安装软件、配置电源管理、共享互联网连接。
下载地址:
http://www.desktopbsd.net/index.php?id=73
http://62.141.59.55/DesktopBSD/DesktopBSD-1.0-x86-DVD.iso

BackTrack

BackTrack是基于Slackware和SLAX的自启动运行光盘,它包含了一套安全及计算机取证工具。它其实是依靠融合Auditor Security Linux和WHAX(先前的Whoppix)而创建成的。
下载地址:
http://www.remote-exploit.org/index.php/BackTrack_Downloads
http://mirror.switch.ch/ftp/mirr … ck-v.1.0-260506.iso

VideoLinux

VideoLinux是一份基于PCLinuxOS的新发行,它的重点在于DVD备份、视频编码及转换、创建DVD、 格式转换,以及很多其他你关于视频想做的任何事情。
下载地址:
http://videolinux.net/page.php?1
http://ftp.surfnet.nl/ftp/pub/os … -2.0-Alpha-i686.iso

Symphony OS

Symphony OS是基于Debian GNU/Linux和KNOPPIX操作系统的GNU/Linux发行。与其他Linux操作系统相比,Symphony的行为略有不同,它更易于使用,并且更加直观。
下载地址:
http://www.symphonyos.com/download/
http://archive.progeny.com/symph … phonyos-2006-05.iso

VLOS

Vidalinux Desktop操作系统是一份强大的、稳定的、易用的Linux发行。其桌面组件基于开源社区的最出色项目,包括GNOME桌面环境、OpenOffice Ximian产品套件、Mozilla浏览器、Evolution邮件及日历客户端,Gentoo Linux系统及portage包管理器。Vidalinux Desktop操作系统是面向家庭用户而包含额外多媒体应用软件的最合适的系统,这包括了媒体播放软件、浏览器Flash插件、RealPlayer、PDF阅读器、媒体及图像创作和管理工具。
Download:
http://desktop.vidalinux.com/ind … id=24&Itemid=45

FoX Desktop

FoX Linux是一份单CD的桌面Linux发行,它基于Fedora Core,并使用KDE作为首选桌面,以及为i686体系结构重新编译的主要组件和出色的流行多媒体格式支持。
Download:
http://www.foxlinux.org/modules/wfdownloads/viewcat.php?cid=1
ftp://rm.mirror.garr.it/mirrors/ … .0-professional.iso

GParted LiveCD

GParted LiveCD是一种形如名片的自启动运行光盘发行(从而可方便地放置在钱包中随身携带),它只有一个目标:以一种直观的图形环境为硬盘划分分区提供工具。该发行采用X.org,轻量级的Fluxbox窗口管理器,以及最新的2.6 Linux内核。GParted LiveCD 可运行在大多数采用奔腾II或更佳的x86机器上。
Download:
http://sourceforge.net/project/s … p;package_id=173828
http://nchc.dl.sourceforge.net/s … -livecd-0.2.5-3.iso

dyne:bolic

dyne:bolic是一份从光盘运行的GNU/Linux发行,它能识别大多数的设备及外围接口,包括声音驱动、视频设备、电视卡、网卡、firewire及USB设备等。它为迎合媒体发烧友、艺术家及富有创造性的个人而设计,是一份面向多媒体创作的实用工具。你可以处理及广播你的音频和视频节目,并且你录制、编辑、编码及流式化这些媒体所使用的工具都依赖于免费的软件!
Download:
http://www.dynebolic.org/index.php?show=available
ftp://ftp.gnu.org/mirrors/dynebolic/dyne-2.1.iso

SME Server

SME Server(最初叫作e-smith)由Joseph和Kim Morrison创立于1999年1月。同年4月公司推出了他们旗舰软件产品的首个版本——e-smith服务器及网关。到年底时,已经有数千的e-smith服务器运行在从斐济到芬兰的各个国家。关于e-smith的消息很快地流传在开发人员和系统集成人员中,而他们需要的正是面向小型企业用户的牢固易用的服务器。2001年7月,e-smith公司被Mitel Networks收购,2004年9月又被Lycoris收购,并且该项目目前还得到了Resource Strategies公司的赞助。
下载地址:
http://contribs.org/modules/phpwiki/index.php/Downloads
http://distro.ibiblio.org/pub/li … erver-7.0-SRPMS.iso

Devil-Linux

Devil-Linux是一份特别的Linux发行,它用于防火墙和路由器场合。Devil-Linux的目标是拥有一份小巧、可定制的而且安全的Linux。Devil-Linux将来会远远不只是一套普通的路由器,我们将提供很多其他的服务,但这份发行仍将是简易的并且维护起来会很快。
下载地址:
http://www.devil-linux.org/downloads/
http://ftp.devil-linux.org/pub/r … -1.2.9-i486.tar.bz2

aLinux

aLinux(原名Peanut Linux)是一份独立开发的Linux发行,它采用RPM包管理。
下载地址:
http://www.alinux.org/linux-os-downloads.html
ftp://distro.ibiblio.org/pub/lin … /current/alinux.iso

SystemRescueCD——急救

SystemRescueCd是一份可启动光盘Linux系统,它用于在崩溃后修复系统及数据。它的另一个目标是为在你的计算机上完成管理任务提供方便,例如创建和修改硬盘分区。它包含了大量的系统实用工具(parted、partimage、fstools等)及基本软件(编辑器、midnight commander,网络工具)。它面向易用性,只要从光盘引导你就可以做任何事情了。其内核支持大多数最重要的文件系统(ext2/ext3、reiserfs、xfs、jfs、vfat、ntfs、iso9660),以及网络系统(samba和nfs)。SystemRescueCd基于Gentoo LiveCd。
下载地址:

Scientific Linux

Scientific Linux是一份重新编译的Red Hat Enterprise Linux,它包含了遍布世界的多种多样的实验室和大学的贡献。
下载地址:
https://www.scientificlinux.org/download/
ftp://ftp.scientificlinux.org/li … 2505.i386.disc1.iso
(一共4张)

Kate OS

Kate OS是一份独立开发的轻量级Linux发行。它的部分观念源于Slackware Linux。
下载地址:
http://kateos.org/?sekcja=kateIIdow
http://kate.student.pw.edu.pl/pu … Kate_OS_2.3-DVD.iso

StartCom Linux

StartCom Enterprise Linux基于Red Hat Advanced Server源代码,这是中型服务器到大型数据中心的最终解决方案。当前版本最大可支持拥有16个CPU及64GB(x86系统上)主内存的商用体系结构服务器,并支持多系统配置下面向高扩展度和高性能数据共享的Global File System。该发行还广泛地包纳了开源服务器应用,例如mail、file(SMB/NFS)、DNS、web、FTP,以及一套完整的桌面环境。
下在地址:
http://www.startcom.org/index.php?lang=en&app=15
http://mirror.pacific.net.au/lin … cabee-i386-u2-1.iso
(共三张)

Wolvix

Wolvix是一份基于SLAX的GNU/Linux自启动运行光盘。它是一份面向桌面的发行,以满足从普通到高级桌面用户的需求。
使用的是Xfce,轻量级桌面~
下载地址:
http://wolvix.org/
http://linuxtracker.org/download … 201.0.4.iso.torrent
(不知道为什么,没有镜像列表都打不开,只好用BT了)
Freespire

Freespire是一份由社区建设推动的、基于Linux的操作系统,它结合了免费与开源软件的优点(社区推动、免费发布、源码开放等),并在用户认为适当时为他们提供将私有编码解码器、驱动程序和应用软件包括进来的选择。Freespire由Linspire赞助开发,后者是基于Debian GNU/Linux的面向桌面的商用发行。
下载地址:
http://wiki.freespire.org/index.php/Download_Freespire
ftp://ftp.ussg.iu.edu/linux/freespire/freespire_1.0.13.iso

Yoper Linux

Yoper是一份多用途、高性能的操作系统,它为686或更高型号处理器的PC机作了仔细的优化。Yoper中的二进制文件是从最初的源代码生成的,它同时具备了其他主流发行中最好的特性,从而迎合了各种增长的需求,包括网络通讯、数字多媒体、图形和音频。其性能展示了企业生产力的新时代,而这种力量源自新一代的精密微处理器,以及各种企业应用工具。
下载地址:
http://www.yoper.com/download.php
ftp://nz1.yoper.com/pub/yoper/yos-i686-2.1.0-4.iso

LG3D LiveCD

LG3D LiveCD是可启动的Linux光盘,它是Looking Glass计划的实质性内容,这是基于Java的技术,它旨在以3D窗口和可视化性能为桌面及应用软件提供更丰富的用户体验。作为始于Sun Microsystems的Advanced Development分支的一份开源发展计划,LG3D自启动运行光盘基于SLAX,但它包含了额外的应用软件和技术,例如Firefox和Gaim,可用的NVIDIA图形驱动,以及copy2ram支持。它可以从256MB的flash存储设备运行。
下载地址:
http://sourceforge.net/project/showfiles.php?group_id=144229
http://jaist.dl.sourceforge.net/ … livecd-2.5-full.iso

GoblinX

GoblinX是一份基于Slackware Linux的自启动运行光盘发行。其主要目标是创建一份更令人愉快、功能更好的桌面,通过将所有的图标和主题标准化来使得其对于新手而言也易于学习其中的应用工具
下载地址:
http://www.goblinx.com.br/en/downloads.htm
ftp://ftp.las.ic.unicamp.br/pub/ … blinXMini-1.4.0.iso

easys GNU/Linux

easys GNU/Linux(原名pocketlinux)是基于Slackware的发行,它由先前的、已经终止了的Bonzai Linux项目人员所开发。其主要特色在于一份简化的Slackware安装程序,每项任务分配一个应用程序,以及轻量级KDE桌面。
下载地址:
http://easys.gnulinux.de/en/index.php/Main/Download
http://www.fh-swf.de/projekte/easys/iso/easys-2.1.iso

64 Studio

64 Studio是一份软件套装,面向x86_64硬件平台上的数字内容创作,支持AMD的64位CPU及Intel的EM64T芯片。它基于Debian GNU/Linux的纯64位版本,但它进行了特定的软件包选取,并带有大量其他定制。它将被提供给硬件OEM厂商,这涉及工作站和笔记本电脑市场,以作为64位Windows XP或Apple硬件之上OS X之外的一种选择。
下载地址:
http://cdd.64studio.com/64studio/iso/
http://cdd.64studio.com/64studio … all_0.9.1_amd64.iso
http://cdd.64studio.com/64studio … tall_0.9.1_i386.iso

rPath Linux

rPath Linux是采用新的Conary分布式软件管理系统构造的Linux发行。Conary则是基于多年的Linux软件打包和发行版开发经验而设计,以将创建Linux发行中的多种复杂任务进行自动化处理。rPath的宗旨是提供系统软件以能方便地被修改为适合独特的应用需求。rPath Linux采用Conary分布式软件管理系统而构建,除自身作为一份发行外,它还是一项被明确设计为允许用户使用rBuilder Online技术面向特定目标创造操作系统镜像的基础架构。
下载地址:
http://wiki.conary.com/wiki/Conary:Mirror_Sites
ftp://ftp.linux.ncsu.edu/pub/rpa … 1.0.3-x86-disc1.iso
ftp://ftp.linux.ncsu.edu/pub/rpa … 1.0.3-x86-disc2.iso

BeleniX——基于OpenSolaris

BeleniX是*NIX发行,基于OpenSolaris源代码创建。它目前是一张自启动运行光盘,并计划成长为一份完整的可硬盘安装的发行。由印度“硅都”Bangalore的Sun Microsystems印度工程中心开发。
下载地址:
http://www.genunix.org/distributions/belenix_site/download.html
http://www.genunix.org/distribut … es/belenix0.4.4.iso