Linux(CentOS 7下httpd的安装)
Linux(CentOS 7下httpd的安装)
自己是个linux小白。最近几天在学linux,看到视频教程中安装源码包httpd所以自己想试一试,安装过程中有很多的错误,在网上找了很久也没找到,要么就是答非所问,安装了3个多小时才弄好,希望有像自己一样的小白能获得一点帮助。
步骤
下面的步骤是在安装过gcc的基础上。
1.源码包httpd下载
httpd下载链接
我是首先下载到了Window下。然后采用xShell将压缩包传到了linux虚拟机中。
点击选中的按钮会出现文件传输的页面。


双击即可上传。很方便。
注意:linux:一般源码包保存在 /usr/local/src/目录下
软件安装位置 /usr/local
看视频教程时,因为教程可能比较老,过程没有一点报错,结果自己安装时出现了错误。
软件配置与检查:./configure(这个步骤需要先进入解压好的httpd文件夹)
后面加上./configure --prefix=/usr/local/httpd指定安装的路径
结果报错如下:
configure: error: APR not found. Please read the documentation.
出现这种情况表示有依赖包还没装好。
需要安装:APR,APR-util
下载地址
http://apr.apache.org/download.cgi

2.步骤同上:分别传输到linux的/usr/local/src/文件夹下,然后分别解压
tar -zxvf apr-1.7.0.tar
tar -zxvf apr-util-1.6.1.tar
3.将apr和apr-util复制到httpd-2.4.46/srclib目录下
cp -a -r apr-1.7.0/ ./httpd-2.4.416/srclib/apr
cp -a -r apr-util-1.6.1/ ./httpd-2.4.46/srclib/apr-util
4.再次进入解压好的httpd文件夹
执行命令
./configure --prefix=/usr/local/httpd/ --with-included-apr --with-included-apr --with-included-apr-util
此时又会出现新得错误
configure: error: pcre-config for libpcre not found. PCRE is required and available
说明缺少 pcre 包
下载链接

这里需要注意以下:
pcre包 和pcre2包 不一样,我中午下载错了。然后虽然安装但是这个错误依然无法解决。
configure: error: pcre-config for libpcre not found. PCRE is required and available
所以一定注意要下载的是pcre包!!!!!!别下载错了!,不然会一直报那个错。
步骤同上 上传到linux
解压
进入解压好的pcre (这里可以按tab键 自动补全)
./configure --prefix=/usr/local/pcre --enable-utf8
可能会出现错误
configure: error: Invalid C++ compiler or C++ compiler flags
此时就需要安装gcc-c++
yum install -y gcc-c++
下载之后在进行
make && make install
5.再一次进入解压好的httpd-2.4.46/的目录
./configure --prefix=/usr/local/httpd/ --with-included-apr --with-included-apr --with-included-apr-util --with-pcre=/usr/local/pcre
make && make install
又出现错误:apahce./gen_test_char > test_char.h /bin/sh: ./gen_test_char: 没有那个文件或目录(省略10000字)好几个错误
yum -y install expat-devel(查了很久。。。。。太坑了,在这个过程还删除了apr,apr-util,pcre,httpd重新开始装了两次,最后才成功。。。。)
6..再再一次进入解压好的httpd-2.4.46/的目录
./configure --prefix=/usr/local/httpd/ --with-included-apr --with-included-apr --with-included-apr-util --with-pcre=/usr/local/pcre
make && make install
完美撒花.......
7.启动httpd的服务
启动命令(需要使用绝对路径):
/usr/local/httpd/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
说明端口被占用
vi /usr/local/httpd/conf/httpd.conf
修改配置文件 ,将ServerName后面的端口改成8080
因为内容较多,所以需要再文件中进行查找。
命令模式下输入: /ServerName
按回车 :
1.按n可以查看下一个出现要查询的字符的地方
2.找到之后 按i可以插入删掉80改为8080
3.修改之后按Esc推出插入模式,按:wq保存退出
此时重新启动httpd服务:
/usr/local/httpd/bin/apachectl start
就可以看到httpd(pid号)already running。。。
8.此时就可以再自己的电脑浏览浏览器输入虚拟机的ip地址就可以看到

