`

CentOs5.3 安装apache+tomcat+php+mysql

阅读更多

 

--------------下载须要的文件--------------------------

以下文件都下载到了 /mnt/目录下.

 

1 下载JDK,到sun的网站上下载 jdk-6u16-linux-i586-rpm.bin, 到本地Windows机器上,再用FileZilla上传到服务器.

 

2 远程ssh登录linux, #cd  /mnt ,下载apache : 命令如下: wget -c http://apache.etoak.com/httpd/httpd-2.2.13.tar.gz

 

3 下载 mysql-5.0.84.tar.gz  方法同上

 

4 下载 apache-tomcat-6.0.20.tar.gz 方法同上

 

5 下载 php-5.3.0.tar.gz

 

6 下载apr-1.3.3.tar.gz 与 apr-util-1.3.4.tar.gz   从http://apr.apache.org/下载

 

 

 

-----------------开始安装JDK-------------------------

# cp jdk-6u16-linux-i586-rpm.bin /usr/local     ,拷贝到/usr/local  下

# cd /usr/local

# chmod +x jdk-6u16-linux-i586-rpm.bin    添加可执行权限

# ./jdk-6u16-linux-i586-rpm.bin  就执行了

 

出现相关的安装协议,按"q",略过, 再安"y", 就开始安装jdk了.过一会按回车.就完成了

默认安装在 /usr/java 目录下,我们做一个软连接 

# ln -s /usr/java/jdk1.6.0_16/   /usr/local/java

设置环境变量

# vi /etc/profile

安"i"进入编辑模式

在最后加入:

JAVA_HOME=/usr/java/jdk1.6.0_16

CLASSPATH=/usr/java/jdk1.6.0_16/lib/dt.jar:/usr/java/jdk1.6.0_16/lib/tools.jar

PATH=/usr/java/jdk1.6.0_16/bin:$PATH

export PATH JAVA_HOME CLASSPATH

Shift+: wq!  保存退出

使生效: # source /etc/profile

#java -version  查看版本信息,说明安装成功

 

---------------安装mysql (源码三步安装)--------------

参见我的文章:

源码编译安装MySQL-5.0.84

http://elf8848.iteye.com/blog/450022

 

源码编译安装MySql5.1.58,优化配置

http://elf8848.iteye.com/blog/516424

 

------------------------ 安装 apr -----------------

# cd /mnt

# tar zxvf apr-1.3.3.tar.gz

# cd apr-1.3.3

# ./configure --prefix=/usr/local/apr

# make

# make install

 

# tar zxvf apr-util-1.3.4.tar.gz

# cd apr-util-1.3.4

# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr

# make && make install

 

---------------------------安装apache  -------------

# cd /mnt

# tar zxvf httpd-2.2.13.tar.gz

# cd httpd-2.2.13

# ./configure --prefix=/usr/local/apache --enable-so --enable-rewrite --enable-proxy --enable-proxy-ajp --enable-proxy-balancer --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util

    开了rewrite ,proxy模块

# make && make install

启动apache

# /usr/local/apache/bin/apachectl start

看一下端口, 有没有80端口

# netstat -ant

也可以看一下进程

# ps -ef | grep httpd

 

下一步,把apache加入开机自启动

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

# vi /etc/rc.d/init.d/httpd

在第二行新加两行,内容如下:

# chkconfig: 2345 10 90

# description: Activates/Deactiates Apache Web Server

保存退出.

 

# chkconfig --add httpd   加入自启动

# chkconfig --level 345 httpd on   设置运行级别

 

重启apache:

# /usr/local/apache/bin/apachectl restart

 

 

 

---------------------- 安装tomcat ---------------------

只以解压就可以了, 不用安装

 

# cp apache-tomcat-6.0.20.tar.gz /usr/local/

# cd /usr/local/

# tar zxvf apache-tomcat-6.0.20.tar.gz

# cd apache-tomcat-6.0.20

# rm -fr apache-tomcat-6.0.20.tar.gz

# mv apache-tomcat-6.0.20/ tomcat

 

# vi /usr/local/tomcat/bin/catalina.sh

在最后加入一行 JAVA_HOME=/usr/java/jdk1.6.0_16

保存退出

 

启动:

# /usr/local/tomcat/bin/startup.sh

 

加入开机自启动

# vi /etc/rc.d/rc.local

 

在最后加入

export JDK_HOME=/usr/java/jdk1.6.0_16

export JAVA_HOME=/usr/java/jdk1.6.0_16

/usr/local/tomcat/bin/startup.sh

 

 

----------------- 安装php------------------------------

# cd /mnt/

# tar zxvf php-5.3.0.tar.gz

# cd php-5.3.0

# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql/ --with-config-file-path=/usr/local/php

 

出错 :

configure: error: xml2-config not found. Please check your libxml2 installation.

要安装下面两个东东:

# yum install libxml2

# yum install  libxml2-devel

 

再次 ./configure ..............  成功

 

#make && make install

 

# cp php.ini-dist /usr/local/php/php.ini

增加apache对 php的支持,修改apache的配置文件

# vi /usr/local/apache/conf/httpd.conf

搜索如下内容,

LoadModule php5_module        modules/libphp5.so

插入一行:

AddType application/x-httpd-php .php

再搜索

DirectoryIndex

 

原来是:

<IfModule dir_module>

    DirectoryIndex index.html </IfModule>

改为:

<IfModule dir_module>

    DirectoryIndex index.html index.php index.jsp

</IfModule>

保存退出

在/usr/local/apache/htdocs/下建一个php文件,准备测试.

 

测试前要先重启apache:

# service httpd restart

 

出错:

httpd: Syntax error on line 53 of /usr/local/apache/conf/httpd.conf: Cannot load /usr/local/apache/modules/libphp5.so into server: /usr/local/apache/modules/libphp5.so: cannot restore segment prot after reloc: Permission denied

 

原因:是Linux有一个SELinux保护模式引起的。 

 

解决办法: 

 

1关闭SELINUX的方法: 

vi /etc/selinux/config 将SELINUX=enforcing 改成SELINUX=disabled 需要重启 

这个方法可能会对服务器带来风险。 

 

2不关闭SELINUX的方法: 

# setenforce 0 

# chcon -c -v -R -u system_u -r object_r -t textrel_shlib_t /usr/local/apache/modules/libphp5.so 

# service httpd restart 

# setenforce 1

 

ok, php页面可以访问了

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

apache ,默认会把文件夹下的文件结构显示出来, 我们禁止这个功能

# vi /usr/local/apache/conf/httpd.conf

找到: Options Indexes FollowSymLinks

一行, 并在前面加#, 注释他

 

 

 

 ------------------ 整合apache与 tomcat---------------------------------

# vi /usr/local/apache/conf/httpd.conf

在最后加入下面两行:

ProxyPass / ajp://127.0.0.1:8009/    注意最后有一个"/",千万不能少

ProxyPassReverse / ajp://127.0.0.1:8009/     注意最后有一个"/",千万不能少

 

浏览器的地址栏中输入IP , 就可看见tomcat的默认页面了.

  

 ------------------- 配置php程序--------------------------------------

我们在/usr/local/apache/htdocs/下建一个phpbbs文件夹,里面放php程序.

# chmod -R 777 phpbbs/

# vi /usr/local/apache/conf/httpd.conf

注释掉前面刚加的:

#ProxyPass / ajp://127.0.0.1:8009/               注意最后有一个"/",千万不能少

#ProxyPassReverse / ajp://127.0.0.1:8009/

打开(去掉前面的#)下面的 子配置文件:

# Virtual hosts

Include conf/extra/httpd-vhosts.conf

 

保存退出

# vi /usr/local/apache/conf/extra/httpd-vhosts.conf

修改为如下:

<VirtualHost *:80>

    DocumentRoot "/usr/local/apache/htdocs/phpbbs"

    ServerName bbs.tgjia.com

    ErrorLog "/usr/local/apache/logs/phpbbs-error_log"

    CustomLog "/usr/local/apache/logs/phpbbs-access_log" common

</VirtualHost>

重启apache.

php程序要安装在"/usr/local/apache/htdocs/phpbbs"下面.略.....

 

用bbs.tgjia.com域名就可能访问了

 

 

---------------------配置JSP程序-------------------------------------

我们在/usr/local/apache/htdocs/下建一个jspbbs文件夹,里面放jsp程序.

 # chmod -R 777 jspbbs/

 # vi /usr/local/apache/conf/extra/httpd-vhosts.conf

 加入如下虚拟主机的配置

<VirtualHost *:80>

    DocumentRoot "/usr/local/apache/htdocs/jspbbs"

    ServerName www.aaa.com

    ErrorLog "/usr/local/apache/logs/jspbbs-error_log"

    CustomLog "/usr/local/apache/logs/jspbbs-access_log" common

    ProxyPass / ajp://127.0.0.1:8009/

    ProxyPassReverse / ajp://127.0.0.1:8009/   注意最后有一个"/",千万不能少

</VirtualHost>

保存退出,重启apache

------------------------------- php程序换目录------------------------

在/下建立 php,并开相应权限

# mkdir /php

# chmod -R 777 /php

 

# vi /usr/local/apache/conf/extra/httpd-vhosts.conf

修改为如下:

<VirtualHost *:80>

    DocumentRoot "/php"  修改为新位置

    ServerName bbs.tgjia.com

    ErrorLog "/php/logs/phpbbs-error_log"

    CustomLog "/phplogs/phpbbs-access_log" common

</VirtualHost>

 

建立/php/logs  ,并拷贝以下两个原有的日志文件过来.

/usr/local/apache/logs/jspbbs-error_log

/usr/local/apache/logs/jspbbs-access_log"

 

# vi httpd.conf

<Directory />

    Options FollowSymLinks

    AllowOverride None

    Order deny,allow

    Allow from all     这样就可以访问"/usr/local/apache/htdocs/"以外的位置了

</Directory>

 

重启apache.

 

1
0
分享到:
评论
1 楼 iammonster 2009-08-18  
呵呵,进步飞速了,支持一把

相关推荐

Global site tag (gtag.js) - Google Analytics