MySQL+Apache+GD+PHP+Zend+ImageMagick

来源:互联网 发布:帝妃思养身内衣知乎 编辑:程序博客网 时间:2024/06/10 17:06

from:http://goxia.maytide.net/read.php?795

此次部署网站服务器设计到的软件:
  1
Redhat Linux Fedora4
  2
Apache-2.0.55
  3
MySQL-4.4.15
  4
Zlib-1.2.2
  5
Freetype-2.1.5
  6
Libpng-1.2.5
  7
Jpegsrc.v6b
  8
GD-2.0.33
  9
GetText-0.12.1
10
ImageMagick-6.2.5-5
11.Imagick-0.9.8.tgz

12
PHP-4.3.10
13
ZendOptimizer-2.6.0


MySQL 的安装配置
      MySQL我是非常认可的数据库服务器之一,我属于微软阵营但是对微软的 ASP 和 SQL2000 真的不敢恭维,所以最终我的个人网站选择了以 PHP+MySQL 为核心的架构,MySQL 不但免费而且他支持手工安装,这样是非常灵活的,因为在系统重新部署后我可以很轻易的恢复之前的 MySQL。安装步骤:

groupadd mysql

useradd mysql -g mysql

tar zxvf mysql-4.4.15.tar.gz

./configure --prefix=/usr/local/mysql --with-charset=gbk

make

make install

scripts/mysql_install_db --user=mysql

chown -R root  .

chown -R mysql var

chgrp -R mysql .

 

cp support-files/my-medium.cnf /etc/my.cnf

(cp /usr/local/mysql/share/mysql/mysql.server /usr/local/mysql/share/mysql/mysqld

chmod a+x /usr/local/mysql/share/mysql/mysqld)

小注:在启动MySQL服务前我先修改my.cnf配置文件,添加 old_password 参数,这样可以避免修改root密码后,phpmyadmin无法访问MySQL数据库,不过我的做法通常都是在phpmyadmin可以使用后再去修改root帐号的密码,这样更安全!毕竟我是Linux新手,一些达人的解决方法我看着头晕!

/usr/local/mysql/share/mysql/mysqld start

/usr/local/mysql/bin/mysqld_safe --user=mysql &

/usr/local/mysql/bin/mysqladmin -u root -p password 'new_password'

MySQL 的两种自启动方式:
第一种方式:将 MySQL 作为服务,当系统启动时自动加载此服务并自动运行,我个人喜欢这种方式,因为在开机的时候就可以看到 MySQL 是否正常启动。实现方法:

cp /usr/local/mysql/share/mysql/mysql.server /etc/rc.d/init.d/mysqld

cd /etc/rc.d/init.d

chkconfig --add mysqld

ntsysv

第二种方式:将 MySQL 作为批处理方式自动运行。实现方式:

vi /etc/rc.d/rc.local

/usr/local/mysql/share/mysql/mysqld start

注:FreeBSD下则为:

#ee /etc/rc.conf

#mysql_enable="YES"

至此,MySQL 的安装和配置就完成了

 

 

Apache 的安装配置
      Apache 全球性能卓越的开源 web 服务器,市场占有率最高!很多大型门户网站都在使用它。之前我选择的是1.0.33版本后来发现编译很麻烦,后来选择2.22.0版朋友又说版本太高不适合我,最后我选择了2.0.55。因为要支持 PHP 所以找了很多安装配置资料查编译参数,后来以网上一篇 Blog 为基础实现了适合自己的编译安装。

tar zxvf httpd-2.0.55.tar.gz

./configure --prefix=/usr/local/apache --with-mysql=/usr/local/mysql --enable-track-vars --enable-cgi --enable-so --enable-mods-shared=all --enable-xml --enable-module=rewrite --with-config-file-path=/usr/local/apache/conf

make

make install

