linux安装apache-httpd
2014-07-19 17:14
316 查看
1、httpd源代码下载1.1下载ApacheHTTPServer
httpd-2.4.9.tar.gz
http://httpd.apache.org/download.cgi
下载路径/home/centos/下载/httpd-2.4.9.tar.gz1.2下载APR和APR-UTILapr-util-1.5.3.tar.gzapr-1.5.1.tar.gz
http://apr.apache.org/download.cgi
这里用的window系统下putty的文件上传到linux系统命令。方便远程操作
http://www.pcre.org/
下载路径/home/centos/下载/pcre-8.35.tar.gz2、2.1httpd源代码下载、解压、并移到/decompress/apache/ApacheAPR上下载最新版本的APR和APR-Util然后解压缩到
APRdistribution解压后必须在./srclib/apr/)然后使用把apr-1.5.1目录改名并移动到srclib目录下面
etc
etc.FEATURE=no--enable-FEATURE=yes可以简写为--enable-FEATURE[code]--enable-MODULE=shared相应的module模块以DSO构建,默认启用方式为动态加载
注意:如果
5.2.4.2编译模块选择:启用和禁用功能模块http://httpd.apache.org/docs/2.4/mpm.html#defaults
mpm可以build为动态加载或者静态链接linux服务器并使用以下选项启用--with-mpm=MPM选择您的服务器的默认MPM。如果mpm使用动态加载DSO构建模块(见--enable-mpms-shared),则这个指令将选择MPM作为默认加载配置文件。否则,这个指令选择的唯一可用的MPM,将静态链接到服务器。如果省略该选项,默认的MPM适用于您的操作系统将被使用。--enable-mpms-shared=MPM-LIST使mpm作为动态共享模块的列表。其中的一个模块必须使用的动态加载LoadModule指令。MPM-LIST空格分隔的列表MPM的名字被引号括起来。例如:
累积和其他选项
定义一个模块列表启用并构建动态共享模块。这意味着,这些模块被加载通过使用动态
模块名称没有给出前--enable-mods-shared='headersrewritedav'另外您可以使用特殊的关键字--enable-mods-shared=most将编译和构建他们的大多数模块DSO模块,--enable-mods-shared=few只会编译一组非常基本的模块。默认的设置是
你可以
此外如果要通过LoadModule配置项
加载所有模块,可以通过配置--enable-mods-static=MODULE-LIST这个选项的行为类似
这意味着,这些模块在
他们需要通过--enable-modules=MODULE-LIST这个选项
特殊的关键字--enable-v4-mapped让IPv6的套接字支持IPv4连接。--with-port=PORT监听定义在
配置文件的端口设置。默认值是80。
5.2.6可选包5.2.6.1这些选项用于定义可选包。
http://stackoverflow.com/questions/9541460/httpd-could-not-reliably-determine-the-servers-fully-qualified-domain-name-us
假设我的服务器是myserver.myhome.com和ip192.168.1.1701Editnetwork//这里hostname是什么名字后面都跟着变$sudonano-w/etc/sysconfig/networkHOSTNAME=myserver.myhome.com
httpd-2.4.9.tar.gz
下载路径/home/centos/下载/httpd-2.4.9.tar.gz1.2下载APR和APR-UTILapr-util-1.5.3.tar.gzapr-1.5.1.tar.gz
这里用的window系统下putty的文件上传到linux系统命令。方便远程操作
D:\JavaDecompress\putty>pscp-CC:\Users\win\Downloads\apr-1.5.1.tar.gzcentos@192.168.1.170:/home/centos/ D:\JavaDecompress\putty>pscp-CC:\Users\win\Downloads\apr-util-1.5.3.tar.gzcentos@192.168.1.170:/home/centos移动到下载目录:测试系统为日文cmd打不出中文。需要putty
cd/home/centos/下载/ mv/home/centos/apr-1.5.1.tar.gz. mv/home/centos/apr-util-1.5.3.tar.gz. 下载路径/home/centos/下载/apr-1.5.1.tar.gz 下载路径/home/centos/下载/apr-util-1.5.3.tar.gz1.3下载pcrepcre-8.35.tar.gz
下载路径/home/centos/下载/pcre-8.35.tar.gz2、2.1httpd源代码下载、解压、并移到/decompress/apache/
cd/home/centos/下载/ tarzxvfhttpd-2.4.9.tar.gz root账户su-root mkdir-p/decompress/apache chown-Rcentos:centos/decompress/apache mv/home/centos/下载/httpd-2.4.9//decompress/apache/2.2aprapr-util解压并移到到/decompress/apr//decompress/apr-util/
tarzxvfapr-1.5.1.tar.gz tarzxvfapr-util-1.5.3.tar.gz su-root mkdir-p/decompress/apr chown-Rcentos:centos/decompress/apr mkdir-p/decompress/apr-util chown-Rcentos:centos/decompress/apr-util mv/home/centos/下载/apr-1.5.1/decompress/apr/ mv/home/centos/下载/apr-util-1.5.3/decompress/apr-util/3、快速安装(不推荐)NN为当前的版本号比如2.4.9PREFIX为指定安装路径,如果不指定的话默认为/usr/local/apache2
Download $lynx4、编译和安装httpd前的要求:4.1、确保你已经安装APRandAPR-Util在你的linux系统上。如果你不这样做,或不愿意使用系统提供版本,在http://httpd.apache.org/download.cgiExtract $gzip-dhttpd-NN.tar.gz $tarxvfhttpd-NN.tar $cdhttpd-NN Configure $./configure--prefix=PREFIX Compile $make Install $makeinstall Customize $viPREFIX/conf/httpd.conf Test $PREFIX/bin/apachectl-kstart
./srclib/apr和
./srclib/apr-util目录(确定解压后的文件名不包含版本号也就是不要使用解压后的默认名;例如
APRdistribution解压后必须在./srclib/apr/)然后使用
./configure
--with-included-apr参数指定apr的src目录。在一些平台上,您可能需要安装相应的-dev包来允许httpd构建APR和APR-Util的副本
mv/decompress/apr/apr-1.5.1//decompress/apache/httpd-2.4.9/srclib/apr/ mv/decompress/apr-util/apr-util-1.5.3//decompress/apache/httpd-2.4.9/srclib/apr-util/4.2perl兼容的正则表达式库(PCRE)Perl-CompatibleRegularExpressionsLibrary(PCRE)pcre这个库是必需的,但不再与httpd捆绑在一起。从http://www.pcre.org下载源代码,或者安装一个端口或包。如果你构建系统找不到pcre-configPCRE构建脚本安装,使用--with-pcre参数指向它。在一些平台上,您可能需要安装相应的-dev包来允许httpd构建PCRE的副本。
cd/home/centos/下载 pcre解压 tarzxvfpcre-8.35.tar.gz su-root mkdir-p/decompress/pcre chown-Rcentos:centos/decompress/pcre mv/home/centos/下载/pcre-8.35/decompress/pcre/ cd/decompress/pcre/pcre-8.35 ./configure--prefix=/usr/local/pcre--enable-utf //默认安装在/usr/local的/usr/local/bin',`/usr/local/lib里面为了方面删除卸载还是单独目录存放好 //makeinstall后会在[EPREFIX/bin]之类的下面,支持utf8/16/32 make makecheck--检查一下非必须 makeinstall 上面的apr不用apachehttpd的./srclib/参数也可以先编译安装只不过用其它的参数配置--with-apr=PATH--with-apr-util=PATHPATH为aprapr-util的安装目录5、httpd配置文件参数5.1
cd/decompress/apache/httpd-2.4.9/ ./configure--help //查看配置参数具体的可以参考configure文档httpd.apache.org/docs/2.4/programs/configure.html#page-headerconfigure5.2configure参数配置说明5.2.1Configurationoptions--config自身的配置比如./configure--version版本查看5.2.2Installationdirectories--安装目录
--prefix=PREFIX默认安装在
/usr/local/apache2其他的就是文件目录比如
--bindir=DIR默认路径设置
EPREFIX/bin里面有
,htpasswd
,dbmmanage
etc
--sbindir=DIR默认路径设置
EPREFIX/sbin.
,httpd
,apachectl
,suexec
etc.
--sysconfdir=DIR默认路径设置
httpd.conf,PREFIX/conf
mime.types,etc5.2.3Systemtypes--这些选项是用来保存ApacheHTTP服务器在另一个系统上运行。在正常情况下,在构建和运行服务器在同一个系统上,这些选项用不到5.2.4Optionalfeatures--这些选项是用来微调您的HTTP服务器的特性(最主要配的就是这个)5.2.4.1语法:使用以下语法来启用和禁用feature
--disable-FEATURE禁用FEATURE相当于--enable-
--enable-FEATURE[=ARG]启用默认值是yesFEATURE
--enable-MODULE=static相应的module模块为静态加载
注意:如果
configure不会检查不存在的配置项
--enable-foo可能直接忽略过去
5.2.4.2编译模块选择:启用和禁用功能模块
OptionalFeatures:5.2.4.3多处理模块:MPM
...
--disable-example1examplemodule1
--enable-example2examplemodule2
...
//上面的module1默认是启用,module2默认是禁用如果在配置里面配置了上面的2个参数则表示禁用example1启用example2
//所以 ./configure--help|grepdisable可以查看默认启用的 ./configure--help|grepenable查看默认禁用的
mpm可以build为动态加载或者静态链接linux服务器并使用以下选项启用--with-mpm=MPM选择您的服务器的默认MPM。如果mpm使用动态加载DSO构建模块(见--enable-mpms-shared),则这个指令将选择MPM作为默认加载配置文件。否则,这个指令选择的唯一可用的MPM,将静态链接到服务器。如果省略该选项,默认的MPM适用于您的操作系统将被使用。--enable-mpms-shared=MPM-LIST使mpm作为动态共享模块的列表。其中的一个模块必须使用的动态加载LoadModule指令。MPM-LIST空格分隔的列表MPM的名字被引号括起来。例如:
--enable-mpms-shared='preforkworker'另外您可以使用特殊的关键字所有,这将选择所有mpm支持动态加载的当前平台和构建DSO模块。例如:
--enable-mpms-shared=all5.2.4.4第三方模块
--with-module=module-type:module-file[,module-type:module-file]5.2.5
累积和其他选项
--enable-maintainer-mode打开调试和编译时警告和加载所有编译模块。
--enable-mods-shared=MODULE-LIST
定义一个模块列表启用并构建动态共享模块。这意味着,这些模块被加载通过使用动态
指令。MODULE-LIST是一个由空格分隔的列表modulenames被引号括起来。LoadModule
模块名称没有给出前
的mod_。例如:
reallyall,
all,
most,
few
,none.。例如,
mostLoadModule指令选择的模块将自动生成在主配置文件。默认情况下,所有这些指令将注释掉了,除了要求或显式地选择的模块配置--enable-foo参数。
你可以
在
httpd.conf通过更改
指令设置激活或关闭加载模块。LoadModule
此外如果要通过
加载所有模块,可以通过配置
——enable-load-all-modules选项激活
——enable-mods-shared,但将给定的模块静态链接。
这意味着,这些模块在
运行中都会存在。httpd
他们需要通过
。LoadModule加载
的意思类似于
——enable-mods-shared,动态加载给定的模块。
特殊的关键字
none禁用所有模块的加载。
的端口。这个端口号使用httpd
httpd.conf
配置文件的端口设置。默认值是80。
——with-program-name定义另一个可执行文件的名字。默认值是
httpd。
5.2.6可选包5.2.6.1这些选项用于定义可选包。
--with-apr=DIR|FILE
--with-apr-util=DIR|FILE
--with-ssl=DIR如果想用ssl可以下载http://www.openssl.org/source/wiki文档http://wiki.openssl.org/index.php/Compilation_and_Installation
cd/home/centos/下载/tar-zxvfopenssl-1.0.1h.tar.gzsu-rootmkdir-p/decompress/openssl
chown-Rcentos:centos/decompress/opensslmv/home/centos/下载/openssl-1.0.1h/decompress/openssl/
cd/decompress/openssl/openssl-1.0.1h///默认openssldir目录/usr/local/ssl./config--openssldir=/usr/local/opensslshared-fPIC--shared是动态加载模块。不然有问题
//编译安装
<p>make</p>makeinstall
>>make[4]:***[mod_ssl.la]Error1不加--shared的错误信息PIC需要用到动态库具体的参照http://www.gossamer-threads.com/lists/apache/users/420868
>TheerroristhattheOpenSSLlibraryyouhavebuilthasnotbeen5.3Optionsforsupportprograms6、编译安装httpd6.1
>builtwithPIC.RebuilditwithPICsothatitcanbelinkedtoa
>dynamicallyloadedmodule(mod_ssl.so).
>
>ThereasonOpenSSLwasnotbuiltwithPICisthatyoudidnotcompile
>sharedlibrariesforOpenSSL-youonlycreatedstaticlibraries.
>OpenSSLcompileswithPICiffyouenablesharedlibraries.
>
>So,rebuildOpenSSL,thistimepassing'--enable-shared'tothe
>configurescript(orwhatevertheappropriateflagis).
cd/decompress/apache/httpd-2.4.9/./configure--with-included-apr--with-pcre=/usr/local/pcre--with-ssl=/usr/local/ssl--enable-maintainer-mode--with-mpm=worker--enable-mods-shared=mostmakemakecheckmakeinstallcd/usr/local/apache2/binapachectl-kstartapachectl-kstop7启动的时候报:httpd:Couldnotreliablydeterminetheserver'sfullyqualifieddomainname,usinglocalhost.localdomainforServerName解决方案参照:
假设我的服务器是myserver.myhome.com和ip192.168.1.1701Editnetwork//这里hostname是什么名字后面都跟着变$sudonano-w/etc/sysconfig/networkHOSTNAME=myserver.myhome.com
假设我的服务器是myserver.myhome.com和ip192.168.1.1701Editnetwork//这里hostname是什么名字后面都跟着变
$sudonano-w/etc/sysconfig/networkHOSTNAME=myserver.myhome.com2EditHostsFile//dns解析ip和hostname添加myserver.myhome.com信息(对应关系ip主机名.域名主机名(别名))
$sudonano-w/etc/hosts
127.0.0.1localhostlocalhost.localdomainlocalhost4localhost4.localdomain4
::1localhostlocalhost.localdomainlocalhost6localhost6.localdomain6
192.168.1.170myserver.myhome.commyserver//实测之追加这一条以下2条不加也成功了
127.0.0.1myserver.myhome.commyserver
::1myserver.myhome.commyserver3Edithttpd.conf
$sudonano-w/etc/apache2/httpd.conf
ServerNamemyserver.myhome.com(这里我改成了ServerNamemyserver.myhome.com:80)80应该是默认端口不加也可以不过我加了4Verify
$hostname
(output)myserver.myhome.com
$hostname-f//(可以试下hostname-shostname-ihostname-a)(短名称,ip,别名)
(output)myserver.myhome.com5RestartApache
$sudo/etc/init.d/apache2restartIt
appearedthedifferencewasincludingmyserver.myhome.comtoboththe127.0.0.1aswellasthe
staicip192.168.1.170inthehostsfile.SameinUbuntuServerandCentOSHopethatlaysitoutabit
inonepostforthenextsurfer.ThankyoutoalltheGuru'sinhere.
相关文章推荐
- Linux下 Apache Httpd服务器安装
- Linux(CentOS)安装apache(httpd),其他电脑无法访问的原因 【iptables打开某端口】
- Linux下安装Apache httpd
- Linux(CentOS)上,安装了Apache(httpd)后,其他的电脑无法访问的原因。
- linux下安装apache(httpd-2.4.3版本)各种坑
- Linux(CentOS)系统下安装好apache(httpd)服务后,其他电脑无法访问的原因
- linux上安装apache以及httpd.conf基本配置
- linux下安装apache(httpd-2.4.3版本)各种坑
- linux apache(httpd)编译安装和启动
- Linux下安装Apache httpd server
- 01_Linux 安装 httpd-2.2.21 Apache服务
- Linux下编译安装Apache httpd 2.4
- apache-httpd在Linux上的安装与配置
- linux apache httpd安装(安装全部modules)
- Linux之apache安装(httpd)
- Linux(CentOS)系统下安装好apache(httpd)服务后,其他电脑无法访问的原因
- Linux下将自己安装的Apache(httpd)新增为系统服务,开机自启动
- Linux中Apache安装与配置(CentOS-6.5:httpd-2.4.tar.gz)
- linux上安装apache以及httpd.conf基本配置
- linux 卸载自带apache httpd 安装apache httpd