所需软件源代码包: httpd-2.2.4.tar.gz mysql-5.0.27.tar.gz php-5.2.1.tar.bz2 freetype-2.3.2.tar.gz gd-2.0.34.tar.gz jpegsrc.v6b.tar.gz libpng-1.2.8.tar.bz2 libxml2-2.6.24.tar.bz2 zlib-1.2.2.tar.gz 安装顺序:apache -> mysql -> freetype -> jpegsrc.v6b -> libpng -> libxml -> zlib -> gd -> php ( freetype,jpegsrc.v6b,libxml,zlib,libpng 的安装顺序不限) 约定目录:/usr/local/src 软件源代码包存放位置 /usr/local/software_name 源码包编译安装位置 安装命令: 1 apache # cd /usr/local/src # t ar xzvf http-2.2.4.tar.gz # cd http-2.2.4 # ./configure \ "--prefix=/usr/local/apache2" \ "--enable-module=so" \ "--enable-deflate=shared" \ "--enable-expires=shared" \ "--enable-rewrite=shared" \ "--enable-static-support" \ "--enable-static-htpasswd" \ "--enable-static-htdigest" \ "--enable-static-rotatelogs" \ "--enable-static-logresolve" \ "--enable-static-htdbm" \ "--enable-static-ab" \ "--enable-static-checkgid" \ "--disable-userdir" # make # make install # /usr/local/apache2/bin/apachectl start 出现错误的话就是因为域名的关系,直接从http.conf里面修改把域名改成本地IP # /usr/local/apache2/bin/apachectl stop 2. mysql # tar xzvf mysql-5.0.27.tar.gz # cd mysql-5.0.27 # ./configure \ "--prefix=/usr/local/mysql" \ "--localstatedir=/var/lib/mysql" \ "--with-comment=Source" \ "--with-server-suffix=-Comsenz" \ "--with-mysqld-user=mysql" \ "--without-debug" \ "--with-big-tables" \ "--with-charset=" \ #这个后边需要指定你所需要的字符集参数(utf8......) "--with-collation= " \ #字符集校正码(utf8_general_ci,......) "--with-extra-charsets=all" \ "--with-pthread" \ "--enable-static" \ "--enable-thread-safe-client" \ "--with-client-ldflags=-all-static" \ "--with-mysqld-ldflags=-all-static" \ "--enable-assembler" \ "--without-isam" \ "--without-innodb" \ "--without-ndb-debug" # make # make install # useradd mysql # cd /usr/local/mysql # bin/mysql_install_db --user=mysql # chown -R root:mysql . (注意后面的点) # chown -R mysql /var/lib/mysql # cp share/mysql/my-huge.cnf /etc/my.cnf # cp share/mysql/mysql.server /etc/rc.d/init.d/mysqld # chmod 755 /etc/rc.d/init.d/mysqld # chkconfig --add mysqld # /etc/rc.d/init.d/mysqld start (启动mysql) # bin/mysqladmin -u root password "password_for_root" (改密码) 3 安装库 (1)libxml # cd /usr/local/src # tar xjvf libxml2-2.6.24.tar.bz2 # cd libxml2-2.6.24 # ./configure --prefix=/usr/local/libxml2 # make # make install (2)jpeg6 建立目录 # 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 # cd /usr/local/src # tar vzxf jpegsrc.v6b.tar.gz # cd jpeg-6b # ./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static # make # make install (3)freetype # cd /usr/local/src # tar zvxf freetype-2.3.2.tar.gz # cd freetype-2.3.2 # ./configure --prefix=/usr/local/freetype # make # make install (4)zlib # cd /usr/local/src # tar zvxf zlib-1.2.2.tar.gz # cd zlib-1.2.2 # ./configure –prefix=/usr/local/zlib # make # make install (5) libpng # cd /usr/local/src # tar zjvf libpng-1.2.8.tar.bz2 # cd libpng-1.2.8 # cp scripts/makefile.std makefile # make # make install (6)gd # cd/usr/local/src # tar xzvf gd-2.0.34.tar.gz # cd gd-2.0.34 #./configure --prefix=/usr/local/gd2 --with-png=/usr/local/lib --with-zlib=/usr/local/zlib --with-freetype=/usr/local/freetype --with-jpeg=/usr/local/jpeg6 –with-libxml=/usr/local/libxml2 # make # make install 4 php # cd /usr/local/src # tar xvjf php-5.2.1.tar.bz2 # cd php-5.2.1 #./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql/ --with-libxml-dir=/usr/local/libxml2 --with-gd=/usr/local/gd2/ --with-jpeg-dir=/usr/local/jpeg6/ --with-zlib-dir=/usr/local/zlib --with-png-dir=/usr/local/lib --with-freetype-dir=/usr/local/freetype --enable-xml --enable-mbstring --enable-sockets # make # make install # cp php.ini-dist /etc/php.ini 装完php重启apache和mysql 看是否运行正常,若无报错信息。就可以开始修改配置文件了。如果出错,需要重新编译,在重新编译之前要运行make clean或make disclean清除先前的编译环境 整合apache和php # 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 注意.php前有一个空格 把DirectoryIndex index.html改成 DirectoryIndex index.html index.php 修改虚拟目录 #vi /etc/php.ini 把register_globals = Off 改成register_globals = On 最后重启apache mysql 写个测试页
若看到php信息则成功。
|