Apache的安装与配置
一、Apache概述
Apache HTTP Server(简称 Apache)是 Apache 软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的 Web 服务器端软件之一。它快速、可靠并且可通过简单的 API 扩展,将 Perl/Python 等解释器编译到服务器中。
Apache的应用场景
(1) 运行静态页面、图片
(2) 结合PHP引擎运行PHP程序
(3)结合Tomcat、Resin运行JSP、Java程序
(4)做代理、负载均衡
二、安装Apache
2.1下载安装包
https://httpd.apache.org/download.cgi
现在安装依赖包:
https://dlcdn.apache.org//apr/
https://apr.apache.org/download.cgi
https://sourceforge.net/projects/pcre/files/pcre/8.38/
2.2上传安装包
[root@#localhost download]# ll 总用量 13140 -rw-r--r--. 1 root root 1093896 7月 9 21:27 apr-1.7.0.tar.gz -rw-r--r--. 1 root root 554301 7月 9 21:27 apr-util-1.6.1.tar.gz -rw-r--r--. 1 root root 9743277 7月 9 21:27 httpd-2.4.54.tar.gz -rw-r--r--. 1 root root 2053336 7月 9 21:27 pcre-8.38.tar.gz
2.3安装依赖包
[root@#localhost ~]# yum install gcc gcc-c++ zlib-devel expat-devel
-y
2.4安装arp
[root@#localhost download]# tar -zxvf apr-1.7.0.tar.gz
[root@#localhost download]# mkdir /usr/local/apr [root@#localhost download]# cd apr-1.7.0/ [root@#localhost apr-1.7.0]# ls apr-config.in build configure.in libapr.dep memory random threadproc apr.dep buildconf docs libapr.dsp misc README time apr.dsp build.conf dso libapr.mak mmap README.cmake tools apr.dsw build-outputs.mk emacs-mode libapr.rc network_io shmem user apr.mak CHANGES encoding LICENSE NOTICE strings apr.pc.in CMakeLists.txt file_io locks NWGNUmakefile support apr.spec config.layout helpers Makefile.in passwd tables atomic configure include Makefile.win poll test [root@#localhost apr-1.7.0]# ./configure --prefix=/usr/local/apr
[root@#localhost apr-1.7.0]# make && make install
2.5 安装apr-util
[root@#localhost ~]# mkdir /usr/local/apr-util [root@#localhost ~]# cd /download/ [root@#localhost download]# tar -zxvf apr-util-1.6.1.tar.gz apr-util-1.6.1/ apr-util-1.6.1/strmatch/ [root@#localhost apr-util-1.6.1]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
报错
[root@#localhost apr-util-1.6.1]# make && make install make[1]: 进入目录“/download/apr-util-1.6.1” /bin/sh /usr/local/apr/build-1/libtool --silent --mode=compile gcc -g -O2 -pthread -DHAVE_CONFIG_H -DLINUX -D_REENTRANT -D_GNU_SOURCE -I/download/apr-util-1.6.1/include -I/download/apr-util-1.6.1/include/private -I/usr/local/apr/include/apr-1 -o xml/apr_xml.lo -c xml/apr_xml.c && touch xml/apr_xml.lo xml/apr_xml.c:35:19: 致命错误:expat.h:没有那个文件或目录 #include <expat.h> ^ 编译中断。 make[1]: *** [xml/apr_xml.lo] 错误 1 make[1]: 离开目录“/download/apr-util-1.6.1” make: *** [all-recursive] 错误 1
安装依赖包
[root@#localhost apr-util-1.6.1]# yum install -y expat-devel
重新make
[root@#localhost apr-util-1.6.1]# make && make install
2.6安装PCRE
[root@#localhost download]# tar -zxvf pcre-8.38.tar.gz
[root@#localhost pcre-8.38]# mkdir /usr/local/pcre
[root@#localhost pcre-8.38]# ./configure --prefix=/usr/local/pcre
[root@#localhost pcre-8.38]# make && make install
2.7 安装apache
[root@#localhost download]# tar -zxvf httpd-2.4.54.tar.gz [root@#localhost download]# cd httpd-2.4.54/ [root@#localhost httpd-2.4.54]# ./configure --prefix=/usr/local/apache --with-pcre=/usr/local/pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
报错
configure: error: Did not find working script at pcre-config
修改安装命令重新安装
[root@#localhost httpd-2.4.54]# ./configure --prefix=/usr/local/apache --with-pcre=/usr/local/pcre/bin/pcre-config --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
2.8 启动Aparce服务报错
[root@localhost ~]# /usr/local/apache/bin/apachectl start AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message
处理办法
[root@localhost apache]# cd conf/
[root@localhost conf]# ls
extra httpd.conf magic mime.types original
[root@localhost conf]# vi httpd.conf

再次启动
[root@localhost conf]# /usr/local/apache/bin/apachectl start httpd (pid 40446) already running

三、配置Apache的虚拟主机
配置文件
# Virtual hosts
#Include conf/extra/httpd-vhosts.conf
取消配置注释,即可打开虚拟主机功能
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
3.1 配置基于域名的虚拟主机
[root@localhost extra]# pwd /usr/local/apache/conf/extra [root@localhost extra]# cp httpd-vhosts.conf httpd-vhosts.conf.bak 修改httpd-vhosts.conf <VirtualHost *:80> ServerAdmin webmaster@dummy-host.example.com DocumentRoot "/web/www" ServerName www.ming.com ServerAlias ming.com ErrorLog "logs/www-error_log" CustomLog "logs/www-access_log" common </VirtualHost>
创建站点目录并配置首页文件
[root@localhost ~]# mkdir -p /web/www [root@localhost ~]# echo 'welcom to apahce'>> /web/www/index.html
配置站点权限
[root@localhost ~]# cd /usr/local/apache/ [root@localhost apache]# ls bin build cgi-bin conf error htdocs icons include logs man manual modules [root@localhost apache]# cd conf/ [root@localhost conf]# ls extra httpd.conf magic mime.types original [root@localhost conf]# vi httpd.conf <Directory "/web/www"> Options FollowSymlinks AllowOverride none Require all granted </Directory>
DocumentRoot "/web/www"
检查语法并重启服务
[root@localhost conf]# /usr/local/apache/bin/apachectl -t AH00112: Warning: DocumentRoot [/usr/local/apache/docs/dummy-host2.example.com] does not exist Syntax OK [root@localhost conf]# /usr/local/apache/bin/apachectl graceful AH00112: Warning: DocumentRoot [/usr/local/apache/docs/dummy-host2.example.com] does not exist
浙公网安备 33010602011771号