LAMP环境搭建与配置(任务)

mysql

下载源码包:mysql-5.6.43-linux-glibc2.12-x86_64.tar
yum install -y wget

   # cd /usr/local/src
   # wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.43-linux-glibc2.12-x86_64.tar.gz 
   # tar -zxvf mysql-5.6.43-linux-glibc2.12-x86_64.tar.gz
   # useradd -s /sbin/nologin mysql
   # mkdir -p /data/mysql
   # chown -R mysql:mysql /data/mysql
   # mv mysql-5.6.43-linux-glibc2.12-x86_64 /usr/local/mysql
   # cd /usr/local/mysql/
   # yum install -y perl*
   # yum install -y autoconf
   # ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
   # cp support-files/my-default.cnf /etc/my.cnf
 
   # vi my-default.cnf
#These are commonly set ,remove the # and set as required
Basedir=/usr/local/mysql   
//basedir表示MySQL包所在路径
Datadir=/data/mysql/datadir  
//表示定义存放数据的位置
Port=3306     
//port表示定义MySQL服务监听的端口号
Server_id=128  
//表示该MySQL服务的ID号
socket = /tmp/mysql.sock    
//定义MySQL服务监听的套接字地址

  # cp support-files/mysql.server /etc/init.d/mysql
  # chmod 755 /etc/init.d/mysql 

  # vi /etc/my.cnf
 basedir = /usr/local/mysql
 datadir = /data/mysql
 port = 3306
 server_id = 155
 socket = /tmp/mysql.sock
//注释都去掉,再添加后面内容

  # vi /etc/init.d/mysql 
basedir=/usr/local/mysql
datadir=/data/mysql

   # chkconfig --add mysql
   # chkconfig mysql on
   # service mysql start

在这里插入图片描述

Apache

# cd /usr/local/src/
# wget http://mirrors.cnnic.cn/apache/httpd/httpd-2.4.39.tar.gz
有出错:
注意查看网址里存在的压缩包
# wget https://mirrors.cnnic.cn/apache/httpd/httpd-2.4.46.tar.gz
有出错
解决:
添加 --no-check-certificate
# wget --no-check-certificate https://mirrors.cnnic.cn/apache/httpd/httpd-2.4.46.tar.gz
# wget http://mirrors.hust.edu.cn/apache/apr/apr-1.6.5.tar.gz
# wget http://mirrors.hust.edu.cn/apache/apr/apr-util-1.6.1.tar.gz
# ll
# tar -zxvf httpd-2.4.46.tar.gz 
# tar -zxvf apr-1.6.5.tar.gz 
# tar -zxvf apr-util-1.6.1.tar.gz 
# cd apr-1.6.5
# ./configure --prefix=/usr/local/apr
# echo $?
# make && make install
有出错
解决:
# yum update
# yum install -y gcc build-essential

# ./configure --prefix=/usr/local/apr
# make && make install
# echo $?   //查看是否有出错
# cd /usr/local/src/
# cd /usr/local/src/apr-util-1.6.1
# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
# make && make install
有出错:
解决:
# yum install -y expat-devel

# make && make install
# echo $?
# cd /usr/local/src/httpd-2.4.46
# ./configure --prefix=/usr/local/apache2.4 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-so --enable-mods-shared=most
  有出错:
解决:
# yum -y install 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 install
有出错:
解决:
# cd /usr/local/src/
# cp -r apr-1.6.5 /usr/local/src/httpd-2.4.46/srclib/apr
# cd apr-1.6.5
# ./configure --prefix=/usr/local/apr
# cd /usr/local/src/
# cp -r apr-util-1.6.1 /usr/local/src/httpd-2.4.46/srclib/apr-util
# cd /usr/local/src/apr-util-1.6.1
# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
# make && make install
# echo $?

# cd /usr/local/src/httpd-2.4.46
# ./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 install
# echo $?
#  /usr/local/apache2.4/bin/apachectl -M

在这里插入图片描述

安装PHP

#  cd /usr/local/src/
#  wget http://cn2.php.net/distributions/php-5.6.30.tar.gz
#  ll
#  tar -zxvf php-5.6.30.tar.gz 
#  cd php-5.6.30
#  ./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
  有出错
