xiaowuhello
CentOS 5.5 + Apache 2.2.16 + PHP 5.3.3 + GD2 + Xcache + vsftpd + MySQL 安装日

#==============================================================================

#=== 半自动 web server 安装脚本

#=== 2010年7月30日

#=== Ghost

#=== 此脚本在 CentOS 5.5 x64 上测试通过

#==============================================================================

#===安装需要的软件

#==============================================================================

yum install vsftpd gcc g-c++ gcc-c++ libtool \

openssl-devel ncurses-devel pam-devel python-devel libxml2-devel -y

#==============================================================================

#===下载需要的软件, 假设下载的目录为 /down/websoft/

#==============================================================================

softpath="/down/websoft/"

mkdir ${softpath} -p

cd ${softpath}

#=== Apache 2.2.16

#=== URL: http://labs.renren.com/apache-mirror/httpd/

wget http://labs.renren.com/apache-mirror/httpd/httpd-2.2.16.tar.gz

#=== PHP 5.3.3

#=== URL: http://cn2.php.net/get/php-5.3.3.tar.gz/from/a/mirror

wget http://cn2.php.net/get/php-5.3.3.tar.gz/from/cn.php.net/mirror

#=== libxml2-2.7.7

#=== URL: ftp://xmlsoft.org/libxml2/

wget ftp://xmlsoft.org/libxml2/libxml2-2.7.7.tar.gz

#=== libxslt 1.1.22

#=== URL: http://ftp.gnome.org/pub/GNOME/sources/libxslt/1.1/

wget http://ftp.gnome.org/pub/GNOME/sources/libxslt/1.1/libxslt-1.1.22.tar.gz

#=== MCrypt

#=== URL: http://nchc.dl.sourceforge.net/project/mcrypt/MCrypt/2.6.8/

wget http://nchc.dl.sourceforge.net/project/mcrypt/MCrypt/2.6.8/mcrypt-2.6.8.tar.gz

#=== libmcrypt

#=== URL: http://nchc.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/

wget http://nchc.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz

#=== mhash

#=== URL: http://nchc.dl.sourceforge.net/project/mhash/mhash/0.9.9.9/

wget http://nchc.dl.sourceforge.net/project/mhash/mhash/0.9.9.9/mhash-0.9.9.9.tar.gz

#=== libiconv

#=== URL: http://ftp.gnu.org/pub/gnu/libiconv/

wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gz

#=== curl

#=== URL: http://curl.haxx.se/download.html

wget http://curl.haxx.se/download/curl-7.21.0.tar.gz

#=== zlib

#=== URL: http://zlib.net/

wget http://zlib.net/zlib-1.2.5.tar.gz

#=== freetype

#=== URL: http://nchc.dl.sourceforge.net/project/freetype/freetype2/

wget http://nchc.dl.sourceforge.net/project/freetype/freetype2/2.4.1/freetype-2.4.1.tar.gz

#=== fontconfig

#=== URL: http://www.fontconfig.org/release/

wget http://www.fontconfig.org/release/fontconfig-2.8.0.tar.gz

#=== GD2

#=== URL: http://www.libgd.org/releases/

wget http://www.libgd.org/releases/gd-2.0.36RC1.tar.gz

#=== libpng

#=== URL: http://nchc.dl.sourceforge.net/p ... bpng-stable/1.2.42/

wget http://nchc.dl.sourceforge.net/project/libpng/00-libpng-stable/1.2.42/libpng-1.2.42.tar.gz

#==== Devl URL: http://nchc.dl.sourceforge.net/project/libpng/02-libpng-devel/

#wget http://nchc.dl.sourceforge.net/p ... -1.5.0beta16.tar.gz

#=== libjpeg v6b

#=== URL: http://nchc.dl.sourceforge.net/project/libjpeg/libjpeg/6b/

wget http://nchc.dl.sourceforge.net/project/libjpeg/libjpeg/6b/jpegsrc.v6b.tar.gz

#=== libgif

#=== URL: http://sourceforge.net/projects/giflib/files/

wget http://sourceforge.net/projects/giflib/files/giflib%204.x/giflib-4.1.6/giflib-4.1.6.tar.gz/download

#=== MySQL

