Apache
1.配置yum 源
vi /ect/yum.repos.d/local.repo
[local]
name=local
baseurl=file:///mnt
enabled=1'gpgcheck=0
2.安装Mysql
wget
http://mirrors.sohu.com/mysq//MySQL-5.6/mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz
yum install -y perl-Module-Install
#问题1.没有perl,解析会出错
【-d /uss/local/mysq! ] && mv /usr/local/mysql
/usr/1o.cal/mysql_old
my mysql-5.6.35-linux-glibc2.12-x86_64 /usr/local/mysql
useradd -s /sbin/nologin mysql
cd /usr/local/mysql
mkdir -p/data/mysql
chown -R mysql:mysql /data/mysql
./scripts/mysqL_install_db-user=mysql-datadir=/data/mysql
echo $?
0
3.配置Mysql
cp support-files/mysql.server /etc/init.d/mysqld
cat /etc/my.cnf

cp
support-files/mysql.servepr /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld
vi/etc/init.d/mysgld
配置文件加入: datadir=/data/mysql
chkconfig --add mysgld
chkconfig mysqld on
service mysqld start
ps aux |grep mysqld

yun install -y
net-tools//问题2,没有netstat命令,下载net-tools后解决
netstat -Inplgrep 3306

4.安装Apache
yum -y install
gcc#问题3,缺少gcc
cd /ust/local/src/apr-1.6.5
tar zxvf apr-1.5.1.tar.gz
cd /usr/local/src/apr-1.5.1
./configure--prefix=/usr/local/apr
make && make install
yum -y install expat-devel
tar zxvf apr-util-1.5.4.targz
cd /usr/local/src/apr/util 1.5.4
/configure-prefix=/usr/local/apr-util-with.apr-ust/locayapr
make && make install
tar zxvf httpd-2.4,54,tar.gz
cd/usr/local/src/httpd-2.4.54
yum y install pcre pcre-devel
./configure -prefix=/usr/local/apache2/4 wnb-apr-/usr/local/apr
with-apr-util=/usr/local/apr-uti-enable-so—enable mods-shared=most
make
make install
ls /usr/local/apache2.4/modules

/usr/local/apache2.4/bin/apachectl-M

5.安装PHP
tar zxf
php-5.6.39.tar.gz
cd php-5.6.39
yum install y libxml2-devel
yum -y install openssl opensst-devel
yum -y install bzip2 bzip2-devel
yum-y install libpng libpng-devel
yum -y install freetype freetype-devel
yum -y install epel-release
yum -y install libmcrypt-devel
yum -y install libjpeg-devel
./configure -prefix=/usr/local/php
-with-apxs2=/usr/local/apache2.4/bin/apxs-with-config-file-path=/usr/local/php/etc
-with-gd -with-mysql=/usr/local/mysql -with-libxml-dir
-with-jpeg-dir -with-png-dir -with-freetype-dir -with-iconv-dir -with-zlib-dir
-with-bz2 -with-openssl -enable-soap -enable-gd-native-ttf
—enable-mbstring —enable-sockets-enable-exif
问题4 连不上网,删除--with-mcrypt后解决

make
make install
cp php.ini-production /usr/local/php/etc/php.ini
6.配置httpd支持PHP
vi
/usr/local/apache2.4/conf/httpd.conf
改三个文件:1.<Directory>
AllowOverride none
Require all denied改granted
</Directory>
2.Addtype application/x-gzip .gz .tgz
Addtype application/x-httpd-php .php
3.<IfModule dir_module>
Directory index.html index.php
</IfModule>
/ust/local/apache2.4/bin/apachectl-t
/usr/local/apache2.4/bin/apachectl start
netstat-Inp Igrep httpd
//结果:tcp6 0 0:::80 :::* LISTE 93146/httpd
curl localhost
chtml<body<h1>/t worksk/h1>k/bodyox/html
vi /ust/local/apache2.4/htdocs/1.php
curl localhost/1.php
<?php
echo"php解析正常";
?>
vi /usr/local/apache2.4/conf/httpd.conf
//找到vhost这行把#删除
vi/usr/local/apache2.4/conf/extra/httpd.vhosts.conf

mkdir
-p/data/wwwroot/aming.com /data/wwwroot/www.123.com
echo "aming.com">/data/wwwroot/aming.com/index.html
echo "123.com">/data/wwwroot/123.com/index.html
/usr/local/apache2.4/bin/apachectl-t
Syntax OK
/usr/local/apache2.4/bin/apachectl graceful
curl
-x127.0.0.1:80 aming.com
curl -x127.0.0.1:80 www.123.com
curl -x127.0.0.1:80 www.abc.com




7 用户验证+8配置域名跳转
vi /usr/local/apache2.4/conf/extra/httpd-vhost.conf

/usr/local/apache2.4/bin/httpd -cm /data/.htpasswd aming//设置账号密码
/usr/local/apache2.4/bin/apachectl-t
Syntax OK
/usr/local/apache2.4/bin/apachectl graceful

9.配置访问日志
#主配置文件<日志>
vi /usr/local/apache2.4/conf/httpd.conf

#主机配置文件<简单日志>
vi /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

#重新加载配置<在访问网页前请重新使用加载配置>
/usr/local/apache2.4/bin/apachectl -t
Syntax OK
/usr/local/apache2.4/bin/apachectl graceful
#测试普通日志
curl -x127.0.0.1:80 -I 123.com
tail /usr/local/apache2.4/logs/123.com-access_log

#主机配置文件<一天一个日志>
vi /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

#测试<在日志不记录静态元素>
touch /data/wwwroot/www.123.com/aming.jpg
touch /data/wwwroot/www.123.com/aming.txt
curl -x127.0.0.1:80 www.123.com/aming.jpg
curl -x127.0.0.1:80 www.123.com/aming.txt
cat /usr/local/apache2.4/logs/123.com-access_log

10.配置静态元素过期时间
#主机文件设置
vi /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

#再次重新加载配置<在访问网页前请重新使用加载配置>
/usr/local/apache2.4/bin/apachectl -t
Syntax OK
/usr/local/apache2.4/bin/apachectl graceful
#检查httpd是否加载expires模块
/usr/local/apache2.4/bin/apachectl -M|grep -i expires
###若无结果修改如下配置文件
#httpd配置文件
vi /usr/local/apache2.4/conf/httpd.conf
#搜索expires,删除本行#


#重新加载expires服务<出现如下结果>
/usr/local/apache2.4/bin/apachectl graceful
/usr/local/apache2.4/bin/apachectl -M|grep -i expires

#运行curl测试jpg<max-age86400为一天>
curl -x127.0.0.1:80 -I www.123.com/aming.jpg

#运行curl测试txt
curl -x127.0.0.1:80 -I www.123.com/aming.txt

11.配置防盗链
#配置主机文件
vi /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

#再次重新加载配置<在访问网页前请重新使用加载配置>
/usr/local/apache2.4/bin/apachectl -t
Syntax OK
/usr/local/apache2.4/bin/apachectl graceful
#curl测试
#非允许的referer会出现403
curl -x127.0.0.1:80 -I -e "http://www.123.com/123.txt" http://www.123.com/aming.jpg

#访问html不会被保护
curl -x127.0.0.1:80 -I -e "http://www.123.com/1.txt" http://www.123.com/index.html

12.访问控制
#配置主机文件
vi /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

#Y验证
mkdir /data/wwwroot/www.123.com/admin/ #创建admin目录,模拟网站后台
echo "admin" > /data/wwwroot/www.123.com/admin/index.html#在后台目录下面创建文件,并写入内容
> /usr/local/apache2.4/logs/123.com-access_log #清空当天访问日志
curl -x192.168.200.129:80 -I www.123.com/admin/index.html

cat /usr/local/apache2.4/logs/123.com-access_log


#看到123.com/admin下面出现,说明成功
#查看本次访问日志
tail -l /usr/local/apache2.4/logs/123.com-access_log

##禁止解析PHP代码
#主机配置文件
vi /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

#验证过程
##再次重新加载配置<在访问网页前请重新使用加载配置>
/usr/local/apache2.4/bin/apachectl -t
Syntax OK
/usr/local/apache2.4/bin/apachectl graceful
#复制文件到网站upload目录
cp cp /usr/local/apache2.4/htdocs/1.php /data/wwwroot/www.123.com/upload/
#curl1.php
curl -x127.0.0.1:80 www.123.com/upload/1.php

#另一种访问控制
#配置主机文件
vi /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

#老样子再次重新加载配置<在访问网页前请重新使用加载配置>
/usr/local/apache2.4/bin/apachectl -t
Syntax OK
/usr/local/apache2.4/bin/apachectl graceful
#因为禁止解析网站所以此处403 forbidden是正确的,反之正常登录便是出错

#使用自定义的user_agent登录、
#状态码200是因为123123没有匹配任何条件

13PHP配置
#配置PHP的date.timezone文件避免警告
vi /usr/local/php/etc/php.ini

/usr/local/php/bin/php -i |grep -i "loaded configuration file"

14.PHP的disable——function
vi /usr/local/php/etc/php.ini

#重启http
/usr/local/apache2.4/bin/apachectl restart
/usr/local/apache2.4/bin/apachectl -t
Syntax OK
/usr/local/apache2.4/bin/apachectl graceful
15配置error_log
#设置PHP错误日志,配置如下设置
vi /usr/local/php/etc/php.ini




#创建php文件夹,文件权限可写
mkdir /var/log/php
chmod 777 /var/log/php
/usr/local/apache2.4/bin/apachectl graceful
实验测试
#创建test.php,故意省去;
vi /data/wwwroot/www.123.com/test.php

#进行试验
curl -A "123" -I -x127.0.0.1:80 www.123.com/test.php

#查看错误日志
cat /var/log/php/php_errors.log

#报错
cat /usr/local/apache2.4/logs/error_log

##vhosts.conf文件|/usr/local...

15.配置open_basedir
#修改PHP.ini
vi /usr/local/php/etc/php.ini

#演示aming.com
/usr/local/apache2.4/bin/apachectl graceful
cp /usr/local/apache2.4/htdocs/1.php /data/wwwroot/aming.com/
curl -x127.0.0.1:80 -I aming.com/1.php

#给单个虚拟主机设置open_basedir
16.PHP动态扩展模块安装
#查看PHP功能模块
/usr/local/php/bin/php -m

#安装redis扩展模块
#下载压缩包并解压
cd /usr/local/src
wget http://pecl.php.net/get/redis-2.2.5.tgz
tar -zxvf redis-2.2.5.tgz
mv redis-2.2.5 phpredis-develop
mv redis-2.2.5 phpredis-develop
#排错
yum install -y autoconf
#生成./configure文件
/usr/local/php/bin/phpize

#解析文件
./configure --with-php-config=/usr/local/php/bin/php-config

#编译

#编译结果
make install

#查看模块存放目录
/usr/local/php/bin/php -i |grep extension_dir

#查看模块
ls /usr/local/php/lib/php/extensions/no-debug-zts-20131226/

#增加redis配置
vim /usr/local/php/etc/php.ini

#查看reids模块
/usr/local/php/bin/php -m |grep redis


浙公网安备 33010602011771号