1. Mysql-5.6.40

软件包存放目录:/usr/local/src/

1.1 安装mysql

# 1.切换到软件包目录
cd /usr/local/src/
# 2.获取mysql5.6.43源码包
wget http://...mysql-5.6.43-linux-glibc2.12-x86_64.tar.gz
# 3.解压
tar zxvf mysql-5.6.43-linux-glibc2.12-x86_64.tar.gz
# 4.查看是否有 /usr/local/mysql这个文件夹,如果有那就重命名(mv) mysqlold。
# 然后创建(mkdir)/usr/local/mysql这个文件夹
mkdir /usr/local/mysql
# 5.将解压出来的文件移到/usr/local/mysql文件夹内
cd mysql-5.6.43-linux-glibc2.12-x86_64
mv * /usr/local/mysql
# 6.创建数据库存放位置的文件夹
mkdir -p /data/mysql
# 7.创建mysql用户
useradd -s /sbin/nologin mysql
# 8.更改文件夹权限
chown -R mysql:mysql /data/mysql
# 9.安装依赖包
yum -y install perl-Module-Install
# 10.安装mysql,如果成功/data/mysql目录下将会有文件和目录
cd /usr/local/mysql
./scripts/mysql_install_db --user=mysql --datadir=/data/mysql

1.2 配置mysql

# 1.将mysql源码包内的默认配置文件放入并命名 /etc/my.cnf
cd /usr/local/mysql
cp support-files/my-default.cnf /etc/my.cnf
# 2.进入并修改/etc/my.cnf文件 填入必要参数
vim /etc/my.cnfbasedir = /usr/local/mysql # 源码存放目录datadir = /data/mysql  # 上文数据库存放目录port = 3306  # 端口server_id = 128  # 服务idsocket = /tmp/mysql.sock# Remove leading # to set options mainly useful for reporting servers.# The server defaults are faster for transactions and fast SELECTs.# Adjust sizes as needed, experiment to find the optimal values.join_buffer_size = 128Msort_buffer_size = 2Mread_rnd_buffer_size = 2M
# 3.复制文件,修改权限,修改配置
cp support-files/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld
vim /etc/init.d/mysqld#修改datadir=/data/mysql
# 4.设置开机自启和启动服务
chkconfig --add mysqld
chkconfig mysqld on
service mysqld on

2. Apache-2.4.54

软件包存放目录:/usr/local/src/

2.1 安装apache

# 1.获取并解压源码包
cd /usr/local/src
wget http://...httpd-2.4.54.tar.gz
wget http://...apr-1.7.0.tar.gz
wget http://...apr-util-1.6.1.tar.gz
tar zxvf httpd-2.4.54.tar.gz
tar zxvf apr-1.7.0.tar.gz
tar zxvf apr-util-1.6.1.tar.gz
# 2.安装依赖包
yum -y install expat-devel libxml2-devel pcre pcre-devel
# 3.编译并安装apr
cd /usr/local/src/apr-1.7.0
./configure --prefix=/usr/local/apr
make && make install
# 4.编译并安装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
# 5.编译并安装apache,如果安装成功那么/usr/local/apache2.4目录下将会有文件和目录
cd /usr/local/src/httpd-2.4.54
./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
如果需要重新编译,需要使用
make clean
清除之前的缓存

2.2 配置虚拟主机