#=== URL: http://www.mysql.com/downloads/mysql/#downloads

wget http://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-5.1.49.tar.gz/from/http://mysql.ntu.edu.tw/

#=== PAM-Mysql

#=== URL: http://pam-mysql.sourceforge.net/

wget http://prdownloads.sourceforge.net/pam-mysql/pam_mysql-0.7RC1.tar.gz

#=== cronolog

#=== URL: http://cronolog.org/

wget http://cronolog.org/download/cronolog-1.6.2.tar.gz

#=== Xcache

#=== URL: http://xcache.lighttpd.net/

wget http://xcache.lighttpd.net/pub/Releases/1.3.0/xcache-1.3.0.tar.gz

#==============================================================================

#==============================================================================

#==============================================================================

#=== Install zlib

#==============================================================================

# Make dir

#--------

mkdir /usr/local/zlib -p

cd ${softpath}

tar zxvf zlib-1.2.5.tar.gz

cd ${softpath}/zlib-1.2.5

./configure --prefix=/usr/local/zlib

make && make install

echo "/usr/local/zlib/lib" >> /etc/ld.so.conf

ldconfig

chcon -t textrel_shlib_t /usr/local/zlib/lib/libz.so*

#==============================================================================

#==============================================================================

#==============================================================================

#=== Install freetype2

#==============================================================================

# Make dir

#--------

mkdir /usr/local/freetype2 -p

cd ${softpath}

tar zxvf freetype-2.4.1.tar.gz

cd ${softpath}/freetype-2.4.1

./configure --prefix=/usr/local/freetype2

make && make install

echo "/usr/local/freetype2/lib" >> /etc/ld.so.conf

ldconfig

#==============================================================================

#==============================================================================

#==============================================================================

#=== Install jpeg

#==============================================================================

# Make dir

#--------

mkdir /usr/local/jpeg6

mkdir /usr/local/jpeg6/include

mkdir /usr/local/jpeg6/lib

mkdir /usr/local/jpeg6/bin

mkdir /usr/local/jpeg6/man/man1/ -p

cd ${softpath}

tar zxvf ${softpath}/jpegsrc.v6b.tar.gz

cd ${softpath}/jpeg-6b

#需要安装 libtool, 如果没有安装,可以通过 yum install libtool -y 来安装

#把已经安装好的 libtool 配置覆盖掉jqeg 下的配置

\cp -f /usr/share/libtool/config.sub ./

\cp -f /usr/share/libtool/config.guess ./

./configure --prefix=/usr/local/jpeg6 --enable-shared --enable-static

make

make install-lib

make install

echo "/usr/local/jpeg6/lib" >> /etc/ld.so.conf

ldconfig

#libtool --finish /usr/local/jpeg6/lib

#==============================================================================

#==============================================================================

#==============================================================================

#=== Insatall libpng

#==============================================================================

# Make dir

#--------

mkdir /usr/local/libpng2

cd ${softpath}

tar zxvf ${softpath}/libpng-1.2.42.tar.gz

cd ${softpath}/libpng-1.2.42/

#添加环境变量

export LDFLAGS=-L/usr/local/zlib/lib

export CFLAGS=-I/usr/local/zlib/include

./configure --prefix=/usr/local/libpng2

make

make install

echo "/usr/local/libpng2/lib" >> /etc/ld.so.conf

ldconfig

#==============================================================================

#==============================================================================

#==============================================================================

#=== Install libiconv

#==============================================================================

# Make dir

#--------

mkdir /usr/local/libiconv

cd ${softpath}

tar zxvf ${softpath}/libiconv-1.13.1.tar.gz

cd ${softpath}/libiconv-1.13.1

./configure --prefix=/usr/local/libiconv

make

make install

echo "/usr/local/libiconv/lib" >> /etc/ld.so.conf

ldconfig

#==============================================================================

#==============================================================================

#==============================================================================

#=== Install libxml

#==============================================================================

# Make dir

#--------

#

# 你可能需要安装 python-devel

#

mkdir /usr/local/libxml2

cd ${softpath}

tar zxvf ${softpath}/libxml2-2.7.7.tar.gz

cd ${softpath}/libxml2-2.7.7

./configure --prefix=/usr/local/libxml2 --with-python

make

make install

