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加载了哪些功能板块:









