LAMP环境搭建与配置

1.安装MySQL:

  初始化:查看系统位数:uname -i

      &&:在这里的意思是当前面命令执行成功时,才能执行后面的命令

      --user:定义数据库以哪个用户的身份运行

      --datadir:定义数据库的安装目录

  

  

  

      错误信息:

      

   配置MySQL:

  

     basedir:MySQL包所在的路径

    datadir:定义存放数据的地方(默认情况下,错误日志也会记录在这个目录下)

    port:定义MySQL服务监听的端口(默认是3306)

    service_id:定义MySQL服务的ID号

    socket:定义MySQL服务监听的套接字地址

  

  

   

    chkconfig --add mysqld:把mysqld服务加入到系统服务列表中

    chkconfig mysqld on:使其开机自启动

    service mysqld start:启动服务

  

    ps -ef |grep mysqld:查看错误日志

    netstat -lnp|grep 3306:查看有没有监听3306端口

    

      

      友情提示:

2.安装Apache:(httpd)

 httpd是依赖apr和apr-util的

    错误信息:

  

 

    安装apr-util错误信息:

  

  

 

  安装httpd错误信息:   

    

  --prefix:安装目录

  --enable-so:启用DSO(把某些功能以模块的形式展现出来,一个功能模块就是一个so文件)

  --enable-mods-shared=most:以共享的方式安装大多数功能模块,安装后会在modules目录下看到这些文件

 

  httpd进行make时错误信息:

  

  

   查看httpd的目录结构以及modules目录下的模块文件

 

   

  查看加载了哪些模块:

 

 3.安装PHP:

 

  安装时遇到的错误信息:

      

  

    

  

    

   

   

   

 

 

 

 4.配置httpd支持PHP:

  编辑配置文件:

    修改以下内容:

         

        允许所有请求,如果不设置会显示403错误:

         

         

5.测试LAMP是否成功:

  测试配置文件是否正确:

    检验配置文件是否正确:/usr/local/apache2.4/bin/apachectl  -t

    启动httpd命令:/usr/local/apache2.4/bin/apachectl  start         

    

    

    查看是否启动:

    

    

   测试是否正确解析PHP:

     缩写一个脚本:

 

    测试:

 

 6.httpd配置:

  默认虚拟主机:

  

   

   

     ServerAdmin:管理员邮箱

     DocumentRoot:该虚拟主机站点的根目录,网站的程序就放在该目录下

     ServerName:网站域名(不支持写多个)

     ServerAlias:网站第二段域名(后面可以接多个域名,用空格分隔)

     ErrorLog:错误日志

     CustomLog:访问日志

  

   

   

   用户认证:

  

    Directory:指定认证目录

    AllowOverride AuthConfig:相当于打开认证开关

    AuthName:自定义认证的名字

    AuthType Basic:认证的类型,一般为Basic

    AuthUserFile :指定密码文件的位置

    require valid-user:指定需要认证的用户为全部用户

     

     

    对目录进行认证:把<Directory /data/wwwroot/www.hghhts2222.com>改为

            <Directory /data/wwwroot/www.hghhts2222.com/admin/>

    对文件进行验证:

    (网址中带有admin.php的链接都会弹出认证窗口)

     

    创建密码文件:

      htpasswd:创建用户工具

      -c:创建(第二次创建新用户不用加-c,否者/data/.htpasswd文件会被重置,之前的用户清空)

      -m:指定密码加密方式为MD5

      关闭防火墙:systemctl stop firewalld

     

     

   配置域名跳转:

     RewriteRule:正则表达式(第一部分为当前的URL,不包括主机头(域名);

             第二部分为跳转的目标地址,可以包含主机头,也可以不写,默认前面的ServerName;

             第三部分为一些选项,需要用括号括起来,301为状态码(永久重定向),L表示list,表

             示跳转结束)

    

      

      

      

   配置访问日志:

  

    %h:访问网站的IP                %l:远程登录名,这个字段上基本为“-”

    %u:用户名,当用户认证时,该字段为用户名    %t:时间

    %r:请求的动作(ctrl -I时就为HEADE)        %s:请求的状态码

    %b:数据传输大小                %{Referer}i:referer信息

    %{User-Agent}:浏览器标识              %D:请求耗费时间

  

  

  

     定义image-requst环境

    !image-requst:把image-requst以外的类型文件记录到日志里

    86400:单位为秒,这里相当于一天

 

 

 

  配置静态元素过期时间:

    编辑主机配置文件:

      gif、jpeg、png格式的文件过期时长都为1天,css、js、flash格式的文件过期时长都为2小时,其他文件过期时长为0

  配置防盗链:

    防止被盗用网站上的资源

    ^$:空的referer

     -e:定义referer(referer一定要以http://开头)

  访问控制:

    OR:或者

    NC:不区分大小写

    F:Forbidden

 

 

    -A指定的是user_agent

 

7.PHP配置:

  PHP的disable_functions:

 

  配置errot_log:

  

     log_errors:记录错误日志

   

     error_log:设定错误日志路径

   

     error_reporting:设定错误日志级别

      E_ALL:所有日志类型

      &:并且

      ~:排除

   

     display_errors:设置为on表示吧错误日志直接显示在浏览器中

   

   

   

  

  配置open_basedir:

    open_basedir:可以是多个目录,用:分隔

 

 

8.PHP动态扩展模块安装:

  查看PHP加载了哪些功能板块:

 

 

 

 

 

 

原文地址:https://www.cnblogs.com/hts1319173810/p/12083204.html