# 1.让虚拟主机生效
vim /usr/local/apache2.4/conf/httpd.conf# 修改#Include conf/extra/httpd-vhosts.conf->Include conf/extra/httpd-vhosts.conf
# 2.修改虚拟主机配置文件 test.com访问主机的/usr/local/apache2.4/test.com目录
vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf# 修改<VirtualHost *:80>ServerAdmin webmaster@dummy-host.example.com # 管理员邮箱 可忽略DocumentRoot "/usr/local/apache2.4/docs/dummy-host.example.com" # 网站根目录ServerName dummy-host.example.com # 网站web站点名ServerAlias www.dummy-host.example.com # 站点别名 可忽略ErrorLog "logs/dummy-host.example.com-error_log" # 错误访问日志CustomLog "logs/dummy-host.example.com-access_log" common # 成功访问日志</VirtualHost><VirtualHost *:80>ServerAdmin webmaster@dummy-host2.example.comDocumentRoot "/usr/local/apache2.4/docs/dummy-host2.example.com"ServerName dummy-host2.example.comErrorLog "logs/dummy-host2.example.com-error_log"CustomLog "logs/dummy-host2.example.com-access_log" common</VirtualHost>-><VirtualHost *:80>ServerAdmin webmaster@dummy-host.example.comDocumentRoot "/usr/local/apache2.4/test.com"ServerName test.comServerAlias www.test.comErrorLog "logs/dummy-host.example.com-error_log"CustomLog "logs/dummy-host.example.com-access_log" common</VirtualHost>#<VirtualHost *:80>#    ServerAdmin webmaster@dummy-host2.example.com#    DocumentRoot "/usr/local/apache2.4/docs/dummy-host2.example.com"#    ServerName dummy-host2.example.com#    ErrorLog "logs/dummy-host2.example.com-error_log"#    CustomLog "logs/dummy-host2.example.com-access_log" common
#</VirtualHost>
# 3.创建/usr/local/apache2.4/test.com目录,并创建网站主页
mkdir /usr/local/apache2.4/test.com
echo "test.com" > /usr/local/apache2.4/test.com/index.html
# 4.检查配置文件,重新加载http服务
/usr/local/apache2.4/bin/apachectl -t
/usr/local/apache2.4/bin/apachectl graceful
# 5.检查虚拟主机是否正常 正常输出是 test.com
curl -x127.0.0.1:80 www.test.com

2.3 用户认证

# 1.修改配置文件
vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf# 修改<VirtualHost *:80>ServerAdmin webmaster@dummy-host.example.comDocumentRoot "/usr/local/apache2.4/test.com"ServerName test.comServerAlias www.test.comErrorLog "logs/dummy-host.example.com-error_log"CustomLog "logs/dummy-host.example.com-access_log" common</VirtualHost>-><VirtualHost *:80>ServerAdmin webmaster@dummy-host.example.comDocumentRoot "/usr/local/apache2.4/test.com"ServerName test.comServerAlias www.test.comErrorLog "logs/dummy-host.example.com-error_log"CustomLog "logs/dummy-host.example.com-access_log" common<Directory "/usr/local/apache2.4/test.com"> # 保护目录AllowOverride AuthConfig # 认证开关AuthName "test.com user auth" # 认证名字,可无AuthType Basic # 认证类型,一般为BasicAuthUserFile /data/.htpasswd # 密码文件目录require valid-user # 指定需要认证的用户</Directory></VirtualHost>
# 2.创建认证用户 user1 -c创建 -m密码加密方式
/usr/local/apache2.4/bin/htpasswd -cm /data/.htpasswd user1
# 3.检查配置文件,重新加载http服务
/usr/local/apache2.4/bin/apachectl -t
/usr/local/apache2.4/bin/apachectl graceful

2.4 域名跳转

# 1.修改配置文件
vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf# 修改<VirtualHost *:80>ServerAdmin webmaster@dummy-host.example.comDocumentRoot "/usr/local/apache2.4/test.com"ServerName test.comServerAlias www.test.comErrorLog "logs/dummy-host.example.com-error_log"CustomLog "logs/dummy-host.example.com-access_log" common<Directory "/usr/local/apache2.4/test.com">AllowOverride AuthConfigAuthName "test.com user auth"AuthType BasicAuthUserFile /data/.htpasswdrequire valid-user</Directory></VirtualHost>-><VirtualHost *:80>ServerAdmin webmaster@dummy-host.example.comDocumentRoot "/usr/local/apache2.4/test.com"ServerName test.comServerAlias www.test.com<IfModule mod_rewrite.c> # 需要mod_rewrite模块RewriteEngine on # 打开rewrite功能RewriteCond %{HTTP_HOST} !^test.com$ # 当主机名不是test.com时触发下面条件RewriteRule ^/(.*)$ http://test.com/$1 [R=301,L]</IfModule>ErrorLog "logs/dummy-host.example.com-error_log"CustomLog "logs/dummy-host.example.com-access_log" common</VirtualHost>
# 2.修改配置文件,让rewrite模块生效
vim /usr/local/apache2.4/conf/httpd.conf# 修改#LoadModule rewrite_module modules/mod_rewrite.so->LoadModule rewrite_module modules/mod_rewrite.so
# 3.检查配置文件,重新加载http服务
/usr/local/apache2.4/bin/apachectl -t
/usr/local/apache2.4/bin/apachectl graceful
# 4.查看模块是否生效,生效会提示 rewrite_module (shared)
/usr/local/apache2.4/bin/apachectl -M | grep -i rewrite
# 5.查看跳转是否正常,正常 状态码为301,location为test.com
curl -x127.0.0.1:80 -I 123.comHTTP/1.1 301 Moved PermanentlyDate: Tue, 06 Sep 2022 08:06:04 GMTServer: Apache/2.4.54 (Unix) PHP/5.6.40Location: http://test.com/Content-Type: text/html; charset=iso-8859-1