解决:
# yum install -y libxml2-devel bzip2 bzip2-devel libpng libpng-devel openssl openssl-devel freetype freetype-devel opel-release

#  ./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
有出错   
解决:
# yum install -y jpeglib jpeglib-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-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
有出错
解决:
# 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-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
#  echo $?
#  make && make install
#  echo $?




   httpd解析PHP
#  vi /usr/local/apache2.4/conf/httpd.conf
搜索ServerName,把ServerName www.example.com:80前#去掉

<Directory />
    AllowOverride none
    Require all denied
</Directory>
改成:
<Directory />
    AllowOverride none  
    Require all granted
</Directory>    //目的允许所有请求访问    

在AddType application/x-gzip .gz .tgz,
下面添加一行 AddType application/x-httpd-php .php;

<IfModule dir_module>
    DirectoryIndex index.html 
</IfModule>
改成:
<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>

#  /usr/local/apache2.4/bin/apachectl -t
#  /usr/local/apache2.4/bin/apachectl start
#  netstat -lnp | grep httpd
#  yum install -y net-tools
#  netstat -lnp | grep httpd
#  curl localhost
#  vi /usr/local/apache2.4/htdocs/1.php
<?
echo  “php解析正确”
?>
#  curl localhost/1.php

在这里插入图片描述在这里插入图片描述

默认虚拟主机

#  cd /usr/local/src/
#  vi /usr/local/apache2.4/conf/httpd.conf
注:
一定要搜索httpd-vhost,去掉前面#
不然结尾出不来想要的结果!

#  vi /usr/local/apache2.4/conf/extra/httpd-vhosts.conf 
<VirtualHost *:80>
    ServerAdmin admin@wang.com
    DocumentRoot "/data/wwwroot/test0920.com"
    ServerName test0920.com
    ServerAlias www.testdomain.com
    ErrorLog "logs/aming.com-error_log"
    CustomLog "logs/aming.com-access_log" common
</VirtualHost>

//ServerAdmin指定管理员邮箱,
 			 //DocumentRoot为该虚拟主机站点的根目录,
//ServaerName为网站的域名
   			//ServerAlias为网站的第二域名
   			//ErrorLog为站点的错误日志
   			//CustomLog为站点的访问日志
   			
<VirtualHost *:80>
    DocumentRoot "/data/wwwroot/testdomain.com"
    ServerName www.testdomain.com
</VirtualHost>

# mkdir -p /data/wwwroot/test0920.com /data/wwwroot/testdomain.com
#  echo “www.test0920.com” > /data/wwwroot/test0920.com/index.html
#  echo “www.testdomain.com” > /data/wwwroot/testdomain.com/index.html
#  /usr/local/apache2.4/bin/apachectl -t
#  /usr/local/apache2.4/bin/apachectl graceful
#  curl -x127.0.0.1:80 www.test0920.com
#  curl -x127.0.0.1:80 www.testdomain.com
#  curl -x127.0.0.1:80 www.abc.com

在这里插入图片描述

用户认证

#  ls /data/
#  cd /usr/local/src/
#  vi /usr/local/apache2.4/conf/extra/httpd-vhosts.conf 

<VirtualHost *:80>
    DocumentRoot "/data/wwwroot/testdomain.com"
    ServerName www.testdomain.com
<Directory /data/wwwroot/testdomain.com> 
// 指定认证的目录
AllowOverride AuthConfig 
// 这个相当于打开认证的开关
AuthName "testdomain.com user auth" 
//自定义认证的名字,作用不大
AuthType Basic 
//认证的类型,一般为Basic
AuthUserFile /data/.htpasswd 
//指定密码文件所在位置
require valid-user 
// 指定需要认证的用户为全部可用用户
</Directory>
</VirtualHost>

#  /usr/local/apache2.4/bin/htpasswd -cm /data/.htpasswd cyx
#  /usr/local/apache2.4/bin/apachectl -t
#  /usr/local/apache2.4/bin/apachectl graceful
注意:
C:\Windows\System32\drivers\etc\hosts打开文件在最后一行输入:
#虚拟机IP  www.testdomain.com

在这里插入图片描述

域名跳转

