Feb 13

apache+tomcat+jsp+php+mysql虚拟主机配置方案 晴

碟舞飞扬 , 20:46 , 服务器类 , 评论(0) , 引用(0) , 阅读(2684) , Via 本站原创 | |
这里主要讲JDK+Tomcat+JDBC+JK2的安装,和JSP虚拟主机的配置方法
如果想看apache+php+mysql前面部分安装过程,请看这里:

apache+mysql+php+GD+zend+eaccelerator+phpmyadmin

四,JDK的安装
1,JDK的安装
   2,Tomcat的安装
   3.JDBC(JSP与,MSYQL,MSSQL连接)
   4,JK2(是APACHE组织指定的连接apceh和tomcat的工具)
   5. 启动TOMCAT(jsvc.tar.gz,tomcat启动工具)
具体操作如下:
1.  JDK的安装
[root@linuxhero root]# ls
j2sdk-1_4_2_15-linux-i586.bin   j2sdk-1_4_2_08-linux-i586-rpm.bin
有两个包.
j2sdk-1_4_2_15-linux-i586-rpm.bin的安装方法
#chmod 755 j2sdk-1_4_2_15-linux-i586-rpm.bin
#./j2sdk-1_4_2_15-linux-i586-rpm.bin (运行JDK自解包)
运行过程中会出现一个用户协议,选择yes即可,会释放出一个rpm包j2sdk-1_4_2_15-linux-i586.rpm.
#rpm –Uvh j2sdk-1_4_2_15-linux-i586.rpm
完成后会在/usr/目录下生成一个/usr/java/j2sdk1.4.2_15目录文件
另一个软件包运行后会直接释放成j2sdk1.4.2_15目录移动合适的位置,如/usr/local/
#chmod 755 j2sdk-1_4_2_15-linux-i586.bin
#./j2sdk-1_4_2_15-linux-i586.bin
# mv j2sdk1.4.2_15 /usr/local/
到此JDK已经安装完成
到/usr/bin目录下,把原用的java,javac文件删除:
#rm -rf java
#rm –rf javac
在/usr/bin 下建立 软连接 java
# ln -s /usr/local/j2sdk1.4.2_15/bin/java /usr/bin/java
# ln -s /usr/local/j2sdk1.4.2_15/bin/javac /usr/bin/javac
# java –version
# javac -version
java version "1.4.2_15"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_08-b03)
Java HotSpot(TM) Client VM (build 1.4.2_08-b03, mixed mode)
为了方便下在的工作建立两个软链接:
ln -s /usr/local/j2sdk1.4.2_15  /usr/local/jdk
ln -s /usr/local/j2sdk1.4.2_15/jre /usr/local/jre
2.Tomcat的安装
#tar -zxvf jakarta-tomcat-5.0.28.tar.gz
# mv jakarta-tomcat-5.0.28 /usr/local/tomcat
设置环境变量:
#Set  Environment  by NetSeek
JAVA_HOME=/usr/local/jdk
export JAVA_HOME
JRE_HOME=/usr/local/jre
export JRE_HOME
CLASSPATH=/usr=/usr/local/tomcat/common/lib/:/usr/local/jdk/lib:/usr/local/jre/lib
export CLASSPATH
PATH=$PATH:/usr/local/tomcat/bin/:/usr/local/apache/bin:/usr/local/jdk/bin:/usr/local/jre/bin
export PATH
export TOMCAT_HOME=/usr/local/tomcat
export CATALINA_HOME=/usr/local/tomcat/
启动tomcat以检查是否存在错误:
#cd /usr/local/tomcat/bin
#./startup.sh
http://IP
地址:8080 可以看到猫头:)成功了。
3.JDBC的安装
#tar -zxvf mysql-connector-java-3.2.0-alpha.tar.gz
#cd mysql-connector-java-3.2.0-alpha
#cp mysql-connector-java-3.2.0-alpha-bin.jar /usr/local/tomcat/common/lib
#tar xfv mssqlserver.tar
#tar xfv msjdbc.tar
#cd lib
# cp *.jar /usr/local/tomcat/common/lib
4.编译安装JK2(整合Tomcat与Apache)
# tar zxvf jakarta-tomcat-connectors-jk2-src-current.tar.gz
# cd jjakarta-tomcat-connectors-jk2-2.0.4-src/jk/native2/
#./configure --with-apxs2=/usr/local/apache/bin/apxs \
--with-java-home=/usr/local/jdk \
--with-tomcat41=/usr/local/tomcat \
--with-apr-lib=/usr/local/apache/lib  
#echo $?
报错:
no apxs given
need to check for Perl first, apxs depends on it...
checking for perl... /usr/bin/perl
configure: error: can't locate libapr
解决办法:
安装:apr-1.1.1.tar.gz
apr-util-1.1.1.tar.gz
libtool-1.5.22.tar
解压缩安装libapr
# chmod +x *
# tar xfz apr-1.1.1.tar.gz
# cd apr-1.1.1
# ./configure
# make
# make install
回到......./tomcat目录
#cd ..
解压缩安装libaprutil
# tar xfz apr-util-1.1.1.tar.gz
# cd apr-util-1.1.1
# ./configure --with-apr=../apr-1.1.1
# make
# make install
建立libapr和libaprutil 的软连接到/usr/local/httpd2/lib/目录下
# ln -s /usr/local/apr/lib/libapr-1.so.0.1.1 /usr/local/httpd2/lib/libapr-1.so  
# ln -s /usr/local/apr/lib/libapr-1.so.0.1.1 /usr/local/httpd2/lib/libapr-1.so.0  
# ln -s /usr/local/apr/lib/libaprutil-1.so.0.1.1 /usr/local/httpd2/lib/libaprutil-1.so  
# ln -s /usr/local/apr/lib/libaprutil-1.so.0.1.1 /usr/local/httpd2/lib/libaprutil-1.so.0
再次编译jakarta-tomcat
如果make通不过,/path/to/jakarta-tomcat-connectors-jk2-2.0.4-src/jk/build/jk2/apache2目录下并无mod_jk2.so产生,则需安装新版libtool.
# libtool --version
ltmain.sh (GNU libtool) 1.4.3 (1.922.2.111 2002/10/23 02:54:36)
[root@linux native2]#
这个版本的libtool编译最新的  
jakarta-tomcat-connectors-jk2-2.0.4-src  
是不会成功的。  
返回到....../tomcat
安装libtool-1.5.22
# chmod +x *
# tar xfz libtool-1.5.22.tar.gz
# cd libtool-1.5.22
# ./configure
# make
# make install
删除原来的/usr/local/httpd2/build/libtool  
# rm –rf /usr/local/httpd2/build/libtool  
建立新的libtool 软连接
# ln -s /usr/local/bin/libtool /usr/local/httpd2/build/libtool
再次编译jakarta-tomcat
现在就OK了
./configure --with-apxs2=/usr/local/apache/bin/apxs --with-java-home=/opt/j2sdk1.4.2_10 --with-apr-lib=/usr/local/apache/lib
注:--with-tomcat41参数指定Tomcat主目录,编译器没有直接对最新的Tomcat提供特定的编译参数,所以使用tomcat41的参数代替,用—with-java-home参数指定Java的安装路径.
#make
将在/jakarta-tomcat-connectors-jk2-2.0.4-src/jk/build/jk2/apache目录下,生成的mod_jk2.so复制到Apache的扩展模块目录/usr/local/httpd/modules下,
#cp mod_jk2.so /usr/local/httpd/modules
再将/jakarta-tomcat-connectors-jk2-2.0.4-src/jk/conf目录下的workers2.properties复制到Apache的配置文件目录/usr/local/httpd/conf下:
#cp workers2.properties /usr/local/httpd/conf
再编辑httpd.conf
vi /usr/local/apache/conf/httpd.conf
LoadModule jk2_module modules/mod_jk2.so
之前我的问题是:在已有的WEB服务器上重新安装一套,所以tomcat 老启不来,得KILL掉进程再启动就OK了。
错误:
Syntax   error   on   line   1038   of   /etc/httpd/conf/httpd.conf:  
Invalid   virtual   host   name  
则修改httpd.conf文件,找到#ServerName所在的行,并在其下面加入如下内容即可  
ServerName   localhost:8008   #   制定服务器的名称和端口,注意端口是8008,而不是8080
检查$CATALINA_HOME/conf/server.xml文件中相关的配置,默认情况下的  
                相关的信息是被注释掉了,搜索8008,找到那段,把前面的"后面的"-->"都删掉