Apache的两种自启动方式:
第一种方式:将Apache以服务方式自运行,这个方法最终还是从 Discuz 官方论坛上找到的,当时找到并实验成功后,那叫兴奋!呵呵,谁叫俺是 Linux 菜鸟!实现方法:

cp /usr/local/apache/bin/apachectl /etc/rc.d/init.d/httpd

vi /etc/rc.d/init.d/httpd,在httpd文件的第三行下面,插入以下两句话:
# chkconfig: 345 85 15
# description: Starts and stops the Apache HTTP Server.

chmod +x /etc/rc.d/init.d/httpd

chkconfig --add httpd

chkconfig --list

  成功后,就可以用 service httpd start, service httpd restart, service httpd stop来启动、重启、和终止 httpd service。

第二种方式:以批处理自动运行,实现方法:

vi /etc/rc.d/rc.local

/usr/local/apache/bin/apachectl start

添加Apache启动命令。以上完成后就可以在浏览器里测试一下网站是不是可以打开!

 

 

GD 支持的安装配置
      GD 的成功安装和使用还依赖其它的几个组件模块,所以在 GD 安装之前需要先安装好其它组件模块。为此,先建立模块的初始目录:

mkdir /usr/local/modules

mkdir /usr/local/modules/jpeg6

mkdir /usr/local/modules/jpeg6/bin

mkdir /usr/local/modules/jpeg6/lib

mkdir /usr/local/modules/jpeg6/include

mkdir /usr/local/modules/jpeg6/man

mkdir /usr/local/modules/jpeg6/man/man1
      之所以要建立 Jpeg6 的目录是因为在实际编译安装时如果不事先建立Jpeg6的根目录和子目录编译就会失败,郁闷!

依照顺序安装 GD 的其它组件:
A.安装 Zlib

tar xzvf zlib-1.2.2.tar.gz

cd zlib-1.2.2

./configure

make

make install

B.安装 Freetype

tar xzvf freetype-2.1.5.tar.gz

cd freetype-2.1.5

./configure --prefix=/usr/local/modules/freetype

make

make install

C.安装 Libpng

tar xzvf libpng-1.2.5.tar.gz

cd libpng-1.2.5

cp scripts/makefile.std makefile

make test

make install

D.安装 Jpeg6

tar xzvf jpegsrc.v6b.tar.gz

./configure --prefix=/usr/local/modules/jpeg6 --enable-shared --enable-static

make

make install

开始安装 GD 支持

tar xzvf gd-2.0.33.tar.gz

./configure --prefix=/usr/local/modules/gd --with-jpeg=/usr/local/modules/jpeg6 --with-png --with-zlib --with-freetype=/usr/local/modules/freetype

make

make install
至此,GD 库的支持就算是完成了!

 

 

PHP 的安装配置
      此次的 PHP 安装,我加入了 gettext 组件和 ImageMagick 组件支持,如果不需要这两个组件的话可以直接开始 PHP 的编译安装,而我的方式是:
A.安装gettext

tar zxvf gettext-0.12.1.tar.gz

./configure --prefix=/usr/local/gettext

make

make install

B.安装ImageMagick
      因为被很多PHP的相片程序需要这个组件并且都说此组件的功能更加强大,所以最终我决定在我的此次部署中安装它。ImageMagick的安装需要先编译安装一遍PHP得到phpize,之后将ImageMagick For PHP的API拷贝到PHP的源代码对应目录后再次编译安装才能使PHP支持这个组件。为此我先安装的ImageMagick,之后编译安装PHP一遍得到phpize,执行准备工作,最后完成支持ImageMagick的PHP完整编译安装。

tar zxvf ImageMagick-6.2.5-5.tar.gz

cd ImageMagick-6.2.5

./configure --prefix=/usr/local/ImageMagick --enable-shared --enable-lzw --enable-modules

make

make install

C.第一次编译安装PHP(没有对ImageMagick的支持)

tar xzvf php-4.3.10.tar.gz

cd php-4.3.10