2.5 配置访问日志

vim /usr/local/apache2.4/conf/httpd.conf
#搜索LogFormat 查看log自定义格式
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
# 1.修改配置文件
vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf# 修改<VirtualHost *:80>ServerAdmin webmaster@dummy-host.example.comDocumentRoot "/usr/local/apache2.4/test.com"ServerName test.comServerAlias www.test.com<IfModule mod_rewrite.c>RewriteEngine onRewriteCond %{HTTP_HOST} !^test.com$RewriteRule ^/(.*)$ http://test.com/$1 [R=301,L]</IfModule>ErrorLog "logs/dummy-host.example.com-error_log"CustomLog "logs/dummy-host.example.com-access_log" common</VirtualHost>-><VirtualHost *:80>ServerAdmin webmaster@dummy-host.example.comDocumentRoot "/usr/local/apache2.4/test.com"ServerName test.comServerAlias www.test.com<IfModule mod_rewrite.c>RewriteEngine onRewriteCond %{HTTP_HOST} !^test.com$RewriteRule ^/(.*)$ http://test.com/$1 [R=301,L]</IfModule>SetEnvIf Request_URI ".*\.gif$" image-request # 将gif后缀文件归入image-request类别 下面同理SetEnvIf Request_URI ".*\.jpg$" image-requestSetEnvIf Request_URI ".*\.png$" image-requestErrorLog "logs/dummy-host.example.com-error_log" # 错误日志存放地CustomLog "|/usr/local/apache2.4/bin/rotatelogs -l logs/test.com-access_%Y-%m-%d.log 86400" combined env=!image-request # 将不是image-request类别的访问日志根据天数放入logs文件夹内</VirtualHost>
# 2.检查配置文件,重新加载http服务
/usr/local/apache2.4/bin/apachectl -t
/usr/local/apache2.4/bin/apachectl graceful
# 3.在网站文件目录里创建test.jpg文件 验证是否日志被忽略
touch /usr/local/apache2.4/test.com/test.jpg
# 4.验证是否被忽略,发现访问test.jpg的日志并未被记录
curl -x127.0.0.1:80 test.com
ls /usr/local/apache2.4/logstest.com-access_2022-09-07.log
cat test.com-access_2022-09-07.log127.0.0.1 - - [07/Sep/2022:14:25:50 +0800] "GET HTTP://test.com/ HTTP/1.1" 200 9 "-" "curl/7.29.0"
curl -x127.0.0.1:80 test.com/test.jpg
cat test.com-access_2022-09-07.log127.0.0.1 - - [07/Sep/2022:14:25:50 +0800] "GET HTTP://test.com/ HTTP/1.1" 200 9 "-" "curl/7.29.0"

2.6 配置静态元素过期时间

