LINUX虚拟主机配置
时间:2009-03-23 来源:sjhf
经过半天的努力终于将JSP PHP apache resin在LINUX平台下全部配置完毕并完全整和通过测试成功 安装过程提供给LINUX爱好者共同分享,需要软件如下 resin500){this.resized=true;this.style.width=500;}" border=0>http://www.caucho.com/ ; jdk500){this.resized=true;this.style.width=500;}" border=0>http://java.sun.com/ ; apache500){this.resized=true;this.style.width=500;}" border=0>http://www.apache.org ; mysql500){this.resized=true;this.style.width=500;}" border=0>http://www.mysql.com ; php500){this.resized=true;this.style.width=500;}" border=0>http://www.php.net ; jdbc500){this.resized=true;this.style.width=500;}" border=0>http://mmmysql.sourceforge.net/ ; 本人所用的软件版本如下: resin-3.0.10.tar.gz j2sdk-1_4_2_05-linux-i586.bin httpd-2.0.52.tar.gz mysql-4.1.9.tar.gz php-4.3.10.tar.gz mysql-connector-java-3.1.6.tar.gz 一.安装MYSQL 我把他全部下在到/root 目录下 # chmod 755 mysql-4.1.9.tar.gz # tar xfz mysql-4.1.9.tar.gz 解压后生成mysql-4.1.9目录,我们进入该目录: cd mysql-4.1.9 进入后就开始配置mysql了,配置过程中我们要给mysql设置一个安装目录,我们设置在 /usr/local/mysql 下,以为把文件放到一个地方比较容易管理,如果你还想获得更多的配置信息,使用 ./configure --help: 在这里我要特别强调在 编译的时候要选择好MYSQL的默认编码,因为如果不选择按默认安装的时候在JSP中就不支持GBK编码了 所以我这样编译 # ./configure --prefix=/usr/local/mysql --with-charset=gbk 然后等几秒钟,配置完成后就编译源代码 # make 这个编译的过程比较长,如果机器比较慢的话,可能要近二十分种 ( 我的是联想服务器都需要了15分钟 ) . 编译完成后就安装: # make install 等上几秒钟,安装完成.下面就到了最关键的部分了,为什么老安装不成功,(至少我是安装了N次,N >; 10 ,呵呵),问题关键就在这里,访问mysql要一个专门的用户,而且必须给相应的访问权限,这里我们就设置root和mysql有权限访问. 我们先建立一个mysql和mysql用户来访问mysql: # groupadd mysql #建立mysql组 # useradd mysql -g mysql #建立mysql用户并且加入到mysql组中 建立用户后我们就初始化表 (注意:必须先执行本步骤后才能进行以下步骤) # ./scripts/mysql_install_db --user=mysql #初试化表并且规定用mysql用户来访问初始化表以后就开始给mysql和root用户设定访问权限, 我们先到安装mysql的目录: # cd /usr/local/mysql 然后设置权限 # chown -R root . #设定root能访问/usr/local/mysql # chown -R mysql var #设定mysql用户能访问/usr/local/mysql/var ,里面存的是mysql的数据库文件 # chown -R mysql var/. #设定mysql用户能访问/usr/local/mysql/var下的所有文件 # chown -R mysql var/mysql/. #设定mysql用户能访问/usr/local/mysql/var/mysql下的所有文件 # chgrp -R mysql . #设定mysql组能够访问/usr/local/mysql 设置完成后,基本上就装好了,好了,我们运行一下我们的mysql: # /usr/local/mysql/bin/mysqld_safe --user=mysql & 如果没有问题的话,应该会出现类似这样的提示: [1] 42264 # Starting mysqld daemon with databases from /usr/local/mysql/var 这就证明你安装成功了 用如下命令修改MYSQL密码,默认安装密码为空,为了安全你必须马上修改 /usr/local/mysql/bin/mysqladmin -uroot password pengyong 现在修改的密码为:pengyong 二、安装jdk # chmod 755 j2sdk-1_4_2_05-linux-i586.bin # ./j2sdk-1_4_2_05-linux-i586.bin 释放j2sdk-1_4_2_05-linux-i586.bin 在/root目录下生成j2sdk1.4.2_05目录和文件我是将JDK装到/usr/java/目录下 将文件剪切到/usr/java/目录下 # mv j2sdk1.4.2_05/ /usr/java/ 设置JDK变量环境 # vi /etc/profile # /etc/profile JAVA_HOME=/usr/java/j2sdk1.4.2_05 RESIN_HOME=/usr/resin PATH=$PATH:$JAVA_HOME/bin CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/htmlco nverter.jar:$RESIN_HOME/lib:/usr/java/jdbc/mysql-connector-java-3.1.6-bin.jar 退出当前登录的环境,重新登录,这样刚刚设定的环境变量就会生效,然后用如下命令测试: [root@LINUX root]# echo $JAVA_HOME /usr/java/j2sdk1.4.2_05 [root@LINUX root]# echo $CLASSPATH .:/usr/java/j2sdk1.4.2_05/lib/dt.jar:/usr/java/j2sdk1.4.2_05/lib/tools.jar:/usr/ java/j2sdk1.4.2_05/lib/htmlconverter.jar:/usr/resin/lib:/usr/java/jdbc/mysql-con nector-java-3.1.6-bin.jar [root@LINUX root]# echo $PATH /usr/kerberos/sbin:/usr/kerberos/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bi n:/usr/local/sbin:/usr/bin/X11:/usr/java/j2sdk1.4.2_05/bin:/usr/X11R6/bin:/root/ bin [root@LINUX root]# java -version java version "1.4.2_05" Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_05-b04) Java HotSpot(TM) Client VM (build 1.4.2_05-b04, mixed mode) 看到类似信息就表示jdk环境已经好了。其实在上面的/etc/profile中,我们不仅仅设置了jdk的环境变量,还一并设置了resin和jdbc的环境变量,这些都是后面安装resin所必需的设定 三、安装mysql的jdbc # tar xfz mysql-connector-java-3.1.6.tar.gz # mv mysql-standard-4.0.23-pc-linux-i686/ /usr/java/ 将解压的文件剪切到/usr/java/目录下。 # cd /usr/java/ # ln -s mysql-standard-4.0.23-pc-linux-i686/ jdbc 创建JDBC的软连接与/usr/java/目录下 四、安装apache # chmod 755 httpd-2.0.52.tar.gz # tar xfz httpd-2.0.52.tar.gz # cd httpd-2.0.52 开始配置APACHE # ./configure --prefix=/usr/java/httpd2 --enable-module=most --enable-shared=max 察看编译进apache的模块: #/usr/java/httpd2/bin/httpd -l [root@LINUX root]# /usr/java/httpd2/bin/httpd -l compiled-in modules: http_core.c mod_so.c 看到以上的信息表明apache支持dso方式了。这样就可以用dso的方式把php和resin的模块加进来。 五、安装php 我们使用的PHP版本是4.3.10,先去下载: 500){this.resized=true;this.style.width=500;}" border=0>http://www.php.net/downloads.php, 下回来的包叫做 php-4.3.10.tar.gz, 放到/usr/local/src目录下. 首先进入该目录后解压缩: # cd /usr/local/src # tar xfz php-4.3.10.tar.gz 解压后进入目录: # cd php-4.3.10 进行配置,这一步比较关键,一定要设置好,特别是要考虑到你要支持什么,比如GD库,xml,mysql等等,如果想知道详细的配置,执行 ./configure --help来获得: # ./configure --with-mysql=/usr/java/mysql --with-apxs=/usr/java/httpd2/bin/apxs 果上面的配置没有错误的话,那么应该最后会显示感谢使用PHP等字样,那么证明配置成功,如果上面的配置选项不支持的话,会提示错误. 比如你没有安装mysql,那么--with-mysql就无法使用,所以一定要注意对应选项系统是否能够支持,如果出现错误,那么就先安装对应的程序,或者去掉相关选项,配置之后就进行编译: # make 编译成功后出现"Build complete."字样,那么就可以进行安装了: # make install 安装完成后把/usr/local/src/php-4.3.8/php.ini-dist复制到/usr/local/lib/,并重命名为php.ini # cp /usr/local/src/php-4.3.10/php.ini-dist /usr/local/lib/php.ini 基本到这里PHP就安装成功了,如果中间出现错误,除了在配置的时候没有选对选项之后一般都不出现错误. 为了让Apache能够直接解析php,我们还要进行一些配置. # vi /usr/java/httpd/conf/httpd.conf 在httpd.conf文件中,添加 AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps 应该将以上两句添加在其他AddType之后。 确保文件中有以下一句话,没有就自己添加在所有LoadModule之后。 LoadModule php4_module modules/libphp4.so 好了,在vi中使用":wq"保存httpd.conf文件,退出vi。启动apache server: # /usr/java/httpd2/bin/apachectl restart 现在apache就能够运行php了,写个文件测试一下,在/usr/java/httpd2/htdocs目录下,新建一个phpinfo.php文件, 文件中只有一行代码: <? phpinfo(); ?>; 保存此文件, 在你的浏览器中输500){this.resized=true;this.style.width=500;}" border=0>http://localhost/phpinfo.php,你应该看到PHP的系统信息。 如果出现错误,比如提示你下灾phpinfo.php,那么apache就是还无法解析php文件,那么请仔细检查以上的操作是否正确. 六.安装resin 下载的resin的安装包解开后应该可以直接单独运行的。笔者将其解开后放到/usr/java/目录下 # tar xfz resin-3.0.10.tar.gz # mv resin-3.0.10 /usr/java/ # cd /usr/java/ # ln -s resin-3.0.10/ resin 启动resin # /usr/java/resin/bin/httpd.sh start 现在就能够500){this.resized=true;this.style.width=500;}" border=0>http://localhost:8080/上能看到resin的页面,这也就表示单独的resin运行成功了。然后,为了整合resin和apache,我们需要重新编译一下,以生成mod_caucho给apache调用。 # cd /usr/java/resin # ./configure --with-apache=/usr/java/httpd2 # make # make install 修改/usr/java/resin/conf/resin.conf,大约在最后(安装的resin版本不同,配置文件的内容可能有所不同),将<document-directory>;修改成自己的apache的documentroot的值。 <document-directory>;/usr/java/httpd2/htdocs</document-directory>; ##这里修改成/usr/java/httpd2/htdocs 最后vi /usr/java/httpd2/conf/httpd.conf 复制以下内容 <location /caucho-status>; sethandler caucho-status </location>; 保存后。从启APACHE和RESIN # /usr/java/resin/bin/httpd.sh restart # /usr/java/httpd2/bin/apachectl restart 通过浏览器去访500){this.resized=true;this.style.width=500;}" border=0>http://localhost/caucho-status/,如果出现以下页面刚表示resin和apache已经成功整合了。 http://www.dfmqp.cn/caucho-status/ 七.建立resin和apache的虚拟主机 我们建立的是tes1.jsp.com test2.jsp.com 两个虚拟主机 vi /usr/java/httpd2/conf/httpd.conf 复制如下内容到httpd.conf里 NameVirtualHost 192.168.0.1 虚拟主机建立所在的IP <VirtualHost 199.199.0.1>; DocumentRoot /home/jsp1/ 文件所在目录 ServerName tes1.jsp.com 访问的域名 </VirtualHost>; VirtualHost 192.168.0.1>; DocumentRoot /home/jsp2/ ServerName test2.jsp.com </VirtualHost>; vi /usr/java/resin/conf/resin.conf 查找如下代码并修改: <host id="" root-directory=".">; <!-- - configures an explicit root web-app matching the - webapp's ROOT -->; <web-app id='/' document-directory="/usr/java/httpd2/htdocs"/>; </host>; <host id='tes1.jsp.com'>; <web-app id='/' document-directory="/home/jsp1"/>; </host>; <host id='tes2.jsp.com'>; <web-app id='/' document-directory="/home/jsp2"/>; </host>; 保存从启apache和resin tes1.jsp.com 和tes2.jsp.com 虚拟主机可以运行了 可以做如下测500){this.resized=true;this.style.width=500;}" border=0>http://localhost/caucho-status/ ; 可以看到测试面上有 Virtual Host: tes1.jsp.com:80 Virtual Host: tes2.jsp.com:80 证明JSP虚拟主机工作很正常 RedHatAS4 WEB服务及虚拟主机配置指南 一、本文所用到的软件: Sun的JDK :j2sdk-1_4_2_09-linux-i586.bin Apache2.0.54 :httpd-2.0.54.tar.gz MySQL :mysql-standard-4.1.14-pc-linux-gnu-i686.tar.gz Php :php-4.4.2.tar.gz Tomcat :jakarta-tomcat-5.0.28.tar.gz jakarta-tomcat-connectors-jk2 :jakarta-tomcat-connectors-jk2-2.0.4-src.tar.gz 本文中所有软件安装在 /home/www 目录中。 二、软件安装 1、首先安装Sun的JDK [root@yangwenjun www]# ./j2sdk-1_4_2_09-linux-i586.bin 安装后会生成文件夹j2sdk1.4.2_09,将文件夹j2sdk1.4.2_09移动(或复制)到你想要存放的JDK的位置,本文中是放在/home/www/j2sdk1.4.2_09 接下来编辑/etc/profile文件加入JDK环境变量,在文件末尾处加入以下内容: [root@yangwenjun www]# vi /etc/profile export JAVA_HOME=/home/www/j2sdk1.4.2_09 export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar :$JAVA_HOME/lib/mysql-connector-java-3.2.0.jar:$JAVA_HOME/lib/classes12.jar export PATH=$PATH:$JAVA_HOME/bin export JRE_HOME=$JAVA_HOME/jre [root@yangwenjun etc]# source profile [root@yangwenjun etc]# set 在这里你可以看见所有的环境变量。 [root@yangwenjun etc]# java –version 如果JDK配置正确的话,运行上面的命令将会出现JDK的相应版本。 2、安装MySQL [root@yangwenjun www]# tar xzfv mysql-standard-4.1.14-pc-linux-gnu-i686.tar.gz [root@yangwenjun www]# cd mysql-standard-4.1.14-pc-linux-gnu-i686 [root@yangwenjun mysql-standard-4.1.14-pc-linux-gnu-i686]# more INSTALL-BINARY 认真的阅读一下这个文档,就会发现MySQL很容易安装 [root@yangwenjun mysql-standard-4.1.14-pc-linux-gnu-i686]# groupadd mysql [root@yangwenjun mysql-standard-4.1.14-pc-linux-gnu-i686]# useradd -g mysql mysql [root@yangwenjun www]# mv mysql-standard-4.1.14-pc-linux-gnu-i686 /home/www/mysql [root@yangwenjun www]# cd /home/www/mysql [root@yangwenjun mysql]# scripts/mysql_install_db --user=mysql [root@yangwenjun mysql]# chown -R root . [root@yangwenjun mysql]# chown -R mysql data [root@yangwenjun mysql]# chgrp -R mysql . [root@yangwenjun mysql]# bin/mysqld_safe --user=mysql & 这样MySQL就已经启动了,下面为root用户设置密码: [root@yangwenjun mysql]# ./bin/mysqladmin -u root password ‘password’ [root@yangwenjun mysql]# ./bin/mysqladmin -u root -h localhost.localdomain password 'pass' [root@yangwenjun mysql]# ./bin/mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 5 to server version: 4.1.14-standard Type 'help;' or 'h' for help. Type 'c' to clear the buffer. mysql> [root@yangwenjun mysql]# cp support-files/mysql.server /etc/init.d/mysql [root@yangwenjun mysql]# vi /etc/init.d/mysql 修改如下定义使其内容为: basedir=/home/www/mysql datadir=/home/www/mysql/data [root@yangwenjun mysql]# chkconfig --level 345 mysql on [root@yangwenjun mysql]# service mysql restart Shutting down MySQL... [ OK ] Starting MySQL [ OK ] [root@yangwenjun mysql]# 到这里MySQL就装好了。 3、安装Apache [root@yangwenjun httpd-2.0.54]# cd /home/bruce/software/www/httpd-2.0.54 [root@yangwenjun httpd-2.0.54]# ./configure --prefix=/home/www/apache --enable-module=most --enable-shared=max --enable-so [root@yangwenjun httpd-2.0.54]# make [root@yangwenjun httpd-2.0.54]# make install 创建一个httpd启动脚本,内容如下: [root@yangwenjun init.d]# vi httpd #!/bin/bash # Startup script for the Apache Web Server # 包含函数库 . /etc/rc.d/init.d/functions # 获取网络配置 . /etc/sysconfig/network # 检测 NETWORKING 是否为 "yes" [ "${NETWORKING}" = "no" ] && exit 0 # apache安装目录 APACHE=/home/www/apache # 启动服务函数 start() { echo $"Starting httpd service: " $APACHE/bin/apachectl start RETVAL=$? echo } # 关闭服务函数 stop() { echo $"Stopping httpd service: " $APACHE/bin/apachectl stop RETVAL=$? echo } # 根据参数选择调用 case "$1" in start) start ;; stop) stop ;; restart) stop start ;; *) echo $"Usage: $0 start|stop|restart" exit 1 esac exit 0 保存退出vi [root@yangwenjun init.d]# chmod 755 httpd [root@yangwenjun init.d]# chkconfig --level 345 httpd on [root@yangwenjun conf]# vi httpd.conf 修改默认启动页 DirectoryIndex index.html index.htm default.htm default.html index.php index.php3 index.jsp [root@yangwenjun init.d]# service httpd restart Apache安装完毕! 4、安装Php [root@yangwenjun www]# tar zxvf php-4.4.2.tar.gz [root@yangwenjun www]# cd php-4.4.2 [root@yangwenjun php-4.4.2]# ./configure --prefix=/home/www/php --with-mysql=/home/www/mysql --with-apxs2=/home/www/apache/bin/apxs [root@yangwenjun php-4.4.2]# make [root@yangwenjun php-4.4.2]# make install [root@yangwenjun php-4.4.2]# cp php.ini-dist /usr/local/lib/php.ini [root@yangwenjun php-4.4.2]# cd /home/www/apache/conf [root@yangwenjun conf]# vi httpd.conf #系统自动添加了这一行,如果没有则自己加入这一行。 LoadModule php4_module modules/libphp4.so 在AddType application/x-tar .tgz 下加一行 AddType application/x-httpd-php .php AddType application/x-httpd-php .php3 编写文件index.php 写入下一行 通过浏览器我们看到了我们的测试结果。至此,PHP装好了。 5、安装Tomcat及jakarta-tomcat-connectors-jk2 本文安装的版本是:jakarta-tomcat-5.0.28 [root@yangwenjun www]# tar xzfv jakarta-tomcat-5.0.28.tar.gz [root@yangwenjun www]# cp -rf jakarta-tomcat-5.0.28 /home/www/tomcat [root@yangwenjun www]# cd /home/www/tomcat 现在来测试一下tomcat是否安装成功 启动tomcat服务: [root@yangwenjun tomcat]# ./bin/startup.sh 访问http://ip:8080/看能否看到tomcat的默认页面,如能看到说明tomcat已经在服务了. 停止tomcat服务: [root@yangwenjun tomcat]# ./bin/shutdown.sh 开始安装jakarta-tomcat-connectors-jk2 [root@yangwenjun www]# tar xzfv jakarta-tomcat-connectors-jk2-2.0.4-src.tar.gz [root@yangwenjun www]# cd jakarta-tomcat-connectors-jk2-2.0.4-src/jk/native2/ [root@yangwenjun native2]# ./configure --with-apxs2=/home/www/apache/bin/apxs [root@yangwenjun native2]# make [root@yangwenjun native2]# cd ../build/jk2/apache2/ [root@yangwenjun apache2]# /home/www/apache/bin/apxs -n jk2 -i mod_jk2.so 上条命令是将mod_jk2.so添加到apache2的modules中. 上面就完成了Tomcat和Connectors的安装.接下来进行与Apache的整合. 6、Tomcat与Apache的整合 [root@yangwenjun apache2]# cd /home/www/apache/conf/ [root@yangwenjun conf]# vi httpd.conf 编辑配置文件在其中加入这个模块,保存退出 LoadModule jk2_module modules/mod_jk2.so 然后在这个目录新建一文件workers2.properties [root@yangwenjun conf]# vi workers2.properties 文件内容如下: [root@yangwenjun conf]# more workers2.properties [channel.socket:202.114.33.249:8009] port=8009 host=202.114.33.249 [ajp13:202.114.33.249:8009] channel=channel.socket:202.114.33.249:8009 [uri:/*] worker=ajp13:202.114.33.249:8009 [uri:/examples/*] worker=ajp13:202.114.33.249:8009 当然以上内容中的202.114.33.249也可改成localhost 接下来进入tomcat下的conf目录: [root@yangwenjun conf]# cd /home/www/tomcat/conf/ 修改server.xml文件 [root@yangwenjun conf]# vi server.xml 找到其中的中的项,我修改后的相关参数如下: reloadable="true" crossContext="true"/> 编辑后保存退出. 重启Apache和Tomcat后可以查看整合后的效果.如下图所示: [root@yangwenjun conf]# /home/www/tomcat/bin/startup.sh [root@yangwenjun conf]# service httpd restart 三、架设整合后的虚拟主机 [root@yangwenjun conf]# vi /home/www/apache/conf/httpd.conf 在httpd.conf文档末尾虚拟主机设置处加入以下内容: NameVirtualHost *:80 Documentroot /home/www/apache/htdocs DocumentRoot /home/bruce/test1 ServerName test1.yangwenjun.com DocumentRoot /home/bruce/test2 ServerName test2.yangwenjun.com [root@yangwenjun conf]# vi /home/www/tomcat/conf/server.xml 在server.xml文档的......中间添加两段...... 内容如下: unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> reloadable="true" crossContext="true"/> directory="logs" prefix="localhost_log." suffix=".txt" timestamp="true"/> 重启Apache和Tomcat后可以查看架设的虚拟主机的效果.如下图: [root@yangwenjun conf]# /home/www/tomcat/bin/startup.sh [root@yangwenjun conf]# service httpd restart |
相关阅读 更多 +
排行榜 更多 +