Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1462768
  • 博文数量: 122
  • 博客积分: 340
  • 博客等级: 一等列兵
  • 技术积分: 2967
  • 用 户 组: 普通用户
  • 注册时间: 2009-04-01 11:50
个人简介

斑竹网络专注为中小企业客户提供以管理服务为核心的IT全方位服务 https://www.sysadm.cn

文章分类

全部博文(122)

文章存档

2018年(2)

2017年(1)

2015年(2)

2014年(30)

2013年(81)

2011年(5)

2009年(1)

分类: LINUX

2013-12-06 14:27:49

jsp_php_mysql_tomcat_ssl_gd安装

(整理时间:2006-11-03)

(系统:RedHat AS 4  2.6.9-5.ELsmp #1

一、 Mysql安装 ( mysql-5.0.20.tar.gz)

configure 时出现如下错误:

   checking whether build environment is sane... configure: error: newly created file is older than distributed files!

Check your system clock

经检查是系统时间不对,用date设置正确的系统时间

Date 110315272006

# groupadd mysql

# useradd -g mysql mysql

# tar zxvf mysql-5.0.20.tar.gz

    # cd mysql-5.0.20.tar.gz

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

     make

     make install

    # cp support-files/my-medium.cnf /etc/my.cnf

    # cd /usr/local/mysql

    # bin/mysql_install_db --user=mysql

    # chown -R root  .

    # chown -R mysql var

    # chgrp -R mysql .

# bin/mysqld_safe --user=mysql &

# bin/mysqladmin u root password !qaz@wsx  修改root的用户密码

# cp /root/software/mysql-5.0.20/support-files/mysql.server /etc/init.d/mysql.server

# chmod +x /etc/rc.d/init.d/mysql.server 

# chkconfig add mysql.server  mysql在机器重启的时候自动启动起来

二、 安装j2sdk (jdk-1_5_0_06-linux-i586.bin)

# chmod +x ./jdk-1_5_0_06-linux-i586.bin

# ./ jdk-1_5_0_06-linux-i586.bin

mv jdk1.5.0_06 /usr/local/java

# tar zxvf mysql-connector-java-3.1.12.tar.gz

# cd mysql-connector-java-3.1.12

cp mysql-connector-java-3.1.12-bin.jar /usr/local/lib/

# cd ..

# vi /etc/profile

export JAVA_HOME=/usr/local/java

export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/mysql-connector-java-3.1.12-bin.jar:$JAV

A_HOME/lib/htmlconverter.jar

export PATH=$PATH:$JAVA_HOME/bin

expo rt JRE_HOME=$JAVA_HOME/jre

如果JDK配置正确的话,使用 java version 可以出现JDK的相应版本

三、 安装OpenSSL(openssl-0.9.7i.tar.gz)

#  tar –zxvf openssl-0.9.7i.tar.gz

# cd openssl-0.9.7i

# ./config prefix=/usr/local/openssl

# make

# make test

# make install

四、 安装GD 让系统支持GD

a. 安装zlib-1.2.3.tar.bz2

tar -jxvf zlib-1.2.3.tar.bz2

# cd zlib-1.2.3

# make

# make test

# make install

b. 安装 libpng-1.2.12-no-config.tar.gz

# tar zxvf libpng-1.2.12-no-config.tar.gz

# cd libpng-1.2.12

# cp scripts/makefiles.linux makefiles

   # vi makefiles

         修改其中参数为:

             ZLIBLIB=/usr/local/lib

             ZLIBINC=/usr/local/include

       #  make test

       #  make install

c. 安装 jpegsrc.v6b.tar.gz

tar -zxvf jpegsrc.v6b.tar.gz

cd jpeg-6b

# ./configure

# make

# make test

# make install

在 make install 是报如下错误:

/usr/bin/install: cannot create regular file `/usr/local/man/man1/cjpeg.1': No such file or directory

make: *** [install] Error 1

解决办法是:原来是在/usr/local/man 下没有man1这个目录,建立一个,然后重新make install 就可以了

# make install-lib

d. 安装 freetype-2.1.4.tar.gz

tar zxvf freetype-2.1.4.tar.gz

cd freetype-2.1.4

# make setup

# make 

# make install

e. 安装gdome2-0.7.4.tar.gz

# tar -zxvf gdome2-0.7.4.tar.gz

cd gdome2-0.7.4

# ./configure

configure 是报如下错误

configure: error: Could not find GLIB (see config.log for details).

            升级glib

% gzip -cd glib-2.12.1.tar.gz | tar xvf -  # unpack the sources

  % cd glib-2.12.1                           # change to the toplevel directory

  % ./configure                             # run the `configure' script

  % make                                    # build GLIB

  [ Become root if necessary ]

  % rm -rf /install-prefix/include/glib.h /install-prefix/include/gmodule.h

  % make install

GD库没有安装成功)

