红联Linux门户
Linux帮助

Apache + Mysql + Php + GD + ZendOptimizer + JDK + Tomcat 安装与配置

发布时间:2008-01-02 00:05:00来源:红联作者:CDflexaz
1)安装配置Mysql (Mysql4.x.xx 与 Mysql5.x.xx 版本皆可)

打开并进入Mysql编译环境:
$ tar xzvf mysql-x.x.xx.tar.gz
$ cd mysql-x.x.xx/

修改编译所需配置文件sql/mysqld.cc 中的最大连接数:
搜索:&max_connections, 0, GET_ULONG, REQUIRED_ARG, 100, 1, 16384, 0, 1,
修改:&max_connections, 0, GET_ULONG, REQUIRED_ARG, 200, 1, 16384, 0, 1,

$ groupadd mysql
$ useradd -g mysql mysql

(如果是Debian或Ubuntu系统的话可能需要)
安装系统默认缺少的curses/termcap 库:
$ apt-cache search curses | grep lib
$ apt-get install libncurses5-dev

$ mkdir -p /opt/mysql/data
$ mkdir -p /opt/mysql/var

$ ./configure --prefix=/opt/mysql --with-mysqld-user=mysql --with-extra-charsets=all --with-unix-socket-path=/opt/mysql/var/mysql.sock --localstatedir=/opt/mysql/data--with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static --enable-assembler
注:--prefix=/opt/mysql 把mysql-x.x.xx指定安装到/opt/mysql目录中;
--with-extra-charsets=all 对多语言的支持;
--with-unix-socket-path=/opt/mysql/var/mysql.sock 这个是指定mysql服务器启动后,联机套接字文件所处的位置和文件名,避免mysql无法启动的情况发生;
--with-mysqld-user=username 这个是让mysql服务器也能让系统中普通用户username也能启动mysql服务器,避免死掉但无法推出的情况;
--localstatedir=/opt/mysql/data 指定数据库文件存放的目录;

$ make
$ make install

待MySQL安装完毕.剩下的就是配置了;
$ cp /opt/mysql/share/mysql/my-medium.cnf /etc/my.cnf

注:将配置文件拷贝到/etc目录下成为my.cnf,大家可以根据自己的需要选择配置文件(配置文件在/opt/mysql/share/mysql/目录下,有my-huge.cnf my-medium.cnf my-large.cnf my-small.cnf这些).

修改mysql各系统文件权限与属主,以避免启动时造成错误;
$ chmod 755 /opt/mysql/var/ 设置/opt/mysql/var的目录权限为755
$ chown -R mysql:mysql /opt/mysql/ 把/opt/mysql目录归属到mysql这个用户下

创建MySQL的授权表;
$ /opt/mysql/bin/mysql_install_db -user=mysql

配置并启动Mysql服务;
$ /opt/mysql/bin/mysqld_safe &
$ cp /opt/mysql/share/mysql/mysql.server /etc/init.d/mysqld
$ cd /opt/mysql/libexec
$ cp mysqld mysqld.old
$ strip mysqld
$ ln -s /opt/mysql/bin/mysql /usr/bin/mysql
$ ln -s /opt/mysql/bin/mysqladmin /usr/sbin/mysqladmin

$ netstat -atln 查看3306端口是否打开
$ /etc/init.d/mysqld restart 如果重启mysql顺利则说明mysql安装成功
$ mysqladmin -u root password 123456 设置mysql的root密码

$ mysql -uroot -p123456 使用root用户进入mysql命令行
mysql>use mysql;
mysql>delete from user where password="";删除用于本机匿名连接的空密码帐号
mysql>flush privileges;
mysql>quit;

进入/etc目录下的rc2.d rc3.d rc4.d rc5.d 目录建立开机自启动服务的软链接文件;
$ ln -s ../init.d/mysqld S20mysql
进入/etc目录下的rc0.d rc1.d rc6.d 目录建立关机自停止服务的软链接文件;
$ ln -s ../init.d/mysqld K20mysql


