斑竹网络专注为中小企业客户提供以管理服务为核心的IT全方位服务 https://www.sysadm.cn
分类: 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 命令来启动和关闭服务
六、 安装PHP(php-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文件加入自启动
在这个文件中加入以下两行,使系统重新启动的时候,Tomcat和Apache能够自动
启动起来。
/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就是CA的key文件啦,./demoCA/cacert.pem就是CA的crt文件了
签署服务器证书
生成服务器私钥
# openssl genrsa -des3 -out server.key 1024
生成服务器证书请求
# openssl req -new -key server.key -out server.csr
后把server.crt文件mv成newreq.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.conf和extra/ 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
#
#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 –e –nodeps 软件
包的名称。
2、将某个应用程序添加到