• Ubuntu 下Apache安装和配置2


    Ubuntu上安装Apache,有两种方式:1 使用开发包的打包服务,例如使用apt-get命令;2 从源码构建Apache。本文章将详细描述这两种不同的安装方式。

    方法一:使用开发包的打包服务——apt-get

    安装apache,在命令行终端中输入一下命令:

    $ sudo apt-get install apache2

    安装完成后,重启apache服务,在命令行终端中输入一下命令:

    $ sudo /etc/init.d/apache2 restart

    可能会出现的问题1: NameVirtualHost *:80 has no VirtualHosts,如下截图

    出现上述问题的原因:定义了多个NameVirtualHost,故将/etc/apache2/ports.conf中的NameVirtualHost *:80注释掉即可。

    可能会出现的问题2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName

    原因:

    根据提示,无法可靠的确定服务器的有效域名,使用127.0.1.1作为服务器域名。应此,在下面的测试中,应该使用127.0.1.1,而不是127.0.0.1!

    解决:

    $ vim /etc/apache2/httpd.conf,在文件中添加:

    ServerName localhost:80,再次重启apache2,就可以使用127.0.0.1来访问web服务器啦!

    测试:

    在浏览器里输入http://localhost或者是http://127.0.0.1,如果看到了It works!,那就说明Apache就成功的安装了,Apache的默认安装,会在/var下建立一个名为www的目录,这个就是Web目录了,所有要能过浏览器访问的Web文件都要放到这个目录里。

    如果觉得不再需要apache了,可以将它卸载:

    1. 删除apache
    在命令行中输入:
    $ sudo apt-get --purge remove apache-common
    $ sudo apt-get --purge remove apache


    2.找到没有删除掉的配置文件,一并删除
    代码:
    $ sudo find /etc -name "*apache*" |xargs rm -rf
    $ sudo rm -rf /var/www
    $sudo rm -rf /etc/libapache2-mod-jk

    3.删除关联,这样就可以再次用apt-get install apache2 重装了
    #dpkg -l |grep apache2|awk '{print $2}'|xargs dpkg -P

    方法二:从源构建Apache

    参考资料:

    Ubuntu下安装Apache+PHP+MySQL:http://www.linuxidc.com/Linux/2012-05/61079.htm

    Ubuntu下彻底卸载Apache2:http://www.linuxidc.com/Linux/2013-06/85825.htm

    Apache问题解决:httpd: Could not reliably determine the server's fully qualified domain name 链接:http://www.linuxidc.com/Linux/2012-08/68901.htm

    --------------------------------------分割线--------------------------------------

    apache2 [warn] NameVirtualHost *:80 has no VirtualHosts的解决方法


    错误:[warn] NameVirtualHost *:80 has no VirtualHosts
     
    原因:定义了多个NameVirtualHost
     
    解决:Ubuntu之前的版本定义在/etc/apache2/sites-available/default, 8.04后在/etc/apache2/ports.conf
     
    故可以将/etc/apache2/ports.conf中的NameVirtualHost *:80注释掉
     
    这个问题的本质是在没有定义域名是一个端口只能对应一个虚拟主机,将NameVirtualHost *:80改为其他端口也可以解决
     
    如果有多个不同的域名的话,用同样的端口也可以

  • 相关阅读:
    多校第四场
    codechef 两题
    Topcoder 多校T-shirt场
    状态压缩DP
    LUCAS 定理
    HDU 1104 Remainder
    HDU4542 小明系列故事——未知剩余系
    Codeforces Round #256 (Div. 2)
    Codeforces Round #FF (Div. 2)
    2016年川师大软件工程学生博客打分
  • 原文地址:https://www.cnblogs.com/zhangdaicong/p/7496152.html
Copyright © 2020-2023  润新知