# 1.修改配置文件
vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf# 修改<VirtualHost *:80>ServerAdmin webmaster@dummy-host.example.comDocumentRoot "/usr/local/apache2.4/test.com"ServerName test.comServerAlias www.test.com<IfModule mod_rewrite.c>RewriteEngine onRewriteCond %{HTTP_HOST} !^test.com$RewriteRule ^/(.*)$ http://test.com/$1 [R=301,L]</IfModule>SetEnvIf Request_URI ".*\.gif$" image-requestSetEnvIf Request_URI ".*\.jpg$" image-requestSetEnvIf Request_URI ".*\.png$" image-requestErrorLog "logs/dummy-host.example.com-error_log"CustomLog "|/usr/local/apache2.4/bin/rotatelogs -l logs/test.com-access_%Y-%m-%d.log 86400" combined env=!image-request</VirtualHost>-><VirtualHost *:80>ServerAdmin webmaster@dummy-host.example.comDocumentRoot "/usr/local/apache2.4/test.com"ServerName test.comServerAlias www.test.com<IfModule mod_rewrite.c>RewriteEngine onRewriteCond %{HTTP_HOST} !^test.com$RewriteRule ^/(.*)$ http://test.com/$1 [R=301,L]</IfModule>SetEnvIf Request_URI ".*\.gif$" image-requestSetEnvIf Request_URI ".*\.jpg$" image-requestSetEnvIf Request_URI ".*\.png$" image-requestErrorLog "logs/dummy-host.example.com-error_log"CustomLog "|/usr/local/apache2.4/bin/rotatelogs -l logs/test.com-access_%Y-%m-%d.log 86400" combined env=!image-request<IfModule mod_expires.c>ExpiresActive on # 开启该功能ExpiresByType image/jpeg "access plus 24 hours" # 设置jpeg格式文件缓存24小时ExpiresDefault "now plus 0 min" # 其他文件无缓存</IfModule></VirtualHost>
# 2.让配置生效并检查模块是否生效
vim /usr/local/apache2.4/conf/httpd.conf# 修改#LoadModule expires_module modules/mod_expires.so->LoadModule expires_module modules/mod_expires.so
/usr/local/apache2.4/bin/apachectl -t
/usr/local/apache2.4/bin/apachectl graceful
/usr/local/apache2.4/bin/apachectl -M | grep -i expiresexpires_module (shared)
# 3.验证是否jpeg格式文件缓存24小时
curl -x127.0.0.1:80 -I test.com/test.jpgHTTP/1.1 200 OKDate: Wed, 07 Sep 2022 06:44:19 GMTServer: Apache/2.4.54 (Unix) PHP/5.6.40Last-Modified: Wed, 07 Sep 2022 06:25:26 GMTETag: "0-5e81060e86d40"Accept-Ranges: bytesCache-Control: max-age=86400 # 缓存时间为86400sExpires: Thu, 08 Sep 2022 06:44:19 GMTContent-Type: image/jpeg

2.7 配置防盗链

# 1.修改配置文件
vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf# 修改<VirtualHost *:80>ServerAdmin webmaster@dummy-host.example.comDocumentRoot "/usr/local/apache2.4/test.com"ServerName test.comServerAlias www.test.com<IfModule mod_rewrite.c>RewriteEngine onRewriteCond %{HTTP_HOST} !^test.com$RewriteRule ^/(.*)$ http://test.com/$1 [R=301,L]</IfModule>SetEnvIf Request_URI ".*\.gif$" image-requestSetEnvIf Request_URI ".*\.jpg$" image-requestSetEnvIf Request_URI ".*\.png$" image-requestErrorLog "logs/dummy-host.example.com-error_log"CustomLog "|/usr/local/apache2.4/bin/rotatelogs -l logs/test.com-access_%Y-%m-%d.log 86400" combined env=!image-request<IfModule mod_expires.c>ExpiresActive onExpiresByType image/jpeg "access plus 24 hours"ExpiresDefault "now plus 0 min"</IfModule></VirtualHost>-><VirtualHost *:80>ServerAdmin webmaster@dummy-host.example.comDocumentRoot "/usr/local/apache2.4/test.com"ServerName test.comServerAlias www.test.com<IfModule mod_rewrite.c>RewriteEngine onRewriteCond %{HTTP_HOST} !^test.com$RewriteRule ^/(.*)$ http://test.com/$1 [R=301,L]</IfModule>SetEnvIf Request_URI ".*\.gif$" image-requestSetEnvIf Request_URI ".*\.jpg$" image-requestSetEnvIf Request_URI ".*\.png$" image-requestErrorLog "logs/dummy-host.example.com-error_log"CustomLog "|/usr/local/apache2.4/bin/rotatelogs -l logs/test.com-access_%Y-%m-%d.log 86400" combined env=!image-request<IfModule mod_expires.c>ExpiresActive onExpiresByType image/jpeg "access plus 24 hours"ExpiresDefault "now plus 0 min"</IfModule><Directory /usr/local/apache2.4/test.com> # 设置保护目录SetEnvIfNoCase Referer "http://test.com" local_ref # 将这个referer设置为local_ref类型SetEnvIfNocase Referer "http://www.test.com" local_refSetEnvIfNocase Referer "^$" local_ref<filesmatch "\.(jpg|png)"> # 需要保护的文件类型Order Allow,DenyAllow from env=local_ref</filesmatch></Directory></VirtualHost>
# 2.检查配置文件,重新加载http服务
/usr/local/apache2.4/bin/apachectl -t
/usr/local/apache2.4/bin/apachectl graceful
# 3.检查是否referer头的不同是否会被拒绝
curl -x127.0.0.1:80 -I -e "http://www.test.com" http://test.com/test.jpgHTTP/1.1 200 OK # 成功访问Date: Wed, 07 Sep 2022 07:12:31 GMTServer: Apache/2.4.54 (Unix) PHP/5.6.40Last-Modified: Wed, 07 Sep 2022 06:25:26 GMTETag: "0-5e81060e86d40"Accept-Ranges: bytesCache-Control: max-age=86400Expires: Thu, 08 Sep 2022 07:12:31 GMTContent-Type: image/jpeg
curl -x127.0.0.1:80 -I -e "http://tests.com" http://test.com/test.jpgHTTP/1.1 403 Forbidden # 拒绝访问Date: Wed, 07 Sep 2022 07:12:42 GMTServer: Apache/2.4.54 (Unix) PHP/5.6.40Content-Type: text/html; charset=iso-8859-1