五、 安装httpd(httpd-2.2.0.tar.bz2)

# tar jxvf httpd-2.2.0.tar.bz2

# cd httpd-2.2.0

./configure --enable-module=most --enable-shared=max --enable-so

# make 

# make install

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

  编辑相关内容,如ServerName

# vi /etc/rc.d/init.d/httpd  新建一个httpd自启动的脚本文件,内容如下:

#!/bin/bash

#description:http server

#chkconfig: 2345 98 98

case "$1" in

 start)

   echo "Starting Apache daemon..."

     /usr/local/apache2/bin/apachectl -k start

     ;;

 stop)

     echo "Stopping Apache daemon..."

     /usr/local/apache2/bin/apachectl -k stop

     ;;

 restart)

     echo "Restarting Apache daemon..."

     /usr/local/apache2/bin/apachectl -k restart

     ;;

 status)

     statusproc /usr/local/apache2/bin/httpd

     ;;

 *)

     echo "Usage: $0 {start|stop|restart|status}"

     exit 1

     ;;

esac

# chmod +x httpd

# chkconfig level 2345 httpd on #将 让httpd自启动

 可以用 service httpd start|restart|stop 命令来启动和关闭服务 

六、 安装PHPphp-5.1.2.tar.bz2

tar -jxvf php-5.1.2.tar.bz2

# cd  php-5.1.2

./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-jpeg-dir=/usr/local/lib --with-png-dir=/usr/local/lib --with-mysql=/usr/local/mysql --enable-sysvmsg --enable-trace-vars --enable-sockets --enable-sysvshm --enable-sysvsem

#  make ZEND_EXTRA_LIBS='-liconv'

# make install

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

a. 确认有没有这一行LoadModule php5_module        modules/libphp5.so

      如果没有这一行,添加一行

b. 在上述文件中添加如下行的内容,以便让APACHE处理PHP类型的文件

    AddType application/x-compress .Z

    AddType application/x-gzip .gz .tgz

    AddType application/x-httpd-php .php

    AddType application/x-httpd-php .php3

    AddType application/x-httpd-php .php4

  c. 在  下修改成以下内容

    DirectoryIndex index.html index.htm index.jsp index.php index.php3

    保存后,重启APACHE就可以测试效果了

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

PHP的配置文件拷到适当的位置并进行适当的修改,以符合自己的要求

七、 安装Tomcat(jakarta-tomcat-5.0.29.tar.gz)

# tar zxvf jakarta-tomcat-5.0.29.tar.gz

mv jakarta-tomcat-5.0.29 /usr/local/tomcat

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

测试tomcat是否能正常启动,如果能正常启动,则用浏览器可以Tomcat的页面

/usr/local/tomcat/bin/shutdown.sh

  停止Tomcat

# cd /usr/local/tomcat/bin #开始编译Tomcat的自启动脚本

# tar zxvf  jsvc.tar.gz

# cd jsvc-src

# chmod +x support/buildconf.sh

support/buildconf.sh  #生成configure 文件

chmod +x configure

# ./configure --with-java=/usr/local/java

# make 

生成的文件不好用

八、 安装akarta-tomcat-connectors-4.1.31-src(jakarta-tomcat-connectors-4.1.31-src.tar.gz)

# tar zxvf jakarta-tomcat-connectors-4.1.31-src.tar.gz

# cd  jakarta-tomcat-connectors-4.1.31-src

# cd jk/native2

# chmod 777 buildconf.sh

有些资料,包括本软件自带的INSTALL.txt文件上都说直接./configure,但是实际如果不生成configure文件,根本没有configure这个文件,因此应先要生成这个文件。

# ./buildconf.sh 注意:生成configure文件时可能速度比较慢,应有耐心

./configure --with-apxs2=/usr/local/apache2/bin/apxs

在进行上述操作时出现以下错误:

    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

网上说可能是缺少libapr libaprutil 应在下载对应的软件包安装一下。

Libapr地址是; 

a. 安装 arp

rpm -ihv apr-1.2.7-1.i386.rpm

