1.前言:
LAMP是指通过Linux(操作系统)+Apache(HTTP服务器)+MySQL(数据库)+PHP(网络编程语言)去建立Web应用的平台。LAMP平台是协同工作的一整套系统和相关软件,可以提供动态的web站点服务和应用开发环境。
LAMP平台的优势是:
LAMP软件包地址:链接:百度网盘 请输入提取码提取码:BDKM
2.安装
2.1 Mysql安装
使用提供的软件包mysql-5.6.43-linux-glibc2.12-x86_64.tar(二进制免编译包)
上传到 /usr/local/src中
用 tar -zxvf mysql-5.6.43-linux-glibc2.12-x86_64.tar //解压软件包
移动到 /usr/local/ 中并重新命名为mysql
进入此文件
创建一个mysql的用户
创建一个存放数据的一个目录并给与用户和用户组权限
安装perl环境
运行脚本: ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
先拷贝安装包里的配置文件再修改MySQL配置文件
# vi /etc/my.cnf(更改下面内容)
拷贝并修改
# vi /etc/init.d/mysqld(更改以下内容)
将启动项加入到系统启动项,并设为开机自启
启动MySQL
查看是否启动成功
这就代表这mysql服务已经启动成功了
2.2 Apache 安装
使用提供的软件包:httpd-2.4.49.tar.gz apr-util-1.5.4.tar.gz apr-1.5.2.tar.gz ,并解压
切换到apr-1.5.2
进行编译
进行make安装
进入apr-util-1.5.4
执行./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
安装一个expat-devel
# yum install -y expat-devel
make安装
进入httpd-2.4.49
安装pcre-config 库
# yum install -y pcre-devel
执行./configure--prefix=/usr/local/apache2.4 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-so --enable-mods-shared=most
Make 安装
# make -j4 && make install
查看调用的模块
# /usr/local/apache2.4/bin/httpd -M
2.3 PHP 安装
使用提供的软件包 php-5.6.30.tar.gz ,并解压
切换到该目录下
安装依赖的环境
# yum install -y libxml2-devel bzip2 bzip2-devel libpng-devel openssl openssl-devel freetype freetype-devel opel-release
# yum install -y epel-release
# yum install -y libmcrypt-devel
进行编译的操作
执行./ configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2.4/bin/apxs --with-config-file-path=/usr/local/php/etc/ --with-mysql=/usr/local/mysql --with-pdo-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-bz2 --with-openssl --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-mbstring --enable-sockets --enable-exif
Make 安装
# make -j4 && make install
确认是否安装成功
查看安装的模块
里面已存在php5_module libphp5.so,这样php已经就安装成功了
拷贝配置文件
2.4 配置httpd支持php
修改httpd主配置文件
在下面的这个目录进行操作
改成以下内容
(这个地方是增加一行)
修改完成后,来测试一下
Kill掉原有的httpd进程
重新加载一下apache服务
/usr/local/apache2.4//bin/apachectl start
用curl localhost 测试一下
修改计算机本地的hosts文件后就可以访问到了,添加自己的ip地址
解析一下php
2.5 httpd的默认虚拟主机
首先改主配置文件
进入此文件内
更改 httpd.conf (去掉注释项)
修改此文件extra/httpd-vhosts.conf
在apache中创建docs
在docs中建立shw.com 111.com 俩个文件夹,在其中分别建立index.html
重新加载apache服务
2.5 httpd用户认证
更改extra下httpd-vhosts.conf
AllowOverride AuthConfig 这个相当于打开认证的开关
AuthName "shw.com user auth" 自定义认证的名字,作用不大
AuthType Basic 认证的类型,一般为Basic
AuthUserFile /usr/local/apache2.4/docs/.htpasswd 指定密码文件所在位置
require valid-user 指定需要认证的用户为全部可用用户
创建密码文件
修改主机hosts
再认证
2.6域名跳转
修改配置文件
改成以下内容
在/usr/local/apache2.4/docs/ 中创建www.shw.com目录
在该目录下创建index.html 123.php
测试一下,并重新启动apache服务
进入/usr/local/apache2.4/conf/httpd.conf中放开这条命令
查询是否有这个模块
Curl测试
验证成功
2.7 访问日志
默认的logs地址
配置文件修改
把common 改成 combined
测试一下
看我们的日志文件
已经出现了刚才的操作
2.8访问日志不记录静态文件
修改配置文件如下
添加以下内容
SetEnvIf Request_URI ".*\.gif$" img
SetEnvIf Request_URI ".*\.jpg$" img
SetEnvIf Request_URI ".*\.png$" img
SetEnvIf Request_URI ".*\.bmp$" img
SetEnvIf Request_URI ".*\.swf$" img
SetEnvIf Request_URI ".*\.js$" img
SetEnvIf Request_URI ".*\.css$" img
CustomLog "logs/111.com-access_log" combined env=!img
在www.111.com下建立images
上传一张图片进去
访问一下
看日志
已经看到了痕迹
2.9访问日志的切割
修改配置文件
重新加载apache
Curl一下
出现了新的日志
2.10 静态元素过期时间
设定静态元素的过期时间可以删掉无用的缓存
更改配置文件
放开主配置文件里的
Curl一下
2.11配置防盗链
通过限制referer来实现防盗链的功能
更改配置文件
重新加载配置,并测试一下
2.12 访问控制白名单
更改配置文件
在www.111.com创建admin
拷贝123.php 到admin
重新加载配置
127.0.0.1以外地址都是错的
2.13 访问控制-禁止php解析
更改配置文件
测试一下,并重新加载apache
2.14 访问控制-usr_agent
Usr_agent是浏览器标识
更改配置文件
测试文件是否存在问题
通过返回值我们可以知道不存在问题
我们去访问一下,结果是浏览器可以访问
这样就可以访问了
3. PHP配置
3.1php基础配置
查看php配置文件位置
可以使用phpinfo函数看
之前出现了warning,为了解决它我们去修改/usr/local/php/etc/php.init文件
现在再查看一下
现在去修改一下配置文件
添加以下内容做一个限制
3.2 日志相关配置
限制掉phpinfo
此时我们进到网页访问,会看到报错
我们进入配置文件中,去关掉显示报错的这一项
这时就不会显示报错的信息
配置错误日志
在配置文件中定义日志位置
日志级别
此时在tmp下就可以看到了
3.3 配置open_basedir
限制admin,表示只允许访问admin
访问一下
可以连接到
尝试访问其他页面
3.4虚拟主机配置open_basedir
在/usr/local/apache2.4/conf/extra下修改配置文件
测试一下
4. PHP动态扩展模块
先下载一个redis的包
Wget http://pecl.php.net/get/redis-2.2.5.tgz
完成下载后,进行解压,并切换到该目录下
先执行一下 /usr/local/php/bin/phpize
再执行./configure --with-php-config=/usr/local/php/bin/php-config进行编译
用make 安装 #make && make install
看一下这目录在什么地方
看是否存在模块
这时此目录下存在模块
改php配置文件,在最后一行就可以
查看模块是否添加成功了