# 这里的路径,要看 python 安装的版本是 2.6,还是 2.4

# 查看 python 的版本 python -V

LD_LIBRARY_PATH=/usr/local/lib

LD_LIBRARY_PATH=/usr/local/libxml2/lib

LD_LIBRARY_PATH=/usr/lib/python2.4/site-packages

echo "/usr/local/libxml2/lib" >> /etc/ld.so.conf

echo "/usr/lib/python2.4/site-packages" >> /etc/ld.so.conf

ldconfig

#===========================================================================

#==============================================================================

#==============================================================================

#=== Install libxslt

#==============================================================================

# Make dir

#--------

mkdir /usr/local/libxslt

cd ${softpath}

tar zxvf ${softpath}libxslt-1.1.22.tar.gz

cd ${softpath}libxslt-1.1.22

./configure --prefix=/usr/local/libxslt \

--with-libxml-prefix=/usr/local/libxml2/

make

make install

echo "/usr/local/libxslt/lib" >> /etc/ld.so.conf

# 这里的路径,要看 python 安装的版本是 2.6,还是 2.4

echo "/usr/local/libxslt/lib/python2.4/site-packages" >> /etc/ld.so.conf

ldconfig

#==============================================================================

#==============================================================================

#==============================================================================

#=== Install fontconfig

#==============================================================================

mkdir /usr/local/fontconfig

cd ${softpath}

tar zxvf ${softpath}fontconfig-2.8.0.tar.gz

cd ${softpath}fontconfig-2.8.0/

export PKG_CONFIG_PATH=/usr/local/libxml2/lib/pkgconfig:$PKG_CONFIG_PATH

cp -r /usr/local/libxml2/include/libxml2/libxml/ /usr/include/

./configure --prefix=/usr/local/fontconfig \

--with-freetype-config=/usr/local/freetype2/bin/freetype-config

make

make install

echo "/usr/local/fontconfig/lib" >> /etc/ld.so.conf

ldconfig

#==============================================================================

#==============================================================================

#==============================================================================

#=== Install gd

#==============================================================================

mkdir /usr/local/gd2

cd ${softpath}

tar zxvf ${softpath}gd-2.0.36RC1.tar.gz

cd ${softpath}gd-2.0.36RC1

cp /usr/local/libpng2/include/pngconf.h ${softpath}gd-2.0.36RC1

./configure --prefix=/usr/local/gd2 \

--with-zlib=/usr/local/zlib \

--with-jpeg=/usr/local/jpeg6 \

--with-freetype=/usr/local/freetype2 \

--with-xml=/usr/local/libxml2 \

--with-png=/usr/local/libpng2 \

--with-fontconfig=/usr/local/fontconfig \

--with-slt=/usr/local/libxslt

make

make install

echo "/usr/local/gd2/lib" >> /etc/ld.so.conf

ldconfig

#==============================================================================

#==============================================================================

#==============================================================================

#=== Install libmcrypt

#==============================================================================

mkdir /usr/local/libmcrypt

cd ${softpath}/

tar zxvf ${softpath}/libmcrypt-2.5.8.tar.gz

cd ${softpath}/libmcrypt-2.5.8/libltdl

./configure --enable-ltdl-install

make

make install

echo "/usr/local/lib" >> /etc/ld.so.conf

ldconfig

cd ${softpath}/libmcrypt-2.5.8

./configure --prefix=/usr/local/libmcrypt

make

make install

ln -s /usr/local/libmcrypt/lib/libmcrypt.la /usr/lib/libmcrypt.la

ln -s /usr/local/libmcrypt/lib/libmcrypt.so /usr/lib/libmcrypt.so

ln -s /usr/local/libmcrypt/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4

ln -s /usr/local/libmcrypt/lib/libmcrypt.so.4.4.8 /usr/lib/libmcrypt.so.4.4.8

cp /usr/local/libmcrypt/bin/libmcrypt-config /usr/bin/libmcrypt-config

cp /usr/local/libmcrypt/lib/libmcrypt.* /usr/lib

echo "/usr/local/libmcrypt/lib" >> /etc/ld.so.conf

ldconfig

#==============================================================================

#==============================================================================

#==============================================================================

#=== Install mhash 如果自定义目录,mcrypt 可能无法找到 mhash, 建议还是不要修改目录.