5. 启动TOMCAT(jsvc.tar.gz,tomcat启动工具)
Apache和Tomcat安装后需要设置自动启动,如果让Tomcat用root身份启动,Tomcat将会拥用root权限,这将可能给系统带来安全隐患,黑客可能利用这个来攻击我们的系统,所以我们得添加一个独立运行此服务的用户:
#useradd -d /usr/local/tomcat -s /usr/sbin/nologin tomcat
#chown -R tomcat:tomcat /usr/local/tomcat
#cd /usr/local/tomcat/bin/
#tar zxvf jsvc.tar.gz
#cd jsvc-src
#sh support/buildconf.sh (只能在些目录里执行,在别处执行会出错)
     会显示support/buildconf.sh: configure script generated successfully
#chmod 755 configure
#./configure
#make
#cp native/Tomcat5.sh /usr/sbin/tomcat
#cd /usr/sbin
#chmod 755 tomcat
#vi tomcat
可以看到:
JAVA_HOME=/usr/java/j2sdk1.4.2_03   指定java安装的目录
CATALINA_HOME=/home/tomcat5/jakarta-tomcat-5/build  指定了tomat的安装目录
DAEMON_HOME=/home/tomcat5/jakarta-commons/daemon 指定了tomcat命令所在的目录
TOMCAT_USER=tomcat5    指定tomcat运行后使用的账号
将上面的配置修改如下:
JAVA_HOME=/usr/local/jdk
CATALINA_HOME=/usr/local/tomcat/
DAEMON_HOME=/usr/local/tomcat/bin/
TOMCAT_USER=tomcat
找到$DAEMON_HOME/src/native/unix/jsvc \
将其更改成:$DAEMON_HOME/jsvc-src/jsvc \
修改完保存退出
vi /etc/rc.d/rc.local
在里面添加如下设置:
/usr/sbin/tomcat start
然后重启所有服务!