#  cd /usr/local/src/
#  vi /usr/local/apache2.4/conf/extra/httpd-vhosts.conf 

<VirtualHost *:80>
    DocumentRoot "/data/wwwroot/testdomain.com"
    ServerName www.testdomain.com
    ServerAlias testdomain.com
<IfModule mod_rewrite.c> 
RewriteEngine on
 // 打开rewrite功能
 
RewriteCond %{HTTP_ HOST} !^www.testdomain.com$
//定义rewrite的条件,当主机名不是www.testdomain.com时满足条件

RewriteRule ^/(. *)$ http://www.testdomain.com/$1 [R=301,L]

//定义rewrite规则,RewriteRule后面分为三个部分,第一部分为当前网址
//第二部分为要跳转的网址,第三部分是选项,需要括号括起来。
</IfModule>
</VirtualHost>

#  /usr/local/apache2.4/bin/apachectl -M |grep -i rewrite
#  vi /usr/local/apache2.4/conf/httpd.conf
注:搜索rewrite,把前面#去掉
#  /usr/local/apache2.4/bin/apachectl graceful
#  /usr/local/apache2.4/bin/apachectl -M |grep -i rewrite
注:有Rewrite_module(share)输出,说明正常加载rewrite模块
#  curl -x127.0.0.1:80 -I testdomain.com

在这里插入图片描述

访问日志

#  vi /usr/local/apache2.4/conf/extra/httpd-vhosts.conf 

<VirtualHost *:80>
    DocumentRoot "/data/wwwroot/testdomain.com"
    ServerName www.testdomain.com
    ServerAlias testdomain.com

<IfModule mod_rewrite.c>
        RewriteEngine on
        RewriteCond %{HTTP_HOST} !^www.domain.com$    
        RewriteRule ^/(.*)$ http://www.testdomain.com/$1 [R=301,L] 
</IfModule>
Customlog "logs/testdomain. com-access_log" combined
</VirtualHost>

#  /usr/local/apache2.4/bin/apachectl -t
#  /usr/local/apache2.4/bin/apachectl graceful
#  curl -x127.0.0.1:80 -I testdomain.com
#  tail /usr/local/apache2.4/logs/testdomain.\ com-access_log 

在这里插入图片描述

访问日记不记录静态文件

#  vi /usr/local/apache2.4/conf/extra/httpd-vhosts.conf 

<VirtualHost *:80>
    DocumentRoot "/data/wwwroot/www.123.com"
    ServerName www.testdomain.com
    ServerAlias testdomain.com

<IfModule mod_rewrite.c>
        RewriteEngine on
        RewriteCond %{HTTP_HOST} !^www.testdomain.com$
        RewriteRule ^/(.*)$ http://www.testdomain.com/$1 [R=301,L]
</IfModule>

SetEnvIf Request_URI ".*\.gif$" image-request
    SetEnvIf Request_URI ".*\.jpg$" image-request
    SetEnvIf Request_URI ".*\.png$" image-request
    SetEnvIf Request_URI ".*\.bmp$" image-request
    SetEnvIf Request_URI ".*\.swf$" image-request
    SetEnvIf Request_URI ".*\.js$" image- request
    SetEnvIf Request_URI ".*\.css$" image- request

Customlog "logs/testdomain1.com-access_log" combined
</VirtualHost>
//先定义了一个image-request环境变量,把gif,jpg,png, bmp,swf,js,css等格式文件全归类到此

#  /usr/local/apache2.4/bin/apachectl -t
#  mkdir -p /data/wwwroot/www.123.com   //因为此目录不存在
#  /usr/local/apache2.4/bin/apachectl -t
#  /usr/local/apache2.4/bin/apachectl graceful
#  curl -x127.0.0.1:80 -I testdomain.com
#  ls /usr/local/apache2.4/logs/

在这里插入图片描述

访问日记切割

#  vi /usr/local/apache2.4/conf/extra/httpd-vhosts.conf 

<VirtualHost *:80>
    DocumentRoot "/data/wwwroot/testdomain.com"
    ServerName www.testdomain.com
    ServerAlias testdomain.com

<IfModule mod_rewrite.c>
        RewriteEngine on
        RewriteCond %{HTTP_HOST} !^www.testdomain.com$
        RewriteRule ^/(.*)$ http://www.testdomain.com/$1 [R=301,L]