2)安装配置Apache (Apache2.x.x 版本)

打开并进入Apache编译环境:
$ tar xzvf httpd-2.x.x.tar.gz
$ cd httpd-2.x.x/

$ ./configure --prefix=/opt/apache --enable-so --enable-rewrite --enable-cgi --with-config-file-path=/opt/apache/conf --enable-track-vars --with-mpm=worker
注:--prefix=/opt/apache 指定安装到/opt/apache目录中;
--enable-cgi 支持CGI;
--with-config-file-path=/opt/apache/conf 指定把配制文件放在/opt/apache/conf目录中;
--enable参数告诉设置脚本,我们需要启动so和rewrite模块,so模块是用来提供DSO支持的apache核心模块,而rewrite模块则是用意实现地址重写的模块,由于rewrite模块需要DBM支持,如果在初次安装时没有编译进apache,以后需要用到时需要重新编译整个apache才可以实现。

$ make
$ make install
修改配置文件/opt/apache/conf/httpd.conf:

ServerName 127.0.0.1:80


DirectoryIndex index.html index.html.var index.htm index.php


# If the AddEncoding directives above are commented-out, then you
# probably should define those extensions to indicate media types:
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

$ cp /opt/apache/bin/apachectl /etc/init.d/apachectl
$ ln -s /opt/apache/bin/apachectl /usr/bin/apachectl

进入/etc目录下的rc2.d rc3.d rc4.d rc5.d 目录建立开机自启动服务的软链接文件;
$ ln -s ../init.d/apachectl S20apache
进入/etc目录下的rc0.d rc1.d rc6.d 目录建立关机自停止服务的软链接文件;
$ ln -s ../init.d/apachectl K20apache

$ apachectl start
在浏览器的地址栏中输入商用通IP,若看到“It works!”字样或 Apache羽毛页面则说明安装成功!

3)安装Php以及相关常用组件 (Php4.x.x 与 Php5.x.x 版本皆可)

编译安装GD库相关套件:
zlib: 进入解压后的zlib目录并执行以下命令:
$ ./configure
$ make
$ make install
freetype:进入解压后的freetype目录并执行以下命令:
$ ./configure --prefix=/usr/local/freetype
$ make
$ make install
libpng:进入解压后的libpng目录并执行以下命令:
$ ./configure
$ make
$ make install
jpeg-6b:进入解压后的jpeg-6b目录并执行以下命令:
$ mkdir -p /usr/local/jpeg/bin
$ mkdir /usr/local/jpeg/lib
$ mkdir /usr/local/jpeg/include
$ mkdir -p /usr/local/jpeg/man/man1
$ ./configure --prefix=/usr/local/jpeg --enable-shared --enable-static
$ make
$ make install
GD Library:进入解压后的gd目录并执行以下命令:
$ ./configure --prefix=/usr/local/gd --with-jpeg=/usr/local/jpeg --with-freetype=/usr/local/freetype --with-png --with-zlib
$ make
$ make install

打开并进入Php编译环境:
$ tar xzvf php-x.x.x.tar.gz
$ cd php-x.x.x/

(如果是Debian或Ubuntu系统的话可能需要)
安装系统默认缺少的lex 组件:
$ apt-get install flex

编译并安装php:
$ ./configure --prefix=/opt/php --with-apxs2=/opt/apache/bin/apxs --with-gd=/usr/local/gd --enable-gd --enable-gd-native-ttf --with-jpeg-dir=/usr/local/jpeg --with-png --with-ttf --with-zlib --with-freetype-dir=/usr/local/freetype --enable-magic-quotes --with-mysql=/opt/mysql --with-mysql-sock=/opt/mysql/var/mysql.sock --with-iconv --with-mbstring --enable-mbstring --enable-track-vars --enable-force-cgi-redirect --enable-ftp --with-config-file-path=/opt/php/etc --with-pear=/opt/php/pear --enable-sockets --with-mail --with-xml

