Ubuntu 16.04源码编译安装Apache 2.4.25教程
<p>本文为大家介绍了Ubuntu 16.04源码编译安装Apache,供大家参考,具体内容如下</p>
<p>
apache 安装指南:http://httpd.apache.org/docs/2.4/install.html</p>
<p>
安装指南上面有详细的安装过程,这里我只说些注意事项:</p>
<p>
<strong>1.编译安装apache有些依赖环境必须安装,不然后面编译会报找不到相应多文件:</strong></p>
<p>
APR(Apache portable Run-time libraries,Apache可移植运行库)和APR-Util,apr介绍可以参见:http://www.cnblogs.com/iLumia/p/4214886.html 下载地址:http://apr.apache.org/</p>
<p>
PCRE库 如果没有安装过pcre的话,请先下载:http://www.pcre.org<br>
除此之外,还有些磁盘空间要求,C编译器,时间同步,Perl5 可以根据需要,自行调整即可。</p>
<p>
<strong>2.接下来是详细安装步骤: </strong><br>
这里我习惯把源码放在/usr/local/src下面,根据自己习惯切换目录。</p>
<p>
1).安装apr-1.5.2<br>
切换到apr的源码目录</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_127597">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash functions">cd</code> <code class="bash plain">/usr/local/src/apr-1</code><code class="bash plain">.5.2/</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
安装及编译</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_802140">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">.</code><code class="bash plain">/configure</code> <code class="bash plain">--prefix=</code><code class="bash plain">/usr/local/apache/apr</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash functions">make</code> <code class="bash plain">-j4(根据自己电脑核数×2来设定并行编译参数,提高编译速度)</code>
</div>
<div class="line number3 index2 alt2">
<code class="bash functions">sudo</code> <code class="bash functions">make</code> <code class="bash functions">install</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
2).安装apr-util-1.5.4</p>
<p>
切换到apr-util的源码目录</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_50032">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash functions">cd</code> <code class="bash plain">/usr/local/src/apr-util-1</code><code class="bash plain">.5.4/</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
安装及编译</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_240369">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">.</code><code class="bash plain">/configure</code> <code class="bash plain">--prefix=</code><code class="bash plain">/usr/local/apache/apr-util</code> <code class="bash plain">--with-apr=</code><code class="bash plain">/usr/local/apache/apr</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash functions">make</code> <code class="bash plain">-j4</code>
</div>
<div class="line number3 index2 alt2">
<code class="bash functions">make</code> <code class="bash functions">install</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
3).安装pcre-8.39</p>
<p>
进入安装目录</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_7041">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash functions">cd</code> <code class="bash plain">/usr/local/src/pcre-8</code><code class="bash plain">.39/</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
安装及编译</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_612734">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">.</code><code class="bash plain">/configure</code> <code class="bash plain">--prefix=</code><code class="bash plain">/usr/local/pcre</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash functions">make</code> <code class="bash plain">-j4</code>
</div>
<div class="line number3 index2 alt2">
<code class="bash functions">make</code> <code class="bash functions">install</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
4.安装完依赖就可以安装apache了<br>
进入apache源码目录</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_551619">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash functions">cd</code> <code class="bash plain">/usr/local/src/httpd-2</code><code class="bash plain">.4.25/</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
安装及编译</p>
<p>
需要用–with参数指定我们刚才安装的依赖包位置</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_462362">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">.</code><code class="bash plain">/configure</code> <code class="bash plain">--prefix=</code><code class="bash plain">/usr/local/apache</code> <code class="bash plain">--with-apr=</code><code class="bash plain">/usr/local/apr</code> <code class="bash plain">--with-apr-util=</code><code class="bash plain">/usr/local/apr-util/</code> <code class="bash plain">--with-pcre=</code><code class="bash plain">/usr/local/pcre</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash functions">make</code> <code class="bash plain">-j4</code>
</div>
<div class="line number3 index2 alt2">
<code class="bash functions">make</code> <code class="bash functions">install</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
到此,就完成了apache的源码安装,接下来我们为apache服务<br>
添加启动脚本:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_768926">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash functions">cp</code> <code class="bash plain">/usr/local/apache/bin/apachectl</code> <code class="bash plain">/etc/init</code><code class="bash plain">.d</code><code class="bash plain">/httpd</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
添加环境变量:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_980384">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash functions">echo</code> <code class="bash string">'export PATH=$PATH:/usr/local/apache/bin'</code> <code class="bash plain">> </code><code class="bash plain">/etc/profile</code><code class="bash plain">.d</code><code class="bash plain">/httpd</code><code class="bash plain">.sh</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash functions">chmod</code> <code class="bash plain">a+x </code><code class="bash plain">/etc/profile</code><code class="bash plain">.d</code><code class="bash plain">/httpd</code><code class="bash plain">.sh</code>
</div>
<div class="line number3 index2 alt2">
<code class="bash functions">source</code> <code class="bash plain">/etc/profile</code><code class="bash plain">.d</code><code class="bash plain">/httpd</code><code class="bash plain">.sh</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
之后就可以多种方式管理httpd了,如果需要开机自启,将启动命令添加到/etc/rc.local 中即可。</p>
<p>
<span>sudo /usr/local/apache/bin/apachectl start</span></p>
<p>
可能会报错说端口被占用,需要修改httpd.conf文件</p>
<p>
<span>sudo gedit /usr/local/apache/httpd/conf/httpd.conf</span></p>
<p>
然后把ServerName行改成ServerName 127.0.0.1:80</p>
<p>
把Listen 80行改成Listen 127.0.0.1:80</p>
<p>
然后保存,启动apache服务.</p>
<p>
<span>service httpd start</span></p>
<p>
<strong>注意: </strong><br>
如果启动服务时,报配置文件找不到,一种方法是,复制一份配置文件到相应路径,<br>
或者你启动apache时,加-f 参数,指明配置文件绝对路径。</p>
<p>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。</p>
頁:
[1]