</IfModule>

SetEnvIf Request_URI ".*\.gif$" image-request
    SetEnvIf Request_URI ".*\.jpg$" image-request
    SetEnvIf Request_URI ".*\.png$" image-request
    SetEnvIf Request_URI ".*\.bmp$" image-request
    SetEnvIf Request_URI ".*\.swf$" image-request
    SetEnvIf Request_URI ".*\.js$" image- request
    SetEnvIf Request_URI ".*\.css$" image- request

CustomLog "|/usr/local/apache2.4/bin/rotatelogs -l logs/123.com-access_%Y%m%d.1og 86400"combined env=!image-request
</VirtualHost>

#  /usr/local/apache2.4/bin/apachectl -t
#  /usr/local/apache2.4/bin/apachectl graceful
#  touch /data/wwwroot/testdomain.com/aming.jpg
#  touch /data/wwwroot/testdomain.com/aming.txt
#  curl -x127.0.0.1:80 www.testdomain.com/aming.jpg
#  curl -x127.0.0.1:80 www.testdomain.com/aming.txt
#  cat /usr/local/apache2.4/logs/123.com-access_20201013.1og 

在这里插入图片描述

静态元素过期时间

#  vi /usr/local/apache2.4/conf/extra/httpd-vhosts.conf 

<VirtualHost *:80>
    DocumentRoot "/data/wwwroot/testdomain.com"
    ServerName www.testdomain.com
    ServerAlias testdomain.com

<IfModule mod_rewrite.c>
        RewriteEngine on
        RewriteCond %{HTTP_HOST} !^www.testdomain.com$
        RewriteRule ^/(.*)$ http://www.testdomain.com/$1 [R=301,L]
</IfModule>

SetEnvIf Request_URI ".*\.gif$" image-request
    SetEnvIf Request_URI ".*\.jpg$" image-request
    SetEnvIf Request_URI ".*\.png$" image-request
    SetEnvIf Request_URI ".*\.bmp$" image-request
    SetEnvIf Request_URI ".*\.swf$" image-request
    SetEnvIf Request_URI ".*\.js$" image- request
    SetEnvIf Request_URI ".*\.css$" image- request

CustomLog "|/usr/local/apache2.4/bin/rotatelogs -l logs/123.com-access_%Y%m%d.1og 86400"combined env=!image-request

<IfModule mod_ expires.c>
    ExpiresActive on
    ExpiresByType image/gif "access plus 1 days“
    ExpiresByType image/jpeg "access plus 24 hours"
    ExpiresByType image/png "access plus 24 hours'
    ExpiresByType text/css "now plus 2 hour"
    ExpiresByType application/x-javascript "now plus 2 hours"
    ExpiresByType application/javascript "now plus 2 hours"
    ExpiresByType application/x-shockwave-flash "now plus 2 hours"
    ExpiresDefault "now plus 0 min"
  </IfModule>

</VirtualHost>
//这里gif,jpeg, png格式的文件过期时长为1天,css. js. flash格式的文件过期时长为2小时

#  /usr/local/apache2.4/bin/apachectl -t      //没有输出则说明当前httpd并不支持expires模块,所以需要修改配置文件
#  /usr/local/apache2.4/bin/apachectl graceful
#  /usr/local/apache2.4/bin/apachectl -M |grep -i expires
#  vi /usr/local/apache2.4/conf/httpd.conf

//搜索关键词expires,
#LoadModule expires_ module modules/mod_ expires .so
   //把前面#删掉

#  /usr/local/apache2.4/bin/apachectl graceful
#  /usr/local/apache2.4/bin/apachectl -M |grep -i expires    //expires_module(share)有这行输出说明正确加载expires模块
#  curl -x127.0.0.1:80 -I www.testdomain.com/aming.txt
#  curl -x127.0.0.1:80 -I www.testdomain.com/aming.jpg

在这里插入图片描述

配置防盗链

#  vi /usr/local/apache2.4/conf/extra/httpd-vhosts.conf 

