linux下安装apache 及报错解答
2015-08-25 17:54
911 查看
下载安装
从http://httpd.apache.org/上下载httpd-2.2.6.tar.gz,上传到linux主机,然后开始安装。
解压tar -zxvf httpd-2.2.6.tar.gz,完成之后,会在当前目录出现一个httpd-2.2.6目录,然后顺序执行如下命令
mv httpd-2.2.6 apache
cd apache
设置安装参数,命令如下:
./configure --prefix=/usr/local/apache2 --enable-module=so
其中prefix参数指明将apache安装到/usr/local/apache2目录,如果登录用户不是root,可能没有权限在/usr/local下创建目录的权限,这样在make install时会报错误。解决的办法有两个,1)修改prefix参数,使之指向一个登录用户有创建目录权限的路径;2)用root用户在/usr/local目录下创建apache2目录,然后将apache2的wrx权限授权给登录用户。
最后编译,安装;顺序执行如下命令:
make
make install
总之,安装顺序执行的命令序列如下,如果都没有出错,表示安装成功。
tar -zxvf httpd-2.2.6.tar.gz
mv httpd-2.2.6 apache
cd apache
./configure --prefix=/usr/local/apache2 --enable-module=so
make
make install
apache主要目录和文件说明
主配置文件位置/etc/httpd/conf/*或者/usr/local/apache2/conf/httpd.conf
启动脚本/etc/rc.d/init.d/httpd
格式的帮助文档/usr/local/apache2/manual/*html
用在html网页中的图标文件/usr/local/apache2/icons/*
建立和更新apache用户的程序/usr/local/apache2/htpasswd
http服务器程序/usr/sbin/httpd
日志文件/usr/local/apache2/logs
启动配置
修改PATH环境变量,在登录用户的home目录打开.bash_profile,在文件中添加一行
PATH=$PATH:/usr/local/apache2/bin
然后退出重新登录,执行apachectl -l,如果有返回信息,说明路径设置成功。
apache的配置文件是/usr/local/apache2/conf/httpd.conf
由于apache的默认监听端口是80,linux/unix上,小于等于1024范围内的端口只有root用户才有权限打开,所以为了用非root用户启动apache,必须修改默认端口,打开httpd.conf,修改Listen属性(或者Port)为8000。
运行命令apachectl start,如果没有出现错误信息(如果有错误信息,根据错误信息纠正错误),打开ie,在地址栏输入http://ip:8000(这里的ip是apache的安装主机的ip地址),如果有能显示页面,表明apache启动成功.
参数说明
ServerType standlone/inetd 服务器的运行方式
Port 80 或者Listen 80 在standlone方式下监听的端口号
User nobody 进程运行的属主
Group nobody 进程运行的属组
ServerAdmin admin@localhost 管理员信箱
ServerRoot "/home/httpd/" 服务器文件位置
ServerName httpserver服务器名称
Timeout 300设置服务器和客户端的连接超时时间
MaxClient 300允许同时连接的客户数
ProxyRequests on允许充当proxy
DocumentRoot "/home/httpd/html"提供服务器文档服务的根目录
UserDir public_html服务器上用户自己主页所在目录
DirectoryIndex index.html目录索引文件
AccessFileName .htaccess在每个目录中包含访问控制信息的文件名
Alias /icons/ "/home/user/icons/"为不在DocumentRoot之下的文档建立别名
<Directory></Directory>目录设置,在中间可以加入一些目录参数,示例如下:
<Directory "/">
Options Indexes
AllowOverride None
order allow,deny
allow from all
</Directory>
在上面的目录设置中,Options选项配置指令,后面的参数用于控制目录的访问特性
ExecCGI:可以执行cgi脚本
Indexes:访问一个无索引文件的目录时,返回一个文件 列表
AllowOverride指令 ".htaccess"文件中哪些设置允许覆盖先前的设置
None:不读取.htaccess
Limit:覆盖控制主机访问的指令(allow,deny)
AuthConfig:允许覆盖跟认证有关指令 (AuthType,AuthName)
这儿是None
order指令
控制处理allow和deny指令的顺序
如上例:
order allow,deny
deny from all
allow from host11
allow指令
对于一个目录来说,allow指令设置允许哪些主机访问
all:所有主机
或 域名:eloo.com
或 一个完整IP:192.168.0.1
网络号码/子网掩码:192.168.0.0/255.255.255.0
网络号码/nnn:192.168.0.0/24 表示一段范围的ip地址
deny指令
对于一个目录来说,allow指令设置禁止哪些主机访问
-all:所有主机
或 域名:eloo.com
或 一个完整IP:192.168.0.1
网络号码/子网掩码:192.168.0.0/255.255.255.0
网络号码/nnn:192.168.0.0/24 表示一段范围的ip地址
结束
不同版本的apache,在目录和参数名字上有微小的差异,根据名字一般都能猜出来。
欢迎各位补充,谢谢。
一.下载apache源代码
1.下载地址:http://httpd.apache.org/download.cgi 找稳定的最新的版本(Stable Release)
得到文件 httpd-2.4.3.tar.gz
2. 上传到你的服务器目录,如:/home/tnuser/installers
解压:tar -zxvf httpd-2.4.3.tar.gz (我们下载的是源代码,所以这一步只是把源代码解压)
移动解压后的目录到目标地址:mv /home/tnuser/installers/httpd-2.4.3 /home/tnuser/ (这一步只是把解压后的目录放在合适的位置方便管理,可以不做)
3. 接下来我们需要编译刚才解压的源文件,这是重点
配置编译时的一些参数:
[plain] view
plaincopy
cd /home/tnuser/installers/httpd-2.4.3 (切换到apache源代码目录下)
./configure --prefix=/home/tnuser/apache/ (设置apache安装目录,这里的 /home/tnuser/apache/ 才是apache真正的安装目录)
二. 到这里时,回车运行命令,报错:
(如果你能正常执行,说明你以前安装过apache环境,请直接make & make install 并请跳过下面一段)
checking for APR... no
configure: error: APR not found. Please read the documentation.
解决方案:
Apache在安装时需要一些准备环境,这里需要安装另外一个东西 APR(Apache Portable Runtime)。
下载地址: http://archive.apache.org/dist/apr/ 同样找最新版本
得到文件:apr-1.4.6.tar.gz
解压:tar -zxvf apr-1.4.6.tar.gz
编译:
[plain] view
plaincopy
cd /home/tnuser/installers/apr-1.4.6
./configure --prefix=/home/tnuser/apr/ (一堆日志信息)
make (一堆日志信息)
make install (一堆日志信息)
完成后在指定地址生成目录和文件
接着装apache,切换到源代码目录设置编译参数: ./configure --prefix=/home/tnuser/apache/
还是报上面的错,这是因为上面自定义了apr的安装目录,所以得把这个信息告诉apache。
正确的运行命令为:
[plain] view
plaincopy
./configure --prefix=/home/tnuser/apache/ --with-apr=/home/tnuser/apr/
三. 执行后继续报错
不过这次错误信息变成了:(不要紧,这说明你的apr安装好了,只是又发现少了另外一个环境,慢慢来)
checking for APR-util... no
configure: error: APR-util not found. Please read the documentation.
解决方案: 下载 APR-util
下载地址:http://archive.apache.org/dist/apr/ 找最新版本
得到文件:apr-util-1.5.1.tar.gz
解压: tar -zxvf apr-util-1.5.1.tar.gz
编译:
[plain] view
plaincopy
cd /home/tnuser/installers/apr-util-1.5.1
./configure --prefix=/home/tnuser/apr-util/
这次运行会报错:
checking for APR... no
configure: error: APR could not be located. Please use the --with-apr option.
看到提示你就懂了,不多说:
[plain] view
plaincopy
./configure --prefix=/home/tnuser/apr-util/ --with-apr=/home/tnuser/apr/
make
make install
在你指定的安装地址生成目录就说明安装成功了
四. 再转回去继续安装apache
有了上回的经验,这次就知道运行什么命令了。切到apache源代码目录下运行:
[plain] view
plaincopy
./configure --prefix=/home/tnuser/apache/ --with-apr=/home/tnuser/apr/ --with-apr-util=/home/tnuser/apr-util/
照旧报错:
checking for pcre-config... false
configure: error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/
解决方案:发现还是少环境,不多说,下载 PCRE
下载地址: http://jaist.dl.sourceforge.net/project/pcre/pcre/ 找最新版下
得到文件: pcre-8.32.tar.gz
解压:tar -zxvf pcre-8.32.tar.gz
编译:
[plain] view
plaincopy
cd /home/tnuser/hunter/installers/pcre-8.32
./configure --prefix=/home/tnuser/pcre/
这次错误信息如下:
checking for windows.h... no
configure: error: You need a C++ compiler for C++ support.
原来pcre需要用C++编译(我只想说:Why I need C++ while I'm a java programmer? Eggache! Holy Shit!)
解决方案:
首先,区分你的系统是Debian还是Fedora。
我的系统是Fedora,所以配置步骤如下:(Debian系统使用命令apt-get,对应工具包为build-essential,命令使用方法:apt-get install build-essential)
sudo yum groupinstall "Development Tools"
这里会花费很长时间安装东西,中间会让你选择是否安装,输入 y 就行了。
下载过程完成后会自动安装,最终见到 Complete! 就结束了。
返回来还得继续安装PCRE啊,Go:
[plain] view
plaincopy
./configure --prefix=/home/tnuser/pcre/
make
make install
安装成功,以最终在目标位置生成相应目录为准。
至此,令人eggache的apache准备环境就算搞定了。
五. 继续apache的安装,一定要在参数中带上以上3种环境配置:
[plain] view
plaincopy
./configure --prefix=/home/tnuser/apache/ --with-apr=/home/tnuser/apr/ --with-apr-util=/home/tnuser/apr-util/ --with-pcre=/home/tnuser/pcre/
大块的log,终于没报错(唯有泪千行啊。。。泪千行。。。)
make
make install
六. 最后测试apache:
cd /home/tnuser/apache/bin
如果不能启动,查下端口冲突之类的问题(一般会与系统自带的httpd服务端口冲突)。
启动好后,访问你的apache,看到经典
关闭时用:apachectl -k stop
七.附录:
http://apache.jz123.cn/install.html 中文版官方编译与安装教程
码完收功!!!
原文地址:/article/10560690.html
从http://httpd.apache.org/上下载httpd-2.2.6.tar.gz,上传到linux主机,然后开始安装。
解压tar -zxvf httpd-2.2.6.tar.gz,完成之后,会在当前目录出现一个httpd-2.2.6目录,然后顺序执行如下命令
mv httpd-2.2.6 apache
cd apache
设置安装参数,命令如下:
./configure --prefix=/usr/local/apache2 --enable-module=so
其中prefix参数指明将apache安装到/usr/local/apache2目录,如果登录用户不是root,可能没有权限在/usr/local下创建目录的权限,这样在make install时会报错误。解决的办法有两个,1)修改prefix参数,使之指向一个登录用户有创建目录权限的路径;2)用root用户在/usr/local目录下创建apache2目录,然后将apache2的wrx权限授权给登录用户。
最后编译,安装;顺序执行如下命令:
make
make install
总之,安装顺序执行的命令序列如下,如果都没有出错,表示安装成功。
tar -zxvf httpd-2.2.6.tar.gz
mv httpd-2.2.6 apache
cd apache
./configure --prefix=/usr/local/apache2 --enable-module=so
make
make install
apache主要目录和文件说明
主配置文件位置/etc/httpd/conf/*或者/usr/local/apache2/conf/httpd.conf
启动脚本/etc/rc.d/init.d/httpd
格式的帮助文档/usr/local/apache2/manual/*html
用在html网页中的图标文件/usr/local/apache2/icons/*
建立和更新apache用户的程序/usr/local/apache2/htpasswd
http服务器程序/usr/sbin/httpd
日志文件/usr/local/apache2/logs
启动配置
修改PATH环境变量,在登录用户的home目录打开.bash_profile,在文件中添加一行
PATH=$PATH:/usr/local/apache2/bin
然后退出重新登录,执行apachectl -l,如果有返回信息,说明路径设置成功。
apache的配置文件是/usr/local/apache2/conf/httpd.conf
由于apache的默认监听端口是80,linux/unix上,小于等于1024范围内的端口只有root用户才有权限打开,所以为了用非root用户启动apache,必须修改默认端口,打开httpd.conf,修改Listen属性(或者Port)为8000。
运行命令apachectl start,如果没有出现错误信息(如果有错误信息,根据错误信息纠正错误),打开ie,在地址栏输入http://ip:8000(这里的ip是apache的安装主机的ip地址),如果有能显示页面,表明apache启动成功.
参数说明
ServerType standlone/inetd 服务器的运行方式
Port 80 或者Listen 80 在standlone方式下监听的端口号
User nobody 进程运行的属主
Group nobody 进程运行的属组
ServerAdmin admin@localhost 管理员信箱
ServerRoot "/home/httpd/" 服务器文件位置
ServerName httpserver服务器名称
Timeout 300设置服务器和客户端的连接超时时间
MaxClient 300允许同时连接的客户数
ProxyRequests on允许充当proxy
DocumentRoot "/home/httpd/html"提供服务器文档服务的根目录
UserDir public_html服务器上用户自己主页所在目录
DirectoryIndex index.html目录索引文件
AccessFileName .htaccess在每个目录中包含访问控制信息的文件名
Alias /icons/ "/home/user/icons/"为不在DocumentRoot之下的文档建立别名
<Directory></Directory>目录设置,在中间可以加入一些目录参数,示例如下:
<Directory "/">
Options Indexes
AllowOverride None
order allow,deny
allow from all
</Directory>
在上面的目录设置中,Options选项配置指令,后面的参数用于控制目录的访问特性
ExecCGI:可以执行cgi脚本
Indexes:访问一个无索引文件的目录时,返回一个文件 列表
AllowOverride指令 ".htaccess"文件中哪些设置允许覆盖先前的设置
None:不读取.htaccess
Limit:覆盖控制主机访问的指令(allow,deny)
AuthConfig:允许覆盖跟认证有关指令 (AuthType,AuthName)
这儿是None
order指令
控制处理allow和deny指令的顺序
如上例:
order allow,deny
deny from all
allow from host11
allow指令
对于一个目录来说,allow指令设置允许哪些主机访问
all:所有主机
或 域名:eloo.com
或 一个完整IP:192.168.0.1
网络号码/子网掩码:192.168.0.0/255.255.255.0
网络号码/nnn:192.168.0.0/24 表示一段范围的ip地址
deny指令
对于一个目录来说,allow指令设置禁止哪些主机访问
-all:所有主机
或 域名:eloo.com
或 一个完整IP:192.168.0.1
网络号码/子网掩码:192.168.0.0/255.255.255.0
网络号码/nnn:192.168.0.0/24 表示一段范围的ip地址
结束
不同版本的apache,在目录和参数名字上有微小的差异,根据名字一般都能猜出来。
欢迎各位补充,谢谢。
一.下载apache源代码
1.下载地址:http://httpd.apache.org/download.cgi 找稳定的最新的版本(Stable Release)
得到文件 httpd-2.4.3.tar.gz
2. 上传到你的服务器目录,如:/home/tnuser/installers
解压:tar -zxvf httpd-2.4.3.tar.gz (我们下载的是源代码,所以这一步只是把源代码解压)
移动解压后的目录到目标地址:mv /home/tnuser/installers/httpd-2.4.3 /home/tnuser/ (这一步只是把解压后的目录放在合适的位置方便管理,可以不做)
3. 接下来我们需要编译刚才解压的源文件,这是重点
配置编译时的一些参数:
[plain] view
plaincopy
cd /home/tnuser/installers/httpd-2.4.3 (切换到apache源代码目录下)
./configure --prefix=/home/tnuser/apache/ (设置apache安装目录,这里的 /home/tnuser/apache/ 才是apache真正的安装目录)
二. 到这里时,回车运行命令,报错:
(如果你能正常执行,说明你以前安装过apache环境,请直接make & make install 并请跳过下面一段)
checking for APR... no
configure: error: APR not found. Please read the documentation.
解决方案:
Apache在安装时需要一些准备环境,这里需要安装另外一个东西 APR(Apache Portable Runtime)。
下载地址: http://archive.apache.org/dist/apr/ 同样找最新版本
得到文件:apr-1.4.6.tar.gz
解压:tar -zxvf apr-1.4.6.tar.gz
编译:
[plain] view
plaincopy
cd /home/tnuser/installers/apr-1.4.6
./configure --prefix=/home/tnuser/apr/ (一堆日志信息)
make (一堆日志信息)
make install (一堆日志信息)
完成后在指定地址生成目录和文件
接着装apache,切换到源代码目录设置编译参数: ./configure --prefix=/home/tnuser/apache/
还是报上面的错,这是因为上面自定义了apr的安装目录,所以得把这个信息告诉apache。
正确的运行命令为:
[plain] view
plaincopy
./configure --prefix=/home/tnuser/apache/ --with-apr=/home/tnuser/apr/
三. 执行后继续报错
不过这次错误信息变成了:(不要紧,这说明你的apr安装好了,只是又发现少了另外一个环境,慢慢来)
checking for APR-util... no
configure: error: APR-util not found. Please read the documentation.
解决方案: 下载 APR-util
下载地址:http://archive.apache.org/dist/apr/ 找最新版本
得到文件:apr-util-1.5.1.tar.gz
解压: tar -zxvf apr-util-1.5.1.tar.gz
编译:
[plain] view
plaincopy
cd /home/tnuser/installers/apr-util-1.5.1
./configure --prefix=/home/tnuser/apr-util/
这次运行会报错:
checking for APR... no
configure: error: APR could not be located. Please use the --with-apr option.
看到提示你就懂了,不多说:
[plain] view
plaincopy
./configure --prefix=/home/tnuser/apr-util/ --with-apr=/home/tnuser/apr/
make
make install
在你指定的安装地址生成目录就说明安装成功了
四. 再转回去继续安装apache
有了上回的经验,这次就知道运行什么命令了。切到apache源代码目录下运行:
[plain] view
plaincopy
./configure --prefix=/home/tnuser/apache/ --with-apr=/home/tnuser/apr/ --with-apr-util=/home/tnuser/apr-util/
照旧报错:
checking for pcre-config... false
configure: error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/
解决方案:发现还是少环境,不多说,下载 PCRE
下载地址: http://jaist.dl.sourceforge.net/project/pcre/pcre/ 找最新版下
得到文件: pcre-8.32.tar.gz
解压:tar -zxvf pcre-8.32.tar.gz
编译:
[plain] view
plaincopy
cd /home/tnuser/hunter/installers/pcre-8.32
./configure --prefix=/home/tnuser/pcre/
这次错误信息如下:
checking for windows.h... no
configure: error: You need a C++ compiler for C++ support.
原来pcre需要用C++编译(我只想说:Why I need C++ while I'm a java programmer? Eggache! Holy Shit!)
解决方案:
首先,区分你的系统是Debian还是Fedora。
我的系统是Fedora,所以配置步骤如下:(Debian系统使用命令apt-get,对应工具包为build-essential,命令使用方法:apt-get install build-essential)
sudo yum groupinstall "Development Tools"
这里会花费很长时间安装东西,中间会让你选择是否安装,输入 y 就行了。
下载过程完成后会自动安装,最终见到 Complete! 就结束了。
返回来还得继续安装PCRE啊,Go:
[plain] view
plaincopy
./configure --prefix=/home/tnuser/pcre/
make
make install
安装成功,以最终在目标位置生成相应目录为准。
至此,令人eggache的apache准备环境就算搞定了。
五. 继续apache的安装,一定要在参数中带上以上3种环境配置:
[plain] view
plaincopy
./configure --prefix=/home/tnuser/apache/ --with-apr=/home/tnuser/apr/ --with-apr-util=/home/tnuser/apr-util/ --with-pcre=/home/tnuser/pcre/
大块的log,终于没报错(唯有泪千行啊。。。泪千行。。。)
make
make install
六. 最后测试apache:
cd /home/tnuser/apache/bin
apachectl -k start
如果不能启动,查下端口冲突之类的问题(一般会与系统自带的httpd服务端口冲突)。
启动好后,访问你的apache,看到经典
It works!
关闭时用:apachectl -k stop七.附录:
http://apache.jz123.cn/install.html 中文版官方编译与安装教程
码完收功!!!
原文地址:/article/10560690.html
相关文章推荐
- 构建Apache+Subversion的环境
- apache Solr 入门见解
- 使用Eclipse自带的Maven插件创建Web项目时报错:Could not resolve archetype org.apache.maven.archetypes:maven-archetyp
- LAMP环境搭建
- Apache服务环境在Linux中搭建详解
- Apache安装完成后添加模块
- apxs - Apache 扩展工具
- apache solr 搜索引擎使用笔记
- SVN安装问题The Apache Portable Runtime (APR) library cannot be found
- window 环境下 apache james 3.0-beta4 安装、搭建、运行。
- Exactly-once Spark Streaming from Apache Kafka
- Exactly-once Spark Streaming from Apache Kafka
- Apache 服务器配置
- APACHE两种域名跳转法简单完成重定向
- Debian/Ubuntu下安装Apache的Mod_Rewrite模块的步骤分享
- Aapache: You don't have permission to access / on this server.错误
- Struts2: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina]
- 使用org.apache.commons.logging打日志注意事项
- LNMP环境搭建——Apache篇
- Apache 配置 Basic 认证