虚拟主机,php,jsp环境配置

<?php 

phpinfo(); 

?> 正常显示  

就是开头<?这后面一定要加上php,否则无法正常执行 

因为前面那个<??>是短标签的的模式,你肯定是没有打开短标签模式,所以才不能正常显示,

你可以在php,ini中找到short_open_tag,然后把他的值改成on就可以了

首先是 lmap

几个必要的包

perl-DBI

perl-DBD-MYSQL

mysql-

mysql-server

mysql-devel

php-

php-common

php-pdo

php-cli

php-mysql

然后修改httpd.conf

添加

Loadmodule php5_module modules/libphp5.so

AddType application/x-httpd-php .php .php3 .phtml.html

AddType application/x-httpd-php-source .phps

Directory  index.html 后添加 index.php

建立PHP测试文件

vim /var/www/html/index.php

输入:

<?php

phpinfo ()

?> 

//////接下来是jsp,jsp如果没配置错误,是不会影响到php的,

必须安装的几个包

yum install mod_ssl

下载jkd安装

tomcat-connectors-  /////////编译后会产生 mod_jk.so 模块

apache-tomcat /////tomcat 主程序。解压缩就可以用。解压缩并改名/usr/tomcat

然后配置环境变量,jkd默认安装在/usr/java/jdk1.XXX

vim /etc/profile///添加以下内容 书中将 classpath=后面的变量都用{}括起来了

JAVA_HOME=/usr/java/jdk1.7.0

CATALINA_HOME=/usr/tomcat ////tomcat 主程序目录

CATALINA_BASE=/usr/tomcat  ////这个是tomcat实例目录,一个台服务器上可以运行多个实例

CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib/:$CATALINA_HOME/lib

export JAVA_HOME CATALINA_HOME CATALINA_BASE CLASSPATH

export PATH=$JAVA_HOME/bin:$CATALINA_HOME/bin:$PATH

source /etc/profile

编译tomcat-connectors

cd native

./configure --with-java-home/usr/java/jkd1.7.0 --with-apxs=/usr/sbin/apxs

make

cp ./apache-2.0/mod_jk.so /etc/httpd/modules/ 

建立 mod_jk.conf文件

Include mod_jk.conf 

注意在httpd.conf 不要有servername  这一条 

LoadModule jk_module modules/mod_jk.so

JkWorkersFile /etc/httpd/conf/workers.properties

JkLogFile /etc/httpd/logs/mod_jk.log

JkLogLevel info

JkMount /*.jsp h3c

JkMount /*/servlet/* h3c

AddType application/x-jsp .jsp

建立 workers.properties文件:

ps=\  注意此处是反斜杠 注意此处是反斜杠注意此处是反斜杠注意此处是反斜杠注意此处是反斜

worker.list=h3c

worker.h3c.port=8009

worker.h3c.host=localhost

worker.h3c.type=ajp13

worker.h3c.lbbfactor=1

以上文字最好手动输入

修改 /usr/tomcat/conf/server.xml

在<Host >字段内加入

 <Context path="" docBase="/var/www/h4c" debug="0" reloadable="ture" crossContext="ture" /> 

当遇到mod_jk.c (3033): missing uri map错误时,通常是在httpd.conf中配置了虚拟主机,那么应该在每一个VirtualHost部分加入JkMountCopy On。如果拥有很多虚拟主机配置段,可以使用在全部配置中写入JkMountCopy All。

关于https

安装 mod_ssl

当然可以!HTTP和HTTPS使用的是不同的服务端口(HTTP位于80端口,而HTTPS位于443端口),所以它们之间并没有什么直接的冲突。你既可以在这两个端口上分别运行两个Apache实例,也可以在同一个Apache实例上配置两个虚拟主机:一个在80端口应答HTTP请求,另一个在443端口应答HTTPS请求。

在httpd.conf 不要添加listen 443

openssl genrsa -out server.key 1024 ////创建一个私钥

openssl req -new -key server.key -out server.csr ///创建公钥请求

将你的证书签发请求(CSR)发送给一个认证中心(CA)等待被签名。一旦CSR被CA签名之后,你将收到一个真正的证书(Certificate),一般自己使用就没必要让权威机构签名,可以自己成为CA

使用这个RSA私钥创建一个证书签发请求(CSR)(这里的例子将封装为PEM格式):

请务必确信在OpenSSL提示你输入"CommonName"时,你输入的是正确的全限定域名(FQDN,Fully Qualified Domain Name)。举例来说,如果你想为一个将来要通过https://www.foo.dom/访问的站点生成CSR,那么你就必须在这里输入"www.foo.dom"。具体:

openssl genrsa -out www.h3c.com.key 1024 

openssl req -new -key www.h3c.com.key -out www.h3ccom.csr

openssl x509 -req -days 365 -in www.h3c.com.csr -signkey www.h3c.com.key -out www.h3c.com.crt 

apache 默认创建了一个密钥和证书在/etc/httpd/conf.d/ssl.conf中可以看到路径

虚拟机只能基于端口的https,不能基于域名

SSLEngine on ////开启ssl

SSLCertificateKeyFile /etc/httpd/conf/www.h3.com.key

SSLCertificateFile /etc/httpd/conf/www.h3.com.crt