- 论坛徽章:
- 0
|
使用 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
openssl-devel libxml2-devel
#这里我们将编译GD所必须的一些小软件比如
libpng,libtiff,freetype,libjpeg,等先用RPM的方式一并安装好,避免手动编译浪费时间,同时也能避免很多错误,这几个
小软件的编译很麻烦。这几个小软件编译错误了,GD当然安装不了,php5的编译当然也没戏了。所以我们抓大放小,对这些小牛鬼蛇神采取快速简洁的方式进
行安装。并且对服务器的性能也不能产生什么影响。
另外libxml2系统已经默认安装了,所以我们不需要手工编译了,直接安装它的开发包就行了。
6. 源码编译安装所需包 (Source)
(1) GD2
# cd /usr/local/src
# wget
[color="#0000ff"]http://www.boutell.com/gd/http/gd-2.0.34.tar.gz
# tar xzvf gd-2.0.34.tar.gz
# cd gd-2.0.34
#
CHOST="i686-pc-linux-gnu" CFLAGS="-O3 -msse2 -mmmx -Wall -W
-mfpmath=sse -mcpu=pentium4 -march=pentium4 -pipe -fomit-frame-pointer"
CXXFLAGS="-O3 -msse2 -mmmx -Wall -W -mfpmath=sse -funroll-loops
-mcpu=pentium4 -march=pentium4 -pipe -fomit-frame-pointer" ./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
[color="#0000ff"]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
7、编译mysql 5.0.46
mysql 5.0.46是企业版本,貌似双数版本都是企业版本了。个人觉得代码质量要比社区版本要好一些。大家可以下载,免费使用。并不需要向mysql公司交钱。
cd /usr/local/src
# wget
[color="#0000ff"]http://mirror.provenscaling.com/mysq...-5.0.46.tar.gz
# tar xzvf mysql-5.0.46.tar.gz
# cd mysql-5.0.46
修改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 -Wall -W
-mfpmath=sse -mcpu=pentium4 -march=pentium4 -pipe -fomit-frame-pointer"
CXXFLAGS="-O3 -msse2 -mmmx -Wall -W -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=-enterprise-gpl
--with-mysqld-user=mysql --without-debug --with-big-tables
--with-charset=utf8 --with-collation=utf8_general_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
###
在解压mysql5.0.22 原代码包后
cd mysql5.0.22
./configure
--prefix=/usr/local/mysql --localstatedir=/var/lib/mysql
--with-charset=gbk --with-extral-charsets=all --syconfigdir=/etc
--enable-thread-safe-client
然后 root权限下安装
make WITH_CHARSET=gbk WITH_XCHARSET=all install clean
make install
cp /mysql5.0.22/support-files/my-medium.cnf /etc/my.cnf
bin/mysql_install_db
###
配置成功会提示:
MySQL has a Web site at
[color="#0000ff"]http://www.mysql.com/
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 -Wall -W
-mfpmath=sse -mcpu=pentium4 -march=pentium4 -pipe -fomit-frame-pointer"
CXXFLAGS="-O3 -msse2 -mmmx -Wall -W -mfpmath=sse -funroll-loops
-mcpu=pentium4 -march=pentium4 -pipe -fomit-frame-pointer"
这个环境参数只针对intel P4
芯片,如果你的CPU是AMD的,注意不能使用。请查看相应的编译优化参数。否则程序会无法编译,即使编译成功也无法运行,嘿嘿。
关于其他CPU的优化请看我的BLOG的一篇转贴:
[color="#800080"]http://www.cnprint.org/bbs/blogs/1/blog43.html
# 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
[color="#0000ff"]http://www.ip97.com/apache.org/httpd/httpd-2.2.6.tar.gz
# tar zxvf httpd-2.2.6.tar.gz
# cd httpd-2.2.6
依次安装apr和apr-util
# cd srclib/apr
#
CHOST="i686-pc-linux-gnu" CFLAGS="-O3 -msse2 -mmmx -Wall -W
-mfpmath=sse -mcpu=pentium4 -march=pentium4 -pipe -fomit-frame-pointer"
CXXFLAGS="-O3 -msse2 -mmmx -Wall -W -mfpmath=sse -funroll-loops
-mcpu=pentium4 -march=pentium4 -pipe -fomit-frame-pointer" ./configure
--prefix=/usr/local/apr --enable-threads --enable-other-child
--enable-static
# make && make install
# cd ../apr-util
#
CHOST="i686-pc-linux-gnu" CFLAGS="-O3 -msse2 -mmmx -Wall -W
-mfpmath=sse -mcpu=pentium4 -march=pentium4 -pipe -fomit-frame-pointer"
CXXFLAGS="-O3 -msse2 -mmmx -Wall -W -mfpmath=sse -funroll-loops
-mcpu=pentium4 -march=pentium4 -pipe -fomit-frame-pointer" ./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.6
#
CHOST="i686-pc-linux-gnu" CFLAGS="-O3 -msse2 -mmmx -Wall -W
-mfpmath=sse -mcpu=pentium4 -march=pentium4 -pipe -fomit-frame-pointer"
CXXFLAGS="-O3 -msse2 -mmmx -Wall -W -mfpmath=sse -funroll-loops
-mcpu=pentium4 -march=pentium4 -pipe -fomit-frame-pointer" ./configure
--prefix=/usr/local/apache2 --enable-mods-shared=all
--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-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
--enable-ssl // 编译 ssl模块。
我们不再使用worker模式编译apache,worker模式和php貌似有一些不协调不稳定之处。所以使用了默认的perfork模式。
将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.5-devel。
php 5.2.4有点小BUG,无法在centos 5上正常编译,官方已经在php5.2.5中修复了。所以我们使用php 5.2.5进行编译。
Suhosin
是php增强型安全补丁,可以编译到静态内核中,也可以编译成php动态扩展。我个人强烈你建议安装成静态内核。Suhosin已经进入freebsd和
gentoo的ports。下面的以下先说静态安装步骤。当然你也可以在安装php后将它编译成php的动态扩展。
# cd /usr/local/src
# wget
[color="#0000ff"]http://cn.php.net/get/php-5.2.5.tar.gz/from/this/mirror
wget
[color="#0000ff"]http://www.hardened-php.net/suhosin/...9.6.2.patch.gz
# tar zxvf php-5.2.5.tar.gz
# gunzip suhosin-patch-5.2.1-0.9.6.2.patch.gz
# cd php-5.2.5
#
CHOST="i686-pc-linux-gnu" CFLAGS="-O3 -msse2 -mmmx -Wall -W
-mfpmath=sse -mcpu=pentium4 -march=pentium4 -pipe -fomit-frame-pointer"
CXXFLAGS="-O3 -msse2 -mmmx -Wall -W -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-pear=/usr/share/php --with-zlib-dir --with-bz2
--with-libxml-dir=/usr --with-gd=/usr/local/gd2 --enable-gd-native-ttf
--enable-gd-jis-conv --with-freetype-dir --with-jpeg-dir --with-png-dir
--with-ttf=shared,/usr --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-zend-multibyte
--enable-inline-optimization --enable-zend-multibyte --enable-sockets
--enable-soap --with-openssl
配置成功会提示:
+--------------------------------------------------------------------+
| License: |
| This software is subject to the PHP License, available in this |
| distribution in the file LICENSE. By continuing this installation |
| process, you are bound by the terms of this license agreement. |
| If you do not agree with the terms of this license, you must abort |
| the installation process at this point. |
+--------------------------------------------------------------------+
Thank you for using PHP.
# make
# make install
# cp php.ini-recommended /etc/php.ini
在这里也顺便说一下将suhosin安装成为php的动态扩展的方法。毕竟网上根本不见它的中文安装教程。
虽然我个人不推荐这种方式。
wget
[color="#0000ff"]http://www.hardened-php.net/suhosin/...sin-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
这时会出现错误:
/usr/local/apache2/bin/apachectl start
httpd:
Syntax error on line 107 of /usr/local/apache2/conf/httpd.conf: Cannot
load /usr/local/apache2/modules/libphp5.so into server:
/usr/local/apache2/modules/libphp5.so: cannot restore segment prot
after reloc: Permission denied
不急,我们慢慢解决。
先重启下机器:
reboot
这
个Permission denied问题,在centos
5下面一般是Selinux引起的,作为生产用服务器,我建议你千万别草率地关掉Selinux一了百了。就像家里的防盗网,阻碍了你的猫自由进出窗户,
你不能为了猫方便,就把防盗网简单拆除是同样的道理。我看见网上许多人建议把Selinux简单关闭来解决这个问题,很不以为然。
我们可以这样操作:
# audit2allow -d
allow initrc_t usr_t:file execmod;
allow mount_t default_t:file execute;
# cd /etc/selinux/targeted/modules/
# audit2allow -M local -d
屏幕产生如下提示:
产生类型强制文件:local.te
正在编译策略
checkmodule -M -m -o local.mod local.te
semodule_package -o local.pp -m local.mod
********************重要 ***********************
为了在内核中加载这个新创建的策略软件包,
您需要执行
semodule -i local.pp
我们运行
# semodule -i local.pp
这样就让Selinux加载了新的规则。
更详细的内容请看我在BLOG上的转贴:
[color="#0000ff"]http://www.cnprint.org/bbs/blogs/1/blog48.html
reboot
哈哈,apache不会再报错了吧?
这样我保留了selinux的功能,同时apache也能正常运行。
11. 查看确认 L.A.M.P 环境信息
vi /usr/local/apache2/htdocs/phpinfo.php
新增加下面一行,并保存。
# chmod 755 /usr/local/apache2/htdocs/phpinfo.php
用浏览器打开
[color="#0000ff"]http://127.0.0.1/phpinfo.php
# echo ' ' > /usr/local/apache2/htdocs/testdb.php
# chmod 755 /usr/local/apache2/htdocs/testdb.php
# service mysqld start
用浏览器打开
[color="#0000ff"]http://127.0.0.1/testdb.php
检查 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名称是
[color="#0000ff"]www.cnprint.org
.
在浏览器的URL地址栏里输入
[color="#0000ff"]http://www.cnprint.org/,浏览器便会显示APACHE安装时确省的Test
Page.
在浏览器的URL地址栏里输入
[color="#0000ff"]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
[color="#0000ff"]http://downloads.zend.com/optimizer/...21-i386.tar.gz
# tar xzvf ZendOptimizer-3.3.0-linux-glibc21-i386.tar.gz
# ./ZendOptimizer-3.3.0-linux-glibc21-i386/install.sh
按照它的提示一步步进行就行了。
总之一句话。如果你的服务器环境不需要ZendOptimizer,那么能不安就不安装这个。避免和eaccelerator冲突。
14、
安装eaccelerator //
eaccelerator是php的加速软件,使用后php的执行效率会有较大幅度的提升。目前eaccelerator
0.9.5.2已经和ZendOptimizer-3.3.0能够基本上兼容啦。不过我个人觉得,ZendOptimizer-3.3.0没有加速的功
能,反而使php运行变慢,只是起到了运行zend加密文件的作用而已。闲话不多说了,大家有兴趣的,可以去google下。
# cd /usr/local/src
# wget
[color="#0000ff"]http://bart.eaccelerator.net/source/....9.5.2.tar.bz2
# tar -jxvf eaccelerator-0.9.5.2.tar.bz2
# cd eaccelerator-0.9.5.2
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.2, 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.3.0, Copyright (c) 1998-2006, by Zend Technologies
也会有eAccelerator的具体信息。
15、安装phpmyadmin,管理mysql数据库
# cd /usr/local/apache2/htdocs/
# wget
[color="#0000ff"]http://nchc.dl.sourceforge.net/sourc...-8-only.tar.gz
# tar zxvf phpMyAdmin-2.11.1-all-languages-utf-8-only.tar.gz
# mv phpMyAdmin-2.11.1-all-languages-utf-8-only 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服务器就环境基本建立成功啦。
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/7546/showart_1159919.html |
|