您的位置:首页 > 运维架构 > Apache

Linux下Apache2、SSL、PHP4、GD、Mysql4.0、Postgresql7、ZendOptimizer编译安装全攻略

2006-04-21 15:06 447 查看
初学linux服务安装,看了很多网友写的安装过程,觉得没有一个合我的要求。想来想去还是自己参考着装一下吧。正好也有朋友需要,把整个过程写出来与大家共同学习提高。

一、安装包说明
Apache-2.0.52:不用多说了吧,地球人都知道。^_^
Php-4.4.0:4系列最新稳定版,不赞成使用5,因为5只是一个过渡版本,6已经在开发中了。
GD库:PHP需要的一个图形函数支持库,这个东东装起来有点麻烦,为了装它还要另装其它的库。
Mysql-4.0.26:当然你也可以用3.X系列,4.1的认证方式变了,同时用4.1时php里要编译支持mysqli函数支持才可以发挥全部的功能(见php手册)。5.0就不说了,不就是一个ABC嘛,还搞这么复杂。
Postgresql7:老牌面向对象的关系型数据库,想拥有媲美Oracle的性能,无须花费,还能免费版权问题。强烈推荐。
CentOS4.3:RedHat的一个重编译发行版,100%兼容RHE4up3。其它的版本也应该差不多,如果你想使用apache的SSL功能,必须保证你的linux已经安装了openSSL,openSSL和openSSH基本上都成了标配了(别告诉我你还在用telnet来管理主机)。
二、提示
在整个安装过程中经历了N次不满意,最烦的就是GD这里。网络上的资源也给了我很多的方便,其实大家在编译前多看一下INSTALL或README之类的文件,基本上都能很顺利的安装,对于众多的功能需求多看一下软件的./configure -–help就行了。
在你看这篇文章的时候也许我所安装的一些软件有了最新版,或是官方网站搬家了,google一下就能找到他们。
命令行后面有时候会有一个//号加一些说明,这是我写的一些注释,安装的时候是不需要的。
基本的linux命令是要会的,最少要会用tar和bzip2解包。
我的软件是安装在/app下面的,一些依赖库采用默认地址。请广大网友自行参考修改。
三、安装过程
1. Mysql
先装数据库是为了让PHP找到他们并支持。下面的postgresql也是一样的。
ü groupadd mysql
ü useradd -g mysql mysql
ü ./configure --prefix=/app/mysql /
--exec-prefix=/app/mysql /
--without-debug
对于中文的支持参数--with-extra-charsets=gb2312好像不管用,一些网友也有相同的经历。直接改configure文件再configure吧。
ü make
ü make install
ü scripts/mysql_install_db //初始化系统库
ü cp /app/mysql/share/mysql/my-medium.cnf /app/mysql/var/my.cnf //还有一些其它的my.cnf配置文件。适合不同的应用规模。型式如my-*.cnf。根据自己的需要cp。
ü cp /app/mysql/share/mysql/mysql.server /etc/init.d/mysqld //添加到起动脚本
ü chkconfig --add mysqld //添加一个起动项
ü chkconfig --level 2345 mysqld on //设置开机时起动
ü chmod -R 755 /app/mysql //设置权限
ü chown -R mysql:mysql /app/mysql //设置所有者,mysql起动时会以mysql用户的身份运行,这样可以提高系统的安全性。
ü service mysqld start //起动mysql服务
ü netstat –atln //看看是不是起来了
ü /app/mysql/bin/mysqladmin -uroot password "123456" //修改数据库的默认密码为123456,可根据自己需要修改。
ü /app/mysql/bin/mysql -u root -p123456 //用数据库的root身份和密码进入数据库。以下是在数据库中所做的操作。
use mysql;
delete from user where password="";
flush privileges;
exit;
ü echo "/app/mysql/lib/mysql" >> /etc/ld.so.conf
ü ldconfig -v | grep libmysqlclient
2. postgresql
ü groupadd postgres
ü useradd -g postgres postgres
ü ./configure /
ü --prefix=/app/pgsql /
ü --enable-multibyte=EUC_CN //使postgresql支持中文双字节编码,需要支持其它的编码,请参考postgresql手册
ü make
ü make install
ü chown -R postgres:postgres /app/pgsql/
ü vi ~postgres/.bash_profile //添加进以下4行
PGLIB=/app/pgsql/lib
PGDATA=/app/pgsql/data
PATH=$PATH:/app/pgsql/bin
export PGLIB PGDATA PATH
ü su – postgres //切换到postgres用户
ü mkdir /app/pgsql/data //建立数据库文件存放目录
ü initdb //初始化系统库
ü exit
ü cp postgresql-7.4.6/contrib/start-scripts/linux /etc/init.d/postgres //添加起动脚本到系统
ü chmod 755 /etc/init.d/postgres
ü vi /etc/init.d/postgres //修改起动脚本里的2个参数
prefix=/app/pgsql
PGDATA="/app/pgsql/data"
ü chkconfig --add postgres //添加到系统起动项
ü chkconfig --level 345 postgres on //设置开机起动
ü vi /app/pgsql/data/postgresql.conf //把以下二个参数前面的注释去掉,不然是连不上的哦
tcpip_socket = true
port = 5432
3. apache2
ü ./configure --enable-module=so /
ü --prefix=/app/httpd2 /
ü --exec-prefix=/app/httpd2 /
ü --enable-vhost-alias / //支持虚拟主机别名
ü --enable-ssl / //支持https加密,不需要就不要加这一行
ü --enable-rewrite //支持url地址重写
ü make
ü make install
ü cp server.crt /app/httpd2/conf //如果没有编译https支持,这一步及以下二步都不需要了。
ü cp server.kdy /app/httpd2/conf
ü vi /app/httpd2/conf/ssl.conf //改什么忘记了,主要是修改上面cp的二个文件的路径,这是用于httpS(实际是小写)的证书,具体怎样得到请google哦。^_^
4. GD
ü //先装一些GD要用到的库。
ü //zlib
ü ./configure
ü make
ü make install
ü //libpng
ü ./configure
ü make
ü make install
ü //jpeg
ü ./configure --enable-shared //支持共享模式,不然GD是找不到的。
ü make
ü mkdir /usr/local/man/man1 //make install时找不到这个目录,自己建一个吧,也许在下一个版本中就不会出现这种情况了。
ü make install
ü //freetype
ü ./configure
ü make
ü make install
ü //fontconfig 发现编译以后GD也不会发现,不知道是什么情况,知道的网友请告诉一声。
ü //xpm不知道是做什么用的,也有说编译GD时把xpm的库指向X11的库就可以了。可还是不明白。
ü //GD,到正题了。
ü ./configure //注意看配置时信息,在最后会告诉你哪些功能得到了支持。
ü make
ü make install
ü //装php的zip支持库,建议这一步在编译apache之前就做,因为apache也会用到了。
ü bzip2 -d zziplib-0.10.82.tar.bz2
ü tar xvf zziplib-0.10.82.tar
ü ./configure
ü make
ü make install
ü //装php的iconv库,特别是当你发现你的数据库默认编码和你客户页面的编码不一至时,显示出来的都是一些乱码。你就需要它了。
ü ./configure
ü make
ü make install
5. PHP
ü ./configure /
ü --with-apxs2=/app/httpd2/bin/apxs /
ü --prefix=/app/php /
ü --exec-prefix=/app/php /
ü --enable-ftp / //打开ftp支持,我特意要的。
ü --with-mysql=/app/mysql / //指定mysql的安装位置
ü --with-pgsql=/app/pgsql / //指定postgresql的安装位置
ü --with-config-file-path=/data/app/php /
ü --enable-bcmath /
ü --with-zlib /
ü --with-zip /
ü --with-gd /
ü --with-png /
ü --with-jpeg /
ü --with-freetype /
ü --with-iconv /
ü --enable-sockets
ü make
ü make install
ü cp php.ini-dist /app/php/lib/php/php.ini
ü vi /app/httpd2/conf/httpd.conf //加进如下二行,使apache支持php
AddType application/x-httpd-php .php
AddDefaultCharset gb2312
ü
ü
ü /app/bin/apachectl startssl //起动apache试一试,这个是支持https的起动,不需要https功能的可用/app/bin/apachectl start起动。
ü 写一个test.php文件到/app/httpd2/htdocs/test.php试一下,内容如下:
<?php
Phpinfo();
?>
用IE打开服务器地址看一看你所需要的功能是不是都装好了。
6. ZendOptimizer
最后就是安ZendOptimizer了,解开执行install-sh就行了。根据提示输入php.ini文件和httpd.conf文件的路径就可以了。
四、写在最后
通过这次安装学会很多东西,广大网友也无私奉献了自己的经验、心得。这也是我为什么要把安装过程写出来的原因。如果你和我一样的很“水”,希望这篇文章能帮助到你。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: