分享
 
 
 

LIUNX9+MYSQL4.1+GD2.0+TRUETYPE+GIF SUPPORT + APACHE2.0+ + PHP4.3.10+ZEND 整和!

王朝mysql·作者佚名  2006-01-31
窄屏简体版  字體: |||超大  

绝对原创! 这个是DOS2000和我一起整理的。:)

说明:主要是以假设php网站为目标,网站使用了GD库(包括GIF create功能),采用zend加速,数据库用的是Mysql,由于程序设计和数据库使用了一些新版本的新特性,所以没办法使用Linux默认安装的Http和mysql服务,需要自己配制安装。

这方面的文章和教程很多了,我写这个笔记主要是为了自己备忘和总结经验。还有就是明确地为架设同类站点的程序员参考,因为很多程序员都没有太多时间研究Linux服务器的配置,希望能给他们省点儿时间。希望对Linux比较熟悉的高手或是网管朋友多多批评指正,不然有错误害了人可就不好了,呵呵。

准备工作首先你需要安装Linux,我推荐用Red Hat Linux,版本8.0以上就可以了,因为我在RH8、RH9和Fedora core2上面都用下面的方法安装成功过,其他的版本我没有试过,应该最好是用内核版本较高的Linux,这样编译比较少出问题。

以下是我用到的软件及下载地址。

Apachehttpd-2.0.54.tar.gz 下载地址:http://httpd.apache.org/download.cgi

l 说明:没有给出直接链接,因为Apache.org总是提供最新的版本下载,有可能现在已经不是2.054了,而是更高的版本。注意要下载源码包。

PHPphp-4.3.11.tar.gz 下载地址:http://www.php.net/downloads.php

l 说明:源码包

Mysqlmysql-max-4.1.12-pc-linux-gnu-i686.tar.gz

下载地址:http://dev.mysql.com/downloads/mysql/4.1.html

