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

 

posted @ 2022-07-10 16:35  中仕  阅读(101)  评论(0)    收藏  举报