$ make
$ make install

$ cp php-x.x.x/php.ini-dist /opt/php/etc/php.ini

修改配置文件/opt/php/etc/php.ini:
register_globals = On

然后编写php测试页info.php:内容如下:
phpinfo();
?>

查看/opt/apache/conf/httpd.conf文件,看是否存在语句(如果安装的Php5):
LoadModule php5_module modules/libphp5.so
如果存在,即说明apache已经成功加载了php模块;

$ apachectl restart
将info.php放置到/opt/apache/htdocs 目录下;
$ chmod 755 info.php
在浏览器中能在该页面中看到php的信息则说明安装成功!
注:启用了SELinux的FC或RedHat会提示权限问题并导致Php无法正常工作,禁用SELinux后重启系统即可解决问题。


4)安装配置ZendOptimizer (各个版本皆可)
$ tar xzvf ZendOptimizer-x.x.x-linux-x-i386.tar.gz
$ cd ZendOptimizer-x.x.x/
$ ./install.sh
接着依照安装向导的提示信息完成整个安装配置过程;

此刻,LAMP环境已经安装完毕,不需要Tomcat服务的话到这里就算结束了。

5)安装配置JDK ( j2sdk-1.4.2.xx 版本皆可)

$ chmod a+x j2sdk-1_4_2_09-linux-i586.bin (本文中安装的版本为 1.4.2_09)
$ ./j2sdk-1_4_2_09-linux-i586.bin
安装后会生成文件夹j2sdk1.4.2_09,将文件夹j2sdk1.4.2_09移动(或复制)到你想要存放的JDK的位置(本文中是/opt/j2sdk1.4.2_09/);
接下来编辑/etc/profile文件加入JDK环境变量,在文件末尾处加入以下内容:

$ vi /etc/profile

export JAVA_HOME=/opt/j2sdk1.4.2_09
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
export JRE_HOME=$JAVA_HOME/jre

$ source /etc/profile
这样可以使配置文件的内容立刻生效;

$ set
在这里你可以看见当前所有的环境变量;

$ java -version
如果JDK配置正确的话,运行上面的命令将会出现JDK的相应版本。


6)安装配置Tomcat以及相关组件 (jakarta-tomcat-5.x.xx版本皆可)
$ tar xzfv jakarta-tomcat-5.0.28.tar.gz (本文安装的版本是:jakarta-tomcat-5.0.28)

$ cp -rf jakarta-tomcat-5.0.28 /opt/tomcat
$ cd /opt/tomcat/

现在来测试一下tomcat是否安装成功:

$ ./bin/startup.sh 启动tomcat服务
访问http://127.0.0.1:8080/ 看能否看到tomcat的默认页面,能看到说明tomcat服务已经在运行了。

$ ./bin/shutdown.sh 停止tomcat服务
注意观察停止服务的时候有无报错信息。
开始安装jakarta-tomcat-connectors-jk2,用来整合apache和tomcat,编译生成的mod_jk2.so模块被apache加载之后,就能将不属于自己的请求转发给tomcat:
$ tar xzfv jakarta-tomcat-connectors-jk2-2.0.4-src.tar.gz

$ cd jakarta-tomcat-connectors-jk2-2.0.4-src/jk/native2/

$ ./configure --with-apxs2=/home/www/apache/bin/apxs
$ make

$ cd ../build/jk2/apache2/
$ /opt/apache/bin/apxs -n jk2 -i mod_jk2.so (将mod_jk2.so添加到apache2的modules中)

上面就完成了Tomcat和Connectors的安装.接下来进行与Apache的整合.

Tomcat与Apache的整合:
$ cd /opt/apache/conf/

vi httpd.conf

编辑配置文件在其中加入这个模块,保存退出;
LoadModule jk2_module modules/mod_jk2.so