2.8 访问控制

# 1.修改配置文件
vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf# 修改<VirtualHost *:80>ServerAdmin webmaster@dummy-host.example.comDocumentRoot "/usr/local/apache2.4/test.com"ServerName test.comServerAlias www.test.com<IfModule mod_rewrite.c>RewriteEngine onRewriteCond %{HTTP_HOST} !^test.com$RewriteRule ^/(.*)$ http://test.com/$1 [R=301,L]</IfModule>SetEnvIf Request_URI ".*\.gif$" image-requestSetEnvIf Request_URI ".*\.jpg$" image-requestSetEnvIf Request_URI ".*\.png$" image-requestErrorLog "logs/dummy-host.example.com-error_log"CustomLog "|/usr/local/apache2.4/bin/rotatelogs -l logs/test.com-access_%Y-%m-%d.log 86400" combined env=!image-request<IfModule mod_expires.c>ExpiresActive onExpiresByType image/jpeg "access plus 24 hours"ExpiresDefault "now plus 0 min"</IfModule><Directory /usr/local/apache2.4/test.com>SetEnvIfNoCase Referer "http://test.com" local_refSetEnvIfNocase Referer "http://www.test.com" local_refSetEnvIfNocase Referer "^$" local_ref<filesmatch "\.(jpg|png)">Order Allow,DenyAllow from env=local_ref</filesmatch></Directory></VirtualHost>-> # 删除一些上面做的配置并新加一些<VirtualHost *:80>ServerAdmin webmaster@dummy-host.example.comDocumentRoot "/usr/local/apache2.4/test.com"ServerName test.comServerAlias www.test.comSetEnvIf Request_URI ".*\.gif$" image-requestSetEnvIf Request_URI ".*\.jpg$" image-requestSetEnvIf Request_URI ".*\.png$" image-requestErrorLog "logs/dummy-host.example.com-error_log"CustomLog "|/usr/local/apache2.4/bin/rotatelogs -l logs/test.com-access_%Y-%m-%d.log 86400" combined env=!image-request<Directory /usr/local/apache2.4/test.com> # 保护的目录或文件Order Deny,Allow # 操作顺序,先是Deny 然后是AllowDeny from all # 拒绝所有Allow from 127.0.0.1 # 允许来自127.0.0.1的访问</Directory><Directory /usr/local/apache2.4/test.com/upload>php_admin_flag engine off # 在upload目录下禁止用php</Directory></VirtualHost>
# 2.检查配置文件,重新加载http服务
/usr/local/apache2.4/bin/apachectl -t
/usr/local/apache2.4/bin/apachectl graceful
# 3.验证访问控制是否生效
curl -x192.168.20.128:80 -I test.comHTTP/1.1 403 ForbiddenDate: Thu, 08 Sep 2022 00:35:54 GMTServer: Apache/2.4.54 (Unix) PHP/5.6.40Content-Type: text/html; charset=iso-8859-1
curl -x127.0.0.1:80 -I test.comHTTP/1.1 200 OKDate: Thu, 08 Sep 2022 00:36:07 GMTServer: Apache/2.4.54 (Unix) PHP/5.6.40Last-Modified: Tue, 06 Sep 2022 07:05:54 GMTETag: "9-5e7fcd3cee056"Accept-Ranges: bytesContent-Length: 9Content-Type: text/html
echo '<?php echo "php ok";?>' > /usr/local/apache2.4/test.com/upload/a.php
curl -x127.0.0.1:80 test.com/upload/a.php<?php echo "php ok";?>

