linux下载安装apache

一、前言  

安装的背景就是公司项目要用,自己在linux安装软件不多,过程比较曲折,需要记录一下(最近几篇博客好像都会有这种高大上的背景)~先说下笔者安装环境以及相关软件版本:

      操作系统:RedHat Enterprise Linux Server release 5.8 (Tikanga)
  apache:httpd-2.4.25.tar.gz
  apr:apr-1.5.2.tar.gz
  apr-util:apr-util-1.5.4.tar.gz
  pcre:pcre-8.40.tar.gz

Server version: Apache/2.4.37 (Unix)
CentOS Linux release 7.4.1708 (Core)
Server built: Nov 9 2018 15:22:45

下载3个环境源码以及httpd压缩源码安装包,下载本地的路径随意。我是下载解压到/usr/local里
wget http://www.apache.org/dist/httpd/httpd-2.4.37.tar.gz
wget http://jaist.dl.sourceforge.net/project/pcre/pcre/8.42/pcre-8.42.tar.gz
wget http://mirrors.hust.edu.cn/apache//apr/apr-1.6.5.tar.gz
wget http://mirrors.hust.edu.cn/apache//apr/apr-util-1.6.1.tar.gz
注意:具体版本可以自己按需选择

2.分别解压4个文件后先编译安装3个环境库文件。
安装位置/usr/local/*
注意安装时的选项,必须指定3个环境文件位置!

./configure --prefix=/usr/local/apr //配置安装路径/安装在/usr/local/apr目录
make && make install //安装
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/
make && make install //安装
./configure --prefix=/usr/local/pcre
make && make install //安装
./configure --prefix=/usr/local/apache2 --sysconfdir=/etc/httpd2 --with-apr=/usr/local/apr 
--with-apr-util=/usr/local/apr-util/ --with-pcre=/usr/local/pcre
make && make install //安装

3.导入httpd相关运行环境变量
1)配置PATH环境变量
[root@RSYNCSERVER profile.d]# vim apache.sh
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/apache2/bin

2)导入lib运行库位置
[root@RSYNCSERVER ld.so.conf.d]# ls
apache.conf dyninst-x86_64.conf kernel-3.10.0-693.el7.x86_64.conf mariadb-x86_64.conf
/usr/local/apache2/lib #2.4.37版本已经没有lib目录。

3.导出头文件
ln -sv /usr/local/apache2/include/ apache2

4.导出帮助文件
vim /etc/man_db.conf
MANDATORY_MANPATH /usr/local/apache2/man

5.注意
使用netstat -lnutp|grep :80查看只有tcp6侦听80端口时,需要关闭ipv6,再重启apache服务和系统
vim /etc/default/grub,GRUB_CMDLINE_LINUX="ipv6.disable=1 crashkernel=auto rhgb quiet...
grub2-mkconfig -o /boot/grub2/grub.cfg
重启系统后重启apache:reboot&apachectl restart

最后测试apache服务是否正常:输入http://127.0.0.1
It works!

安装提示

Linux下,源码的安装一般由3个步骤组成:配置(configure)、编译(make)、安装(make install)。

过程中用到“configure --prefix=安装目录 --with-name=依赖库源码解压目录”;其中--prefix指的是安装目录,--with指的是安装本文件所依赖的库文件。

安装httpd时,进行指定安装,用到./configure --prefix

具体解释:“.”表示当前目录;“/”是目录分隔符;合起来就是当前目录下。

1)如不指定prefix,则可执行文件默认放在/usr/local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc,其它的资源文件放在/usr /local/share。如果你要卸载这个程序,要么在原来的make目录下用一次make uninstall(前提是make文件指定过uninstall),要么去上述目录里面把相关的文件一个个手工删掉。

2)如指定prefix,直接删掉一个文件夹就够了。

注:
./configure的作用是检测系统配置,生成makefile文件,以便你可以用make和make install来编译和安装程序。

./configure是源代码安装的第一步,主要的作用是对即将安装的软件进行配置,检查当前的环境是否满足要安装软件的依赖关系,但并不是所有的tar包都是源代码的包。

你可以先命令ls,看有没有configure或者makefile文件。

1)如果有configure,就./configure,有很多参数。如果系统环境合适,就会生成makefile,否则会报错。

2)如果有makefile,就直接make,然后make install。

你还可以用rpm或者deb包来安装。而且现在的发行版都有自己的包管理器,比如apt或yum,一个命令就可以从源下载软件,还可以自动解决依赖问题。

二、正文

下载Apache安装包(本文下载httpd-2.4.25.tar.gz),下载地址:http://httpd.apache.org/
在安装Apache时,原作者分别针对不同版本进行了安装,在编译时是不同的,configure后跟的参数不同,本文是针对httpd-2.4.25.tar.gz进行安装

httpd-2.4.25版本编译命令:

./configure --prefix=/usr/local/apache2 (安装目录参数后面可以不加任何参数,直接安装即可)
make
make install</pre>

httpd-2.4.25版本编译命令:

./configure --prefix=/usr/local/apache2 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --with-pcre=/usr/local/pcre (除了指定Apache的安装目录外,还要安装apr、apr-util、pcre,并指定参数)
make
make install</pre>

在编译Apache(在安装httpd-2.4.25时遇到的问题)时分别出现了error:apr not found、error:APR-util not found、error:pcre-config for libpcre not found的问题。

下面就httpd-2.4.25的这些问题解决来实际操作一把:

http://apr.apache.org/download.cgi 下载apr-1.5.2.tar.gz、apr-util-1.5.4.tar.gz
https://sourceforge.net/projects/pcre/files/ 下载pcre-8.40.tar.gz(不要下载pcre2开头的,不然安装的时候会报找不到pcre-config脚本的错误
1.解决apr not found问题

 [root@localhost bin]# tar -zxf apr-1.5.2.tar.gz
  [root@localhost apr-1.5.2]# ./configure --prefix=/usr/local/apr
  [root@localhost apr-1.5.2]# make
  [root@localhost apr-1.5.2]# make install

2.解决APR-util not found问题

 [root@localhost bin]# tar -zxf apr-util-1.5.4.tar.gz
  [root@localhost apr-util-1.5.4]# ./configure --prefix=/usr/local/apr-util -with-apr=/usr/local/apr/bin/apr-1-config
  [root@localhost apr-util-1.5.4]# make
  [root@localhost apr-util-1.5.4]# make install

3、解决pcre-config for libpcre not found问题

  [root@localhost ~]# tar -zxf pcre-8.40.tar.gz
  [root@localhost ~]# cd pcre-8.40
  [root@localhost pcre-8.40]# ./configure --prefix=/usr/local/pcre
  [root@localhost pcre-8.40]# make
  [root@localhost pcre-8.40]# make install

如果在安装pcre过程中报:

image

那么请先执行:

  **yum install -y gcc gcc-c++**

apache默认占用80端口,所以如果有应用占用80这个端口,就要注意会存在端口冲突问题。

•**启动Apache**:/usr/local/apache2/bin/apachectl start
•**停止Apache**:/usr/local/apache2/bin/apachectl stop
•**重启Apache**:/usr/local/apache2/bin/apachectl restart

在IE中通过http://localhost:80,如果看到页面中显示“It works!”字样,则代表Apache验证通过。如果网站的index后缀是PHP格式的,则要修改httpd.conf配置文件(/usr/local/apache2/conf),在DirectoryIndex增加 index.php

********************************补充说明*******************************

笔者安装完APR、ARP-UTIL、PCRE之后,执行如下命令:

`./configure --prefix=/usr/local/apache2 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre`

之后,会报如下错误:

 ![image](http://upload-images.jianshu.io/upload_images/14653704-dcb11df5380afff3.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

查来查去,发现貌似是系统自带的SSL有问题,因为此次安装使用到的软件基本都是最新版的,是因为系统自带的这个openssl版本过低?抱着试一下的态度,重新下载一个openssl进行安装(反正装的云里雾里的),先试试再说,附上安装教程:

     1) [https://www.openssl.org/source/](https://www.openssl.org/source/)下载openssl-1.0.2k.tar.gz

     2) #tar -xzf openssl-1.0.2k.tar.gz

  3) #cd openssl-1.0.2k

  4) openssl-1.0.2k#./config --prefix=/usr/local/openssl

  5) openssl-1.0.2k#make depend

  6) openssl-1.0.2k#cd /usr/local

  7) /usr/local# ln -s openssl ssl

  8) 在/etc/ld.so.conf文件的最后面,添加如下内容:

    /usr/local/openssl/lib

  9) # ldconfig

  10) 添加OPESSL的环境变量,在/etc/profile的最后一行,添加:

    export OPENSSL=/usr/local/openssl/bin

    export PATH=$OPENSSL:$PATH:$HOME/bin

  11) 执行source /etc/profile

至此,openssl安装完毕,最后执行:

 ./configure --prefix=/usr/local/apache2 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre

apache安装完毕!

三、参考链接

1、http://blog.csdn.net/dazhi_100/article/details/17143213

2、http://www.cnblogs.com/zhuque/archive/2012/11/03/2763352.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,504评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,434评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,089评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,378评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,472评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,506评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,519评论 3 413
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,292评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,738评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,022评论 2 329
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,194评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,873评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,536评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,162评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,413评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,075评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,080评论 2 352

推荐阅读更多精彩内容