CentOS下编译安装Apache2.4

场景描述:

由于项目需求需要搭建一个HTTP服务,经过商讨决定选择Apache,首先需要下载Apache2.4的包,在安装Apache的过程会提示缺少一些依赖包,这里在开始就列出来,提前安好后续就会少好多事

需要的包:

1. httpd的包,这里选用【httpd-2.4.38.tar.bz2】
   Apache源码包位置:http://httpd.apache.org/

2. 依赖的包 apr、apr-util、pcre
   apr、apr-util包的位置:http://apr.apache.org/
   pcre包的位置:http://pcre.org/

3. 注意:
   把这些包准备好后,可以先安这些包,也可以在安Apache的过程中提示缺少包再安,还有就是apr、apr-util 
   包的版本问题,我有试过apr-1.6.5和apr-util-1.6.1最后在make编译的时候出错,所以为了保险起见还是 
   用历史版本

开始安装Apache2.4【httpd-2.4.38.tar.bz2】

1. 先把下载好的httpd包传到服务器,并解压,我是解压到/etc目录下,安装目录是/usr/apache24
   解压命令:tar -jxvf httpd-2.4.18.tar.bz2
2. 进入目录
   cd /etc/httpd-2.4.38
3. 执行写入配置,其中apache24目录不用自己创建,安装过程会自动创建
   ./configure --prefix=/usr/apache24  -- 参数prefix指定安装路径
4. 到这一步应该提示缺少apr包,如下图所示

CentOS下编译安装Apache2.4_第1张图片

开始安装apr包和apr-util【apr-1.5.2.tar.gz&apr-util-1.5.4.tar.gz】

安装apr:

1. 先把下载好的apr包传到服务器,并解压,我是解压到/etc目录下,安装目录是/usr/local/apr
   解压命令:tar -zxvf apr-1.5.2.tar.gz
2. 进入目录
   cd /etc/apr-1.5.2.tar.gz
3. 执行写入配置,其中/usr/local/apr目录不用自己创建,安装过程会自动创建
   ./configure --prefix=/usr/local/apr  -- 参数prefix指定安装路径
4. make
5. make install

继续安装apr-utl: 

1. 先把下载好的apr包传到服务器,并解压,我是解压到/etc目录下,安装目录是/usr/local/apr-util
   解压命令:tar -zxvf apr-util-1.5.2.tar.gz
2. 进入目录
   cd /etc/apr-util-1.5.2.tar.gz
3. 执行写入配置,其中/usr/local/apr-util目录不用自己创建,安装过程会自动创建
   ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr 
   参数prefix指定安装路径, 参数--with-apr表示apr-util安装需要依赖apr,所以指定apr的安装目录
4. make
5. make install
6. apr-util安装完成
7. 文章开头提到的问题:用apr-1.6.5/apr-util-1.6.1在执行步骤4的时候会出错

两个apr包安好了,在返回httpd的目录再次配置apache

1. ./configure --prefix=/usr/apache24 --with-apr=/usr/local/apr --with-apr- 
   util=/usr/local/apr-util
2. 会提示缺少包pcre,包的位置开始有提到,这里用的是pcre-8.38.zip
3. 解压
   unzip pcre-8.38.zip
4. cd pcre-8.38
5. ./configure --prefix=/usr/local/pcre
6. make
7. make install
8. pcre包安装成功

CentOS下编译安装Apache2.4_第2张图片

返回httpd的位置安装Apache 

1. ./configure --prefix=/usr/apache24 --with-apr=/usr/local/apr --with-apr- 
   util=/usr/local/apr-util --with-pcre=/usr/local/pcre
2. make
3. make install
4. 出现如下界面安装成功
5. 启动apache服务后,在浏览器地址栏输入apache服务器的Ip验证是否成功【eg:http://192.168.5.130】

CentOS下编译安装Apache2.4_第3张图片

Apache服务操作

1. /usr/apache24/bin/apachectl start
2. /usr/apache24/bin/apachectl stop
3. /usr/apache24/bin/apachectl restart

 Apache服务的默认根目录

1. 服务器的默认根目录在/usr/apache24/htdocs/
2. 更改默认根目录的方法
   a. vi /usr/apache24/conf/httpd.conf
   b. 搜索 DocumentRoot
   c. 将/usr/apache24/htdocs/更改为你想要的根目录【例如:/var/www/html】
3. 测试的index.html就存在于它的根目录下

 CentOS下编译安装Apache2.4_第4张图片

注意:

注意:如果make中出现错误,必须执行make clean清除所有缓存文件后继续,如果是在make install过程中出现错误,必须执行make clean并且删除生成了安装目录,然后重新执行make和make install安装完成之后删除原来释放出来的那些目录即可,如果以后要卸载,只要不忘记安装目录,直接删除安装目录就可以,也不会出现任何残留垃圾

 安装以后可能会出现这个问题:

安装完以后通过/usr/apache24/bin/apachectl start启动apache服务,发现报如下错误:

httpd: Could not reliably determine the server's fully qualified domain name

解决方法:

1. cd /usr/apache24/conf
2. 编辑httpd.conf文件,
   搜索"#ServerName",添加ServerName localhost:80
3. 再重新启动apache 即可

CentOS下编译安装Apache2.4_第5张图片

问题解决

Apache简单配置

如果说我们想通过浏览器看到我们本地的文件/目录,两种方法:

  1. 将我们本地的文件通过软链接ln -s指向apache的默认根目录,然后在浏览器地址栏输入http://ip即可看到   ,但是要注意/usr/apache24/htdocs/index.html的move掉或者换个名字,不然首页默认会显示index.html                          CentOS下编译安装Apache2.4_第6张图片
  2. 直接将我们想要的目录/文件link到指定目录/var/www/html然后在/usr/apache24/conf/httpd.conf更改apache服务的根目录

 CentOS下编译安装Apache2.4_第7张图片

 CentOS下编译安装Apache2.4_第8张图片

 CentOS下编译安装Apache2.4_第9张图片

好了,就到这里吧,真心恶心! 

 

你可能感兴趣的:(Linux,apache24,centos)