Centos7 源码安装 apache

1.安装所有 apache 需要用的到的软件

#安装 apache 需要的依赖到的软件
yum install -y wget gcc make apr-devel apr-util-devel pcre-devel

2.去网上下载 apache 源码安装压缩包文件到本地

#定位目录到最上层的根目录
-> cd /
#在更目录下创建一个 download 文件夹  mkdir 命令是用来创建文件夹的
-> mkdir download
#定位目录到 根目录的 download 文件夹下
-> cd /download
#运行 wget 加 要下载文件的网址, 下载文件到当前目录 , 如果下载带https://下载不了的话可以加 --no-check-certificate 参数
-> wget http://apache.mirror.cdnetworks.com//httpd/httpd-2.4.39.tar.gz

具体的 apache 源码安装压缩包文件地址请去官网获取 http://httpd.apache.org/download.cgi#apache24

image.png

3.把文件从压缩包中解压出来

# -z :  有gzip属性的
# -x :  解压
# -v :  显示所有过程
# -f  : 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名
# tar 的详细请看 [https://www.cnblogs.com/manong--/p/8012324.html]
->tar -zxvf httpd-2.4.39.tar.gz

4. 定位目录到解压出来的 httpd-2.4.39 文件夹下

->cd httpd-2.4.39

5.再构建 apache 程序之前,要先来做一下 apache 的编译配置

#--prefix=/usr/local/apache2 构建安装程序的时候把这个程序安装在 /usr/local/apache2 目录下
#--enable-mods-shared=most 动态编译 most (大多数, all 是最大化支持) 模块 , 意思是对于大多数apache模块来说, 以后启用模块, 要先loadmoule来加载,然后再<ifmodule></ifmodule>配置
#--enable-so 保留以后的扩展DSO能力 [动态编译(DSO)]
#更加详细的配置介绍请看这个文章 [https://www.cnblogs.com/52php/p/5668845.html 和 http://httpd.apache.org/docs/2.4/programs/configure.html]
->./configure --prefix=/usr/local/apache2  --enable-mods-shared=most  --enable-so

6.编译安装

#如果 ./configure 没有报错的话,执行下面的语句就要开始安装 apache 了
->make && make install
#如果没报错 就大功告成了

7.更改一下 apache 的运行配置文件,要不启动服务会报错

->vi /usr/local/apache2/conf/httpd.conf
找到 '#ServerName xxxxxxxxx:80' 改成 'ServerName localhost:80' 记住要把前面的 '#' 号去掉
然后保存退出

8.添加开机启动

#  创建一个叫 http.service 的文件, 这个文件就是用来开机启动的,必须创建在 /usr/lib/systemd/system/ 目录下
->vi /usr/lib/systemd/system/httpd.service


---------------------------------------------------------------------------

[Unit]
# 描述文件这个创建的服务是用来干什么用的
Description=apache service
# 这个服务要在 network.target 网络创建后才开启
After=network.target

[Service]
#  forking 的意思是,ExecStart字段以fork()方式启动,此时父进程将退出,子进程将成为主进程(后台运行)。一般都设置为forking
Type=forking
#  开启 必须是绝对路径才行 /usr/local/apache2/bin/ 就是你上面 apache 安装的路径
ExecStart=/usr/local/apache2/bin/apachectl start
#  重载
ExecReload=/usr/local/apache2/bin/apachectl restart
#  停止
ExecStop=/usr/local/apache2/bin/apachectl stop

[Install]
# 这个比较重要 , 表示多用户命令行状态 (也代表启动的顺序 在 multi-user.target 的阶段启动这个服务), 还有一个用的多的是 graphical.target: 表示图形用户状体,它依赖于multi-user.target
WantedBy=multi-user.target



---------------------------------------------------------------------------



# vi 编辑完成后,保存退出 (vi 编辑不会的请百度一下) 然后执行 systemctl deamon-reload 用来让 systemctl 重新载入一下配置, 把你创建的 service 也载入进去
->systemctl deamon-reload
# 最后执行 systemctl start httpd.service  或者 systemctl start httpd 都行, 来开启 apache 服务
->systemctl start httpd
 # 如果不报错说明你已经成功了, 最后一步把 这个创建的 httpd.service 服务添加到开机启动里面
->systemctl enable httpd
# end 完事了 大功告成 下面是一些 systemctl 基本命令
# systemctl daemon-reload                 重载系统服务
# systemctl enable *.service              设置某服务开机启动      
# systemctl disable cups.service          停止开机启动
# systemctl start *.service               启动某服务  
# systemctl stop *.service                停止某服务 
# systemctl reload *.service              重启某服务
# systemctl status *.service              查看服务状态
# 更多 systemctl 请查看 [https://www.jianshu.com/p/fa7e7b93eeb4]


9.验证一下 apache 是否能正常运行了

->curl localhost
#返回    '<html><body><h1>It works!</h1></body></html>'   说明正常

ps:

用虚拟机的小伙伴 : 用windows 共享目录给 linux, 会有磁盘格式不一致的问题 , 会报 : ln: failed to create symbolic link ‘xxxxx’ 问题
解决方法:把 httpd-2.4.39.tar.gz 文件解压到 linux 的其他目录下, 不要用共享目录
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,968评论 6 482
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,601评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 153,220评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,416评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,425评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,144评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,432评论 3 401
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,088评论 0 261
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,586评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,028评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,137评论 1 334
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,783评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,343评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,333评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,559评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,595评论 2 355
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,901评论 2 345