然后在这个目录新建一文件workers2.properties
$ vi workers2.properties

[channel.socket: localhost:8009]
port=8009
host=localhost
[ajp13: localhost:8009]
channel=channel.socket: localhost:8009
[uri:/*.jsp]
worker=ajp13: localhost:8009
[uri:/examples/*.jsp]
worker=ajp13: localhost:8009

$ cd /opt/tomcat/conf/

vi server.xml
找到其中的中的项,修改相关参数如下,保存退出;


$ /opt/tomcat/bin/startup.sh
$ apachectl restart
重启Apache和Tomcat后即可查看到整合后的效果。
文章评论

共有 34 条评论

  1. zl6536 于 2012-10-09 14:30:59发表:

    我先实验一下!!!!!!!!!!!!!

  2. lickn 于 2011-12-09 14:19:50发表:

    学习了

  3. lickn 于 2011-12-09 14:19:37发表:

    学习了

  4. software_data 于 2011-10-03 18:07:39发表:

    谢谢分享

  5. liusongguang 于 2011-08-09 12:19:34发表:

    thankyou

  6. ngawoo 于 2011-08-08 23:29:17发表:

    thanks.

  7. shuming 于 2011-06-09 22:01:15发表:

    现收藏 学习一下

  8. china19901107 于 2011-05-26 23:10:14发表:

    不错不错,支持支持!!!!

  9. xiang5206267 于 2011-02-12 16:54:14发表:

    好复杂,有没有linux学习的QQ交流群。

  10. wei86211 于 2011-02-09 08:37:35发表:

    看下

  11. 独爱思 于 2011-02-03 20:51:00发表:

    看看,挺不错的东西,最起码有些东西没有接触过

  12. perhapszj5566 于 2010-10-10 21:49:58发表:

    收藏了 谢谢楼主分享

  13. ydlke 于 2010-09-06 10:09:49发表:

    真是写的相当的好啊。

  14. vastmy 于 2010-09-02 17:50:59发表:

    :0wl;l1

  15. vastmy 于 2010-09-02 17:50:21发表:

    一切都不知道,试了才知行不行!

  16. wangdylt 于 2010-09-01 16:47:41发表:

    不错的东西

  17. fhg7799028 于 2010-09-01 15:54:44发表:

    谢谢,学习一下

  18. kafan160 于 2009-07-20 06:04:27发表:

    哈哈,有点难,学习中。。。。。

  19. wangyoubang 于 2009-07-16 19:53:10发表:

    太谢谢

  20. wangyoubang 于 2009-07-16 19:51:43发表:

    再次学习一下

  21. kafan160 于 2009-07-16 15:40:39发表:

    那么多,有点晕!

  22. wangyoubang 于 2009-07-14 22:16:10发表:

    再次 支持

  23. wangyoubang 于 2009-07-14 22:15:57发表:

    绝对 支持

  24. Liehuo 于 2009-07-13 13:41:41发表:

    我试验一下,谢谢!

  25. 刘冲 于 2009-06-07 11:20:31发表:

    不错,这个可以顶!

  26. ermaima 于 2009-06-07 11:02:28发表:

    支持!

  27. 畅想老三 于 2009-04-18 16:56:34发表:

    看看 学习学习

  28. liunx0129 于 2009-04-15 09:01:07发表:

    不知道是不是可以安装成功呀。

  29. apple_love 于 2009-03-22 12:32:59发表:

    thanks!

  30. 47328983 于 2009-02-18 13:05:54发表:

    好东西,收藏

  31. kanghq2007 于 2009-02-17 14:45:24发表:

    支持编译安装~~~

  32. lsilinux 于 2009-02-13 22:56:07发表:

    THK{:2_97:}

  33. skypeng 于 2009-01-20 17:00:47发表:

    谢谢~~实验下

  34. skypeng 于 2009-01-20 17:00:27发表:

    q):-s q):-s