3.PHP-5.6.40

软件包存放目录:/usr/local/src/

3.1 安装php

# 1.获取并解压php源码包
cd /usr/local/src
wget http://...php-5.6.40.tar.gz
tar zxvf php-5.6.40.tar.gz
# 2.安装依赖包
yum -y install libxml2 openssl openssl-devel bzip2 bzip2-devel
yum -y install libjpeg libjpeg-devel libpng libpng-devel
# 获取下面的依赖包
rpm -ivh freetype-2.8-14.el7_9.1.x86_64.rpm
rpm -ivh freetype-devel-2.8-14.el7_9.1.x86_64.rpm
rpm -ivh libmcrypt-2.5.8-13.el7.x86_64.rpm
rpm -ivh libmcrypt-devel-2.5.8-13.el7.x86_64.rpm
# 3. 编译并安装
./configure -prefix=/usr/local/php --with-apxs2=/usr/local/apache2.4/bin/apxs --with-config-file-path=/usr/local/php/etc --with-mysq1=/usr/1ocal/mysql --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 install

3.2 配置php

cd /usr/local/src/php-5.6.40
cp php.ini-production /usr/local/php/etc/php.ini
# 复制配置文件

3.3 配置php error_log

# 1.进入php配置文件
vim /usr/local/php/etc/php.inilog_errors = On  # 记录错误日志error_log = /var/log/php/php_errors.log  # 错误日志存储路径display_errors = Off  # 是否将错误输出到浏览器
# 2.创建var/log/php目录并且重新加载apache服务
mkdir /var/log/php
chmod 777 /var/log/php
/usr/local/apache2.4/bin/apachectl graceful
# 3.验证错误日志是否被记录
vim /usr/local/apache2.4/test.com/test.php<?php echo "error" asdf?>
curl -I -x127.0.0.1:80 test.com/test.phpHTTP/1.0 500 Internal Server ErrorDate: Thu, 08 Sep 2022 00:51:15 GMTServer: Apache/2.4.54 (Unix) PHP/5.6.40X-Powered-By: PHP/5.6.40Connection: closeContent-Type: text/html; charset=UTF-8
cat /var/log/php/php_errors.log[08-Sep-2022 00:51:04 UTC] PHP Parse error:  syntax error, unexpected 'asdf' (T_STRING), expecting ',' or ';' in /usr/local/apache2.4/test.com/test.php on line 1[08-Sep-2022 00:51:15 UTC] PHP Parse error:  syntax error, unexpected 'asdf' (T_STRING), expecting ',' or ';' in /usr/local/apache2.4/test.com/test.php on line 1

3.4 配置open_basedir

