[关于]
通常我们配置服务器的目的就是让它给我们提供服务的,我们先从最基本的 web 服务器开始。
提供 web 服务的服务器叫 httpd,而实现 httpd 的软件又有很多,比如 WIN 平台上的 IIS 以及跨平台的 Apache 等。在这一小节,我们主要描述 Apache 的安装与基本配置。
首先我们来认识一下什么是 Apache,Apache 是由 ASF (Apache Software Foundation / Apache 软件基金会) 开发和维护的一款提供 httpd 服务器软件“Apache 是世界使用排名第一的 web 服务软件,它可以运行在几乎所有广泛使用的计算机平台上”这样一句话足以证明 Apache 的辉煌,还有更重要的一点,它是免费的 (基于 Apache Licence)。
重要提示:我们以 /home/software 目录来存放下载的安装文件,以 /usr/local 目录来作为程序的安装目录。
[详细的安装方法]
我们可以从 Apache 的官方网站 http://httpd.apache.org 下载到最新的发行版本,用于安装在 Linux 上面的版本我们应该选择的是 Unix Source,软件包的名字看起来像是 httpd-2.2.10.tar.gz,然后使用类似如下的命令来下载。
wget http://www.apache.org/dist/httpd/httpd-2.2.10.tar.gz
然后需要把下载下来的压缩包解压缩,只需要执行以下命令。
tar -zxvf httpd-2.2.10.tar.gz
接着我们就可以进入到刚才解压缩的包目录进行安装。
cd httpd-2.2.10
./configure --prefix=/usr/local/apache --enable-so
make
make install clean
如果中间没有出现什么错误提示的话,那 Apache 就安装正确了,为了方便以后的工作我们建议作一些简要配置,比如更改默认的网页目录,为了安全起见我们需要让 Apache 以 www 的身份来运行,所以我们得先建立 www 组与用户,然后再再建立 Apache 的主文档目录并赋予其 www 组及用户的权限,当然不用更改也可以正常运行。
groupadd www
useradd www -g www
mkdir -p /home/wwwroot
chown -R www:www /home/wwwroot
vi /usr/local/apache/conf/httpd.conf
更改 DocumentRoot 后面的值为 /home/wwwroot,User 与 Group 后面的值都为 www 保存并退出。现在Apache 已经基本配置好了,现在可以用以下方式来启动,然后用浏览器打开你服务器所在的地址进行浏览。
/usr/local/apache/bin/apachectl -k start
[1.1 JSP]
要实现对 JSP 的支持有多种方式,如果一台服务器配置作为专门的 JSP,那可以独立使用 Tomcat,如果还需要对 PHP 的支持的话,那就得用到连接 Tomcat 与 Apache 的 Tomcat Connectors。
这一节我们 要描述如何具体的实现 Tomcat 与 Apache 用 Tomcat Connectors (mod_jk) 来连接。
[1.2 Tomcat]
可以通过以下的地址来下载到 Tomcat 的最新 Unix Source 包。http://tomcat.apache.org/
先将下载的包解压缩并将复制到安装目录,因为 Tomcat 是不需要编译的,所以这样就可以配置使用了。
tar -zxvf apache-tomcat-6.0.18.tar.gz
cp -R apache-tomcat-6.0.18 /usr/local/tomcat
[1.3 Tomcat Connectors]
可以通过以下的地址来下载到 Tomcat 的最新 Unix Source 包。http://tomcat.apache.org/download-60.cgi
先将下载的包解压缩
tar -zxvf tomcat-connectors-1.2.27-src.tar.gz
然后进入解开的包目录进行编译并得到mod_jk.so
cd tomcat-connectors-1.2.27-src
./configure --with-apxs=/usr/local/apache/bin/apxs
make
make install clean
如果编译成功的话,会在 Apache 的 Module 目录下生成一个 mod_jk.so 的文件,请确认 /usr/local/apache/module 目录下面有此文件,然后我们需要进行一些配置,首先建立分另建立 Tomcat Connectors 的两个配置文件。
vi /usr/local/apache/conf/mod_jk.conf
在文件里添加如下内容(请注意,此处的 tom_wang_jsp 你可以自己定义,不过请记得更改与此相关联的所有设置都得一致否则无法正常运行)
JkWorkersFile conf/tom_wang_jsp.properties
JkLogFile logs/mod_jk.log
JkShmFile logs/jk-runtime-status
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
JkRequestLogFormat "%w %V %T"
JkLogLevel error
JkMount /*.jsp tom_wang_jsp
JkMount /*.jsps tom_wang_jsp
JkMount /*Servlet* tom_wang_jsp
vi /usr/local/apache/conf/tom_wang_jsp.properties
在文件里添加如下内容
worker.list = tom_wang_jsp
worker.tom_wang_jsp.port = 8009
worker.tom_wang_jsp.host = localhost
worker.tom_wang_jsp.type = ajp13
worker.tom_wang_jsp.cachesize = 10
worker.tom_wang_jsp.cache_timeout = 600
worker.tom_wang_jsp.socket_keepalive = 1
worker.tom_wang_jsp.socket_timeout = 300
然后在 Apache 的配置文件 httpd.conf 添加两条关于 Tomcat 的设置,用以下操作执行。
echo "Include /usr/local/apache/conf/mod_jk.conf" >> /usr/local/apache/conf/httpd.conf
最后再配置 Tomcat 的配置文件
vi /usr/local/tomcat/conf/server.xml
修改以下内容,其中 appBase 后面的内容为你的网站的 JSP 页面根目录。
<Host name="localhost" appBase="/home/wwwroot/tomcat" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
添加以下内容,其中 docBase 相当于一个虚拟的 JSP 执行目录。
<Context path="/jsp" docBase="/home/wwwroot/jsp" debug="0"></Context>
然后重新启动 Apache 与 Tomcat, 如果没有出现任何错误的话,那就完成对 JSP 支持的安装了。
[2 PHP]
P一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:Hypertext Preprocessor)的缩写。PHP 是一种 HTML 内嵌式的语言,是一种在服务器端执行的嵌入 HTML 文档的脚本语言,它可以比 CGI 或者 Perl 更快速的执行动态网页,执行效率比完全生成HTML标记的 CGI要高许多,PHP具有非常强大的功能,所有的 CGI 或者 JavaScript 的功能PHP都能实现,而且支持几乎所有流行的数据库以及操作系统。
在安装 PHP 之前,我们得先看看关于 PHP 最常用的数据的 MYSQL 的章节。
可以通过以下的地址来下载到 PHP 的最新 Complete Source Code 包。
http://www.php.net/downloads.php
先将下载的包解压缩
tar -zxvf php-5.2.8.tar
然后进入解开的包目录进行编译并得到 libphp5.so
cd php-5.2.8
./configure --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql
make
make install clean
如果编译成功的话,会在 Apache 的 Module 目录下生成一个 libphp5.so 的文件,请确认 /usr/local/apache/module 目录下面有此文件,然后我们需要对 Apache 的配置文件进行一些配置,添加下面的内容
echo "AddType application/x-httpd-php .php" >> /usr/local/apache/conf/httpd.conf
echo "LoadModule php5_module modules/libphp5.so" >> /usr/local/apache/conf/httpd.conf
[附:随系统自动运行的方法]
如果你的系统是 Redhat 家族的,你还可以把 Apache 和 Tomcat 加入到服务里面,首先创建 Tomcat 的启动脚本。
vi /etc/rc.d/init.d/tomcat
并添加如下内容
export TOMCAT_HOME=/usr/local/tomcat
export CATALINA_BASE=$TOMCAT_HOME
export CATALINA_HOME=$TOMCAT_HOME
export CATALINA_TMPDIR=$TOMCAT_HOME/temp
export JRE_HOME=/usr/local/jdk/jre
# Source function library.
. /etc/rc.d/init.d/functions
start() {
echo -n $"Starting Tomcat: "
$TOMCAT_HOME/bin/startup.sh
}
stop() {
echo -n $"Stopping Tomcat: "
$TOMCAT_HOME/bin/shutdown.sh
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
status)
;;
restart)
stop
start
;;
*)
echo $"Usage: $0 {start|stop|restart}"
;;
esac
exit $RETVAL
然后执行如下命令把 Apache 加入到服务
cp /home/software/httpd-2.2.10/build/rpm/httpd.init /etc/rc.d/init.d/httpd
chmod +x /etc/rc.d/init.d/httpd
chmod +x /etc/rc.d/init.d/tomcat
chkconfig --add httpd
chkconfig --add tomcat
chkconfig --level 345 httpd on
chkconfig --level 345 tomcat on
service httpd restart
service tomcat restart
如果你是 BSD 家族的话,你需要把 Apache 加入到 /etc/rc.conf。
cp /home/software/httpd-2.2.10/build/rpm/httpd.init /usr/local/etc/rc.d/apache
chmod +x /usr/local/etc/rc.d/apache
echo 'apache_enable="YES"' >> /etc/rc.conf