由于项目需求需要搭建一个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编译的时候出错,所以为了保险起见还是
用历史版本
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包,如下图所示
安装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的时候会出错
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包安装成功
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】
1. /usr/apache24/bin/apachectl start
2. /usr/apache24/bin/apachectl stop
3. /usr/apache24/bin/apachectl restart
1. 服务器的默认根目录在/usr/apache24/htdocs/
2. 更改默认根目录的方法
a. vi /usr/apache24/conf/httpd.conf
b. 搜索 DocumentRoot
c. 将/usr/apache24/htdocs/更改为你想要的根目录【例如:/var/www/html】
3. 测试的index.html就存在于它的根目录下
注意:如果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 即可
问题解决
如果说我们想通过浏览器看到我们本地的文件/目录,两种方法:
好了,就到这里吧,真心恶心!