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

限时加码!20+主流AI编程工具免费用 购周边加赠Coding Plan Lite,Claude Code、Cursor等即刻畅享,学习进阶更高效! 阅读详情
初学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文件的路径就可以了。
四、写在最后
通过这次安装学会很多东西,广大网友也无私奉献了自己的经验、心得。这也是我为什么要把安装过程写出来的原因。如果你和我一样的很“水”,希望这篇文章能帮助到你。
Shell 脚本编程实战全攻略:从入门到精通 本文系统讲解 Shell 脚本编程核心知识:Shell 概述与命令执行原理、脚本格式与两种执行方式、系统变量 / 自定义变量 / 特殊变量(\(n、\)#、\(*、\)@、$?)、运算符、条件判断、流程控制(if/case/for/while 及 $* 与 $@ 的区别)、read 控制台输入、函数封装、cut 与 awk 文本处理工具、正则表达式入门与经典邮箱手机号正则。 阅读详情

相关推荐

Linux系统应用:Web服务器(Apache2)的简单配置

常用的Web服务器有Apache、IIS、 Tomcat 、Nginx、Lighttpd、IBM Websphere等,其中应用最广泛的是Linux下的Apache(Apache也应用在Windows平台下),是世界使用排名第一的Web服务器软件;它可运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。而Windows平台下最常用的Web服务器是IIS。 防火墙配置命令ufw 安装ufw apt-get install ufw 常用命令 ufw enab

Dae_Lzh的博客 4955

Linux起动时Tomcat找不到JAVA虚拟机的问题

       最近在SlackWare下进行JAVA的学习。每次都要手工起动Tomcat,很不方便。于是照猫画虎写了一个脚本开机时自动运行Tomcat。       使用JDK1.5.6,安装在/app/jdk1.5.0_06目录下面,Tomcat是5.5的ZIP版本。 #!/bin/sh

基督山伯爵的专栏 4867

PHP4.03在linux下的安装

<!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--><script type="text/javascript"

zgqtxwd的专栏 425

linux下加载U盘或移动硬盘

只在CentOS4.3用过,其它发行版可能会通不过,网上查一下吧。把U盘或移动硬盘插入服务器运行命令:fdisk -l /dev/sda会看到如下信息:Disk /dev/sda: 40.0 GB, 40007761920 bytes255 heads, 63 sectors/track, 4864 cylindersUnits = cylinders of 16065 * 512 = 822

基督山伯爵的专栏 3411

贴近windows的字体效果。fedora ubuntu等linux全系列版本适用

用最简单的方法让linux也有近乎win一般的字体效果。fedora ubuntu等linux全系列版本适用。无须修改fonts.conf,无须打补丁。简单明了。方法如下:1.到 http://www.pkucn.com/viewthread.php?tid=205069&extra=page=1 下载带点阵的宋体(simsun.ttc),我用的是第一个带大点阵的字体。2.

基督山伯爵的专栏 3229

Mysql默认客户端中文问题的解决

在《LinuxApache2SSLPHP4GDMysql4.0Postgresql7ZendOptimizer编译安装全攻略》一文中,我们通过修改configure文件的默认字符集可以使mysql数据库支持gbk等中文。但是当在控制台下登陆mysql时发现默认的客户端(也就是mysql/bin/mysql)不支持中文。/app/mysql/bin/mysql –u root –p

基督山伯爵的专栏 2816

Tomcat5.5下打开远程调试端口

网上有很多如何打开Tomcat远程调试端口的文章,操作大多都很复杂,其实大可不必如此。注:以下方法只在Tomcat5.5中验证成功过 我用的是tomcat5.5的ZIP版并安装在/app/tomcat5.5,看看/app/tomcat5.5/catalina.sh的文件。注意这一段: #   JP

基督山伯爵的专栏 2509

linux下配置使用VNC

我用的是CentOS4.3,默认已经安装了vnc-server-4.0-8.1。如果你不确定你的系统安装了没用rpm –qa vnc | grep vnc 试试。以下操作都是以ROOT身份运行。vncpasswd 修改连接密码。 修改/root/.vnc/xstartup文件。 #!/bin/

基督山伯爵的专栏 2100

Fedora 8 安装后的配置[KDE]

Fedora 8 安装后的配置[KDE] 1.系统调整    对系统进行调整,停掉一些不必要的服务,这样会使系统运行的更快。打开终端输入:chkconfig –list | grep 3:启用可以看到很多的后台服务进程,其中有一些是做桌面应用不必要的。我打开的服务列表:acpid           0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启

基督山伯爵的专栏 2038

php编译安装的修正

1.在前面《LinuxApache2SSLPHP4GDMysql4.0Postgresql7ZendOptimizer编译安装全攻略》一文中php编译参数:--with-config-file-path=/data/app/php指定php.ini的位置是在/data/app/php安装的位置不在同一目录,后其后的cp php.ini-dist /app/php/lib/php/

基督山伯爵的专栏 2011

从虚拟机中制做ubuntu liveusb

最近想做个linux liveusb,网上资料都太复杂。偶然看到ubuntu有个liveusb。于是下来试试。 网上资料都是在一个安装好的ubuntu环境中进行。想了一下,不用安装也可以,只要虚拟机能正确识别U盘就可以了。 以下是安装全过程: 1.安装VirtualBox2.新建一个虚拟机,临时的,完成可删除。记得新建虚拟机时要加入usb支持。技巧就是:先插入U盘,

基督山伯爵的专栏 1754

Ubuntu 8.04 安装后配置全记录

 怎么安装就不写,主要写写安装后的配置情况,免得以后乱找。 一、设置源并更新ubuntu默认的源更新太慢。系统->系统管理->软件源->下载自->其它->选TW下的tw.archive.ubuntu.com也可以让系统自动选择最佳的服务器。选择退出。二、安装中文语言包系统->系统管理->语言支持->勾选中文,并设置成默认语言。确定后开始更新下载语言包。完成后

基督山伯爵的专栏 1371

VirtualBox在系统升级后的处理

升级内核后VirtualBox无法运行。关闭VirtualBox,然后用root身份运行:/etc/init.d/vboxdrv setup即可

基督山伯爵的专栏 871

WSL学习(二)——将WSL Ubuntu 迁移到 D 盘

本文详细介绍了将WSL2中的Ubuntu系统迁移至D盘的完整步骤:通过wsl -l -v确认名称,关闭WSL,创建目标目录,导出系统为.tar文件,注销原实例,再导入至D盘指定路径。由于导入后默认用户可能为root,需修改/etc/wsl.conf设置默认用户。最后验证系统完整性,确认ext4.vhdx文件存在并作为虚拟硬盘存储所有数据。迁移完成后可删除临时.tar文件,确保系统正常运行且不误操作虚拟磁盘。

qq_47885795的博客 165

03 嵌入式操作系统 | 常用命令Ⅰ:文件、查找与压缩

一句话概述:掌握文件与目录的增删改查、内容查看、文本查找以及打包压缩常用命令,配套课堂练习与课后作业。 本节目标 能用 cp、mv、rm、mkdir、touch 操作文件与目录 会用 cat、head、tail、grep 查看和筛选文件内容 会用 tar 打包压缩并解压文件

weixin_43951955的博客 229

MySQL source导入实战:踩坑记,phpMyAdmin 502、source导入巨慢问题解决

170M的SQL导入稳稳成功,一个27M的小文件,phpMyAdmin直接502。排查半天,不是上传大小限制,也不是服务器带宽问题,而是SQL语句结构踩了坑。后续改用MySQL的source命令导入,又遇到新麻烦:疯狂打印,跑的极慢,按Ctrl+C还停不下来,折腾很久才搞定。把踩坑过程整理出来。phpMyAdmin导入的瓶颈是PHP解析SQL,不是文件体积。大量单行INSERT很容易触发php-fpm超时,出现502;SQL文件超过10M,优先用MySQL source导入,绕开PHP层限制;

大华的程序人生 196

MySQL 索引底层原理与慢查询优化实战:从 B+ 树到执行计划

本文系统解析 MySQL InnoDB 的 B+ 树索引原理,对比 B 树、红黑树等数据结构的适用性,深入讲解聚簇索引、二级索引与覆盖索引机制,并结合 5 个慢查询案例,演示 EXPLAIN 执行计划分析与优化方法。重点剖析索引下推(ICP)技术如何减少回表次数,提升查询性能。最后总结索引设计原则,帮助开发者高效规避常见反模式,实现数据库性能优化。

weixin_74391389的博客 252

MySQL 8 zip包版 windows 安装

本文详细介绍了在Windows系统上通过ZIP包安装MySQL 8的步骤:下载解压后配置环境变量,创建my.ini配置文件,以管理员身份执行mysqld --initialize --console初始化数据库并记录临时密码,随后使用mysqld --install安装服务,启动服务后用临时密码登录,修改root用户密码完成配置。注意事项包括安装VC++运行库及数据目录重置方法。

HeLiang7的专栏 169
上一篇: PHP正则表达式典型应用三例
下一篇: Mysql默认客户端中文问题的解决
deng2001
博客等级 码龄24年 25粉丝 45原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值