<VirtualHost *:80>
    DocumentRoot "/data/wwwroot/testdomain.com"
    ServerName www.testdomain.com
    ServerAlias testdomain.com
    CustomLog "|/usr/local/apache2.4/bin/rotatelogs -l logs/123.com-access_%Y%m%d.1og 86400"combined env=!image-request

<Directory /data/wwwroot/testdomain.com>
    SetEnvIfNoCase Referer "http://www.testdomain.com" local_ref
    SetEnvIfNoCase Referer "http://testdomain.com" local_ref
    SetEnvIfNoCase Referer "^$" local ref
    <filesmatch "\.(txt|doc|mp3|zip|rar|jpg|gif)">
        Order Allow,Deny
        Allow from env=local_ref
    </filesmatch>
  </Directory>

</VirtualHost>
//首先定义允许访问链接的referer,其中^$为空referer,
//当直接在浏览器里输入图片地址去访问它时,它的referer就为空。

#  /usr/local/apache2.4/bin/apachectl -t
#  /usr/local/apache2.4/bin/apachectl graceful
#  curl -x127.0.0.1:80 -I -e "http://www.testdomain.com/testdomain.txt" http://testdomain.com/aming.jpg
#  curl -x127.0.0.1:80 -I -e "http://www.1234.com/1.txt" http://testdomain.com/aming.jpg
#  curl -x127.0.0.1:80 -I -e "http://www.testdomain.com/123.txt" http://www.123.com/index.html

在这里插入图片描述

访问控制-Diretory

#   vi /usr/local/apache2.4/conf/extra/httpd-vhosts.conf 

<VirtualHost *:80>
    DocumentRoot "/data/wwwroot/testdomain.com"
    ServerName www.testdomain.com
    ServerAlias testdomain.com
    CustomLog "|/usr/local/apache2.4/bin/rotatelogs -l logs/123.com-access_%Y%m%d.1og 86400"combined
    <Directory /data/wwwroot/testdomain.com/admin/>
        Order deny,allow
        Deny from all
        Allow from 127.0.0.1
    </Directory>
</VirtualHost>
//Directory是用来指定限制访问的目录,order定义控制顺序

#  mkdir /data/wwwroot/testdomain.com/admin
#  echo "admin" > /data/wwwroot/testdomain.com/admin/index.html > /usr/local/apache2.4/logs/123.com-access_20201013.1og /
#  /usr/local/apache2.4/bin/apachectl -t
#  /usr/local/apache2.4/bin/apachectl graceful
#  curl -x192.168.10.10:80 -I testdomain.com/admin/index.html
#  curl -x127.0.0.1:80 -I testdomain.com/admin/index.html

在这里插入图片描述

FileMatch

#  vi /usr/local/apache2.4/conf/extra/httpd-vhosts.conf 

<VirtualHost *:80>
    DocumentRoot "/data/wwwroot/testdomain.com"
    ServerName www.testdomain.com  
    ServerAlias testdomain.com 
    CustomLog "|/usr/local/apache2.4/bin/rotatelogs -l logs/123.com-access_%Y%m%d.1og 86400"combined
    <Directory /data/wwwroot/testdomain.com/admin/>
      <Filesmatch "admin.php(.*)">
        Order deny,allow
        Deny from all
        Allow from 127.0.0.1
      </Filesmatch>
    </Directory>
</VirtualHost>

#  /usr/local/apache2.4/bin/apachectl -t
#  /usr/local/apache2.4/bin/apachectl graceful
#  touch /data/wwwroot/testdomain.com/admin/admin.php
#  curl -x127.0.0.1:80 www.testdomain.com/admin/admin.php -I
#  curl -x192.168.10.10:80 www.testdomain.com/admin/admin.php -I

在这里插入图片描述

访问控制-禁止解析PHP

#  vi /usr/local/apache2.4/conf/extra/httpd-vhosts.conf 

<VirtualHost *:80>
    DocumentRoot "/data/wwwroot/testdomain.com"
    ServerName www.testdomain.com
    ServerAlias testdomain.com
    CustomLog "|/usr/local/apache2.4/bin/rotatelogs -l logs/123.com-access_%Y%m%d.1og 86400"combined
    <Directory /data/wwwroot/testdomain.com/upload>
        php_admin_flag engine off
    </Directory>
