linux+apache2+php5+mysql5+zend环境架设
我的安装环境是centos5,缺省不安装apache mysql等
安装顺序是mysql > apache > php > zend
一、准备工作
安装多线程下载工具
wget
tar zxvf myget-0.1.2.tar.gz
cd myget-0.1.2
./configure
make
make install
测试一下是不是正常:
下载相关的软件包:
wget
wget
wget
wget
wget
wget
wget
wget
mytget -n 10
mytget -n 10
说明:所有的包全部安装到/usr/local/src目录下。
以下的软件版本的相关性得到测试是相互符合的,如果是换新的版本安装,各位在编译安装的时候要注意是否提示软件相关性的问题!
主要软件:
mysql-5.0.45-linux-i686-icc-glibc23.tar.gz
httpd-2.2.6.tar.gz php-5.2.5.tar.gz
suhosin-patch-5.2.5-0.9.6.2.patch.gz
gd库相关软件:
zlib-1.2.3.tar.gz libpng-1.2.23.tar.gz freetype-2.3.5.tar.gz
jpegsrc.v6b.tar.gz gd-2.0.33.tar.gz
php相关软件:
curl-7.17.1.tar.gz libxml2-2.6.30.tar.gz libxslt-1.1.22.tar.gz
zend相关软件:ZendOptimizer-3.3.0a-linux-glibc21-i386.tar.gz(去zend网站注册然后下载)
二、安装mysql(选择合适的编译好的二进制包)
我的计算机是intel的cpu 主板也是intel的芯片 所以我选择了icc编译好的二进制包.
mysql-5.0.45-linux-i686-icc-glibc23.tar.gz
mytget –n 10 \
tar zxvf mysql-5.0.45-linux-i686-icc-glibc23.tar.gz -C /usr/local/
ln –s /usr/local/mysql-5.0.45-linux-i686-icc-glibc23 /usr/local/mysql
groupadd mysql
useradd -g mysql mysql
cd /usr/local/mysql
chown -R mysql .
chgrp -R mysql .
scripts/mysql_install_db --user=mysql
chown -R root .
chown -R mysql data
vi /usr/local/mysql/support-files/my-medium.cnf
在后面加上
max_connections = 1500
log-slow-queries
long_query_time = 5
注意:
(1)、max_connections 为允许的最大连接数,log-slow-queries 打开低速查询日志,long_query_time 低速查询的秒数(运行一句sql达到此时间记录在日志里)
(2)、然后COPY 它为 缺省的/usr/local/mysql/data目录中
cp /usr/local/mysql/support-files/my-medium.cnf /usr/local/mysql/data/my.cnf
启动mysql
/usr/local/mysql/bin/mysqld_safe --user=mysql --basedir=/usr/local/mysql &
注意:必须带--basedir=/usr/local/mysql 路径,不然在执行后,mysqld_safe找不到my.cnf正确的目录路径
测试mysql的参数设置
/usr/local/mysql/bin/mysqladmin -u root password 'password'
/usr/local/mysql/bin/mysql -u root -ppassword
mysql>SHOW VARIABLES;
显示max_connections为 1500,这里我的计算机设置是1500大家可以根据自己的机器性能进行调整
添加到启动文件中
echo '/usr/local/mysql/bin/mysqld_safe --user=mysql --basedir=/usr/local/mysql &' >> /etc/rc.local
三、编译安装apache
cd /usr/local/src
wget
tar zxvf httpd-2.2.6.tar.gz
cd httpd-2.2.6
CHOST="i686-pc-linux-gnu" CFLAGS="-O3 -msse2 -mmmx -mfpmath=sse \
-march=pentium4 -pipe -fomit-frame-pointer" \
CXXFLAGS="-O3 -msse2 –mmmx -mfpmath=sse -funroll-loops -march=pentium4 \
-pipe -fomit-frame-pointer" \
./configure --prefix=/usr/local/apache2 --enable-
MODULE=shared --enable-mods-shared=most \
--enable-so
--enable-rewrite --enable-vhost-alias --enable-ssl
--enable-authn-dbm \
--enable-static-support --enable-static-htpasswd --enable-static-logresolve \
--enable-static-rotatelogs --enable-static-htdbm \
--with-ssl=/usr/include/openssl --with-mysql=/usr/local/mysql
make
make install
注意:
(1)、这里的configure后面跟的目录参数,最后不要跟/,否则有的地方目录会出现//的子目录问题
(2)、具体的配置参数和编译参数请参照以下网站
vi /usr/local/apache2/conf/httpd.conf
在配置文件前面添加
ServerLimit 2000
MaxClients 1000
注意:如果把ServerLimit 2000屏蔽掉,运行/usr/local/apache2/bin/apachectl –t 会有警告
WARNING: MaxClients of 1000 exceeds ServerLimit value of 256 servers, lowering MaxClients to 256. To increase, please see the ServerLimit directive.
apache默认工作在prefork.c模式下,由于apache默认最大并发进程(ServerLimit)是 256 所以要先设置 ServerLimit 2000 将服务器可设的最大并发数设为2000, 然后再设置最大并发数 MaxClients 1000
3、找到 #ServerName 在其下设置 ServerName 如下
ServerName
基中 为你网站名,也可用IP代替
4、找到 DocumentRoot "/usr/local/apache/htdocs"
设置你的 WEB 服务器的根目录 如
DocumentRoot "/usr/local/apache2/htdocs"
用下面命令启动WEB服务器,并将程序加入启动程序中 测试 启动
/usr/local/apache2/bin/apachectl -t
/usr/local/apache2/bin/apachectl start
添加到启动文件中
echo '/usr/local/apache2/bin/apachectl start' >> /etc/rc.local
查看自己的站点是否正常 也可用IP
测试一下是不是正常!
四、安装zlib、libpng、freetype、jpeg、GD库等(让PHP支持GIF,PNG,JPEG)
1、安装zlib (安装libpng和gd前需要先安装zlib)
cd /usr/local/src
tar zxvf zlib-1.2.3.tar.gz
cd zlib-1.2.3
./configure --prefix=/usr/local/zlib
make;make install
2. 安装libpng
cd /usr/local/src
# tar zxvf libpng-1.2.23.tar.gz
# cd libpng-1.2.23
# cp scripts/makefile.std makefile
# make;make install
3. 安装freetype
cd /usr/local/src
# tar zxvf freetype-2.3.5.tar.gz
# cd freetype-2.3.5
./configure --prefix=/usr/local/freetype
make;make install
4. 安装jpeg
cd /usr/local/src
# tar zxvf jpegsrc.v6b.tar.gz
# cd jpeg-6b
mkdir /usr/local/jpeg6
mkdir /usr/local/jpeg6/bin
mkdir /usr/local/jpeg6/lib
mkdir /usr/local/jpeg6/include
mkdir /usr/local/jpeg6/man
mkdir /usr/local/jpeg6/man/man1
./configure --prefix=/usr/local/jpeg6 --enable-shared --enable-static
make;make install
5. 安装gd
cd /usr/local/src
tar zxvf gd-2.0.33.tar.gz
cd gd-2.0.33
./configure --prefix=/usr/local/gd2 --with-jpeg=/usr/local/jpeg6 --with-png \
--with-zlib=/usr/local/zlib --with-freetype=/usr/local/freetype
make; make install
五、编译安装PHP
1、安装最新的Curl库
cd /usr/local/src
tar zxvf curl-7.17.1.tar.gz
cd curl-7.17.1
./configure --prefix=/usr/local/curl
make; make install
curl是一个利用URL语法在命令行方式下工作的文件传输工具。
2、由于php5需libxml2的支持, 所以先下载并安装libxml2
cd /usr/local/src
tar zxvf libxml2-2.6.30.tar.gz
cd libxml2-2.6.30
./configure --prefix=/usr/local/libxml2
make; make install
3、安装 libxslt
cd /usr/local/src
tar zxvf libxslt-1.1.22.tar.gz
cd libxslt-1.1.22
./configure --prefix=/usr/local/libxslt --with-libxml-prefix=/usr/local/libxml2
make; make install
4、php安装
cd /usr/local/src
gunzip suhosin-patch-5.2.5-0.9.6.2.patch.gz
tar zxvf php-5.2.5.tar.gz
cd php-5.2.5
patch -p1 < ../suhosin-patch-5.2.5-0.9.6.2.patch
CHOST="i686-pc-linux-gnu" CFLAGS="-O3 -msse2 -mmmx -mfpmath=sse -march=pentium4 \
-pipe -fomit-frame-pointer" \
CXXFLAGS="-O3 -msse2 –mmmx -mfpmath=sse -funroll-loops -march=pentium4 \
-pipe -fomit-frame-pointer" \
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs \
--with-mysql=/usr/local/mysql --with-curl=/usr/local/curl --enable-ftp \
--with-libxml-dir=/usr/local/libxml2 --enable-soap --with-xsl=/usr/local/libxslt \
--with-gd=/usr/local/gd2 --with-jpeg-dir=/usr/local/jpeg6 \
--with-zlib-dir=/usr/local/zlib --with-freetype-dir=/usr/local/freetype \
--enable-mbstring –with-iconv –disable-ipv6
make
make install
cp php.ini-dist /usr/local/php/lib/php.ini
这里注意:
(1)、这里的configure后面跟的目录参数,最后不要跟/,否则有的地方目录会出现//的子目录问题
(2)、编译安装后会提示以下内容:表明php.ini的路径是/usr/local/php/lib/php,但安装完毕后使用phpinfo()看到的路径是/usr/local/php,根据测试/usr/local/php这个路径是正确的!所以我们要:
cp php.ini-dist /usr/local/php/lib/php.ini
下面是在make install后出现的提示内容
PEAR system config file at: /usr/local/php/etc/pear.conf
You may want to add: /usr/local/php/lib/php to your php.ini include_path
Installing PDO headers: /usr/local/php/include/php/ext/pdo/
5、配置httpd.conf使支持 php
1.httpd.conf配置
(1)、以上全都正确后,会自动加入对php模块支持
vi /usr/local/apache2/conf/httpd.conf
LoadModule php5_module modules/libphp5.so
(2)、添加默认的文件格式
vi /usr/local/apache2/conf/httpd.conf
找到 AddType application/x-gzip .gz .tgz 在其下添加如下内容
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
(3)、添加默认的首页
DirectoryIndex index.html index.htm index.php
编写index.php
vi /usr/local/apache2/htdocs/index.php
phpinfo();
?>
rm /usr/local/apache2/htdocs/index.html
同时移除原来的index.html
重启http服务
/usr/local/apache2/bin/apachectl restart
测试
出现php的内容
六、安装zend Optimizer
从ww.w.zend.com下载ZendOptimizer-3.3.0a-linux-glibc21-i386.tar.gz
这里注意我使用的是6550cpu 虽然是64bit的,但是下载64bit的版本却有问题的,只能用32bit的程序。
cd /usr/local/src/
tar zxvf ZendOptimizer-3.3.0a-linux-glibc21-i386.tar.gz
cd ZendOptimizer-3.3.0a-linux-glibc21-i386
./install
注意:
(1)、回答几个问题:同意条款等等
(2)、还要注意2个路径:一个是php.ini的路径,前面我们做过测试是/usr/local/php/lib
另一个是apache2的apachectl路径:前面我们安装apache的时候定义是/usr/local/apache2/bin/apachectl
(3)、安装程序会自动备份/usr/local/php/lib/php.ini 同时在/usr/local/php/lib目录下建立/usr/local/Zend/etc/php.ini的符号链接
(4)、同时会重启apache服务
如果发现with Zend Optimizer v3.3.0, Copyright
说明zend Optimizer 安装成功
七、phpmyadmin安装
首先下载phpmyadmin
有2个版本一个是phpMyAdmin-2.11.2.2-all-languages-utf-8-only.tar.gz
另一个是phpMyAdmin-2.11.2.2-all-languages.tar.gz,个人倾向于用第一个版本。
我是到这个网站下载phpmyadmin的
cd /usr/local/src/
tar -zxvf phpMyAdmin-2.11.2.2-all-languages-utf-8-only.tar.gz
cp -rf phpMyAdmin-2.11.2.2-all-languages-utf-8-only /usr/local/apache2/htdocs/MyPhpAduf8
cd /usr/local/apache2/htdocs/MyPhpAdutf8/
cp config.sample.inc.php config.inc.php
vi config.inc.php
修改为:$cfg['Servers'][$i]['auth_type'] = 'http';
输入
输入root和前面确定的数据库密码进行验证
注意:这里定义的MyPhpAdutf8各人可以自己发挥,主要是增加安全性。