# 1.修改php配置文件,(全局的)
vim /usr/local/php/etc/php.iniopen_basedir = /usr/local/apache2.4/htdocs
# 2.访问网站php文件是否生效
curl -x127.0.0.1:80 test.com/test.php
cat /var/log/php/php_errors.log[08-Sep-2022 01:01:59 UTC] PHP Warning:  Unknown: open_basedir restriction in effect. File(/usr/local/apache2.4/test.com/test.php) is not within the allowed path(s): (/usr/local/apache2.4/htdocs) in Unknown on line 0[08-Sep-2022 01:01:59 UTC] PHP Warning:  Unknown: failed to open stream: Operation not permitted in Unknown on line 0[08-Sep-2022 01:01:59 UTC] PHP Fatal error:  Unknown: Failed opening required '/usr/local/apache2.4/test.com/test.php' (include_path='.:/usr/local/php/lib/php') in Unknown on line 0
# 3.对各个虚拟主机进行限制的话
vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf<VirtualHost *:80>ServerAdmin webmaster@dummy-host.example.comDocumentRoot "/usr/local/apache2.4/test.com"ServerName test.comServerAlias www.test.comSetEnvIf Request_URI ".*\.gif$" image-requestSetEnvIf Request_URI ".*\.jpg$" image-requestSetEnvIf Request_URI ".*\.png$" image-requestErrorLog "logs/dummy-host.example.com-error_log"CustomLog "|/usr/local/apache2.4/bin/rotatelogs -l logs/test.com-access_%Y-%m-%d.log 86400" combined env=!image-request<Directory /usr/local/apache2.4/test.com>Order Deny,AllowDeny from allAllow from 127.0.0.1</Directory></VirtualHost>-><VirtualHost *:80>ServerAdmin webmaster@dummy-host.example.comDocumentRoot "/usr/local/apache2.4/test.com"ServerName test.comServerAlias www.test.comSetEnvIf Request_URI ".*\.gif$" image-requestSetEnvIf Request_URI ".*\.jpg$" image-requestSetEnvIf Request_URI ".*\.png$" image-requestErrorLog "logs/dummy-host.example.com-error_log"CustomLog "|/usr/local/apache2.4/bin/rotatelogs -l logs/test.com-access_%Y-%m-%d.log 86400" combined env=!image-request<Directory /usr/local/apache2.4/test.com>Order Deny,AllowDeny from allAllow from 127.0.0.1</Directory>php_admin_value open_basedir "/usr/local/apache2.4/htdocs:/tmp" # 加一行这项配置,如果有不同的目录用分号隔开</VirtualHost>

3.5 安装php扩展模块