l 说明:反复装过几次,我个人觉得就Mysql而言,二进制包比RPM包的安装较少出问题,所以我个人推荐安装二进制包,而且RPM包一旦出问题,不容易查出问题所在。源码包编译也不错的,不过好像Mysql.com上不提供源码包下载了:(

GDgd-2.0.33.tar.gz 下载地址:http://www.boutell.com/gd/

l 说明:gd2.0.29开始就恢复GIF创建的支持了,这是一个珍贵的版本,建议保留一个,说不定什么时候又闹版权问题弄得不支持了,那样又要打补丁,很麻烦。GIF真的很变态,支持共享!

jpegsrc.v6b.tar.gz 下载地址:http://www.ijg.org (这个竟然是传说中的官网)

libpng-1.2.7.tar.gz 下载地址:http://www.libpng.org/pub/png/libpng.html

zlib-1.2.2.tar.gz 下载地址:http://www.gzip.org/zlib/

freetype-2.1.9.tar.gz 下载地址:http://www.freetype.org/

ZendZendOptimizer-2.5.10-linux-glibc21-i386.tar.gz 下载地址:http://www.zend.com/

卸载:我们需要把原来系统自带的或者后来采用rpm方式安装的Apache | mysql | php软件卸载掉,我听说不卸载rpm也是可以的,不会影响源码包或者二进制包的安装,就是将来你不起动那些进程就没问题了,但我还是建议卸载,因为rpm方式安装的软件把各种文件放在很多奇怪的地方,我感觉是非常不好管理的。

下面的卸载范例是Fedora core2默认安装的包。

卸载Mysql[root@yourdomainname/]# rpm -qa | grep mysql

mysql-3.23.58-9

php-mysql-4.3.4-11

mod_auth_mysql-20030510-4.1

mysql-server-3.23.58-9

l 说明:rpm –qa | grep mysql 命令是为了把mysql相关的包都列出来,我上面的例子是Fedora core2默认安装mysql的rpm软件包列表,如果是别的Linux版本列出来的列表有可能会不一样,不过不用担心,不管是什么,卸载都从最下面的一个包开始,直到卸载掉第一个为止。

l 比如:在这个例子中,我们应该先卸载mysql-server-3.23.58-9 方法如下:

rpm –e mysql-server

l 说明:rpm –e 是卸载rpm包的命令,后面是包名称,最后的版本号是不用打的,比如我们下一步卸载mod_auth_mysql-20030510-4.1包,方法如下:

rpm –e mod_auth_mysql

卸载Apache[root@ yourdomainname /]# rpm -qa | grep httpd

httpd-2.0.49-4

system-config-httpd-1.2.0-3

httpd-manual-2.0.49-4

l 说明:方法跟卸载Mysql一样,不用说了吧

卸载PHP[root@ yourdomainname /]# rpm -qa | grep php

php-odbc-4.3.4-11

php-4.3.4-11

php-mysql-4.3.4-11

php-pear-4.3.4-11

php-ldap-4.3.4-11

php-pgsql-4.3.4-11

l 说明:方法跟卸载Mysql一样,不用说了吧

l 注意:卸载的时候如果卸载不掉,系统一般会提示包的依赖关系,并且列出依赖的包的名称,先卸载提示依赖的包就可以了。

l 如果实在实在有卸载不掉的包,可以加—nodeps这个参数来卸载,比如我们卸载php-4.3.4-11,实在卸不掉了。就用:

[root@ yourdomainname /]# rpm -e php-4.3.4-11 –nodeps 命令很强硬,应该行的。

安装:安装Mysql二进制包解压缩:

# tar zxvf mysql-max-4.1.12-pc-linux-gnu-i686.tar.gz /usr/local

# cd /usr/local

# mv mysql-standard-4.0.20-pc-linux-i686 mysql

解压缩以后,可以看到mysql目录里面有一个文件叫INSTALL-BINARY,里面有很详细的二进制安装说明(可惜英文的),如果能看明白就基本上搞定了,我是看不懂地。其实解压以后,安装工作基本上已经完成了,配置一下就可以工作了。

我知道的目录和文件的用途:

目录

目录的内容

/bin

客户程序和mysqld服务器

/data

日志文件和数据库文件存放的地方,这个位置跟源码包的安装是有区别的,源码包的目录是var

/include

头文件 这些文件是php编译时会用到的

/lib

库文件 这些文件是php编译时会用到的

/scripts

mysql_install_db 就这一个文件,初始化数据库

添加用户和组:

下面添加 mysql 用户组和用户(如果你刚刚卸载掉mysql,组和用户都是存在的,验证一下吧),如果系统中还没有mysql组和用户,建立他们:

# groupadd mysql

# useradd -g mysql -d /usr/local/mysql -s /sbin/nologin mysql

l 上面第一条命令建立mysql组,第二条添加mysql帐号,并设定其主目录为/usr/local/mysql,如果你的mysql解压在别的地方就改一下,同时出于安全考虑设定该帐号不可以登录系统

初始化数据库:

# scripts/mysql_install_db --user=mysql

用mysql这个用户运行 /usr/local/mysql/scripts目录下的数据库初始化程序

l 注意:这个命令只能在mysql的安装目录下(/usr/local/mysql)执行,别的地方执行是绝对不可以的,也不要到scripts目录底下去执行。

权限设定:

# chown -R root .

# chown -R mysql data

# chgrp -R mysql .

启动一下试试:

# /usr/local/mysql/bin/safe_mysqld

# /mysql

mysql>

最后将safe_mysqld拷贝到safe_mysqld /etc/rc.d/init.d/ 成为系统启动的守护进程!

这就意味着成功安装了mysql了,其他的事情推荐安装了apache 编译了php以后再做,因为那时候上传一套phpmyadmin就完事大吉了。

安装APACHE2:

首先# tar zxvf apache.gar.gz

./configure -prefix=/usr/local/apache2 -enable-so (可改为你自己的目录;-enable-so用于加载connector,不可省略,你还可以加上你自己的其他模块)

make

make install

cd /usr/local/apache2/conf

vi httpd.conf

更改:servername 你的机器ip或域名

1、 安装jpeg-6b

#./configure

#make

编译成功,但是在安装的时候报错,系统提示不能将文件拷贝到/usr/local/man/man1这个目录,于是建立目录以后安装成功:

#mkdir /usr/local/man & /usr/local/man/man1

安装记录

# make install

# make install-lib //以前因为没有执行这一步安装导致在编译php时报错

2、libpng-1.2.5的安装配置

#cp scripts/makefile.gcmmx makefile \\makefile.gcmmx是针对MMX指令集优化的

#make && make install

3、zlib-1.1.4安装配置

#./configure --shared \\shared生成zlib的共享库文件

#make && make install

4、freetype-2.1.5安装配置

#./configure

#make && make install

5.gd-1.0.15安装配置

#./configure

配置完成后,注意输出的信息是否如下:

** Configuration summary for gd 2.0.15:

Support for PNG library: yes

Support for JPEG library: yes

Support for Freetype 2.x library: yes

Support for Xpm library: no

Xpm库以前安装不成功,如果程序部门不常用用,一般PNG/JPEG/FREETYPE三个库打开支持就行

#make && make install

#cp gd.h /usr/local/lib \编译PHP的时候会缺少这个文件出错

配置PHP

./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-apxs2=/usr/local/apache2/bin/apxs --enable-track-vars --with-config-file-path=/usr/local/php/etc --with-gd --enable-sysvmsg --enable-sockets --enable-sysvshm --enable-sysvsem --enable-gd-native-ttf --with-ttf=/usr/lib --disable-debug --with-tiff-dir=/usr/lib --with-jpeg-dir=/usr/local/lib --with-png-dir=/usr/local/lib --with-xml --with-gdbm-dir=/usr/lib --enable-wddx --with-freetype-dir=/usr/local/lib --with-zlib

#make

#make install

注意路径!!!

配置:Httpd.conf的修改支持php

虚拟主机Httpd.conf 的虚拟主机配置的例子里面,只用到了开设虚拟主机最常用的几条命令,其他的虚拟主机功能非常强大,在http://httpd.apache.org/docs-2.0/ 里面有详细的说明:

l 比较有用的一条 ServerAlias ,如果你需要一台虚拟主机支持多个别名的指向,就很需要了,还可以支持通配符:

<VirtualHost *>

ServerName server.domain.com

ServerAlias server server2.domain.com server2

# ...

</VirtualHost>

PHP.ini的修改默认设为中文:

找到以下行:

;default_charset = "iso-8859-1"

在这行下面加一行或修改成:

default_charset = "gb2312"

关于PHP.ini大家弄的都很熟悉了。这里不在赘述!!

我遇到过的问题及解决方法问:在使用Freetype的时候,程序提示字体找不到,并且列出了字体的名称和位置

答:其实很简单,不同版本的Freetype默认安装的目录是不一样的,找到默认安装的目录,修改程序使用正确的路径就可以了。如果是编译的程序你改不了的话,就把系统目录按照程序的要求cp一份就可以了。同时默认安装路径尽量放到/usr/local/就OK了!!

所有文件的下栽我做了一个包。路径在http://www.smartshop.com.cn/soft/liunx_soft.rar

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有