</VirtualHost>

#  /usr/local/apache2.4/bin/apachectl -t
#  /usr/local/apache2.4/bin/apachectl graceful
#  mkdir -p /data/wwwroot/testdomain.com/upload/
#  cp /usr/local/apache2.4/htdocs/1.php /data/wwwroot/testdomain.com/upload/
#  curl -x127.0.0.1:80 testdomain.com/upload/1.php
#  curl -x192.168.10.10:80 testdomain.com/upload/1.php

在这里插入图片描述

访问控制-user_agent

257  vi /usr/local/apache2.4/conf/extra/httpd-vhosts.conf 

<VirtualHost *:80>
    DocumentRoot "/data/wwwroot/testdomain.com"
    ServerName www.testdomain.com
    ServerAlias testdomain.com
    CustomLog "|/usr/local/apache2.4/bin/rotatelogs -l logs/123.com-access_%Y%m%d.1og 86400"combined
 <IfModule mod_rewrite.c>
        RewriteEngine on
        RewriteCond %{HTTP_USER_AGENT} .*curl.* [NC,OR]
        RewriteCond %{HTTP_USER_AGENT} .*baidu.com.*[NC]
        RewriteRule  .*  -  [F]
    </IfModule>

</VirtualHost>
 //%{HTTP_USER_AGENT}为user_agent的内置变量,NC代表“不区分大小写”,F代表Forbidden,OR表示“或者”
 
  258  /usr/local/apache2.4/bin/apachectl -t
  259  /usr/local/apache2.4/bin/apachectl graceful
  260  curl -I -x127.0.0.1:80 testdomain.com/upload/1.php
  261  curl -A “123123” -I -x127.0.0.1:80 testdomain.com/upload/1.php

在这里插入图片描述

PHP配置

PHP基础配置

#  /usr/local/php/bin/php -i |grep -i "loaded configuration file"
注:显示none
解决:
#  cd /usr/local/src/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
 
#  /usr/local/php/bin/php -i |grep -i "loaded configuration file"
#  vi /usr/local/php/etc/php.ini 
搜索disable_functions,编辑如下:
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

在这里插入图片描述

日志相关配置

#  vi /usr/local/php/etc/php.ini 

//记录错误日志:搜索log_errors, 改成如下
log_errors=On
//记录错误日志目录位置:搜索error. log,改为
error_log = /var/log/php/php_errors.log
//记录错误日志级别:搜索error_reporting 改为
error_reporting = E_ALL 
//再搜索display_errors,改为
display_errors = Off

#  mkdir /var/log/php
#  chmod 777 /var/log/php
#  /usr/local/apache2.4/bin/apachectl graceful
#  vi /data/wwwroot/testdomain.com/test.php

<?php
echo 111
?php>

#  curl -A "123" -I -x127.0.0.1:80 testdomain.com/test.php
#  cat /var/log/php/php_errors.log 

在这里插入图片描述

配置open_basedir

#  vi /usr/local/php/etc/php.ini 
//搜索open_basedir,改成如下
open_ basedir = /tmp:/data/wwwroot/testdomain.com

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

在这里插入图片描述

虚拟主机配置open_basedir

# vim /usr/local/apache2 .4/conf/extra/httpd-vhosts.conf
<VirtualHost *:80>
    DocumentRoot "/data/wwwroot/testdomain.com"
    ServerName www.testdomain.com
    ServerAlias testdomain.com
    CustomLog "|/usr/local/apache2.4/bin/rotatelogs -l logs/123.com-access_%Y%m%d.1og 86400"combined
    php_admin_value open_basedir "/data/wwwroot/testdomain.com/:/tmp/"
</VirtualHost>

PHP扩展模块安装

# /usr/local/php/bin/php -m
#  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
#  cd phpredis-develop
#  /usr/local/php/bin/phpize 
#  ./configure --with-php-config=/usr/local/php/bin/php-config 
#  make
#  make install
#  ls /usr/local/php/lib/php/extensions/no-debug-zts-20131226/

#  vi /usr/local/php/etc/php.ini 
 //增加一行配置(可以放在文件最后一行)
extension = redis.so

#  /usr/local/php/bin/php -m | grep redis

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值