#==============================================================================

cd ${softpath}/

tar zxvf ${softpath}/mhash-0.9.9.9.tar.gz

cd ${softpath}/mhash-0.9.9.9

./configure

make

make install

echo "/usr/local/lib" >> /etc/ld.so.conf

ln -s /usr/local/lib/libmhash.a /usr/lib/libmhash.a

ln -s /usr/local/lib/libmhash.la /usr/lib/libmhash.la

ln -s /usr/local/lib/libmhash.so /usr/lib/libmhash.so

ln -s /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2

ln -s /usr/local/lib/libmhash.so.2.0.1 /usr/lib/libmhash.so.2.0.1

ldconfig

#==============================================================================

#==============================================================================

#==============================================================================

#=== Install mcrypt 唉.经常找不到 libmhash

#==============================================================================

mkdir /usr/local/mcrypt

cd ${softpath}/

tar zxvf ${softpath}/mcrypt-2.6.8.tar.gz

cd ${softpath}/mcrypt-2.6.8

LD_LIBRARY_PATH=/usr/local/lib \

./configure --prefix=/usr/local/mcrypt \

--with-libmcrypt-prefix=/usr/local/libmcrypt \

--with-libiconv-prefix=/usr/local/libiconv

make

make install

#==============================================================================

#==============================================================================

#==============================================================================

#=== Install apache

#==============================================================================

#

# apache 的头标识,可以在 include/ap_release.h 中修改

#

mkdir -p /web/apache/

mkdir -p /web/logs/

mkdir -p /web/wwwroot/

cd ${softpath}/

tar zxvf ${softpath}/httpd-2.2.16.tar.gz

cd ${softpath}/httpd-2.2.16

./configure --prefix=/web/apache --enable-modules=so \

--enable-rewrite --enable-mods-shared=all \

--enable-cache --enable-disk-cache --enable-mem-cache \

--enable-file-cache \

--with-mpm=worker --enable-ssl \

--enable-suexec --with-suexec-caller=daemon \

--with-z=/usr/local/zlib

#

# 如果提示 configure: error: ...No recognized SSL/TLS toolkit detected

# 是因为没有安装 openssl-devel

# 用 yum install openssl-devel -y 安装就可以了

#

make

make install

echo "/web/apache/lib" >> /etc/ld.so.conf

ldconfig

cp ${softpath}/httpd-2.2.16/support/apachectl /etc/rc.d/init.d/httpd

#vim /etc/rc.d/init.d/httpd

# 添加:

# Startup script for the Apache Web Server

# chkconfig: 2345 85 15

# description: Apache is a World Wide Web server .It is used to server

# HTML files and CGI.

# processname: httpd

# pidfile: /web/apache/log/httpd.pid

# config: /web/apache/conf/httpd.conf

#===============================

chkconfig --add httpd

chmod 755 /etc/rc.d/init.d/httpd

chkconfig --level 345 httpd on

#如果是SElinux启用,允许加载下面文件:

