LAMP环境搭建
LAMP环境搭建
uname -i:查看linux是多少位的
下载源码包:
wget 下载地址
【或者将5.6上传到虚拟机】
初始化
解压:
移动位置
建立MySQL用户
创建datadir,存放数据库文件
更改权限
输入:
时,如果显示错误信息是因为缺少包perl-Module-Install,使用yum安装它。
然后继续重复
配置MySQL
复制配置文件
打开配置文件,做一些配置:
vi /etc/my.cnf
basedir是MySQL包所在的路径
datadir是定义的存放数据的地方
port定义MySQL服务监听的端口,默认是306
service_id定义MySQL服务的id号
socket定义MySQL监听的套接字地址
复制启动脚本文件并修改其属性
修改启动脚本:
安装Apache
切换到/usr/local/src下
下载安装httpd
2.4源码包
解压下载好的源码包
httpd是依赖apr和apr-util的,安装apr和apr-util
切换至当前目录
编译
安装
编译
安装
如果安装apr-util时出现错误,需要安装expat-devel
yum install -y expat-devel
安装 apr以及apr-util,继续安装httpd,配置编译参数
查看httpd目录结构以及modules目录下面的模块文件
查看加载了哪些模块
安装PHP
下载PHP。
解压源码包:
配置编译参数:
出现错误以及解决方法:
再有错误就用这个
Centos默认的yum源没有libmcrypt-devel这个包,只能借助epel yum扩展
make
make install
最后复制配置文件
配置httpd支持PHP
编辑 /usr/local/apache2.4/conf/httpd.conf
搜索ServerName。把#ServerName www.example.com:8o前面的#删除
将改成
测试LAMP是否成功
启动httpd之前需要检验配置文件是否正确
启动httpd:
查看是否启动的命令:
测试是否正确解析PHP
httpd设置
默认虚拟主机
编辑配置文件httpd.conf(这个是http服务的主配置文件)
保存主配置文件,然后编辑虚拟主机配置文件
重新编辑虚拟主机
【假如只定义了两个站点—zy.com和1021.com,那么如果将第三个域名qqq指向本机的时候,当我们在浏览器访问qqq.com时,会自动去访问zy.com,也就是默认虚拟主机】
测试:
网站默认主页时index.html
用户认证
对1021.com站点做一个全站的用户认证
把1021的虚拟主机编辑成如下内容:
创建密码文件
htpasswd命令为创建用户的工具,-c为create(创建),-m指定密码加密方式为MD5,
/data/htpasswd为密码文件,zy为要创建的用户。第一次执行该命令需要加-c
第二次再创建新的用户时,就不用了加-c了,否则/data/.htpasswd文件会被重置,之前的用户被清空
验证没有问题后才能重新加载
在下用npp打开,在最下面添加一行
【关闭防火墙
关闭防火墙命令:systemctl stop firewalld.service
开启防火墙:systemctl start firewalld.service
关闭开机自启动:systemctl disable firewalld.service
开启开机启动:systemctl enable firewalld.service
】
然后用浏览器去访问www.1021.com
如果要对www.1021.com/admin/目录进行认证,只需要修改一个地方
把< Directory /data/wwwroot/www.1021.com >
改为<Directory /data/wwwroot/www.1021.com/admin/>
如果是一个文件,比如www.1021.com/admin.php
则需要:
但是网址中带有admin.php的链接都会弹出认证窗口
配置域名跳转
配置访问日志
在主配置文件中定义访问日志的格式:
日志:
编辑虚拟主机配置文件
保存配置文件后,测试语法并重新加载配置
归档
先定义了一个image-request环境变量,把gif、jpg、png、bmp、swf、js、css等格式的文件全部归类到image-request里。后面的env=!image-request有用到一个“!”,这相当于取反了,意思是把image-request以外的类型文件记录到日志里。
正常CustomLog后面我日志文件名,但这里的使用了一个管道,他会把日志内容交给后面的rotatelogs命令处理。rotatelogs为httpd自带切割日志的工具,他会把访问日志按照我们定义的文件名格式进行切割,其中86400单位是“秒”、相当于“一天”。
测试配置文件:
测试“在日志不记录静态元素”的配置