Linux编译安装Apache

Linux编译安装Apache

一 安装

系统 ubuntu14.0
帮助文档:apache中文手册
下载apache:wget https://mirrors.bfsu.edu.cn/apache//httpd/httpd-2.4.43.tar.bz2

1.apache的依赖
在编译apache之前需要安装

sudo apt-get install expat libexpat1-dev
sudo apt-get install pcre libpcre3-dev
下载apr:wget http://us.mirrors.quenda.co/apache//apr/apr-1.7.0.tar.gz
解压 tar -xvf apr-1.7.0.tar.gz
cd apr-1.7.0
./configure
make && make install 默认安装目录为 /usr/local/apr
下载apr-util:wget http://us.mirrors.quenda.co/apache//apr/apr-util-1.6.1.tar.gz
解压 tar -xvf apr-util-1.6.1.tar.gz
cd apr-util-1.6.1
./configure --prefix=/usr/local/apr-util ##需要指定安装目录,不然会安装到/usr/local/apr/lib下。
make && make install

2.安装编译apache
tar -xvf httpd-2.4.43.tar.bz2
cd httpd-2.4.43
./configure --with-apr=/usr/local/apr --with-apr-util=/usr/local/util ##指定依赖,
–enable-ssl开放指定模块,默认安装目录为/usr/local/apache2
make && make install

二 apache配置

1.添加环境变量

 vi ~/.bashrc
 alias apache=/usr/local/apache2/bin/apachectl

保存

 source   ~/.bashrc

2.注册服务
将apachectl拷贝到 /etc/init.d/下命名为httpd
apchectl 与httpd的关系

apachectl是Apache HTTP服务器的前端程序。其设计意图是帮助管理员控制Apache httpd后台守护进程的功能。

apachectl脚本有两种操作模式。首先,作为简单的httpd的前端程序,设置所有必要的环境变量,然后启动httpd
,并传递所有的命令行参数。其次,作为SysV初始化脚本,接受简单的一个单词的参数,如:start, restart, stop
,并把他们翻译为适当的信号发送给httpd 。

如果你的Apache安装在非标准的路径中,你将需要修改apachectl脚本使其中的路径正确地指向httpd程序。此外,还可以指定任何必要的httpd命令行参数。细节可以参见脚本中的注解。

apachectl脚本如果执行成功,则返回0 ;如果出错,则其返回值>0 。更多细节可以参见脚本中的注解。

如果你启动的是/usr/local/apache2/bin/apachectl,
会启动HTTPD=’/usr/local/apache2/bin/httpd’这个httpd
使用的配置文件应该是/usr/local/apache2/conf/httpd.conf, 你访问到的主页应该就是it
works,也就是你新安装的apache2的首页

而你启动/usr/sbin/httpd 使用的配置文件应该是/etc/httpd/conf/httpd.conf
你访问到的主页应该就是apache的介绍页,也就是这个linux系统原来的apache的首页

   cp  /usr/local/apache2/bin/apachectl  /etc/init.d/httpd

执行 chkconfig --add httpd
会报错:service httpd not suporrt chkconfig
解决办法:

vi /etc/init.d/httpd

![在这里插入图片描述](https://img-blog.csdnimg.cn/20200608103310209.PNG) 
chkconfig --add httpd
如果报错无chkconfig,则需要安装chkconfig,
sudo apt-get  install	sysv-rc-conf
  cp /usr/sbin/sysv-rc-conf /usr/sbin/chkconfig

3 添加ssl模块
安装openssl以及依赖

sudo apt-get install opensll libssl-dev libssl0.9.8
编译安装模块 
/usr/local/apache2/bin/apxs -i -c -a mod_ssl.c
说明:-i  安装, -c 编译指定模块 -a激活模块(即向httpd.conf添加 LoadModule指令)
重启apache 的时候会报错,一般是没有编译时没有指定openssl的路径 
/usr/local/apache24/bin/apxs -a -i -DHAVE_OPENSSL=1 -I/usr/include/openssl -L/usr/lib64/openssl -c *.c -lcrypto -lssl -ldl

如果报未包含md.h 此时需要将md以同样的方式编译。(编译这个报错可将modules/md中的文件拷贝到/usr/include中)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值