chcon -t textrel_shlib_t /web/apache/modules/*.so

groupadd apache

useradd apache -g apache -s /sbin/nologin

chown apache.apache /web/wwwroot/ -R

chmod 777 /web/wwwroot/ -R

echo "<?php phpinfo(); ?>" > /web/wwwroot/phpinfo.php

#==============================================================================

#==============================================================================

#==============================================================================

#=== Install mysql

#==============================================================================

#

# 如果安装了 ncurses-devel-xxx, 就不用加下面这句参数了

#--with-named-curses-libs=/usr/lib/libncursesw.so.5 \

#

# 安装 ncurses-devel, yum install ncurses-devel -y

#

cd ${softpath}/

mkdir /web/mysql/

tar zxvf ${softpath}/mysql-5.1.49.tar.gz

cd ${softpath}/mysql-5.1.49

./configure \

--prefix=/web/mysql --sysconfdir=/web/mysql \

--without-debug --enable-assembler \

--with-mysqld-ldflags=-all-static \

--with-client-ldflags=-all-static \

--with-unix-socket-path=/tmp/mysql.sock \

--with-mysqld-user=mysql \

--with-extra-charsets=utf8,gbk,gb2312 \

--with-innodb \

--with-mysqld-user=mysql \

--with-charset=utf8 --with-collation=utf8_unicode_ci

make

make install

echo "/web/mysql/lib/mysql" >> /etc/ld.so.conf

echo "/web/mysql/lib/mysql/plugin" >> /etc/ld.so.conf

ldconfig

cp ${softpath}/mysql-5.1.49/support-files/my-medium.cnf /etc/my.cnf

cp ${softpath}/mysql-5.1.49/support-files/mysql.server /etc/rc.d/init.d/mysqld

chmod 700 /etc/rc.d/init.d/mysqld

chkconfig --add mysqld

chkconfig --level 345 mysqld on

chmod 755 /etc/init.d/mysqld

groupadd mysql

useradd mysql -g mysql -s /sbin/nologin

#修改 /etc/init.d/mysqld

#vim /etc/init.d/mysqld

cp -r ${softpath}/mysql-5.1.49/sql/share/english/ /web/mysql/share/

cp ${softpath}/mysql-5.1.49/scripts/fill_help_tables.sql /web/mysql/share/

cp ${softpath}/mysql-5.1.49/scripts/mysql_system_tables.sql /web/mysql/share/

cp ${softpath}/mysql-5.1.49/scripts/mysql_system_tables_data.sql /web/mysql/share/

mkdir /web/mysql/data/mysql/english/ -p

cp ${softpath}mysql-5.1.49/sql/share/english/errmsg.sys /web/mysql/data/mysql/english/

# 把原来的mysql 备份

# 如果已经安装了 mysql 客户端的话.

mv /usr/bin/mysql /usr/bin/mysql.bak

ln -s /web/mysql/bin/mysql /usr/bin/mysql

${softpath}/mysql-5.1.49/scripts/mysql_install_db --defaults-file=/etc/my.cnf --basedir=/web/mysql --user=mysql

chown mysql.mysql -R /web/mysql/

# 启动mysql服务

service mysqld start

#在这里输入密码 (假设密码为123456,当然,这个密码是非常的不安全)

/web/mysql/bin/mysql_secure_installation

#

# 同时,在这里删除 anonymous(匿名用户),数据库 test(测试) 并且不允许 root 的远程登录

# 最后,再刷新权限表

#

chown mysql.mysql -R /web/mysql/

chmod 700 -R /web/mysql/

#/web/mysql/bin/mysqladmin -u root password 123456

#

# 输入密码

# 测试是否显示数据库

# show databases;

# 退出

# quit;

#

#==============================================================================

#==============================================================================

#==============================================================================

#=== Install cURL

#==============================================================================

cd ${softpath}/

tar zxvf ${softpath}/curl-7.21.0.tar.gz

cd ${softpath}/curl-7.21.0

./configure

make

make install

ldconfig

#==============================================================================

#==============================================================================

#==============================================================================

#=== Install php

#==============================================================================

# 需要安装 libxml2-devel

cd ${softpath}

mkdir /web/php/

tar zxvf ${softpath}/php-5.3.3.tar.gz

cd ${softpath}/php-5.3.3/

LD_LIBRARY_PATH=/usr/local/lib

LD_LIBRARY_PATH=/usr/local/libxml2/lib

LD_LIBRARY_PATH=/usr/lib/python2.4/site-packages

LD_LIBRARY_PATH=/usr/local/zlib/lib

LD_LIBRARY_PATH=/usr/local/zlib/include

LD_LIBRARY_PATH=/usr/local/libmcrypt/lib

export LIBXML2_LIBS=-L/usr/local/libxml2/lib

export LIBXML2_CFLAGS=-I/usr/local/libxml2/lib/include

export LIBXML2_LIBS=-L/usr/local/gd2/lib

export LIBXML2_CFLAGS=-I/usr/local/gd2/lib/include

ldconfig

./configure \

--prefix=/web/php --with-apxs2=/web/apache/bin/apxs \

--with-gd=/usr/local/gd2 \

--with-jpeg-dir=/usr/local/jpeg6 --with-png-dir=/usr/local/libpng2 \

--enable-gd-native-ttf --with-zlib-dir=/usr/local/zlib \

--with-freetype-dir=/usr/local/freetype2 \

--enable-zip --with-libxml-dir=/usr/local/libxml2 \

--with-mysql=/web/mysql --with-curl \

--with-mcrypt=/usr/local/libmcrypt/ \

--enable-mbstring=all \

--with-mhash --enable-gd-native-ttf \

--enable-ftp --disable-ipv6 \

--with-iconv

make

make test

make install

# 复制 php.ini

cp ${softpath}/php-5.3.3/php.ini-development /web/php/lib/php.ini

#vim /web/apache/conf/httpd.conf

#查找<IfModule mime_module>

#在此范围添加 (差不多在 365 行)

# AddType application/x-httpd-php .php

#

# 修改: DirectoryIndex index.html (差不多在 224 行)

# 为: DirectoryIndex index.php index.htm index.html

#

#

# 修改: DocumentRoot "/web/apache/htdocs" (差不多在 162 行)

# 为: DocumentRoot "/web/wwwroot"

#

#

# 修改: <Directory "/web/apache/htdocs"> (差不多在 189 行)

# 为: <Directory "/web/wwwroot">

#

# 禁止Apache 列出目录

# 修改 Options Indexes FollowSymLinks (差不多在 202 行)

# 去掉 Indexes即可

#

# 修改 apache 运行的用户

# 修改 User 和 Group 的值为 apache (差不多在 123 行)

#

# 修改 apache服务名称 的值为 ServerName * (差不多在 155 行)

#

# 添加 虚拟主机支持(vhosts) (差不多在 448 行)

# NameVirtualHost *:80

#

# Include conf/vhosts/*.conf

#

#<VirtualHost *:80>

# ServerName *

# ServerAlias *

# DocumentRoot "/web/wwwroot/null"

# ErrorDocument 404 "/404.htm"

# php_admin_value open_basedir "/web/wwwroot/null"

#</VirtualHost>

#

# 为了让apache返回头部的信息尽可能少.可以添加 ServerTokens Prod

#

#

mkdir /web/apache/conf/vhosts/

mkdir /web/wwwroot/null/

chmod 777 /web/wwwroot/ -R

chown apache.apache /web/wwwroot/ -R

#如果是SElinux启用,允许加载下面文件:

chcon -t textrel_shlib_t /web/apache/modules/libphp5.so

#chcon -t textrel_shlib_t /web/apache/modules/*.so

# 需要修改PHP的时区.

# 可以修改 /web/php/lib/php.ini 的第 996 行左右 date.timezone = PRC

#

#

# 当然,Apache,PHP,Mysql 还有很多要配置要修改

# 比如,Apache 的 vhost 支持, 禁用文件列表等等

#

# 假如很不幸,你的主机是在天朝,

# 那么,由于某些不可理喻的"龟腚".

# 您必需过滤掉所有的,未备案的,DNS又指向你服务器的域名!

# (是不是看得很纠结? 我也有这种感觉.)

#

#==============================================================================

#==============================================================================

#==============================================================================

#=== Install vsftpd

#==============================================================================

# Vsftpd 以安全著称. 我也感觉它挺安全的,

# 嗯,那么,直接用 yum 来安装吧. 省时省力.

yum install vsftpd -y

#==============================================================================

#==============================================================================

#==============================================================================

#=== Install pam-mysql

#==============================================================================

# 需要用到 pam 的开发模块

# 如果没有安装, 用 yum install pam-devel -y 安装就可以了.

cd ${softpath}/

tar zxvf ${softpath}/pam_mysql-0.7RC1.tar.gz

cd ${softpath}/pam_mysql-0.7RC1

./configure --with-mysql=/web/mysql

make

make install

chcon -t textrel_shlib_t /lib/security/pam_mysql.so

echo "/lib/security" >> /etc/ld.so.conf

ldconfig

#==============================================================================

#==============================================================================

#==============================================================================

#=== 配置 vsftpd ,支持虚拟用户

#==============================================================================

# 修改 /etc/vsftpd.conf

#---------------------------------------------------------------------------

# 下面是 Vsftpd 配置文件

#---------------------------------------------------------------------------

#匿名用户登录:

anonymous_enable=NO

#匿名用户上传

anon_upload_enable=NO

#更改匿名用户上传文件属性

anon_umask=000

#匿名用户新建目录

anon_mkdir_write_enable=NO

anon_other_write_enable=NO

#允许本地用户登陆

local_enable=YES

#本地用户文件上传后的属性

local_umask=0666

#可写文件(上传)

#全局配置可写

write_enable=YES

#当使用者转换目录,则会显示该目录下的.message信息

dirmessage_enable=NO

#限制用户在自己的主目录

chroot_local_user=YES

#是否更改上传文件属性

#chown_uploads=YES

#更改文件属主为apache

#chown_username=apache

#文件属性

file_open_mode=0770

#记录使用者所有上传下载信息

xferlog_enable=YES

#将上传下载信息记录到/www/logs/vsftpd.log中

xferlog_file=/www/log/vsftpd.log

#日志使用标准xferlog格式

#xferlog_std_format=YES

#客户端超过600S没有动作就自动被服务器踢出

idle_session_timeout=600

#数据传输时超过120S没有动作被服务器踢出

data_connection_timeout=120

#nopriv_user=ftpsecure

#async_abor_enable=YES

#ascii_upload_enable=YES

#ascii_download_enable=YES

#FTP欢迎信息

ftpd_banner=Welcome X.

#banned_email_file=/etc/vsftpd.banned_emails

#chroot_list_file=/etc/vsftpd.chroot_list

#ls_recurse_enable=YES

#监听

#listen_port=21

listen=YES

connect_from_port_20=YES

#使用虚拟用户

guest_enable=YES

#虚拟用户名

guest_username=apache

#pam认证文件

pam_service_name=vsftpd

#用户控制文件目录

user_config_dir=/etc/vsftpd/vuconf

#---------------------------------------------------------------------------

# Vsftpd 的配置文件结束

#---------------------------------------------------------------------------

mkdir /etc/vsftpd/vuconf

#---------------------------------------------------------------------------

# 虚拟用户的配置文件 /etc/vsftpd/vuconf/test

#---------------------------------------------------------------------------

#允许虚拟用户上传文件

write_enable=YES

anon_upload_enable=YES

#允许虚拟用户修改文件名和删除文件

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

#设置上传文件属性,由2组成,具体什么情况我也不是太清楚

#现在上传后是777

#当修改file_open_mode时,跟着这个属性走。(不动anon_umask时)

#暂时OK了!

anon_umask=0000

file_open_mode=0777

#这个好像没用

local_umask=0666

#虚拟用户登录路径

local_root=/web/wwwroot

#---------------------------------------------------------------------------

# 虚拟用户的配置文件结束

#---------------------------------------------------------------------------

#---------------------------------------------------------------------------

# Pma 认证模板配置 /etc/pam.d/vsftpd

#---------------------------------------------------------------------------

#%PAM-1.0

#auth required /lib/security/pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed

#auth required /lib/security/pam_unix.so shadow nullok

#auth required /lib/security/pam_shells.so

#account required /lib/security/pam_unix.so

#session required /lib/security/pam_unix.so

auth required /lib/security/pam_mysql.so user=vsftpd passwd=vsftpdpasswd host=127.0.0.1 db=vsftpd table=user usercolumn=user passwdcolumn=passwd crypt=0

account required /lib/security/pam_mysql.so user=vsftpd passwd=vsftpdpasswd host=127.0.0.1 db=vsftpd table=user usercolumn=user passedcolumn=passwd crypt=0

#---------------------------------------------------------------------------

# Pma 认证模板配置 结束

# crypt=0, 为不加密, crypt=1, 用Msyql自带的加密函数加密

#---------------------------------------------------------------------------

#

# 如果开启了 SELinux 的话.

# 需要设置一下. 不然会出错 530 错误

#

setsebool -P ftpd_disable_trans 1

chcon -t textrel_shlib_t /lib/security/pam_mysql.so

# 登录mysql

mysql -uroot -p

#---------------------------------------------------------------------------

# 下面SQL 是在 Mysql 中创建数据库等...

#---------------------------------------------------------------------------

-------------------------------------------------------------------------------

-- 创建数据库 `vsftpd`

--

CREATE DATABASE `vsftpd` ;

-------------------------------------------------------------------------------

-- 创建表 `user`

-- 包含两个字段: `user`(主键,唯一值), `passwd`,

--

use vsftpd;

CREATE TABLE IF NOT EXISTS `user`

(

`user` varchar(32) COLLATE utf8_unicode_ci NOT NULL,

`passwd` varchar(32) COLLATE utf8_unicode_ci NOT NULL,

PRIMARY KEY (`user`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

-------------------------------------------------------------------------------

-- 插入新记录

-- 用户名: test, 密码: test

--

INSERT INTO `vsftpd`.`user`

(`user` ,`passwd`)

VALUES

('test', 'test');

-------------------------------------------------------------------------------

-- 创建Mysql数据库用户

-- vsftpd, 登录IP: 127.0.0.1, 密码:vsftpdpasswd

--

CREATE USER 'vsftpd'@'127.0.0.1' IDENTIFIED BY 'vsftpdpasswd';

GRANT USAGE ON * . * TO 'vsftpd'@'127.0.0.1' IDENTIFIED BY 'vsftpdpasswd' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;

GRANT ALL PRIVILEGES ON `vsftpd` . * TO 'vsftpd'@'127.0.0.1';

-------------------------------------------------------------------------------

#---------------------------------------------------------------------------

# SQL 结束 quit

#---------------------------------------------------------------------------

#同时,需要把 apache 用户的主目录设置为 /web/wwwroot

#==============================================================================

#==============================================================================

#==============================================================================

#=== Install cronolog 用来分割 Apache 日志

#==============================================================================

cd ${softpath}/

tar zxvf ${softpath}/cronolog-1.6.2.tar.gz

cd ${softpath}/cronolog-1.6.2

./configure

make

make install

#==============================================================================

#==============================================================================

#==============================================================================

#=== Install Xcache

#==============================================================================

cd ${softpath}/

tar zxvf ${softpath}/xcache-1.3.0.tar.gz

cd ${softpath}/xcache-1.3.0

/web/php/bin/phpize

./configure --with-php-config=/web/php/bin/php-config --enable-xcache --enable-xcache-optimizer

make

make test

make install

#/web/php/lib/php/extensions/no-debug-zts-20090626/

#编辑 php.ini

vim /web/php/lib/php.ini

#==============================================================================

#添加如下xcache配置信息

#---------------------------------------------------------------------------

[xcache-common]

zend_extension = /web/php/lib/php/extensions/no-debug-zts-20090626/xcache.so

[xcache.admin]

xcache.admin.user = "admin"

;密码是由md5计算出来的.

xcache.admin.pass = "21232f297a57a5a743894a0e4a801fc3"

[xcache]

;缓存大小,视服务内存而定

xcache.size = 256M

xcache.shm_scheme = "mmap"

; 建议设置为 cpu 数 (cat /proc/cpuinfo |grep -c processor)

xcache.count = 2

xcache.slots = 8K

; 缓存项目的 ttl(time to live), 0=永久

xcache.ttl = 86400

; 扫描过期项目的时间间隔, 0=不扫描, 其他值以秒为单位

xcache.gc_interval = 3600

xcache.mmap_path = "/tmp/xcache"

xcache.cacher = On

xcache.stat = On

xcache.optimizer = Off

[xcache.coverager]

xcache.coverager = On

xcache.coveragedump_directory = ""

[xcache.var]

; 同上, 只是针对变量缓存设置

xcache.var_size = 200M

xcache.var_count = 2

xcache.var_slots = 8K

xcache.var_ttl = 1800

#==============================================================================

# 如果开启了 SELinux 的话.

#

chcon -t textrel_shlib_t /web/php/lib/php/extensions/no-debug-zts-20090626/xcache.so

# 拷贝xcache管理工具

cp -r ${softpath}/xcache-1.3.0/admin/ /web/wwwroot/xcachecp

# 重启 apache 服务

service httpd restart

#==============================================================================

#

# OK, 剩下来的只是对Apache/Mysql等配置的调整和优化了.

#

#==============================================================================

该贴已经同步到 nekor的微博

xiaowuhello
corei3
又要收藏多一个了
展开Biu

早说嘛!又要收藏多一个了!

[查看全文]
管理员
这个论坛可以让我们强大很多很多
展开Biu

老实说,这个论坛可以让我们强大很多很多。

[查看全文]