如果还不能访问,
再linux输入 systemctl stop firewalld 关闭防火墙。
完美撒花!!!
第一次发文章,而且是个对linux没有经验的小白,如果有错误欢迎指出。大家一块交流学习。!
Linux(CentOS 7下httpd的安装)的更多相关文章
- Linux(CentOS)系统下安装好apache(httpd)服务后,其他电脑无法访问的原因
原文:Linux(CentOS)系统下安装好apache(httpd)服务后,其他电脑无法访问的原因 今天试了下在虚拟机上利用CentOS系统的yum命令安装好了httpd(apache2.4.6), ...
- Linux CentOS 7 下 Apache Tomcat 7 安装与配置
前言 记录一下Linux CentOS 7安装Tomcat7的完整步骤. 下载 首先需要下载tomcat7的安装文件,地址如下: http://mirror.bit.edu.cn/apache/tom ...
- Linux/CentOS环境下如何安装和配置PhantomJS工作环境
PhantomJS 是一个基于WebKit的服务器端 JavaScript API.它全面支持web而不需浏览器支持,其快速,原生支持各种Web标准: DOM 处理, CSS 选择器, JSON, C ...
- 基于CentOS 7下最小化安装的操作系统搭建Zabbix3.0环境
环境说明 系统版本:CentOS Linux release 7.3.1611 (Core) 内核版本:3.10.0-514.el7.x86_64 Httpd版本:Apache/2.4.6 (Cent ...
- CentOS 7下源码安装MySQL 5.7
网上说linux安装mysql服务分两种安装方法: ①源码安装,优点是安装包比较小,只有几十M左右,缺点是安装依赖的库多,安装编译时间长,安装步骤复杂容易出错: ②使用官方编译好的二进制文件安装,优点 ...
- CentOS 6 下RPM方式安装MySQL5.6
CentOS 6 下RPM方式安装MySQL5.6 1. 下载Linux对应的RPM包,如:CentOS6.7_64对应的RPM包,如下:[root@mysql ~]# ll总用量 113808-rw ...
- 在Linux(CentOS 6.6)服务器上安装并配置基于Apache的SVN服务器
#!/bin/bash # # 在Linux(CentOS 6.6)服务器上安装并配置基于Apache的SVN服务器: # # .安装服务 # .创建svn版本库 # .创建svn用户 # .配置sv ...
- Linux(CentOS 7)命令行模式安装VMware Tools 详解
本篇文章主要介绍了如何在Linux(CentOS 7)命令行模式安装VMware Tools,具有一定的参考价值,感兴趣的小伙伴们可以参考一下. 本例中为在Linux(以CentOS 7为例)安装VM ...
- Centos系统下Docker的安装
一.检查内核版本 安装Docker,需要linux内核大于3.10 使用uname -r 来检查 二. Centos系统下Docker的安装 1. 安装需要的软件包 yum install -y yu ...
随机推荐
- D. The Wu 解析(思維、二進位運算)
Codeforce 1017 D. The Wu 解析(思維.二進位運算) 今天我們來看看CF1017D 題目連結 題目 略,請直接看原題 前言 官方解答實在看不懂...之後還記得的話再補那個做法吧 ...
- PHP定界符的用法
当面临大段的负责的文本输入的时候,建议使用定界符. 例如: $age = 28; $str = <<<cont 第一行数据 第二行数据 特殊字符 ' " asdf abc ...
- Java学习的第三十七天
1.例3.1求一元二次方程的根 import java.util.Scanner; public class cjava { public static void main(String[]args) ...
- Java学习的第五天
1.值域转化的规则:值域小的类型可以自动转化成值域大的类型,值域大的类型可以强行转化成值域小的类型,但要注意精度,除了基本类型可以转换,引用类型之间也可以转换. 引用类型可以是类,借口,数组. 常见的 ...
- python测试报告输出 htmltestrunner 及 中文乱码的解决方式
下载HTMLTestRunner.py 第三方库 下载地址: python2:http://tungwaiyip.info/software/HTMLTestRunner.html 右键另存为下载HT ...
- 神州笔记本电脑【K670D】安装 Ubuntu18.04 系列操作
一.使用U盘安装 Ubuntu 前的处理如下: 进入BIOS将SSD设为启动首选项 -> F10保存退出 -> 用方向键高亮ubuntu启动项 -> 按e键进入编辑状态 -> ...
- 关于Android Studio中使用jni进行opencv配置开发环境的要素秘诀
使用jni进行opencv开发可以快速地将PC端的opencv代码移植到手机上,但是如何在android studio下进行配置,网上几乎找不到教程,大多都是eclipse下使用mk文件的方法,找不到 ...
- Centos8防火墙设置
1.centos中firewalld与iptables centos7以前的版本默认使用iptables服务进行管理防火墙规则.centos7以及其以上版本默认使用firewalld服务管理防火墙.所 ...
- Java并发(一):线程
目录 一.什么是线程 二.中断线程 三.线程状态 四.线程属性 前言: 本文将简单的介绍JAVA并发中的线程. 操作系统的多任务(multitasking):计算机在同一刻运行多个程序的能力,即并发. ...
- c#提取
string email = Console.ReadLine(); int atIndex = email.IndexOf('@'); string userName = email.Substri ...