php www用户 为apache_修改apache php 运行的用户 - CSDN
精华内容
参与话题
  • Apache是通过用户www-data来执行PHP的,所以PHP能够做什么,取决于用户www-data能做什么?一般情况下,www-data用户并没有在www/html下面写文件的权限,所以PHP在通过浏览器访问的时候是没有办法.

    本文以Ubuntu为例,其他的Linux系统类似。

    环境为Apache + PHP搭建的web服务器

    假设网站根目录为/var/www/html

     

    问题:

    直接通过shell执行PHP,在网站目录下面读写文件没有问题,但是通过浏览器访问php,却不能写文件。

    原因:

    Apache是通过用户www-data来执行PHP的,所以PHP能够做什么,取决于用户www-data能做什么?一般情况下,www-data用户并没有在www/html下面写文件的权限,所以PHP在通过浏览器访问的时候是没有办法写入文件的。

    解决办法:

    可以简单的把www/html或者www/html下面的某个子目录比如/var/www/html/download的所有者设置为www-data,这样PHP就可以正常写文件。

    命令:sudo chown -R www-data /var/www/html

     

     

    展开全文
  • apache用户名和密码验证

    万次阅读 2014-01-24 15:14:15
    一、Apache服务器已经内置用户验证机制 大家只要适当的加以设置,便可以控制网站的某些部分要用户验证。前期准备,必须已经安装apache,如果还没安装,或者对安装很模糊的话,  第1步:我们在/var/www(apache的...

    一、Apache服务器已经内置用户验证机制

    大家只要适当的加以设置,便可以控制网站的某些部分要用户验证。前期准备,必须已经安装apache,如果还没安装,或者对安装很模糊的话,
         第1步:我们在/var/www(apache的主页根目录)下建立一个test目录
                 mkdir /var/www/test
         第2步:然后我们编辑httpd.conf
                 添加
                       Alias /test"/var/www/test"
                       Options Indexes MultiViews
                       AllowOverride AuthConfig #表示进行身份验证
                       Order allow,deny
                       Allow from all
         #AllowOverride AuthConfig 表示进行身份验证这是关键的设置
         第3步:在/var/www/test创建.htaccess文件
                 vi /var/www/test/.htaccess
                        AuthName "frank share web"
                        AuthType Basic
                        AuthUserFile /var/www/test/.htpasswd
                        require valid-user
            #AuthName 描述,随便写
            #AuthUserFile /var/www/test/.htpasswd
            #require valid-user 或者 require user frank 限制是所有合法用户还是指定用户
            #密码文件推荐使用.htpasswd,因为apache默认系统对“.ht”开头的文件默认不允许外部读取,安全系数会高一点哦。
         第4步:就是创建apache的验证用户
              htpasswd -c /var/www/test/.htpasswd frank
              #第一次创建用户要用到-c 参数 第2次添加用户,就不用-c参数
                如果你们想修改密码,可以如下
                                  htpasswd -m .htpasswd frank
         第5步:
         ok,重启apache服务,然后访问 http://你的网站地址/test 如果顺利的话,应该能看到一个用户验证的弹出窗口,只要填入第4步创建的用户名和密码就行
    后话,为了服务器的性能,一般不推荐使用AllowOverride AuthConfig或者AllowOverride ALL,因为这会使服务器会不断的去寻找.htaccess,从而影响服务器的效能,一般我们把一些后台管理界面或者其他特殊目录可能需要加验证这个需求。

    二、经常上网的读者会遇到这种情况:

         访问一些网站的某些资源时,浏览器弹出一个对话框,要求输入用户名和密码来获取对资源的访问。这就是用户认证的一种技术。用户认证是保护网络系统资源的第一道防线,它控制着所有登录并检查访问用户的合法性,其目标是仅让合法用户以合法的权限访问网络系统的资源。基本的用户认证技术是“用户名+密码”。

      Apache是目前流行的Web服务器,可运行在Linux、Unix、Windows等操作系统下,它可以很好地解决“用户名+密码”的认证问题。Apache用户认证所需要的用户名和密码有两种不同的存贮方式:一种是文本文件;另一种是MSQL、Oracle、MySQL等数据库。下面以Linux的Apache为例,就这两种存贮方式,分别介绍如何实现用户认证功能,同时对Windows的Apache用户认证作简要的说明。
      1)采用文本文件存储
      这种认证方式的基本思想是:Apache启动认证功能后,就可以在需要限制访问的目录下建立一个名为.htaccess的文件,指定认证的配置命令。当用户第一次访问该目录的文件时,浏览器会显示一个对话框,要求输入用户名和密码,进行用户身份的确认。若是合法用户,则显示所访问的页面内容,此后访问该目录的每个页面,浏览器自动送出用户名和密码,不用再输入了,直到关闭浏览器为止。以下是实现的具体步骤:
      以超级用户root进入Linux,假设Apache 1.3.12已经编译、安装到了/usr/local/apache目录中。缺省情况下,编译Apache时自动加入mod_auth模块,利用此模块可以实现“用户名+密码”以文本文件为存储方式的认证功能。
      1.修改Apache的配置文件/usr/local/apache/conf/httpd.conf,对认证资源所在的目录设定配置命令。下例是对/usr/local/apache/htdocs/members目录的配置:
      <Directory /usr/local/apache/htdocs/members>
      Options Indexes FollowSymLinks
      allowoverride authconfig
      order allow,deny
      allow from all
      </Directory>
      其中,allowoverride authconfig一行表示允许对/usr/local/apache/htdocs/ members目录下的文件进行用户认证。
      2.在限制访问的目录/usr/local/apache/htdocs/members下建立一个文件.htaccess,其内容如下:
      AuthName "会员区"
      AuthType basic
      AuthUserFile/usr/local/apache/members.txt
      require valid-user
      说明:文件.htaccess中常用的配置命令有以下几个:
      1) AuthName命令:指定认证区域名称。区域名称是在提示要求认证的对话框中显示给用户的(见附图)。
      2)AuthType命令:指定认证类型。在HTTP1.0中,只有一种认证类型:basic。在HTTP1.1中有几种认证类型,如:MD5。
      3) AuthUserFile命令:指定一个包含用户名和密码的文本文件,每行一对。
      4) AuthGroupFile命令:指定包含用户组清单和这些组的成员清单的文本文件。组的成员之间用空格分开,如:
      managers:user1 user2
      5) require命令:指定哪些用户或组才能被授权访问。如:
      require user user1 user2(只有用户user1和user2可以访问)
      requiresgroupsmanagers (只有组managers中成员可以访问)
      require valid-user (在AuthUserFile指定的文件中任何用户都可以访问)
      3.利用Apache附带的程序htpasswd,生成包含用户名和密码的文本文件:/usr/local/apache/members.txt,每行内容格式为“用户名:密码”。
      #cd /usr/local/apache/bin
      #htpasswd -bc ../members.txt user1 1234
      #htpasswd -b ../members.txt user2 5678
      文本文件members.txt含有两个用户:user1,口令为1234;user2,口令为5678。注意,不要将此文本文件存放在Web文档的目录树中,以免被用户下载。
      欲了解htpasswd程序的帮助,请执行htpasswd -h。
      当用户数量比较少时,这种方法对用户的认证是方便、省事的,维护工作也简单。但是在用户数量有数万人,甚至数十万人时,会在查找用户上花掉一定时间,从而降低服务器的效率。这种情形,应采用数据库方式。
      2)采用数据库存储
      目前,Apache、PHP4、MySQL三者是Linux下构建Web网站的最佳搭档,这三个软件都是免费软件。将三者结合起来,通过HTTP协议,利用PHP4和MySQL,实现Apache的用户认证功能。
      只有在PHP4以Apache的模块方式来运行的时候才能进行用户认证。为此,在编译Apache时需要加入PHP4模块一起编译。假设PHP4作为Apache的模块,编译、安装Apache到/usr/local/apache目录,编译、安装MySQL到/usr/local/mysql目录。然后进行下面的步骤:
      1.在MySQL中建立一个数据库member,在其中建立一个表users,用来存放合法用户的用户名和密码。
      1)用vi命令在/tmp目录建立一个SQL脚本文件auth.sql,内容为:
      drop database if exists member;
      create database member;
      use member;
      create table users (
      username char(20) not null,
      password char(20) not null,
      );
      insertsintosusers values("user1",password("1234"));
      insertsintosusers values("user2",password("5678"));
      2)启动MySQL客户程序mysql,执行上述SQL脚本文件auth.sql的命令,在表users中增加两个用户的记录。
      #mysql -u root -pmypwd</tmp/auth.sql
      2.编写一个PHP脚本头文件auth.inc,程序内容为:
      <?php
      function authenticate() {
      Header('WWW-authenticate: basic realm="会员区"');
      Header('HTTP/1.0 401 Unauthorized');
      echo "你必须输入正确的用户名和口令。 ";
      exit;
      }
      function CheckUser(, ) {
      if ( == "" || == "") return 0;
       = "SELECT username,password FROM usersswheresusername='' and password=password('')";
       = mysql_connect('localhost', 'root', 'mypwd');
      mysql_select_db('member',);
       = mysql_query(, );
      =mysql_num_rows();
      mysql_close();
      if (>0) {
      return 1; //有效登录
      } else {
      return 0; //无效登录
      }
      }
      ?>
      函数Authenticate()的作用是利用函数Header('WWW-authenticate: basic realm="会员区"'),向浏览器发送一个认证请求消息,使浏览器弹出一个用户名/密码的对话框。当用户输入用户名和密码后,包含此PHP脚本的URL将自动地被再次调用,将用户名、密码、认证类型分别存放到PHP4的三个特殊变量:、、,在PHP程序中可根据这三个变量值来判断是否合法用户。Header()函数中,basic表示基本认证类型,realm的值表示认证区域名称。
      函数Header('HTTP/1.0 401 Unauthorized')使浏览器用户在连续多次输入错误的用户名或密码时接收到HTTP 401错误。
      函数CheckUser()用来判断浏览器用户发送来的用户名、密码是否与MySQL数据库的相同,若相同则返回1,否则返回0。其中mysql_connect('localhost', 'root', 'mypwd')的数据库用户名root和密码mypwd,应根据自己的MySQL设置而改变。
      3.在需要限制访问的每个PHP脚本程序开头增加下列程序段:
      <?php
      require('auth.inc');
      if (CheckUser(,)==0) {
      authenticate();
      } else {
      echo "这是合法用户要访问的网页。"; //将此行改为向合法用户输出的网页
      }
      ?>
      把需要向合法用户显示的网页内容放到else子句中,取代上述程序段的一行:
      echo "这是合法用户要访问的网页。";
      这样,当用户访问该PHP脚本程序时,需要输入用户名和密码来确认用户的身份。
      Windows的Apache用户认证
      1.采用文本文件存放用户名和密码时,其方法同前,但需要注意的是表示路径的目录名之间、目录名与文件名之间一律用斜线“/”分开,而不是反斜线“”。
      2.采用MySQL数据库存放用户名和密码时,首先按下列方法将PHP 4.0.3作为Apache的模块来运行,然后按上述“采用数据库存储用户名和密码的用户认证”的方法完成。
      1)下载Windows版的Apache 1.3.12、PHP 4.0.3、MySQL 3.2.32,将三个软件分别解压、安装到C:pache、C:PHP4、C:mysql目录。
      2) C:PHP4SAPI目录有几个常用Web服务器的PHP模块文件,将其中php4apache.dll拷贝到Apache的modules子目录(C:pachemodules)。
      3)修改Apache的配置文件C:pachenfhttpd.conf,增加以下几行:
      LoadModule php4_module modules/ php4apache.dll
      AddType application/x-httpd-php .php3
      AddType application/x-httpd-php-source .phps
      AddType application/x-httpd-php .php
      第一行使PHP4以Apache的模块方式运行,这样才能进行用户认证,后三行定义PHP脚本程序的扩展名。
      4)在autoexec.bat文件的PATH命令中增加PHP4所在路径“C:PHP4”,重新启动电脑。

    三、apache排除特定目录地址实现方法

         我们经常会碰到要在apache排除特定目录地址,下面我来给各位朋友详细介绍实现方法,有需要参考的朋友可学习学习。同事看到http://ip/a这个url地址之后,要求改成访问a目录,url地址就是http://ip,b目录是软链接在a目录中,还要求访问a目录是有apache身份认证的,而访问http://ip/b是没有身份认证的,下面就是我的解决方案.

     系统:centos 5.5
     环境:lamp环境
    1.修改apache配置文件

    代码如下 复制代码
    vi /etc/httpd/conf/httpd.conf
    NameVirtualHost 192.168.1.104:80

    <VirtualHost 192.168.1.104:80>
    ServerAdmin rocdk890@gmail.com
    directoryIndex  index.html index.php index.htm index.shtml login.php
    ServerName 192.168.1.104
    DocumentRoot /var/www/vhosts/wwwroot/a
    <Directory "/var/www/vhosts/wwwroot/a">
       Options -Indexes

       AllowOverride All

       Order allow,deny
       Allow from all

    </Directory>
    </VirtualHost>

    把这两项指向a目录

    代码如下 复制代码
    DocumentRoot /var/www/vhosts/wwwroot/a
    <Directory "/var/www/vhosts/wwwroot/a">


    保存后,重启apache.

    代码如下 复制代码
    service httpd restart


    2.去a目录下添加修改.htaccess文件

    代码如下 复制代码
    vi /var/www/vhosts/wwwroot/a/.htaccess
    AuthUserFile    /var/www/vhosts/wwwroot/.htpasswd
    AuthName        "Please Enter Your Password"
    AuthType        Basic
    Require         valid-user

    3.去b目录下添加修改.htaccess文件

    代码如下 复制代码
    vi /var/www/vhosts/wwwroot/b/.htaccess
    Satisfy Any
    Order Deny,Allow
    Allow from all

    这样就可以让b目录不被身份认证限制住.

    4.软链b目录到a目录中

    代码如下 复制代码
    ln -s /var/www/vhosts/wwwroot/b/ /var/www/vhosts/wwwroot/a/b

    点击查看原图

    5.验证



    好了,大家可以看到访问http://ip是有apache身份认证的,访问http://ip/b是没有apache身份认证的



    展开全文
  • 配置apache服务器的用户认证

    万次阅读 2011-01-27 20:21:00
    用户认证是保护网络系统资源的第一道防线,它控制着所有登录并检查访问用户的合法性,其目标是仅 让合法用户以合法的权限访问网络系统的资源。基本的用户认证技术是“用户名+密码”。    Apache是目前...

          经常上网的读者会遇到这种情况:访问一些网站的某些资源时,浏览器弹出一个对话框,要求输入用户名和密码来获取对资源的访问。这就是用户认证的一种技术。用户认证是保护网络系统资源的第一道防线,它控制着所有登录并检查访问用户的合法性,其目标是仅 让合法用户以合法的权限访问网络系统的资源。基本的用户认证技术是“用户名+密码”。

     

       Apache是目前流行的Web服务器,可运行在Linux、Unix、Windows等操作系统下,它可以很好地解决“用户名+密码”的认证问题。
        apache用户认证所需要的用户名和密码有两种不同的存贮方式:一种是文本文件;另一种是MSQL、Oracle、MySQL等数据库。

     

    下面以Linux的Apache为例,就这两种存贮方式,分别介绍如何实现用户认证功能。

    一,采用文本文件存储

      这种认证方式的基本思想是:Apache启动认证功能后,就可以在需要限制访问的目录下(其对应的子目录也会起作用)建立一个名为.htaccess 的文件,指定认证的配置命令。当用户第一次访问该目录的文件时,浏览器会显示一个对话框,要求输入用户名和密码,进行用户身份的确认。若是合法用户,则显示所访问的页面内容,此后访问该目录的每个页面,浏览器自动送出用户名和密码,不用再输入了,直到关闭浏览器为止。
        
          以下是实现的具体步骤:

          假设Apache已经编译、安装到了/usr/local/apache目录中。缺省情况下,编译Apache时自动加入mod_auth模块,
        利用此模块可以实现“用户名+密码”以文本文件为存储方式的认证功能。
        (通过下面的命令,可以查看apache是否已经安装指定的模块,/usr/local/apache/bin/apachectl -l )

      1.修改Apache的配置文件/usr/local/apache/conf/httpd.conf,对认证资源所在的目录设定配置命令。
          下例是对/data/home/tenfyguo/proj/soso/htdocs目录的配置,对对应的虚拟机配置增加下面的配置:

      <Directory /data/home/tenfyguo/proj/soso/htdocs>
         Options Indexes FollowSymLinks
         allowoverride authconfig #关键是增加这句
         order allow,deny
         allow from all
      </Directory>

      其中,allowoverride authconfig一行表示允许对/data/home/tenfyguo/proj/soso/htdocs目录下的文件进行用户认证。

      2.在限制访问的目录/data/home/tenfyguo/proj/soso/htdocs下建立一个文件.htaccess (其实是一个隐藏文件),其内容如下:

          AuthName "这里的文字会显示在浏览器弹出的提示登录窗口中"
          AuthType basic
          AuthUserFile /data/home/tenfyguo/proj/soso/valid.txt #这里放用户名和密码文件,不能放在可以下载的地方
          require valid-user

      说明:文件.htaccess中常用的配置命令有以下几个:

      1) AuthName命令:指定认证区域名称。区域名称是在提示要求认证的对话框中显示给用户的。
      2) AuthType命令:指定认证类型。在HTTP1.0中,只有一种认证类型:basic。在HTTP1.1中有几种认证类型,如:MD5。
      3) AuthUserFile命令:指定一个包含用户名和密码的文本文件,每行一对。
      4) AuthGroupFile命令:指定包含用户组清单和这些组的成员清单的文本文件。组的成员之间用空格分开,如:
         managers:user1 user2
      5) require命令:指定哪些用户或组才能被授权访问。如:
         require user user1 user2(只有用户user1和user2可以访问)
         requires groups managers (只有组managers中成员可以访问)
         require valid-user (在AuthUserFile指定的文件中任何用户都可以访问)

      3.利用Apache附带的程序htpasswd,生成包含用户名和密码的文本文件:/data/home/tenfyguo/proj/soso/valid.txt,
          每行内容格式为“用户名:密码”。

        #cd /usr/local/apache/bin
        #htpasswd -bc /data/home/tenfyguo/proj/soso/valid.txt user1 1234
        #htpasswd -b /data/home/tenfyguo/proj/soso/valid.txt user2 5678

        文本文件/data/home/tenfyguo/proj/soso/valid.txt含有两个用户:user1,口令为1234;user2,口令为5678。

    打开该文本文件可以发现对应的密码已经加密存储
          注意,不要将此文本文件存放在Web文档的目录树中,以免被用户下载。

      欲了解htpasswd程序的帮助,请执行htpasswd -h。

          完成后,重启apache使得配置生效.
          /usr/local/apache/bin/apachectl restart
     
          当用户第一次打开浏览器请求:http://test.soso.com:13601/test/,此时浏览器会弹出提示框,让用户输入用户名和密码。转包查看apache的响应:
          (1)apache的响应返回:
     HTTP/1.1 401 Authorization Required
     Date: Thu, 27 Jan 2011 11:10:07 GMT
     Server: Apache/2.2.4 (Unix)
     WWW-Authenticate: Basic realm="test"
     Content-Length: 401
     Keep-Alive: timeout=5, max=100
     Connection: Keep-Alive
     Content-Type: text/html; charset=iso-8859-1

     <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
     <html><head>
     <title>401 Authorization Required</title>
     </head><body>
     <h1>Authorization Required</h1>
     <p>This server could not verify that you
     are authorized to access the document
     requested.  Either you supplied the wrong
     credentials (e.g., bad password), or your
     browser doesn't understand how to supply
     the credentials required.</p>
     </body></html>

     

           可以看出,apache的返回的状态码是401, 对应的提示信息:Anthorization Required,并且返回一个很重要的响应头:
            WWW-Authenticate: Basic realm="test"
          
           (2)浏览器弹出提示框让用户输入用户名和密码,输入后浏览器发送如下:
     GET /test/ HTTP/1.1
     Host: test.soso.com:13601
     User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
     Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
     Accept-Language: zh-cn,zh;q=0.5
     Accept-Encoding: gzip,deflate
     Accept-Charset: GB2312,utf-8;q=0.7,*;q=0.7
     Keep-Alive: 115
     Connection: keep-alive
     If-Modified-Since: Fri, 12 Jun 2009 03:43:20 GMT
     Authorization: Basic dGVuZnlndW86dGVuZnlndW8=

     

     可以看到,此时浏览器发送请求中带上了请求头:
            Authorization: Basic dGVuZnlndW86dGVuZnlndW8=
     apache正是利用这个头信息进去权限验证的。


        当用户数量比较少时,这种方法对用户的认证是方便、省事的,维护工作也简单。但是在用户数量有数万人,甚至数十万人时,
          会在查找用户上花掉一定时间,从而降低服务器的效率。这种情形,应采用数据库方式。

     

    二,采用数据库存储

       目前,Apache、PHP、MySQL三者是Linux下构建Web网站的最佳搭档,这三个软件都是免费软件。将三者结合起来,通过HTTP协议, 利用PHP和MySQL,实现Apache的用户认证功能。
       只有在PHP以Apache的模块方式来运行的时候才能进行用户认证。为此,在编译Apache时需要加入PHP模块一起编译。假设PHP作为Apache的模块,编译、安装Apache到/usr/local/apache目录,编译、 安装MySQL到/usr/local/mysql目录。然后进行下面的步骤:

      1.在MySQL中建立一个数据库member,在其中建立一个表users,用来存放合法用户的用户名和密码。

      1)用vi命令在/tmp目录建立一个SQL脚本文件auth.sql,内容为:
      drop datebase if exists member;
      create database member;
      use member;
      create table users (
         username char(20) not null,
         password char(20) not null,
      );

      insert into users values("user1",password("1234"));
      insert into users values("user2",password("5678"));

     

      2)启动MySQL客户程序mysql,执行上述SQL脚本文件auth.sql的命令,在表users中增加两个用户的记录。

      #mysql -u root -pmypwd < /tmp/auth.sql

     

      2.编写一个PHP脚本头文件auth.inc,程序内容为:
    <?php
     /*
     “PHP_AUTH_USER”
     当 PHP 运行在 Apache 模块方式下,并且正在使用 HTTP 认证功能,这个变量便是用户输入的用户名。
     “PHP_AUTH_PW”
     当 PHP 运行在 Apache 模块方式下,并且正在使用 HTTP 认证功能,这个变量便是用户输入的密码。
     “AUTH_TYPE”
     当 PHP 运行在 Apache 模块方式下,并且正在使用 HTTP 认证功能,这个变量便是认证的类型。
     */

     

     function authenticate() {
      header("HTTP/1.0 401 Authorization Required");
      header("WWW-Authenticate: Basic realm='test'");
      echo "请输入认证的用户名和密码";
      exit;
     }

     

     function check_user() {
        if(isset($_SERVER['PHP_AUTH_USER']) && isset($_SERVER['PHP_AUTH_PW'])) {
           //这里可以改成访问DB获取用户名和密码即可
           if($_SERVER['PHP_AUTH_USER']=='tenfyguo' && $_SERVER['PHP_AUTH_PW']=='tenfyguo'){
           return 0;
           }

        return -1;
        }

        return -1;

     }

     

     if(check_user() < 0 ){
        authenticate();
     }

     echo "验证正常";
     exit;
     ?>

     

      函数authenticate()的作用是利用函数header("WWW-Authenticate: Basic realm='test'"),向浏览器发送一个认证请求消息,
        使浏览器弹出一个用户名/密码的对话框。当用户输入用户名和密码后,包含此PHP脚本的URL将自动地被再次调用,
        将用户名、密码、认证类型分别存放到PHP的三个特殊变量:“PHP_AUTH_USER”、“PHP_AUTH_PW”、“AUTH_TYPE”,在PHP程序中可根据这三个变量值来判断是否合法用户。
        header()函数中,basic表示基本认证类型,realm的值表示认证区域名称。

     

      函数header("HTTP/1.0 401 Authorization Required")使浏览器用户在连续多次输入错误的用户名或密码时接收到HTTP 401错误。

        
        文章转载自网管之家:http://www.bitscn.com/pdb/php/200701/95251.html 并根据笔者实验作了部分修改。

    展开全文
  • 使用Apache搭建Web网站服务器

    万次阅读 2019-05-21 01:01:10
    一、Apache服务器概述-安装 1、web服务器概述 web服务器也简称WWW(world wide web 万维网)服务器,主要功能是提供网上信息浏览服务 2、什么是apacheApache HTTPD Server 简称 Apache,是 Apache 软件基金会的一...

    一、Apache服务器概述-安装
    1、web服务器概述
    web服务器也简称WWW(world wide web 万维网)服务器,主要功能是提供网上信息浏览服务

    2、什么是apache?
    Apache HTTPD Server 简称 Apache,是 Apache 软件基金会的一个开源的网页服务器, 可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的 Web 服务器端软件之一。它快速、可靠并且可通过简单的 API 扩展,将 Perl/Python 等解释器编 译到服务器中!Apache HTTP 服务器是一个模块化的服务器,各个功能使用模块化进行插拔! 目前支持 Windows,Linux,Unix 等平台!
    Apache 软件基金会(也就是 Apache Software Foundation,简称为 ASF),是专门为运 作一个开源软件项目的 Apache 的团体提供支持的非盈利性组织,这个开源软件项目就是 Apache 项目!那么我们的 HTTPD 也只是 Apache 的开源项目之一!
    主要的开源项目:HTTP Server,Ant,DB,iBATIS,Jakarta,Logging,Maven,Struts, Tomcat,Tapestry,Hadoop 等等。只是最有名的是 HTTP Server,所以现在所说的 Apache 已 经就是 HTTPD Server 的代号了! 我们还见的比较多的是 Tomcat,Hadoop 等项目
    官方网站:http://www.apache.org/ httpd:http://httpd.apache.org/

    3、什么是mysql?
    MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 旗下公司,他也是最流行的关系型数据库管理系统!特别是在 WEB 应用方面!
    关系型数据库:它通过数据、关系和对数据的约束三者组成的数据模型来存放和管理数

    官方网站:http://www.mysql.com/

    4、什么是PHP?
    PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通 用开源脚本语言。语法吸收了 C 语言、Java 和 Perl 的特点,利于学习,使用广泛,主要适 用于 Web 开发领域。PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创的语法。它可以 比 CGI 或者 Perl 更快速地执行动态网页。用 PHP 做出的动态页面与其他的编程语言相比, PHP 是将程序嵌入到 HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比 完全生成 HTML 标记的 CGI 要高许多;PHP 还可以执行编译后代码,编译可以达到加密和 优化代码运行,使代码运行更快。
    简单的说,PHP 就是一个脚本解释器! 官方网站:http://php.net/
    PHP 服务器安装好之后,升级切记注意,不要盲目升级!因为它会废弃很多低效的语法!

    5、web服务器的工作模式和端口
    工作模式是:B/S 模式
    工作端口是:
    正常端口:80/http
    SSL 端口:443/https

    6、安装服务器端httpd,并启动httpd,设置为开机自启动
    [root@xuegod130 ~]# yum -y install httpd
    [root@xuegod130 ~]# systemctl start httpd
    [root@xuegod130 ~]# systemctl enable httpd
    Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
    [root@xuegod130 ~]# ps -ef | grep httpd
    root 3003 1 0 22:48 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
    apache 3004 3003 0 22:48 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
    apache 3005 3003 0 22:48 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
    apache 3006 3003 0 22:48 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
    apache 3007 3003 0 22:48 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
    apache 3008 3003 0 22:48 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
    [root@xuegod130 ~]# ss -antupl | grep 80
    tcp LISTEN 0 128 :::80 ::? users:((“httpd”,pid=3008,fd=4),(“httpd”,pid=3007,fd=4),(“httpd”,pid=3006,fd=4),(“httpd”,pid=3005,fd=4),(“httpd”,pid=3004,fd=4),(“httpd”,pid=3003,fd=4))

    httpd安装包说明:
    [root@xuegod130 ~]# ls /mnt/Packages/httpd-*
    /mnt/Packages/httpd-2.4.6-80.el7.centos.x86_64.rpm #apache服务主程序包,服务端必须安装
    /mnt/Packages/httpd-manual-2.4.6-80.el7.centos.noarch.rpm#apache手册文档
    /mnt/Packages/httpd-devel-2.4.6-80.el7.centos.x86_64.rpm#apache开发程序包
    /mnt/Packages/httpd-tools-2.4.6-80.el7.centos.x86_64.rpm#apache相关工具包

    7、在客户端安装字符界面下的浏览器
    [root@xuegod140 ~]# yum -y install elinks

    8、安装完成httpd包之后,启动服务,直接在浏览器打开,如下界面
    在这里插入图片描述
    字符界面浏览器:
    [root@xuegod140 ~]# elinks 192.168.1.130
    在这里插入图片描述

    9、apache配置文件目录
    apache的配置文件:
    [root@xuegod130 ~]# ll /etc/httpd/conf/httpd.conf
    -rw-r–r-- 1 root root 11753 4月 24 21:44 /etc/httpd/conf/httpd.conf
    apache的配置文件目录:
    [root@xuegod130 ~]# ll /etc/httpd/conf/
    总用量 28
    -rw-r–r-- 1 root root 11753 4月 24 21:44 httpd.conf
    -rw-r–r-- 1 root root 13077 4月 24 21:46 magic
    apache的默认工作目录:
    [root@xuegod130 ~]# ll /var/www/
    总用量 0
    drwxr-xr-x 2 root root 6 4月 24 21:46 cgi-bin
    drwxr-xr-x 2 root root 6 4月 24 21:46 html

    10、apache主配置文件介绍
    [root@xuegod130 ~]# vim /etc/httpd/conf/httpd.conf
    ServerRoot “/etc/httpd” #httpd服务的根目录
    Listen 80 #监听端口,默认本地 IP,如果指定 ip 写上 IP:80
    Include conf.modules.d/.conf #当前目录下conf.modules.d 这个目录下所有conf文件都生效
    Options Indexes FollowSymLinks #Options Indexes 目录浏览FollowSymLinks 用连接浏览
    AllowOverride None #设置为 none,忽略.htaccess
    Include conf.d/
    .conf #conf.d 里面的 conf 文件也属有效配置文件
    User apache #运行以哪个身份运行
    Group apache #运行以哪个组的身份运行
    ServerAdmin root@localhost #管理员邮箱
    DocumentRoot “/var/www/html” #默认的主目录,如果改动要改动两处,Directory
    <Directory “/var/www/html”>
    Options Indexes FollowSymLinks AllowOverride None

    LogLevel warn #日志等级
    AddDefaultCharset UTF-8 #支持的语言,默认编码
    #配置文件的最后是虚拟主机的字段,其中你大部分字段做个了解即可,用到的时候去查 即可

    11、yum方式搭建LAMP环境
    LAMP=Linux(存在)+Apache(HTTPD 已安装)+Mysql+PHP
    #centos6
    [root@xuegod100 ~]# yum -y install httpd mysql mysql-server php php-mysql
    #centos7
    [root@xuegod130 ~]# yum -y install httpd mariadb mariadb-server php php-mysql

    1)启动maridb数据库,设置开机启动
    [root@xuegod130 ~]# systemctl start mariadb
    [root@xuegod130 ~]# systemctl enable mariadb
    2)登录数据库测试
    [root@xuegod130 ~]# mysql
    Welcome to the MariaDB monitor. Commands end with ; or \g.
    Your MariaDB connection id is 3
    Server version: 5.5.60-MariaDB MariaDB Server

    Copyright © 2000, 2018, Oracle, MariaDB Corporation Ab and others.

    Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

    MariaDB [(none)]> show databases;
    ±-------------------+
    | Database |
    ±-------------------+
    | information_schema |
    | mysql |
    | performance_schema |
    | test |
    ±-------------------+
    4 rows in set (0.00 sec)

    MariaDB [(none)]> exit
    Bye

    3)测试apache是否支持php
    [root@xuegod130 ~]# vim /var/www/html/index.php
    [root@xuegod130 ~]# cat !$
    cat /var/www/html/index.php

    <?php phpinfo(); ?>

    [root@xuegod130 ~]# systemctl restart httpd
    类似于PHP 探针:

    4)浏览器登录,显示如下界面,说明支持php
    在这里插入图片描述
    扩展:探针:一个PHP编写的文件,可以实时查看服务器硬盘资源、内存占用、网卡流量、系统负载、服务器时间等信息,定时刷新一次。以及包括服务器IP地址,Web服务器环境监测,php等信息。

    二、配置web服务器-搭建LAMP环境
    1、搭建一台测试web服务器
    案例:
    部门内部搭建一台WEB服务器,采用的IP地址和端口为192.168.1.63:80,首页采用index.html
    文件。管理员E-mail地址为 cat@xuegod.cn,网页的编码类型采用UTF-8,所有网站资源都存放在/var/www/html目录下,并将Apache的配置文件根目录设置为/etc/httpd目录。
    要求分析:
    设置Apache 的根目录为/etc/httpd #默认
    设置httpd 监听端口80 #默认
    设置管理员E-mail地址为 kill@xuegod.cn #需要修改
    设置WEB 服务器的主机名和监听端口为192.168.1.63:80 #默认80端口
    设置Apache 文档目录为/var/www/html #默认
    设置主页文件为 index.html #增加这个网页文件
    设置服务器的默认编码为UTF-8

    1)修改配置(修改前,备份一份)
    [root@xuegod130 ~]# cd /etc/httpd/conf
    [root@xuegod130 conf]# cp httpd.conf httpd.conf.bak
    [root@xuegod130 conf]# vim httpd.conf
    31 ServerRoot “/etc/httpd” #apache的根目录
    32 Timeout 60 #添加此项,超时时间
    42 Listen 80 #监听端口号
    86 ServerAdmin kill@xuegod.cn #修改管理邮箱地址
    95 ServerName 192.168.1.130:80 #服务器主机名
    119 DocumentRoot “/var/www/html” #网站页面根目录
    144 Options Indexes FollowSymLinks #当一个目录没有默认首页时,允许显示此目录列表,一般安全期间,需要注释此项,避免目录下的其它资料泄露
    164 DirectoryIndex index.html index.php #修改默认首页
    316 AddDefaultCharset UTF-8 #设置服务器的默认编码为:UTF-8

    2)修改完后,保存,重启httpd服务
    [root@xuegod130 conf]# !sys
    systemctl restart httpd

    3)取消apache默认欢迎页(登录初始页面)
    [root@xuegod130 conf]# vim /etc/httpd/conf.d/welcome.conf
    8 #<LocationMatch “^/+$”>
    9 # Options -Indexes
    10 # ErrorDocument 403 /.noindex.html
    11 #
    将8-9行内容全部注释掉
    重启httpd服务:
    [root@xuegod130 conf]# systemctl restart httpd
    4)创建首页:
    [root@xuegod130 conf]# cd /var/www/html/
    [root@xuegod130 html]# echo “welcome to www.xuegod.cn” > index.html
    在这里插入图片描述
    [root@xuegod130 html]# echo “welcome to www.xuegod.cn index.php” > index.php
    在这里插入图片描述
    2、修改web网站根目录-配置别名-虚拟目录
    修改网站默认根目录,并且设置访问权限,只有在允许的范围内可以访问
    1)修改网站默认根目录为/var/www/html/bbs
    119 DocumentRoot “/var/www/html/bbs”

    2)允许所有人访问/var/www/html/bbs目录
    131 <Directory “/var/www/html/bbs”> #子目录会继承这个目录的属性
    144 Options Indexes FollowSymLinks #目录浏览
    151 AllowOverride None #可以用连接
    156 Require all granted #默认表示允许所有人访问,修改设置如下内容(需要注释这行内容)
    156 # Require all granted #需要注释允许所有人访问,下面的才生效
    157
    158 Require ip 192.168.1.104 #允许104访问
    159 Require not ip 192.168.1.140 #不允许140访问
    160

    解释:
    Apache2.4的访问控制:
    Require all granted #允许所有
    Require all denied #拒绝所有
    Require method http-method [http-method] … #允许,特定的HTTP方法
    Require user userid [ userid ] … #允许,特定用户
    Require group group-name [group-name] … #允许,特定用户组
    Require valid-user #允许,有效用户
    Require ip 192.168.1.0/24 #允许网段
    Require ip 192.168.1.1 #允许特定IP
    Require not ip 192.168.1.100 #不允许特定IP
    Require not ip 192.168.1.0/24 #不允许网段

    3)重启httpd服务
    [root@xuegod130 ~]# systemctl restart httpd

    4)创建目录测试首页
    [root@xuegod130 ~]# mkdir /var/www/html/bbs
    [root@xuegod130 ~]# ll /var/www/html/bbs -d
    drwxr-xr-x 2 root root 6 5月 20 23:48 /var/www/html/bbs
    [root@xuegod130 ~]# cp /var/www/html/index.html /var/www/html/bbs/
    [root@xuegod130 ~]# ll !$
    -rw-r–r-- 1 root root 25 5月 20 23:49 index.html

    5)物理机访问(IP地址:192.168.1.104)
    在这里插入图片描述
    6)用Linux虚拟机访问(IP地址:192.168.1.140)
    [root@xuegod140 ~]# elinks 192.168.1.130
    在这里插入图片描述
    使用curl命令访问网站
    [root@xuegod140 ~]# curl 192.168.1.130

    403 Forbidden

    Forbidden

    You don't have permission to access / on this server.

    3、使用别名、引用网站根目录以为的路径
    将/usr/local/phpdata 目录通过虚拟目录功能添加到网站根目录。当访问http://192.168.1.63/ phpdata/ 时,就可以访问目录/usr/local/phpdata中的内容。

    注:Apache的别名也叫虚拟目录
    语法:
    AliasURL路径 PATH物理路径

    1)创建测试数据
    [root@xuegod130 ~]# mkdir /usr/local/phpdata
    [root@xuegod130 ~]# echo “This Alias PHPdata” > /usr/local/phpdata/index.html
    2)修改配置文件
    162 alias /phpdata/ “/usr/local/phpdata/”
    163 <Directory “/usr/local/phpdata/”>
    164 Options Indexes FollowSymLinks #首页不存在,允许访问当前目录下其它内容
    165 AllowOverride None
    166 Require all granted #允许访问所有
    167
    注:Alias /phpdata/ “/usr/local/phpdata/” #/phpdata/ 可以随意起。比如改/phpdata/ 为/php/ 则访问链接: http://192.168.1.63/php/

    3)重启httpd服务
    [root@xuegod130 conf]# !sys
    systemctl restart httpd

    4)测试
    在这里插入图片描述
    字符界面浏览器测试:(配置文件修改为允许1.0网段可以访问,所以140可以访问)

    Require ip 192.168.1.0/24 #允许1.0网段访问
    Require not ip 192.168.2.140 #禁止2.0网段访问

    在这里插入图片描述

    4、实现apache打开软链接功能-禁止显示目录列表-用户认证
    1)当一个目录下没有首页时,访问地址时,会自动打开当前目录下的其它内容
    [root@xuegod130 bbs]# pwd
    /var/www/html/bbs
    [root@xuegod130 bbs]# ls
    index.html
    [root@xuegod130 bbs]# mv index.html index.html.bak #修改默认首页文件
    在这里插入图片描述
    2)修改配置文件,取消首页不存在,默认显示目录下内容的功能
    144 # Options Indexes FollowSymLinks #注释这行内容
    164 # Options Indexes FollowSymLinks #注释(表示全局)

    3)重启httpd服务
    [root@xuegod130 html]# !sys
    systemctl restart httpd

    4)测试
    在这里插入图片描述
    字符界面浏览:
    [root@xuegod140 ~]# curl 192.168.1.130

    403 Forbidden

    Forbidden

    You don't have permission to access / on this server.

    5)通过用户认证-对目录进行保护
    设置/usr/local/phpdata/目录,只能通过用户名和密码访问
    修改配置文件:
    162 alias /phpdata/ “/usr/local/phpdata/”
    163 <Directory “/usr/local/phpdata/”>
    164 Options Indexes FollowSymLinks
    165 AllowOverride None
    166 # Require all granted #注释这一行,不要默认都登录
    167 authtype basic
    168 authname “my web site”
    169 authuserfile /etc/httpd/conf/passwd.secret
    170 require valid-user
    171

    参数说明:
    authtype basic #authtype命令:指定认证类型为:basic。
    authname "my web site " #AuthName命令:指定认证区域名称。区域名称是在提示要求认证的对话框中显示给用户的。
    authuserfile /etc/httpd/conf/passwd.secret #AuthUserFile命令:指定一个包含用户名和密码的文本文件,每行一对。
    require命令 #指定哪些用户或组才能被授权访问。如:
    require user user1 user2 (只有用户user1和user2可以访问)
    require valid-user (在AuthUserFile指定的文件中任何用户都可以访问)

    6)利用apache附带的程序htpasswd,生成包含用户名和密码的文档
    [root@xuegod130 html]# htpasswd -cm /etc/httpd/conf/passwd.secret tom
    New password: #123456
    Re-type new password: #123456
    Adding password for user tom
    [root@xuegod130 html]# htpasswd -m /etc/httpd/conf/passwd.secret tom2
    New password: #123456
    Re-type new password: #123456
    Adding password for user tom2

    注意:
    #第一个生成用户名和密码,需要创建文件,因此需要加-c参数
    #第二次创建用户,不能用-c,否则会把前面的用户覆盖了

    查看htpasswd参数功能:
    -c Create a new file.
    -m Force MD5 encryption of the password.

    7)查看密码文件
    [root@xuegod130 ~]# cd /etc/httpd/conf/
    [root@xuegod130 conf]# ls
    httpd.conf httpd.conf.bak magic passwd.secret
    [root@xuegod130 conf]# cat passwd.secret #可以看到密码是加密的
    tom:$apr10GmiRuN40GmiRuN4B3c8H4zHjAxMCcJqNtYGi/
    tom2:apr1apr1f9urof13$duzU3ve9AOhF4BLKeVg0I/

    8)重启httpd服务
    [root@xuegod130 conf]# !sys
    systemctl restart httpd

    9)测试
    在这里插入图片描述

    三、apache虚拟主机基于-IP-域名-端口三种搭建方式
    配置Apache虚拟主机,实现在一台服务器上运行多个网站
    Apache虚拟主机实现有三种方法:
    1)通过不同的IP地址
    2)通过不同的域名
    3)通过不同的端口号

    1、通过不同IP地址
    1)因为需要两个IP地址,给网卡增加一个临时的IP地址
    [root@xuegod140 ~]# ifconfig ens33:1 192.168.1.200/24

    2)创建虚拟主机的配置文件
    [root@xuegod130 ~]# cd /etc/httpd/conf.d/
    [root@xuegod130 conf.d]# vim bbs.conf
    <VirtualHost 192.168.1.130:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot /var/www/html/
    ServerName dummy-host.example.com
    ErrorLog logs/dummy-host.example.com-error_log
    CustomLog logs/dummy-host.example.com-access_log common

    <VirtualHost 192.168.1.200:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot /var/www/html/bbs/
    ServerName dummy-host.example.com
    ErrorLog logs/dummy-host.example.com-error_log
    CustomLog logs/dummy-host.example.com-access_log common

    3)重启httpd服务
    [root@xuegod130 conf.d]# !sys
    systemctl restart httpd

    4)测试
    修改数据,形成不同
    [root@xuegod130 html]# cat index.html
    welcome to www.xuegod.cn
    [root@xuegod130 html]# echo “welcome to www.xuegod.cn bbs” > bbs/index.html
    [root@xuegod130 html]# cat bbs/index.html
    welcome to www.xuegod.cn bbs
    在这里插入图片描述
    在这里插入图片描述

    2、通过不同域名
    这种访问在企业比较常见,其他两种访问可以了解下即可
    在域名管理后台,修改DNS配置,www.xuegod.com与bbs.xuegod.com解析成相同的IP。
    1)修改配置文件
    <VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot /var/www/html/
    ServerName www.xuegod.cn
    ErrorLog logs/www.xuegod.cn-error_log
    CustomLog logs/www.xuegod.cn-access_log common

    <VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot /var/www/html/bbs/
    ServerName bbs.xuegod.cn
    ErrorLog logs/bbs.xuegod.cn-error_log
    CustomLog logs/bbs.xuegod.cn-access_log common

    2)重启httpd服务
    [root@xuegod130 conf.d]# !sys
    systemctl restart httpd

    3)测试
    因为我们这里做的是测试环境,所以直接在本地的hosts文件增加域名和IP对应记录
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    3、基于端口配置虚拟主机
    1)修改apache的主配置文件,添加监听端口
    42 Listen 80
    43 Listen 8088
    2)修改虚拟主机配置文件
    <VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot /var/www/html/
    ServerName www.xuegod.cn
    ErrorLog logs/www.xuegod.cn-error_log
    CustomLog logs/www.xuegod.cn-access_log common

    <VirtualHost *:8088>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot /var/www/html/bbs/
    ServerName bbs.xuegod.cn
    ErrorLog logs/bbs.xuegod.cn-error_log
    CustomLog logs/bbs.xuegod.cn-access_log common

    3)重启httpd服务
    [root@xuegod130 conf.d]# !sys
    systemctl restart httpd

    4)测试
    在这里插入图片描述
    在这里插入图片描述
    字符浏览器测试:
    [root@xuegod140 conf.d]# curl www.xuegod.cn
    welcome to www.xuegod.cn
    [root@xuegod140 conf.d]# curl bbs.xuegod.cn
    #这里因为实验环境,模式还是一个网卡,所以还是将网址重定向到www.xuegod.cn,正确情况应该是无法打开网页
    welcome to www.xuegod.cn
    [root@xuegod140 conf.d]# curl bbs.xuegod.cn:8088
    welcome to www.xuegod.cn bbs

    展开全文
  • apache目录权限设置

    万次阅读 2012-03-13 16:58:42
    环境配置情况: apache安装目录:d:/...专门运行Apache运行所使用的用户apache-u(可不隶属于任何用户组) PS:这里只说Windows下Apache应用环境相关的目录权限设置,至于其他基本的服务器目录权限设置就不提啦
  • 什么是apache的工作模式? ...个人理解:apache的工作模式就是apache...举个例子:一台apache正在运行的服务器,如果有个用户访问这个apache,那么apache是启用一个进程来处理用户的请求呢?还是在已有的进程中启用
  • php apache用户写文件夹权限设置

    万次阅读 2011-11-11 21:22:29
    php一般是以apache用户身份去执行的,把apache加入到存储你文件的父文件夹属组里去,然后改该父文件夹权限775,这样属组成员就有写的权限,而apache属于这个组就可以改写该目录下所有文件 的权限,当然,属组...
  • 搭建PHP开发环境(Apache+PHP+MySQL)

    万次阅读 多人点赞 2018-06-25 10:25:32
    简介:总结在Windows环境搭建PHP开发环境(Apache+PHP+MySQL) 安装Apache 1、下载Apache,地址:http://www.apachelounge.com/download/,如下图: 2、解压压缩包,最好放到磁盘根目录,不然配置时容易报路径...
  • apache服务器的启动和关闭

    万次阅读 2015-03-10 23:03:21
    php使用到的webserver可以有多种选择,不过现在商业应用较多的还是apacheserver。  对于apacheserver服务器的启动有以下几种方式:  1:通过服务控制面板直接对apache服务进行停止和启动  2:通过apache ...
  • 用惯了在Windows上一个appserv或phpStudy压缩包搞定,要在MAC上捣腾一个PHP开发环境还不大习惯。但自己亲自配一下环境还是...apache的配置apache已经自带了,只需如下三个命令就可以了。 开启apache服务 sudo apach
  • 一台新的linux CentOS服务器,安装好php环境后,发现apache默认解析路径是/var/www/html,如果不想使用这个默认路径,可以自己设置一个目录。 例:在根目录下新建/data/website文件夹用来存放项目。 准备工作: ...
  • Apache安装教程

    万次阅读 2018-08-28 12:53:39
    1.Apache 安装 1.下载apache 下载链接 2.将解压文件移动到目标目录 (整个文件目录最好用英文 不要有空格) 3.命令行注册apache 服务(不同于exe文件的安装) (以管理员身份打开cmd win10 ) (管理员身份和...
  • yum -y install httpd php php-mysql mysql-server service httpd status|start|stop|restart|reload  service mysqld status|start|stop|restart|reload 网站根目录 /var/www/html/  Apach
  • mac下搭建PHP开发环境

    万次阅读 2018-06-22 12:07:52
    1.因为mac下自带apachephp 直接打开命令行即可首先切换到root用户 sudo -i接着查看80端口是否被暂用 lsof 查看apache 版本 httpd -v开启apache apachectl start运行 127.0.0.1command+shift+G 进入路径/etc/...
  • Apache自带的ab压力测试工具用法详解

    万次阅读 2017-12-27 16:26:49
    Apache自带的ab压力测试工具用法详解Miss的PHP开发 2017-12-22 23:13:01 ab的原理 ab是apachebench命令的缩写。 ab的原理:ab命令会创建多个并发访问线程,模拟多个访问者同时对某一URL地址进行访问。它的...
  • mac中配置apache 要将默认路径改自己的路径 DocumentRoot "/Users/username/Documents"  总是出现 403 forbidden You don't have permission to access / on this server 解决...
  • ubuntu apache2配置

    万次阅读 2009-02-27 12:44:00
    ubuntu apache2配置1.apache2.conf 是主配置文件,httpd.conf 用户配置文件2.虚拟目录在 httpd.conf 中DocumentRoot "路径"ServerName 名称 allow from all Options +Indexes 3.根设置(默认主目录)在 /etc/apache2...
  • Windows下Apache+PHP+MySQL搭建web服务器

    万次阅读 2019-04-12 11:32:39
    Apache+PHP+MySQL搭建服务器 工欲善其事必先利其器。 最近由于电脑出了问题不得不重新安装需要的文件,代码什么的都没了,以前也没怎么写过东西这回就先试试手,写的不是太好,希望大家不要介意哈。 比较穷开不起...
  • 我在ubuntu安装完php7.2然后在浏览器中输入http://localhost/test.php时候遇到了如下的错误:在网上找了好多的解决方法,都是改配置文件什么...1.安装apache2执行如下命令(普通用户)sudo apt-get install apache2 ...
  • Apache设置禁止访问网站目录

    万次阅读 2016-01-09 11:23:27
    Apache默认在当前目录下没有index.html入口就会显示网站根目录,让网站目录文件都暴露在外面,是一件非常危险的事,例如:数据库密码泄露,隐藏页面暴露等严重安全问题!例如,访问米扑网站根目录: ...
1 2 3 4 5 ... 20
收藏数 148,421
精华内容 59,368
关键字:

php www用户 为apache