b. utilarp

  

rpm -ihv apr-util-1.2.7-1.i386.rpm

 安装 apr-util-1.2.7-1.i386.rpm时出现如下错误:

rror: Failed dependencies:

        libpq.so.3 is needed by apr-util-1.2.7-1.i386

    Suggested resolutions:

        postgresql-libs-7.4.6-1.RHEL4.2.i386.rpm

  下载并安装 文件

 再次安装 rpm -ihv apr-util-1.2.7-1.i386.rpm成功

     安装了上述的两个软件包之后还要建立以下的四个软件连接文件,它们是:

    ln -s /usr/lib/libapr-1.so.0.2.7 /usr/local/apache2/lib/libapr-1.so.0

ln -s /usr/lib/libapr-1.so.0 /usr/local/apache2/lib/libapr-1.so

ln -s /usr/lib/libaprutil-1.so /usr/local/apache2/lib/libaprutil-1.so

ln -s /usr/lib/libaprutil-1.so.0 /usr/local/apache2/lib/libaprutil-1.so.0

再次编译:

#make ./configure --with-apxs2=/usr/local/apache2/bin/apxs

# make

Make 时候产生如下错误

cp: cannot stat `../../../build/jk2/apache2//usr/local/apache2/modules/mod_jk2.so': No such file or directory 

原因是没有生成 mod_jk2.so文件,

则需安装新版libtool

下载libtool-1.5.6.tar.gz

wget 

解压缩安装

tar xfz libtool-1.5.6.tar.gz

# cd libtool-1.5.6

# ./configure

     # make 

     #make install

删除原来的/usr/local/httpd2/build/libtool

rm –rf /usr/local/apache2/build/libtool

 建立新的libtool 软连接

ln -s /usr/local/bin/libtool /usr/local/apache2/build/libtool

删除原来的文件,重新编译

# rm –rf rm -rf jakarta-tomcat-connectors-4.1.31-src

tar -zxvf jakarta-tomcat-connectors-4.1.31-src.tar.gz

# cd jakarta-tomcat-connectors-4.1.31-src/jk/native2

chmod 777 buildconf.sh

# ./buildconf.sh

再次编译:

# ./configure --with-apxs2=/usr/local/apache2/bin/apxs

# make

此次编译成功

libtool --finish /usr/local/apache2/modules

进入到 cd ../build/jk2/apache2/目录下

拷贝mod_jk2.so/usr/local/apache2/modules目录下。

# cd  ../build/jk2/apache2/mod_jk2.so /usr/local/apache2/modules/

cp mod_jk2.so /usr/local/apache2/modules

九、 整合Tomcat APACHE

a. 建立存放网页文件的目录

# mkdir /var/www/html

b. 修改/usr/local/apache2/conf/httpd.conf文件,主要修改以下内容:

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

  DocumentRoot "/var/www/html"

 DirectoryIndex index.htm index.jsp index.html index.php index.php3

 LoadModule jk2_module modules/mod_jk2.so

        Deny from all 

c. /usr/local/apache2/conf下建立workers2.properties,内容如下:

# vi workers2.properties

[logger] 

level=ERROR 

[config:] 

file=/usr/local/apache2/conf/workers2.properties 

debug=0 

debugEnv=0 

# Alternate file logger 

[logger.file] 

#level=DEBUG 

level=ERROR 

file=/var/log/httpd/jk2.log 

[shm:] 

info=Scoreboard. Required for reconfiguration and status with multiprocess servers 

file=/var/log/apache2/jk2.shm 

size=1048576 

debug=0 

disabled=0 

[channel.socket:localhost:8009] 

info=Ajp13 forwarding over socket 

debug=0 

tomcatId=localhost:8009 

keepalive=1 

[ajp13:localhost:8009] 

channel=channel.socket:localhost:8009 

debug=0 

[status:] 

info=Status worker, displays runtime informations 

[uri:/jkstatus/*] 

info=Display status information and checks the config file for changes. 

worker=ajp13:localhost:8009 

[uri:/*.jsp] 

worker=ajp13:localhost:8009 

context=/

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

在 

unpackWARs="true" autoDeploy="true"> 
段中添加: 

reloadable="true" crossContext="true"/> 
保存退出。

十、 测试系统

a. 建立PHP的测试页

# vi /var/www/html/phpinfo.php

 

  Phpinfo();

 ?>

b. 建立JSP的测试页

# vi /var/www/html/test.jsp

<%@ page import="java.util.*,java.sql.*,java.text.*" contentType="text/html;charset=gb2312" %> 
<% 
out.println("test page"); 
  %>

十一、编辑/etc/rc.d/rc.local文件加入自启动

在这个文件中加入以下两行,使系统重新启动的时候,TomcatApache能够自动

启动起来。

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

/usr/local/apache2/bin/apachectl start

十二、重新安装httpd加上SSL支持 (2006-11-19修正

# cp  -rf /usr/local/apache2/conf /root/software

# mv /usr/local/apache2 /usr/local/apache2bak

# tar -jxvf httpd-2.2.0.tar.bz2

# ./configure  --enable-ssl --enable-rewrite --with-ssl=/usr/local/openssl --enable-module=most --enable-shared=max --enable-so

# make

# make install

安装openssl后,在openssl下有一个CA.sh文件,就是利用此文件来签证,
来签三张证书,然后利用这三张证书来布SSL服务器。

1、在/usr/local/apache2/conf下,建立一个ssl.crt目录,将CA.sh文件copy/usr/local/apache/conf/ssl.crt/目录

# cp CA.sh /usr/local/apache2/conf/ssl.crt/ 

运行CA.sh -newca,他会找你要CA需要的一个CA自己的私有密钥密码文件。如果没有这个文件?按回车会自动创建,输入密码来保护这个密码文件。之后会要你的一个公司信息来做CA.crt文件。最后在当前目录下多了一个./demoCA这样的目录../demoCA/private/cakey.pem就是CAkey文件啦,./demoCA/cacert.pem就是CAcrt文件了

签署服务器证书
生成服务器私钥

openssl genrsa -des3 -out server.key 1024

生成服务器证书请求

# openssl req -new -key server.key -out server.csr

后把server.crt文件mvnewreq.pem,然后用CA.sh来签证就可以了

# mv server.csr newreq.pem

# ./CA.sh –sign

这样就生成了server的证书newcert.pem
newcert.pem改名成server.crt

# mv newcert.pem server.crt

生成客户私钥:

# openssl genrsa -des3 -out client.key 1024

请求

# openssl genrsa -des3 -out client.key 1024

签证:

openssl ca -in client.csr -out client.crt

把证书格式转换成pkcs12格式

# openssl pkcs12 -export -clcerts -in client.crt -inkey client.key -out client.pfx

这时就有了三张证书和三个私钥,一个是demoCA下的根证书,ssl.crt下的服务器证书和客户证书。及demoCA/private下的根key,ssl.crt下的服务器key和客户key,conf下的ssl.conf下指定证书的位置和服务器key的位置.

将证书复制过来

# cp demoCA/cacert.pem cacert.pem

# cp cacert.pem ca.crt   #换名

修改httpd.confextra/ httpd-ssl.conf文件,根据需要修改即可。、

在重启机器的时候发现,自动启动apache时,系统会等待很长时间,经查看boot.log日志发现是因为httpd在启动时候,会要求输入ssl 的密码,所以系统在等待输入密码,故此会等待很长时间,解决办法如下:

cp server.key server.key.org   保存原来的文件
 openssl rsa -in server.key.org -out server.key 
确认server.key 文件为root可读 
# chmod 400 server.key 让root对这个文件具有可读性即可。

虚拟主机配置信息如下:

NameVirtualHost *

#NameVirtualHost *:80

#

# VirtualHost example:

# Almost any Apache directive may go into a VirtualHost container.

# The first VirtualHost section is used for all requests that do not

# match a ServerName or ServerAlias in any  block.

#

#NameVirtualHost 

    ServerAdmin sa@smartpay.com.cn

    DocumentRoot /var/www/html

    Servername 

    ErrorLog /var/log/httpd/www-error_log

    CustomLog /var/log/httpd/www-access_log common

#NameVirtualHost cq.smartpay.com.cn:80

    ServerAdmin sa@smartpay.com.cn

    DocumentRoot /var/www/html/website

    ServerName cq.smartpay.com.cn

    #

    DirectoryIndex cq_index.html

    #

    #ServerAlias 

    ErrorLog /var/log/httpd/cq-error_log

    CustomLog /var/log/httpd/cq-access_log common

相关的知识点:

1、要删除系统中有关联属性的软件包中的其中的一个的方法是:rpm nodeps 软件

包的名称。

2、将某个应用程序添加到

阅读(1415) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~