./configure --prefix=/usr/local/php --with-gd=/usr/local/modules/gd --with-jpeg-dir=/usr/local/modules/jpeg6 --with-zlib --with-png --with-freetype-dir=/usr/local/modules/freetype --with-mysql=/usr/local/mysql --with-iconv --enable-mbstring --with-apxs2=/usr/local/apache/bin/apxs --with-gettext=/usr/local/gettext --enable-track-vars --enable-ftp --enable-safe-mode --enable-xml --enable-magic-quotes --disable-debug --with-config-file-path=/usr/local/php/etc

make

make install
      小注:按照网上的按照资料,说是编译一次就可以得到phpize,可我执行phpize却提示无效命令,后来才知道phpize所在其它目录,并非像网上那样的操作!也正因此,我是完全编译安装PHP后才找到phpize在/usr/local/php/bin目录下。

D.安装Imagick API For PHP

在PHP源代码目录下执行mkdir ext/imagick

然后把imagick-0.9.8.tgz解压到ext/imagick目录下

运行命令/usr/local/php/bin/phpize

cd php源代码根目录

rm configure

./buildconf --force

E.第二次编译安装PHP(加入了对Imagick的支持)

cd php-4.3.10

./configure --prefix=/usr/local/php --with-gd=/usr/local/modules/gd --with-jpeg-dir=/usr/local/modules/jpeg6 --with-zlib --with-png --with-freetype-dir=/usr/local/modules/freetype --with-mysql=/usr/local/mysql --with-iconv --enable-mbstring --with-apxs2=/usr/local/apache/bin/apxs --with-gettext=/usr/local/gettext --with-imagick=/usr/local/ImageMagick --enable-track-vars --enable-ftp --enable-safe-mode --enable-xml --enable-magic-quotes --disable-debug --with-config-file-path=/usr/local/php/etc

make

make install

cp php.ini-dist /usr/local/php/etc/php.ini
    至此,完成了PHP的编译安装,下来对php.ini文件作修改,以满足需要!

 

 

使Apache支持PHP及CGI
      上面的工作全部完成后,还没有真正完成,因为此时的Apache还无法解释PHP和CGI语言,所以要对Apache的配置文件httpd.conf作一下修改才能实现解释PHP和CGI:
A.添加对PHP的支持:

查找AddType application/x-tar .tgz ,也就是关于AddType的配置行,在下面添加
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .phtml
AddType application/x-httpd-php-source .phps

找到DirectoryIndex index.html index.html.var
根据需要在index.html前或此行最后添加index.php,这样做是为了使index.php成为默认页。

B.添加对CGI的支持:

查找:#AddHandler cgi-script .cgi

改为:AddHandler cgi-script .cgi .pl
      至此,任务都已经算是完成了。可以稍微休息一下!

 

ZendOptimizer的安装
      之所以要安装ZendOptimizer是因为一些商业的PHP程序对代码进行了加密,所以必须安装此组件才能正确地运行这些商业程序,比如:Discuz等等。ZendOptimizer的安装非常的简单:

tar zxvf ZendOptimizer-2.6.0-linux-glibc21-i386.tar.gz

cd ZendOptimizer-2.6.0-linux-glibc21-i386

./install.sh

接下来弹出简单的图形安装界面,一路下一步,注意的是到Enter the location of your php.ini file这项配置时填入PHP的配置文件php.ini的文件位置,最终完成安装。
/usr/local/php/etc

----------------------------------------------------------------------------------------------------------------------

      现在总算完成了所有的工作,感觉真的很累但是却很有意思!因为一切都是在文字界面下和键盘操作下完成的,这对一个系统工程师来讲,实际上是一件非常轻松愉快的事情,因为远程操作在此种情形下要比windows人性的图形化操作更加快速便捷,文字显示所要求的带宽远远低于图形化界面;备忘完整的操作命令可以方面的灌出一个系统。

      闲话少说,写一个php的测试文档看看成果吧。

<?

phpinfo();

?>

 


原创粉丝点击