# 1.获取和解压压缩包
curl http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz
tar -zxvf PDO_MYSQL-1.0.2.tgz
cd PDO_MYSQL-1.0.2
# 2.安装依赖包和重新编译
yum -y install autoconf
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-mysql=/usr/local/mysql
ln -s /usr/local/mysql/include/* /usr/local/include/
make && make install
# 3.更改配置文件
vim /usr/local/php/etc/php.ini#在extension=模块后加一行extension=pdo_mysql.so
# 4.检测配置文件是否生效
/usr/local/apache2.4/bin/apachectl graceful
/usr/local/php/bin/php -m | grep pdopdo_mysql

4.整合

4.1 配置httpd支持php

# 1.进入apache的配置文件并修改
vim /usr/local/apache2.4/conf/httpd.conf#修改#ServerName www.example.com:80->ServerName www.example.com:80#修改<Directory />AllowOverride noneRequire all denied</Directory>-><Directory />AllowOverride noneRequire 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>
# 2.检验apache配置文件是否正确,正确会显示Syntax OK
/usr/local/apache2.4/bin/apachectl -t
# 3.开启apache
/usr/local/apache2.4/bin/apachectl start

4.2 检测LAMP环境是否正确

curl localhost
# 1.检查apache是否正确vim /usr/local/apache2.4/htdocs/test.php<?php echo"php OK";?>
curl localhost/test.php
# 2.检查php是否正确cd /usr/local/mysql/bin/
./mysql
# 3.检查mysql是否正确

Centos7+LAMP相关推荐

  1. Centos7+LAMP+owncloud+数据库读写分离

    1. Mysql-5.6.40 软件包存放目录:/usr/local/src/ 1.1 安装mysql cd /usr/local/src/ # 1.切换到软件包目录wget http://...my ...

  2. Centos7 LAMP服务源码搭建

    前言: 记录一下源码安装LAMP服务的过程 准备工作 安装编译环境 yum -y install gcc* 关闭防火墙\SELinux iptables -F setenforce 0 加载软件包镜像 ...

  3. CentOS7 LAMP环境搭建

    文章目录 一.什么是LAMP 二.环境部署 一.什么是LAMP LAMP是常见的Web服务器环境解决方案,用于创建和管理Web应用程序的开源开发平台.L指Linux,A指Apache,M一般指MySQ ...

  4. 腾讯云CentOS7 LAMP(linux的apache MariaDB php)yum方式部署

    服务器初始化配置过程 1创建新的用户 2配置用户的ssh秘钥 SecureCRT的几种登录方法 1 使用密码通过ssh登陆 11 在ssh的配置文件中找到 12 加入登陆限制 13 然后在etcssh ...

  5. CentOs7 LAMP Drupal安装记录

    1.重设IP 先使用DHCP 在/etc/sysconfig/network-scripts/ifcfg-eno***中加入 ONBOOT=YES BOOTPROTO=DHCP # systemctl ...

  6. 【Linux】Centos7 下使用Apache 配置网站虚拟地址, 另附 laravel 虚拟地址配置

    最近使用laravel 搞项目,配置本地开发环境,很是头疼,不知道是什么情况,简单直白地总结一下,附上配置详情 电脑环境: Centos7 + lamp 你的电脑上有Apache Apache配置文件 ...

  7. mysql做wp网站_mysql做wp网站

    阿里云ECS服务器搭建个人WordPress博客网站教程(实践版) 前几天使用阿里云免费提供的一台基础环境的 CentOS 6.4 64 位的 ECS(云服务器)实例,完成了安装和部署LAMP 环境并 ...

  8. centos7.0 lamp mysql_CentOS7 yum安装LNMP以及LAMP

    简单记录在CentOS7下yum安装LNMP以及LAMP的过程. 首先配置防火墙 CentOS 7.0默认使用的是firewall作为防火墙 1.关闭firewall: systemctl stop ...

  9. CentOS 6.5系统使用yum方式安装LAMP环境和phpMyAdmin,mysql8.0.1/mysql5.7.22+centos7,windows mysql安装、配置...

    介绍如何在CentOs6.2下面使用YUM配置安装LAMP环境,一些兄弟也很喜欢使用编译的安装方法,个人觉得如果不是对服务器做定制,用yum安装稳定简单,何必去download&make&am ...

最新文章

  1. opencv中的approxPolyDP函数和boundingRect函数
  2. visibility和display隐藏元素的区别
  3. 产品经理在跨部门沟通中常见问题和解决办法[转自UCDChina]
  4. C++ 二进制转十进制
  5. Kafka在ZooKeeper中的应用
  6. SOLID 设计原则
  7. [转]微信小程序开发需要注意的29个坑
  8. php 三方即时通讯_php即时通讯解决方案-请问PHP能否实现即时通讯?
  9. 上班又能摸鱼啦!在M1芯片的macbook上刷朋友圈可还行?
  10. 街头篮球服务器ip地域位置图,浅谈《街头篮球》韩服与国服六个位置的不同之处...
  11. rbd feature
  12. 彩灯控制电路设计 -- 流水灯双花型(附Multisim)
  13. 【笔记整理】vue.js笔记
  14. 从 Google Play 下载 APK 文件
  15. DaoCloud Enterprise 5.0社区版永久免费!支持免费下载使用、学习和测试,体验企业级云原生底座的性能
  16. 工业通讯领域的总线、协议、规范、接口、数据采集与控制系统
  17. Mbus新增主动报警功能,简单问题的波折路程。
  18. PostGISGeography支持功能PostGIS Geography Support Functions
  19. BIOS入门基础------与BMC通信(IPMI)
  20. XBEE XCTU 简易说明

热门文章

  1. Ubuntu16.04下fctix无法切换中英文输入法
  2. table的样式设置
  3. 计算机网络与数据库应用技术
  4. Anroid 7.0 Direct Boot研究
  5. 12个球用天平秤3次求坏球
  6. 【yolo5】目标检测数据集制作
  7. HSSFCellStyle相关属性报错
  8. 被iPhone4电死空姐丈夫回应:充电器是原装
  9. python窗口大小动态变化_如何在tkinter中动态调整窗口大小以“自动调整”其内容?...
  10. JavaScript 高级编程(二)