五,虚拟主机配置方案
要求:
1,DNS的简设置
2,虚拟域名:www.XXXXXX.com,虚拟用户XXXXXX_com
3,允许FTP维护,禁止远程登陆(具体的FTP维护参照二)
4,为虚拟主机添加用户和使用目录

1,   DNS的简单设置,
...........中间略
二. 配置虚拟主机
1. 为虚拟主机添加用户和使用目录
#useradd xxxxxxx_com -s /sbin/nologin   添加虚拟用户,不允许登陆      
#passwd xxxxxx_com  (Do not Hack me 3ks) DnHm3ks 这是我设置的密码:)
#chmod 755 /home/xxxxxx_com
#cd /home/xxxxx_com
#mkdir sites               建立网站存放根目录
#chown xxxxxxx_com:xxxxxx_com sites    改变sites所属组为xxxxx_com
#mkdir logs                站点的日志目录
#chown xxxxxx_com:linuxhero_com logs
#mkdir cgi-bin             目录用来运行CGI程序
#chown xxxxx_com:xxxxxx_com cgi-bin
#mkdir sites/WEB-INF      用来存放Tomcat发布的程序
#chown xxxxx_com:xxxxx_com sites/WEB-INF
2.设置Apache的虚拟主机
#vi /usr/local/httpd/conf/httpd.conf
找到DirectoryIndex 在文件表中加上index.jsp,然后在文件尾添加虚拟主机配置信息:
NameVirtualHost 192.168.0.230:80
#www.xxxxx.com
<VirtualHost 192.168.0.230:80>
     ServerAdmin      webmaster@xxxxx.com
     DocumentRoot     /home/xxxxx_com/sites
     ServerName       www.xxxxx.com
     ServerAlias      linuxhero.com
     ErrorLog         /home/xxxxx_com/logs/error_log
     CustomLog        /home/xxxxx_com/logs/access_log common
     alias  /cgi-bin  /home/xxxxx_com/cgi-bin
     <Location /cgi-bin>
              Options ExecCGI
     </Location>
     <Location ~ "/*.jsp">
              JkUriSet worker ajp13:localhost:8009
     </Location>
     <Location ~ "/WEB-INF/*">
              JkUriSet worker ajp13:localhost:8009
     </Location>
     <Location ~ "servlet/*">
              JkUriSet worker ajp13:localhost:8009
     </Location>
</VirtualHost
1.   设置Tomcat的虚拟主机:
vi /usr/local/tomcat/conf/server.xml
在</Engine></Service></Server>上面加入如下:
------------------------------------------------------------------------------
<Host name="www.xxxxx.com" debug="0" appBase="/home/xxxxx_com/sites/"
       unpackWARs="true" autoDeploy="true"
       xmlValidation="false" xmlNamespaceAware="false">
       <Alias>xxxxx.com</Alias>
       <Context path="" docBase="." debug="0" reloadable="ture"/>  
       <Logger className="org.apache.catalina.logger.FileLogger"
                 directory="logs"  prefix="xxxxx_com_log."
                 suffix=".txt"
                 timestamp="true"/>
</Host>
</Engine>

  </Service>

</Server>
到此xxxxxxx_com这目录就可以同时支持PHP+JSP+mysql+mssql,啦,相当于LINUX下的WEB全能服务器.
Tags: , , , ,
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]