【问题记录】 Linux 安装 apache 遇到的一些问题
以下为linux上安装apache时自己遇到的一些问题,记录在这,以后遇到时也会不定时更新...
一.安装Apache提示APR not found的解决办法
解决方法:
1. 网站 http://apr.apache.org/download.cgi 下载 apr-1.5.1.tar.gz 、apr-util-1.5.4.tar.gz
2. 网站 http://www.pcre.org/ 下载 pcre-8.36.tar.gz
3.依次解压、安装
附相关命令:
[root@test ~]# tar -zxvf xxx.tar.gz
[root@test ~]# ./configure --prefix=path //path为安装路径
[root@test ~]# make
[root@test ~]# make install
4. apache 设置指定库位置
[root@test ~]# ./configure --prefix=/usr/local/httpd-2.4.10 --with-apr=apr-path --with-apr-util=aprutil-path --with-pcre=pcre-path --enable-so //把path修改成各自的安装路径即可
5. make && make install
二、/xxx/httpd-2.4.x/support/ab.c:2273: undefined reference to `TLSv1_2_client_method'、/xxx/httpd-2.4.x/support/ab.c:2271: undefined reference to `TLSv1_1_client_method'
错误日志:
...
ab.o: In function `main':
/xxx/httpd-2.4.x/support/ab.c:2273: undefined reference to `TLSv1_2_client_method'
/xxx/httpd-2.4.x/support/ab.c:2271: undefined reference to `TLSv1_1_client_method'
collect2: ld returned 1 exit status
make[2]: *** [ab] Error 1
make[2]: Leaving directory `/xxx/httpd-2.4.x/support'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/xxx/httpd-2.4.x/support'
make: *** [all-recursive] Error 1
解决方法:
open-ssl 库有问题, 安装时需要加上
1 [root@test ~]# ./config -fPIC --prefix=path enable-shared
2 [root@test ~]# ./config -t
3 [root@test ~]# make depend
4 [root@test ~]# make
5 [root@test ~]# make test
6 [root@test ~]# make install
然后安装apache时指定
[root@test ~]# ./configure --prefix=/usr/local/httpd-2.4.10 --with-ssl=openssl-path --enable-so
三、relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC
错误日志:
make[4]: Entering directory `/home/zfh/httpd-2.2.9/modules/filters'
/home/user/httpd-2.2.9/srclib/apr/libtool --silent --mode=link gcc -g -O2 -pthread -L/usr/local/zlib//lib -o mod_deflate.la -rpath /usr/local/apache2/modules -module -avoid-version mod_deflate.lo -lz
/usr/bin/ld: /usr/local/zlib//lib/libz.a(crc32.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC
/usr/local/zlib//lib/libz.a: could not read symbols: Bad value //注意这行
collect2: ld returned 1 exit status
make[4]: *** [mod_deflate.la] Error 1
make[4]: Leaving directory `/home/zfh/httpd-2.2.9/modules/filters'
make[3]: *** [shared-build-recursive] Error 1
make[3]: Leaving directory `/home/zfh/httpd-2.2.9/modules/filters'
make[2]: *** [shared-build-recursive] Error 1
make[2]: Leaving directory `/home/zfh/httpd-2.2.9/modules'
make[1]: *** [shared-build-recursive] Error 1
make[1]: Leaving directory `/home/zfh/httpd-2.2.9'
make: *** [all-recursive] Error 1
[root@localhost httpd-2.2.9]#
错误为zlib库有问题,错误中有提示 recompile with -fPIC 即加上 -fPIC进行编译。
解决方法:
1. 找到zlib的源码安装包,或者直接下载一个 。地址:http://www.zlib.net/
2. 执行以下相关命令
[root@test ~]# tar -zxvf zlib-1.2.3.tar.gz
[root@test ~]# cd zlib-1.2.3
[root@test ~]# ./configure --prefix=path //path为自定义安装路径
[root@test ~]# vi Makefile
[root@test ~]# 找到 CFLAGS=-O3 -DUSE_MMAP
[root@test ~]# 在后面加入-fPIC,即变成CFLAGS=-O3 -DUSE_MMAP -fPIC
[root@test ~]# make && make install
3. 安装apache,添加 --with-zlib-1.2.3=zlib-path 参数
1 [root@test ~]# ./configure --prefix=/usr/local/httpd-2.4.10 --with-zlib-1.2.3=zlib-path --enable-so //把path修改成各自的安装路径即可
未完待续...
【问题记录】 Linux 安装 apache 遇到的一些问题的更多相关文章
- linux安装apache
我的linux是用阿里云上的,版本是CentOS 6.5 apache依赖于apr.apr-util和pcre,所以需要先安装这三个 apr(包含apr.apr-util和apr-iconv)是apa ...
- linux安装apache的纠结过程
本以为linux下安装apache是件很简单的过程.三命令就可以搞定,jxvf解压,make 编译,make install 安装就OK了.没想到这个过程还颇费周折.可能和环境有关吧.先说一下我的环境 ...
- linux 安装 apache
1. 系统基本信息 CentOS 6.4 内存2G 硬盘 200G cpu 4核 (cat /proc/cpuinfo |grep 'processor'|wc -l 查看cpu核数 ...
- linux安装apache软件的过程
参考官方安装指导:http://httpd.apache.org/docs/2.4/install.html 1.下载依赖包 apr/apr-util/pcre 2.解压依赖包 3.安装apr 进入安 ...
- Linux安装Apache报错:Cannot find a valid baseurl for repo: base/7/x86_64解决方案
最近使用CentOS7学习,安装安装Apache时候,使用yum安装Apache报错:本文适合CentOS7和RHEL7 # yum install httpd 出现:cannot find a va ...
- LInux——安装Apache
在安装Apache的httpd的时候经常会遇到: configure: error: APR not found . Please read the documentation. configure ...
- Linux安装apache服务
1.通过yum包下载安装httpd yum -y install httpd*(等待安装) 到下面就安装完毕 2.启动apache服务 service httpd restart 3.现在就可以查看a ...
- linux 安装Apache服务器
这篇文章先别看,,有些地方我不是很明白,写错了一些地方,正在咨询会linux的大神 安装好Apache就可以用Http访问或者下载电脑的文件了 我还是用 连接我的linux电脑 咱把Apache安装到 ...
- Linux安装Apache常见报错(二)
配置Apache提示报错configure error: APR could not be located. Please use the --with-apr option. 解决办法: ./con ...
随机推荐
- 20145218PC平台逆向破解
20145218PC平台逆向破解 实践目标 本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:main调用foo函数,foo函数会简单回显任何用户输入的字符串. 该程序同 ...
- 【C#】CLR内存那点事(string)
string是比特殊的类,说引用类型,但不存在堆里面,而且String str=new String("HelloWorld")这样的重装也说没有的. 我们先来看一个方法 clas ...
- sql server 简单语句整合
1.去重distinct , group by select distinct userid,username from 表名 select userid,username from 表名 group ...
- C# Excel 操作
Excel数据到datagridview 里面 (流读取) System.Windows.Forms.OpenFileDialog fd = new OpenFileDialog(); if (fd. ...
- 【C#】MVC+EF+LINQ 综合小项目
第一,创建数据库 create table category(id int primary key,name nvarchar(20)) create table news(id int primar ...
- go的Type switch是一个switch语句么?
相信这样的语句在go中大家见的很多 switch t := arg.(type) { default: fmt.Printf("unexpected type %T\n", t) ...
- 【连载】redis库存操作,分布式锁的四种实现方式[四]--基于Redis lua脚本机制实现分布式锁
一.redis lua介绍 Redis 提供了非常丰富的指令集,但是用户依然不满足,希望可以自定义扩充若干指令来完成一些特定领域的问题.Redis 为这样的用户场景提供了 lua 脚本支持,用户可以向 ...
- 宏(使用注意事项、主要用途)------c++程序设计原理与实践(进阶篇)
使用宏的时候一定要小心:在c中没有真正有效的方法来避免使用宏,但宏带有严重的副作用,因为宏不遵守通常的c(或c++)作用域和类型规则——它只是一种文本替换. 宏的使用注意事项: 所以宏名全部大写. ...
- loj #6014. 「网络流 24 题」最长 k 可重区间集
#6014. 「网络流 24 题」最长 k 可重区间集 题目描述 给定实直线 L LL 上 n nn 个开区间组成的集合 I II,和一个正整数 k kk,试设计一个算法,从开区间集合 I II 中选 ...
- 2、Numpy常用函数
创建单位矩阵和读写文件使用eye()创建单位矩阵 # -*- coding: utf-8 -*- import numpy as np i = np.eye(3) print(i) 结果: [[ 1. ...