LAMP的详细安装过程可参考链接:LAMP架构介绍与搭建----工坊学习记录
任务1 安装LAMP,基础配置解析PHP
1. 安装MySQL
2. 安装Apache
3. 安装PHP
4. httpd解析PHP
任务2 Apache配置
1. 默认虚拟主机–验证
2. 用户认证
登录后:
针对单个文件进行认证
3. 域名跳转
4. 访问日志–验证
5. 访问日记不记录静态文件–验证
6. 访问日记切割–验证
可以看到tailf www.gongfang.com-access_20201013.log日志中只有aming.txt的请求日志,但没有aming.jpg的。
7. 静态元素过期时间–验证
8. 配置防盗链–验证
9. 访问控制-Diretory\FileMatch
(1)Directory
(2) FilesMatch
10. 访问控制-禁止解析PHP
11. 访问控制-user_agent
任务3 PHP配置
1. PHP基础配置
/usr/local/php/bin/php -i|grep -i "loaded configuration file" // 查看PHP配置文件的位置
cd /usr/local/src/php-5.6.30 //进入指定php-5.6.30目录
cp php.ini-production /usr/local/php/etc/
mv /usr/local/php/etc/php.ini-production /usr/local/php/etc/php.ini //重命名为php.ini
/usr/local/php/bin/php -i|grep -i "loaded configuration file" //再次查看,返回信息发生变化
vim /usr/local/php/etc/php.ini //进入此文件,修改以下信息
搜索disable_functions,添加:
eval,assert,popen,passthru,escapeshellarg,escapeshellcmd,passthru,exec,system,chroot,scandir,chgrp,chown,
escapeshellcmd,escapeshellarg,shell_exec,proc_get_status,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,
readlink,symlink,1eak,popepassthru,stream_socket_server,popen,proc_open,proc_close
搜索 date. timezone ,把前面的分号去掉,然后修改为 date.timezone = Asia/Shanghai
2. 日志相关配置
vim /usr/local/php/etc/php.ini //进入此文件,修改以下信息
搜索 log_errors 修改为:log_errors = On
搜索 error. log 修改为: error_log = /tmp/php_errors.log
搜索 error_reporting 修改为:error_reporting = E_ALL & ~E_NOTICE
搜索 display_errors 修改为: display_errors = Off
/usr/local/apache2.4/bin/apachectl -t
/usr/local/apache2.4/bin/apachectl graceful
演示:
ll /tmp/php_errors.log
vi /usr/local/apache2.4/docs/www.gongfang.com/test.php
<?php
echo 111
curl -A "123" -xlocalhost:80 gongfang.com/test.php -I //
cat /tmp/php_errors.log
3. 配置open_basedir
vim /usr/local/php/etc/php.ini //进入此文件,修改信息
open_basedir = /usr/local/apache2.4/docs/www.gongfang.com/admin:/tmp // 允许访问www.gongfang.com目录下的admin和tmp,隔开tmp是因为tmp目录是临时的
/usr/local/apache2.4/bin/apachectl graceful
演示:
(admin和upload下均有123.php)
4. 虚拟主机配置open_basedir–根据站点做配置(限制),更加灵活
vim /usr/local/apache2 .4/conf/extra/httpd-vhosts.conf //进入此文件,添加以下信息
php_admin_value open_basedir "/usr/local/apache2.4/docs/www.gongfang.com/upload:/tmp/"
任务4 PHP扩展模块安装
#/usr/local/php/bin/php -m //查看PHP加载了哪些模块
#cd /usr/local/src
wget https://codeload.github.com/phpredis/phpredis/zip/develop
wget http://pecl.php.net/get/redis-2.2.5.tgz
#tar zxvf redis-2.2.5.tgz
#cd redis-2.2.5
#/usr/local/php/bin/phpize //生成configure文件
#./configure --with-php-config=/usr/local/php/bin/php-config //编译
#echo $? //查看有没有错误
#make
#make install //make install时候编译好的就会放在这个目录里
#ls /usr/local/php/lib/php/extensions/no-debug-zts-20131226 //可以看到redis.so
#vi /usr/local/php/etc/php.ini //添加以下信息在最后
extension = redis.so
# /usr/local/apache2.4/bin/apachectl -t
# /usr/local/apache2.4/bin/apachectl graceful
#/usr/local/php/bin/php -m |grep redis //查看是否加载了redis模块