热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

linux怎么安装apache服务器

在linux中可以通过下载好的安装包来安装apache服务器;也可以通过yum源安装(需要联网下载)来安装apache服务器。

1、下载httpd-2.4.29.tar.gz

2、上传到服务器/usr/local/software

tar -zxvf httpd-2.4.29.tar.gz
./configure --prefix=/usr/local/apache2/ # 设置apache安装目录

若没有安装过Apr,会报错:

checking for APR... no
configure: error: APR not found.  Please read the documentation.

3、接下来安装apr,首先下载apr-1.6.3.tar.gz

4、上传到服务器/usr/local/software

tar -zxvf apr-1.6.3.tar.gz
cd apr-1.6.3
.configure
make
make install

又会报错:

checking for APR-util... no
configure: error: APR-util not found.  Please read the documentation.

5、下载apr-util-1.6.1.tar.gz

6、上传到服务器/usr/local/software

tar -zxvf apr-util-1.6.1.tar.gz
cd apr-util-1.6.1
./configure --prefix=/usr/local/apr-util/ --with-apr=/usr/local/apr

此时还会报错:

xml/apr_xml.c:35:19: 致命错误:expat.h:没有那个文件或目录
 #include 
                   ^
编译中断。
make: *** [xml/apr_xml.lo] 错误 1

7、猜测是可能缺expat的开发库

yum install expat-devel # 中间会让你输入y
./configure --prefix=/usr/local/apr-util/ --with-apr=/usr/local/apr
make # 成功!
make install

8、此时再回去安装apache,不仅要指定apr的路径,还要指定apr-util的路径

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

依旧报错,不少人到这里可能已经崩溃了,但这个错误跟前面遇到的类似

checking for pcre-config... false
configure: error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/

9、下载pcre-8.41.tar.gz

10、上传到服务器/usr/local/software

tar -zxvf pcre-8.41.tar.gz
./configure

又再次报错,我保证这是最后一次了

checking windows.h usability... no
checking windows.h presence... no
checking for windows.h... no
configure: error: You need a C++ compiler for C++ support.

10、安装c++环境

yum install -y gcc gcc-c++
# 错了那么多次,别忘了现在的位置,接下来还是要安装pcre
./configure
make
make install

11、好了,绕了一大圈,接下来还是要安装apache

cd ..
cd apache
./configure --prefix=/usr/local/apache2/  --with-apr=/usr/local/apr/ --with-apr-util=/usr/local/apr-util/
make
make install

好惨啊!最后一步又报错:

/usr/local/apr-util//lib/libaprutil-1.so: undefined reference to `XML_GetErrorCode'  
/usr/local/apr-util//lib/libaprutil-1.so: undefined reference to `XML_SetEntityDeclHandler'  
/usr/local/apr-util//lib/libaprutil-1.so: undefined reference to `XML_ParserCre
collect2: error: ld returned 1 exit status
make[2]: *** [htpasswd] 错误 1
make[2]: Leaving directory `/usr/local/software/apache/support'
make[1]: *** [all-recursive] 错误 1
make[1]: Leaving directory `/usr/local/software/apache/support'

这种报错没见过,果断网上搜索一番,答案即是:apr版本太高;

12、于是我下载了apr-util-1.5 http://archive.apache.org/dist/apr/apr-util-1.5.2.tar.gz

13、上传到服务器/usr/local/software

tar -zxvf apr-util-1.5.2.tar.gz
cd apr-util-1.5.2
./configure --prefix=/usr/local/apr-util-1.5/ --with-apr=/usr/local/apr
make
make install

14、重复步骤11,唯一不同的地方就是现在配置指定的是:apr-util-1.5,这很重要!!!

cd ..
cd apache
./configure --prefix=/usr/local/apache2/  --with-apr=/usr/local/apr/ --with-apr-util=/usr/local/apr-util-1.5/
make # make时间会比较长
make install

完美结尾:

Installing configuration files
mkdir /usr/local/apache2/conf
mkdir /usr/local/apache2/conf/extra
mkdir /usr/local/apache2/conf/original
mkdir /usr/local/apache2/conf/original/extra
Installing HTML documents
mkdir /usr/local/apache2/htdocs
Installing error documents
mkdir /usr/local/apache2/error
Installing icons
mkdir /usr/local/apache2/icons
mkdir /usr/local/apache2/logs
Installing CGIs
mkdir /usr/local/apache2/cgi-bin
Installing header files
mkdir /usr/local/apache2/include
Installing build system files
mkdir /usr/local/apache2/build
Installing man pages and online manual
mkdir /usr/local/apache2/man
mkdir /usr/local/apache2/man/man1
mkdir /usr/local/apache2/man/man8
mkdir /usr/local/apache2/manual
make[1]: Leaving directory `/usr/local/software/apache'

15、进入配置文件位置:/usr/local/apache2/conf

cp httpd.conf httpd.conf.bak    # 备份配置文件
vim httpd.conf
# 放掉191行的注释,修改为:
ServerName [你的IP]:80
:wq

16、启动apache

/usr/local/apache2/bin/apachectl start
# 或者
/usr/local/apache2//bin/httpd -k start

关闭防火墙,在浏览器地址栏中输入服务器的ip就会出现网页:It works!

17、关闭apache

ps -ef|grep apache
/usr/local/apache2/bin/apachectl stop
# 或者
/usr/local/apache2//bin/httpd -k stop
# 没错,bin前面就是//

这种原文件安装的方式太过复杂,其实安装apache服务还有另一种方式,不知道跟我前面这种安装有没有冲突,今天也一并试一试。

yum源安装方式

1、yum源安装(需要联网下载)

首先关闭apache服务
yum install httpd # 中间过程中输入:y

Result:

作为依赖被安装:

  apr.x86_64 0:1.4.8-3.el7_4.1      
  apr-util.x86_64 0:1.5.2-6.el7        
  httpd-tools.x86_64 0:2.4.6-67.el7.centos.6      
  mailcap.noarch 0:2.1.41-2.el7        
完毕!

2、yum的安装位置在:/etc/httpd/conf,我进入后备份配置文件先,修改的地方跟之前不一样,在95行,仅供参考

cd /etc/httpd/conf
cp httpd.conf httpd.conf.bak
# 放掉95行的注释,修改为:
ServerName [你的IP]:80
:wq

3、启动服务

systemctl start httpd.service

在浏览器输入ip,出现apache预置的html,完美!!!

4、关闭服务

systemctl stop httpd.service

5、我再次去启动第一种方式安装的httpd

/usr/local/apache2/bin/apachectl start

刷新浏览器赫然出现:It works!,说明两种安装方式没有冲突哈。

更多Apache的相关技术文章,请访问Apache教程栏目进行学习!

以上就是linux怎么安装apache服务器的详细内容,更多请关注其它相关文章!


推荐阅读
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • Docker的安全基准
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 本文详细分析了JSP(JavaServer Pages)技术的主要优点和缺点,帮助开发者更好地理解其适用场景及潜在挑战。JSP作为一种服务器端技术,广泛应用于Web开发中。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 在Ubuntu 16.04 LTS上配置Qt Creator开发环境
    本文详细介绍了如何在Ubuntu 16.04 LTS系统中安装和配置Qt Creator,涵盖了从下载到安装的全过程,并提供了常见问题的解决方案。 ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 在计算机技术的学习道路上,51CTO学院以其专业性和专注度给我留下了深刻印象。从2012年接触计算机到2014年开始系统学习网络技术和安全领域,51CTO学院始终是我信赖的学习平台。 ... [详细]
  • Linux 系统启动故障排除指南:MBR 和 GRUB 问题
    本文详细介绍了 Linux 系统启动过程中常见的 MBR 扇区和 GRUB 引导程序故障及其解决方案,涵盖从备份、模拟故障到恢复的具体步骤。 ... [详细]
  • 在Linux系统中配置并启动ActiveMQ
    本文详细介绍了如何在Linux环境中安装和配置ActiveMQ,包括端口开放及防火墙设置。通过本文,您可以掌握完整的ActiveMQ部署流程,确保其在网络环境中正常运行。 ... [详细]
  • XNA 3.0 游戏编程:从 XML 文件加载数据
    本文介绍如何在 XNA 3.0 游戏项目中从 XML 文件加载数据。我们将探讨如何将 XML 数据序列化为二进制文件,并通过内容管道加载到游戏中。此外,还会涉及自定义类型读取器和写入器的实现。 ... [详细]
  • 使用Python在SAE上开发新浪微博应用的初步探索
    最近重新审视了新浪云平台(SAE)提供的服务,发现其已支持Python开发。本文将详细介绍如何利用Django框架构建一个简单的新浪微博应用,并分享开发过程中的关键步骤。 ... [详细]
author-avatar
罗kowalske
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有