zoukankan      html  css  js  c++  java
  • ubuntu下apache与php配置

    实验环境

    uname -a

    Linux tomato 4.4.0-34-generic #53-Ubuntu SMP Wed Jul 27 16:06:39 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

    步骤

    安装

    sudo apt-get update
    sudo apt-get install php7.0 apache2 libapache2-mod-php7.0

    修改配置

    刚开始的时候我上网查询如何配置apache2和php,很多人都提到了“在httpd.conf中AddType和LoadModule”,然而我找了很久都没找到这个文件,其他各种答案也是没效果。可能这个httpd.conf要下载源码才有吧,用apt安装的没有。于是我去下载了源码,但又是一大堆的依赖包什么的,也是失败了。在图书馆搞了4个小时,感觉身体被掏空......

    后来我从图书馆回到宿舍,平静了一下,打开了刚刚看过的配置文件:

    cd /etc/apache2
    less apache2.conf

    我被注释里的目录数吸引了:

    于是我认真地看了开头两页长的注释:

    Summary of how the Apache 2 configuration works in Debian:

    The Apache 2 web server configuration in Debian is quite different to
    upstream's suggested way to configure the web server. This is because Debian's
    default Apache2 installation attempts to make adding and removing modules,
    virtual hosts, and extra configuration directives as flexible as possible, in
    order to make automating the changes and administering the server as easy as
    possible.

    apache2在Debian中的配置不同,配置文件分成了几个文件。

    apache2.conf is the main configuration file (this file). It puts the pieces
    together by including all remaining configuration files when starting up the
    web server

    apache2.conf是主要的配置文件,将其他配置文件整合在一起。

    Configuration files in the mods-enabled/, conf-enabled/ and sites-enabled/
    directories contain particular configuration snippets which manage modules,
    global configuration fragments, or virtual host configurations,
    respectively.

    They are activated by symlinking available configuration files from their
    respective *-available/ counterparts.

    mods-enabled/、conf-enabled/和sites-enabled/这几个目录分别管理modules,
    global configuration fragments和virtual host configurations。它们链接到相应的-available文件而起作用。

    看到modules我马上就动了:

    cd mods-available 
    grep -d recurse "AddType"

    mime.conf: # AddType allows you to add to or override the MIME configuration
    mime.conf: #AddType application/x-gzip .tgz
    mime.conf: AddType application/x-compress .Z
    mime.conf: AddType application/x-gzip .gz .tgz
    mime.conf: AddType application/x-bzip2 .bz2
    mime.conf: AddType text/html .shtml
    ssl.conf: AddType application/x-x509-ca-cert .crt
    ssl.conf: AddType application/x-pkcs7-crl .crl

    嘿嘿......

    sudo vim mime.conf

    在文件中定位到AddType的部分,加入这两行:

    AddType application/x-httpd-php-source .phps
    AddType application/x-httpd-php .php

    保存退出。再来找一下“LoadModule”的归处:

    mime.load:LoadModule mime_module /usr/lib/apache2/modules/mod_mime.so
    sudo vim mime.load

    加入这一句:

    LoadModule php7_module /usr/lib/apache2/modules/libphp7.0.so

    重启apache2,使配置生效:

    sudo service apache2 restart

    测试

    apache2的默认web根目录在/etc/apache2/sites-available/000-default.conf中设置:

    DocumentRoot /var/www/html/

    在该目录下添加测试文件info.php,内容为:

    <?php
    phpinfo();
    ?>

    保存退出。

    打开浏览器,在地址栏输入:

    localhost/phpinfo.php

    回车。成功跳出由php解释后的信息:

    PHP logo
    PHP Version 7.0.8-0ubuntu0.16.04.2
    
    System    Linux tomato 4.4.0-34-generic #53-Ubuntu SMP Wed Jul 27 16:06:39 UTC 2016 x86_64
    Server API    Apache 2.0 Handler
    Virtual Directory Support    disabled
    Configuration File (php.ini) Path    /etc/php/7.0/apache2
    Loaded Configuration File    /etc/php/7.0/apache2/php.ini
    Scan this dir for additional .ini files    /etc/php/7.0/apache2/conf.d
    ......

    感动!

  • 相关阅读:
    console在ie下不兼容的问题(console在ie9下阻碍页面的加载,打开页面一片空白)
    相等(==)、严格相等(===)、NaN、null、undefined、空和0
    算法--排序--分治与快速排序
    java线程总结1--线程的一些概念基础以及线程状态
    java设计模式--基础思想总结--抽象类与架构设计思想
    jsp servlet基础复习 Part2--GET,Post请求
    java设计模式--基础思想总结--父类引用操作对象
    Hibernate学习2--对象的三种状态以及映射关系的简单配置
    java--集合框架总结1--set总结
    Hibernate学习1--对象持久化的思想
  • 原文地址:https://www.cnblogs.com/tradoff/p/5854965.html
Copyright © 2011-2022 走看看