Apache的详细安装教程和遇到的问题解决方案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Apache的详细安装教程和遇到的问题解决方案
Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一
(一)Apache安装软件下载
1.访问/,可以看到如下页面。可选择相应版本进行下载,这里我选择的是Apache
2.4.
2.点击Download之后,进入如下页面。找到Files for Microsoft windows .
3.点击Files for Microsoft windows之后,进入如下页面。找到ApacheHaus.
4.点击之后终于看到下载的程序了,自己选择自己想要的版本下载吧。这里x86表示32位系统,x64表示64位的,这里由于我电脑就是64位系统,我选择x64就行下载。
(二)Apache程序安装
1.cmd输入命令行找到你Apache所在的位置,之后输入httpd -k install命令执行就可以安装了。
2.这个时候运行突然报"无法启动此程序,因为计算机中丢失VCRUNTIME140.dll 尝试重新安装此程序以解决此问题",解决方案是:下载vc++2015 并安装,链接是:https:///zh-cn/download/confirmation.aspx?id=48145,这个直接下载安装就可以了。
3.重新运行的时候又会出现一个问题,就是没有Apache的安装权限。但你看到这个报错的时候,找到cmd,用管理员身份运行就可以了。说一下我这是win8系统,所以看起来比较别扭,你可以直接找到cmd的目录C:\Windows\SysWOW64,找到cmd.exe用管理员身份运行就ok 了。
4.问题一个接一个,你重新输入命令行httpd -k install,出现如下报错,这是由于程序默认路径和程序实际安装路径不一致导致的。这个解决方案是,找到Apache安装程序目录下的conf 文件,找到httpd.conf用记事本打开,搜索"Define SRVROOT",找到需要改动的位置,Define SRVROOT引号里面改成自己程序路径就可以了。
5.终于看到曙光了,这样基本所有可能遇到的问题都解决了。接下来我们会看到安装成功了。输入命令行net start Apache2.4启动服务,测试安装情况,出现如下情况则是安装正确。同时可以输入http://localhost/进行验证,出现如下页面。
Linux(Ubuntu)安装
在Ubuntu上安装 Apache,有两种方式
1.使用源中的软件包安装, 例如使用apt-get命令
2.从源码构建Apache
我们直接使用源中的软件包进行安装, 安装apache,在命令行终端中输入一下命令:
sudo apt-get install apache2
2 配置apache
2.1 启动apache服务
安装完成后,重启apache服务,在命令行终端中输入一下命令:
sudo /etc/init.d/apache2 [ start | stop | restart | status ]
或者
service apache2 [ start | stop | restart | status ]
2.2 开机不启动apache服务
由于我们不是服务器, 安装了 apache 并不是一直开启的, 我们期望的是需要的时候手动开启, 因此希望设置开始不启动apache服务
Ubuntu有如下几种方法配置, 但是都是异曲同工, 他们都是修改了启动初始化脚本rcS等配置文件
启动项管理工具sysv-rc-conf
sudo install sysv-rc-conf #或者使用带gui的工具bum
sudo sysv-rc-conf
1~6分别是运行级别, 具体配置参见Ubuntu下使用sysv-rc-conf管理服务
只需要将apache对应运行界别的[X](运行)修改为[](不启动)即可
update-rc.d命令详解
从所有的运行级别中删除指定启动项
update-rc.d -f remove
按指定顺序、在指定运行级别中启动或关闭
update-rc.d start|stop
实例:update-rc.d apachectl start 20 2 3 4 5 . stop 20 0 1 6 .
解析:表示在2、3、4、5这五个运行级别中,由小到大,第20个开始运行apachectl;在0 1 6这3个运行级别中,第20个关闭apachectl。这是合并起来的写法,注意它有2个点号,效果等于下面方法:
update-rc.d apachectl defaults
A启动后B才能启动,B关闭后A才关闭
update-rc.d A defaults 8020
update-rc.d B defaults 9010
启动和关闭顺序为90,级别默认
3 问题
3.1 apache2 [warn] NameVirtualHost *:80 has no VirtualHosts
问题描述
apache2 [warn] NameVirtualHost *:80 has no VirtualHosts
问题原因
出现上述问题的原因: 定义了多个 NameVirtualHost, 故将 /etc/apache2/ports.conf 中的 NameVirtualHost *:80 注释掉即可
问题解决
Ubuntu之前的版本定义在 /etc/apache2/sites-available/default, 8.04后在/etc/apache2/ports.conf
故可以将 /etc/apache2/ports.conf 中的NameVirtualHost *:80 注释掉
这个问题的本质是在没有定义域名是一个端口只能对应一个虚拟主机,将NameVirtualHost *:80改为其他端口也可以解决
如果有多个不同的域名的话,用同样的端口也可以
3.2 using 127.0.1.1 for ServerName
问题描述
可能会出现的问题2:Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName
问题解决
∙方法1, 修改httpd.conf
修改 /etc/apache2/httpd.conf, 在文件中添加,
ServerName localhost:80
一般来说 httpd.conf 是个空文件, 直接添加即可, 如果 httpd.conf 文件不存在, 则新建它, 并检查 /etc/apache2/apache2.conf 中是否包含了 httpd.conf, 如果没有使用如下语句包含
# Include httpd to listen on @/etc/apache2/apache2.conf
Include httpd.conf
或者
∙方法二
修改 /etc/apache2/sites-available/default
在最顶端加入