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