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

 

 

 

#另一种访问控制

#user_agent访问控制

#配置主机文件

 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

 

 

 

posted @ 2022-09-07 14:30  الإزاحة  阅读(295)  评论(0)    收藏  举报