WEB全能服务器总结,及各种问题处理方法.apache+tomcat+jsp+php+mysql+虚拟主机
2014-03-10 17:12
866 查看
前段时间配了一台WEB全能服务器,遇到不了少问题,当然得到了tree netseek 的帮助,在此谢谢啦~
尽管这个论坛有大量的有关WEB服务器配置的贴 子,但都不是很全。我在这里算是一个总结吧。
参考文档主要来自 bbs.linuxmine.com 的netseek提供。
本人第一次在此论坛发技术贴,总结了一点经验,发出来与大家一起分享吧。
非常感谢netseek给我提供文档。在原文档的基础上加了GD,MYSQL,PHPMYADMIN和一些常见错误的解决方法。
如果有什么问题,可以联系我:
msn: liuyubj520@hotmail.com
QQ: 48431359
e-mail: l iuyu105@sina.com
web: http://bj-bbs.com
bbs.linuxmine.com
加我请注明:linuxmine
转贴请注明出处! 谢谢
先送上软件包:
相关软件包下载地址
Apache(httpd)
www.apache.org
http://archive.apache.org/dist/httpd/httpd-2.0.54.tar.gz
PHP
www.php.net
http://cn2.php.net/get/php-5.0.5.tar.gz/from/a/mirror
freeTDS
http://ibiblio.org/pub/Linux/ALP ...
/freetds-stable.tgz
JDK
java.sun.com
http://java.sun.com/j2se/1.4.2/download.html
Tomcat
http://archive.apache.org/dist/j ...
tomcat-5.5.8.tar.gz
JK2
http://www.apache.org/dist/jakar ...
-src-current.tar.gz
JDBC(Mysql,MsSql)
www.mysql.com
http://dev.mysql.com/get/Downloa ...
ha.tar.gz/from/pick
http://www.microsoft.com/downloa ...
bf71&DisplayLang=en
其它:(优化PHP)
ZendOptimizer
ZendOptimizer2.1.0b URhttp://www.zend.com/store/getfreefile.php?pid=13&zbid=548
涉及软件包:
libtool-1.5.22.tar
libxml2-2.6.19.tar # wget http://ftp.gnome.org/pub/GNOME/s ...
bxml2-2.6.19.tar.gz
libxslt-1.1.15.tar http://ftp.gnome.org/pub/GNOME/s ...
bxslt-1.1.15.tar.gz
freetype-2.1.10.tar
apr-1.1.1.tar
apr-util-1.1.1.tar
libpng-1.2.8.tar
curl-7.15.0.tar.gz http://curl.haxx.se/download/curl-7.15.0.tar.gz
jpegsrc.v6b.tar.gz http://www.ijg.org/files/jpegsrc.v6b.tar.gz
让MYSQL管理WEB化:
phpMyAdmin-2.8.2.4.tar
这些软件都可以到www.apache.net 或http://download.chinaunix.net下载得到,我就不写详细了!
纲要:
一, Apache的安装 一楼!·
二, 编译安装PHP(支持GD) 二楼!
三, MYSQL的安装 三楼
四, JSP环境的支持 四楼
五, 企业虚拟主机配置实战方案 五楼
一,Apache(httpd)的安装
1.rpm (redhat自带的安装)
2.重新编译源代码安装
1,RPM包的安装:
[root@linuxhero root]# rpm -qa | grep httpd 查看是否已经安装此服务
httpd-manual-2.0.40-21
redhat-config-httpd-1.0.1-18
httpd-devel-2.0.40-21
httpd-2.0.40-21
2,重新编译Apache源代码安装
#rpm –e httpd –-nodeps 卸载原用的Apache用户
#tar -zxvf httpd-2.0.54.tar.gz 解压
#cd httpd-2.0.54
# ./configure --prefix=/usr/local/httpd --enable-modules=so --enable-so
注:--prefix参数用来指定安装后存放的路径,--enable-modules用来指定系统允许使用的功能扩展的类型,这里指定为so类型,--enable-so用来指定允许DSO(动态共享对像)
#echo $?
显示为:0,表示编译过程中没有错误,显示其它都有错 这一步后面的编译过程都会用到,如果在这出错了,就不要MAKE了。得查找原因。
以后只要你在编译的时候一定要加上这一句。很重要的。
#make
#make install
#cd /usr/local/httpd/bin/
#./httpd –k start
注:这一步都不会出错。
以下的步骤有一个问题。应该先安装mysql 后安装php LAMP 嘛,请大家安装时注意。
之前我的问题是:在已有的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,找到<Service name="Tomcat-Apache">那段,把前面的"<!--"和</Service>后面的"-->"都删掉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
然后重启所有服务!
尽管这个论坛有大量的有关WEB服务器配置的贴 子,但都不是很全。我在这里算是一个总结吧。
参考文档主要来自 bbs.linuxmine.com 的netseek提供。
本人第一次在此论坛发技术贴,总结了一点经验,发出来与大家一起分享吧。
非常感谢netseek给我提供文档。在原文档的基础上加了GD,MYSQL,PHPMYADMIN和一些常见错误的解决方法。
如果有什么问题,可以联系我:
msn: liuyubj520@hotmail.com
QQ: 48431359
e-mail: l iuyu105@sina.com
web: http://bj-bbs.com
bbs.linuxmine.com
加我请注明:linuxmine
转贴请注明出处! 谢谢
先送上软件包:
相关软件包下载地址
Apache(httpd)
www.apache.org
http://archive.apache.org/dist/httpd/httpd-2.0.54.tar.gz
PHP
www.php.net
http://cn2.php.net/get/php-5.0.5.tar.gz/from/a/mirror
freeTDS
http://ibiblio.org/pub/Linux/ALP ...
/freetds-stable.tgz
JDK
java.sun.com
http://java.sun.com/j2se/1.4.2/download.html
Tomcat
http://archive.apache.org/dist/j ...
tomcat-5.5.8.tar.gz
JK2
http://www.apache.org/dist/jakar ...
-src-current.tar.gz
JDBC(Mysql,MsSql)
www.mysql.com
http://dev.mysql.com/get/Downloa ...
ha.tar.gz/from/pick
http://www.microsoft.com/downloa ...
bf71&DisplayLang=en
其它:(优化PHP)
ZendOptimizer
ZendOptimizer2.1.0b URhttp://www.zend.com/store/getfreefile.php?pid=13&zbid=548
涉及软件包:
libtool-1.5.22.tar
libxml2-2.6.19.tar # wget http://ftp.gnome.org/pub/GNOME/s ...
bxml2-2.6.19.tar.gz
libxslt-1.1.15.tar http://ftp.gnome.org/pub/GNOME/s ...
bxslt-1.1.15.tar.gz
freetype-2.1.10.tar
apr-1.1.1.tar
apr-util-1.1.1.tar
libpng-1.2.8.tar
curl-7.15.0.tar.gz http://curl.haxx.se/download/curl-7.15.0.tar.gz
jpegsrc.v6b.tar.gz http://www.ijg.org/files/jpegsrc.v6b.tar.gz
让MYSQL管理WEB化:
phpMyAdmin-2.8.2.4.tar
这些软件都可以到www.apache.net 或http://download.chinaunix.net下载得到,我就不写详细了!
纲要:
一, Apache的安装 一楼!·
二, 编译安装PHP(支持GD) 二楼!
三, MYSQL的安装 三楼
四, JSP环境的支持 四楼
五, 企业虚拟主机配置实战方案 五楼
一,Apache(httpd)的安装
1.rpm (redhat自带的安装)
2.重新编译源代码安装
1,RPM包的安装:
[root@linuxhero root]# rpm -qa | grep httpd 查看是否已经安装此服务
httpd-manual-2.0.40-21
redhat-config-httpd-1.0.1-18
httpd-devel-2.0.40-21
httpd-2.0.40-21
2,重新编译Apache源代码安装
#rpm –e httpd –-nodeps 卸载原用的Apache用户
#tar -zxvf httpd-2.0.54.tar.gz 解压
#cd httpd-2.0.54
# ./configure --prefix=/usr/local/httpd --enable-modules=so --enable-so
注:--prefix参数用来指定安装后存放的路径,--enable-modules用来指定系统允许使用的功能扩展的类型,这里指定为so类型,--enable-so用来指定允许DSO(动态共享对像)
#echo $?
显示为:0,表示编译过程中没有错误,显示其它都有错 这一步后面的编译过程都会用到,如果在这出错了,就不要MAKE了。得查找原因。
以后只要你在编译的时候一定要加上这一句。很重要的。
#make
#make install
#cd /usr/local/httpd/bin/
#./httpd –k start
注:这一步都不会出错。
以下的步骤有一个问题。应该先安装mysql 后安装php LAMP 嘛,请大家安装时注意。
二,编译安装PHP
二,编译安装PHP 二,编译安装PHP 1,freeTDS(解决PHP与MSSQL连接的问题) 2,编译安装PHP并支持GD 具体安装如下: 1. freeTDS的安装 #tar –zxvf freetds-stable.tgz #cd freetds-0.63 #./configure --prefix=/usr/local/freetds --with-tdsver=8.0 注:--with-tdsver指定的freetds支持的数据库版本号,其中8.0对应的是sqlservr2000. #make #make install #vi /etc/ld.so.conf 设置系统动态库配置文件,加入以下: /usr/local/freetds/lib 保存退出。 #ldconfig 重新加载动态库列表ld.so.conf 1。安装PHP 安装 jpeg6 建立目录 # mkdir /usr/local/jpeg6 # mkdir /usr/local/jpeg6/bin # mkdir /usr/local/jpeg6/lib # mkdir /usr/local/jpeg6/include # mkdir /usr/local/jpeg6/man # mkdir /usr/local/jpeg6/man/man1 # cd /root/soft # tar -zxf jpegsrc.v6b.tar.gz # cd jpeg-6b # ./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static #echo $? # make; make install 安装libpng # cd /root/soft # tar -zxf libpng-1.2.8.tar.gz # cd libpng-1.2.8 # cp scripts/makefile.std makefile # make; make install 安装 freetype # cd /root/soft # tar -zxf freetype-2.1.10.tar.gz # cd freetype-2.1.10 # ./configure --prefix=/usr/local/freetype #echo $? # make;make install 安装最新的GD库 # cd /root/soft # tar -zxf gd-2.0.33.tar.gz # cd gd-2.0.33 # ./configure --prefix=/usr/local/gd2 --with-jpeg=/usr/local/jpeg6/ --with-png --with-zlib --with-freetype=/usr/local/freetype/ #echo $? # make; make install 安装最新的Curl库 # cd /root/soft # tar -zxf curl-7.15.0.tar.gz # ./configure --prefix=/usr/local/curl #echo $? # make; make install 安装PHP 由于php5需libxml2的支持, 所以先安装libxml2 # cd /root/soft # tar -zxf libxml2-2.6.19.tar.gz # cd libxml2-2.6.19 # ./configure --prefix=/usr/local/libxml2 #echo $? # make; make install 安装 libxslt # cd /root/soft # tar -zxf libxslt-1.1.15.tar.gz # cd libxslt-1.1.15 # ./configure --prefix=/usr/local/libxslt --with-libxml-prefix=/usr/local/libxml2 #echo $? # make; make install # tar -zxf php-5.0.5.tar.gz # cd php-5.05 # ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql/ --with-curl=/usr/local/curl --enable-ftp --with-libxml-dir=/usr/local/libxml2 --with-expat-dir=/usr/lib --enable-soap --with-xsl=/usr/local/libxslt --enable-xslt --with-gd=/usr/local/gd2/ --with-jpeg-dir=/usr/local/jpeg6/ --with-zlib-dir=/usr/lib --with-png --with-freetype-dir=/usr/local/freetype #echo $? # make # make install 其中./configure 后的 --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql/ --with-libxml-dir=/usr/local/libxml2 是必要的选项 --with-gd=/usr/local/gd2/ --with-jpeg-dir=/usr/local/jpeg6/ --with-png --with-zlib-dir=/usr/lib --with-freetype-dir=/usr/local/freetype 这是让PHP支持GD库的配置选项 --with-curl=/usr/local/curl 支持CURL库 --enable-ftp 打开FTP库函数支持 --enable-soap --with-xsl=/usr/local/libxslt --enable-xslt 让PHP支持SOAP, 上面这些一般用得少, 可以去掉 如果在MAKE的时候出错,那么就是你以上相关的软件没有安装好,这是最全的,出错的方法都是没有装相应的软件包,你可以查看一下。 #cp php.ini-dist /usr/local/lib/php.ini #vi /usr/local/lib/php.ini 将register_globals = Off改为register_globals = On #vi /usr/local/httpd/httpd.conf 些模块简单的修改 将Listen 80 改为: Listen 192.168.0.230:80 在配置文件中添加如下: AddType application/x-httpd-php .php .php3 .php4 .php5 #AddHandler cgi-script .cgi,去掉#打开CGI脚本服务 #/usr/local/httpd/bin/apachectl restart 重启一下apahce服务 apache服务器的PHP配置完成。 设置启动文件: #vi /etc/rc.d/rc.local 增加一行: /usr/local/httpd/bin/apachectl start 配置重新导入 /etc/rc.d/init.d/xinetd restart 测试PHP 进入Apache默认主目录/usr/local/httpd/htdocs,在该目录下建一个phpinfo.php文件 #vi phpinfo.php 写入以一内容 <?phpinfo();?> http://IP地址/phpinfo.php 就可以看到相关的服务信息啦。 |
三,mysql的安装
三,mysql的安装 # tar zxvf mysql-4.0.14.tar.gz –C /setup # cd /setup/mysql-4.0.14 # groupadd mysql # useradd mysql -g mysql -M -s /bin/false #./configure --prefix=/usr/local/mysql/ --with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static --enable-assembler #echo $? # make # make install # scripts/mysql_install_db 生成mysql用户数据库和表文件 # cp support-files/my-medium.cnf /etc/my.cnf \copy配置文件,有large,medium,small三个环境下的,根据机器性能 选择,如果负荷比较大,可修改里面的一些变量的内存使用值 # cp support-files/mysql.server /etc/init.d/mysqld \copy启动的mysqld文件 # chmod 700 /etc/init.d/mysqld # cd /web # chmod 750 mysql -R # chgrp mysql mysql -R # chown mysql mysql/var -R # cd /web/mysql/libexec # cp mysqld mysqld.old # strip mysqld # chkconfig --add mysqld # chkconfig --level 345 mysqld on # service mysqld start # netstat -atln 看看有没有3306的端口打开,如果mysqld不能启动,看看/web/mysql/var下的出错日志,一般都是目录权限没有设置好的问题 # ln -s /web/mysql/bin/mysql /sbin/mysql # ln -s /web/mysql/bin/mysqladmin /sbin/mysqladmin # mysqladmin -uroot password "youpassword" #设置root帐户的密码 # mysql -uroot -p # 输入你设置的密码 mysql>;use mysql; mysql>;delete from user where password=""; #删除用于本机匿名连接的空密码帐号 mysql>;flush privileges; mysql>;quit 错误: 看到: [1] 5134 [root@shunzi mysql]# Starting mysqld daemon with databases from /usr/local/mysql/data STOPPING server from pid file /usr/local/mysql/data/shunzi.pid 030102 21:00:46 mysqld ended 提示启动失败了,这是由于权限的问题,执行下列命令: chown -R root /usr/local/mysql chgrp -R mysql /usr/local/mysql 执行: [root@shunzi mysql]# bin/mysqld_safe --user=root & 可以看到类似的内容: [1] 5846 5846 pts/1 S 0:00 /bin/sh bin/mysqld_safe --user=root 5864 pts/1 S 0:00 /usr/local/mysql/bin/mysqld --defaults-extra-file=/usr/local/mysql/data/my.cnf --ba 这说明mysql服务已经启动了。mysql服务器安装成功了。如还不行,就再检查mysql文件的权限。 总之MYSQL的错误问题都出在权限上。细心点就没事。 2。安装PHPMYADMIN ex:/usr/local/apache/htdocs/ (这是我网页存放的位置) a. # mv phpMyAdmin_2.0.5.tar.gz /usr/local/apache/htdocs/ 移到httpd的根目录 b. # tar zxvf phpMyAdmin_2.0.5.tar.gz 解压缩phpMyAdmin_2.0.5.tar.gz c. 路径 /usr/local/apache/htdocs/phpMyAdmin d. 修改设定档 # vi config.inc.php3 找到下面的部分 $cfgServers[1]['host'] = 'localhost'; // MySQL 的hostname $cfgServers[1]['port'] = ''; // MySQL 的port 空白表示预设3306 $cfgServers[1]['adv_auth'] = true; // 是否采用进阶功能 $cfgServers[1]['stduser'] = 'root'; // MySQL的管理者 $cfgServers[1]['stdpass'] = '123456'; // MySQL管理者的密码 //我采用root为管理者,密码为123456 你可以采用自己喜欢的 4.测试 开启浏览器,输入http://的网址/phpMyAdmin/... |
四,JDK的安装
四,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_08-linux-i586.bin j2sdk-1_4_2_08-linux-i586-rpm.bin 有两个包. j2sdk-1_4_2_08-linux-i586-rpm.bin的安装方法 #chmod 755 j2sdk-1_4_2_08-linux-i586-rpm.bin #./j2sdk-1_4_2_08-linux-i586-rpm.bin (运行JDK自解包) 运行过程中会出现一个用户协议,选择yes即可,会释放出一个rpm包j2sdk-1_4_2_08-linux-i586.rpm. #rpm –Uvh j2sdk-1_4_2_08-linux-i586.rpm 完成后会在/usr/目录下生成一个/usr/java/j2sdk1.4.2_08目录文件 另一个软件包运行后会直接释放成j2sdk1.4.2_08目录移动合适的位置,如/usr/local/ #chmod 755 j2sdk-1_4_2_08-linux-i586.bin #./j2sdk-1_4_2_08-linux-i586.bin # mv j2sdk1.4.2_08 /usr/local/ 到此JDK已经安装完成 到/usr/bin目录下,把原用的java,javac文件删除: #rm -rf java #rm –rf javac 在/usr/bin 下建立 软连接 java # ln -s /usr/local/j2sdk1.4.2_08/bin/java /usr/bin/java # ln -s /usr/local/j2sdk1.4.2_08/bin/javac /usr/bin/javac # java –version # javac -version java version "1.4.2_08" 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_08 /usr/local/jdk ln -s /usr/local/j2sdk1.4.2_08/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 TOMCAT_HOME=/usr/local/tomcat export TOMCAT_HOME 启动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/httpd/bin/apxs \ --with-java-home=/usr/local/jdk \ --with-tomcat41=/usr/local/tomcat \ --with-apr-lib=/usr/local/httpd/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 |
错误:
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,找到<Service name="Tomcat-Apache">那段,把前面的"<!--"和</Service>后面的"-->"都删掉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的简单设置, 在这里我们使用XXXXXX.com这个虚拟域名,实际域名首先要确定域名已经在域名提供商或DNS上设置正常,在这里我们简的的讲一下DNS服务器在RedHat9。0上的简单的配置,假定服务器使用192.168.0.230和192.168.0.231这两个IP 绑定多个IP: 在/etc/sysconfig/network-scripts,在该目录下新建一个ifcfg-etho0:0的文件内容如下: DEVICE=eth0:0 IPADDR=192.168.0.231 NETMASK=255.255.255.0 ONBOOT=yes #service network restart 重启一下网络服务就OK啦 DNS的简单配置 在这里关于DNS的详细介绍和配置我就不说啦,其实配置也不是难事,都是利用模板,关键是在配置的时候要细心,不要马虎,否则会现错, 1.基本配置文件:: /etc/named.conf /var/named/ 编写xxxx.com.zone /etc/resolv.conf 2.#vi /etc/named.conf zone "xxxxx.com" IN { type master; file "xxxxx.com.zone"; allow-update { none; }; }; zone "0.168.192.in-addr.arpa" IN { type master; file "192.168.0.local"; allow-update { none; }; }; 3.#vi /var/named/xxxxx.com.zone 编写一个xxxxx.com.zone文件 $TTL 86400 @ 1D IN SOA @ root ( 20050505 3H 15M 1W 1D ) 1D IN NS @ 1D IN MX 10 mail.xxxxx.com ns 1D IN A 127.0.0.1 www 1D IN A 192.168.0.20 firebird 1D IN A 192.168.0.20 mail 1D IN A 192.168.0.20 pop3 1D IN A 192.168.0.20 smtp 1D IN A 192.168.0.20 ftp 1D IN A 192.168.0.21 4.#vi /etc/resolv.conf 把DNS服务器设置成为本机 nameserver 192.168.0.230 5.重新启动加载DNS服务: #/etc/init.d/named start #chkconfig named on 让named守护进程在每次系统引导时启动 #/etc/init.d/named restart 重启DNS服务 #rndc reload 重新加载配置文件,这是在修改配置文件后,使配置文件生效。 测试DNS服务是否工作正常 #host www.xxxxxxx.com #nslookup 192.168.0.230 二. 配置虚拟主机 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全能服务器. 好了,我也累晕了。休息会吧。 有空大家一起交流!!! |
相关文章推荐
- WEB全能服务器总结,及各种问题处理方法.apache+tomcat+jsp+php+mysql+虚
- 【CSS】小妙招,各种问题总结方法处理
- Java的WEB应用性能问题定位方法总结(二):常见性能问题处理工具
- WEB开发过程中遇到的各种问题及解决方法总结
- 各种服务器调用JNDI方法总结
- 运维人员处理服务器故障的方法总结
- 运维人员处理服务器故障的方法总结
- python web 开发中的csrf_token问题及处理方法
- 运维人员处理服务器故障的方法总结
- asp.net Vs访问正常,iis访问出现各种问题的部分处理方法
- Sql2012如何将远程服务器数据库及表、表结构、表数据导入本地数据库 自定义日志记录功能,按日记录,很方便 C#常量和字段以及各种方法的语法总结 类型,对象,线程栈,托管堆在运行时的关系,以及clr如何调用静态方法,实例方法,和虚方法 asp.net webapi 自定义身份验证
- PHP5 在调用 JAVA WebService 时遇到的各种问题及解决方法(一)
- 调用其他服务器的api时,暂时处理跨域问题的方法——No 'Access-Control-Allow-Origin' header is present on the requested resour
- phongap+ jquery + asp.net +android,我把我遇到的问题和处理方法的连接总结一下
- 运维人员处理服务器故障的方法总结
- 海量数据处理问题汇总及方法总结
- [问题解决方法]您试图在此 Web 服务器上访问的 Web 应用程序当前不可用
- web服务器程序运行出现乱码问题的解决方法
- 事务处理是在数据处理时经常遇到的问题,经常用到的方法有以下3种总结整理如下
- 【IIS服务器】必须在配置中注册 WebResource.axd 处理程序错误的解决方法