PHP相关软件包:
libmcrypt ------------------ #系统调用crypt加密算法环境
mcrypt --------------------#crypt加密算法,对网页的头部信息进行加密
mhash -----------------------#数据效验算法,md5 sha
php -------------------------#PHP语言运行环境,PHP语句解释器
phpMyAdmin #PHP编写的一个站点,通过网页管理mysql数据库,测试页面
zend-loader-php5.5 #优化PHP进程处理,增加访问并发量和响应速度。
操作步骤:
- 一、安装PHP
[root@localhost ~]# rpm -e php php-cli php-ldap php-common php-mysql --nodeps
安装php依赖环境
[root@localhost ~]# rpm -ivh /media/Packages/zlib-devel-1.2.7-17.e17.x86_64.rpm
[root@localhost ~]# rpm -ivh /media/Packages/xz-devel-5.2.2-1.el7.x86_64.rpm
[root@localhost ~]# rpm -ivh /media/Packages/libxml2-devel-2.9.1-6.el7_2.3.x86_64.rpm
或
yum -y install zlib-devel xz-devel libxml2-devel
以下均是软件包: 如下前三个是安装加密扩展工具:
安装libmcrypt
[root@localhost ~]# tar -zxvf libmcrypt-2.5.8.tar.gz -C /usr/src/ #加密库文件--加密算法运行库,使apache等工具支持https头部加密算法。
[root@localhost ~]# cd /usr/src/libmcrypt-2.5.8/
[root@localhost ~]# ./configure && make && make install
[root@localhost ~]# ln -s /usr/local/lib/libmcrypt.* /usr/lib/
安装mhash
[root@localhost ~]# tar -zxvf mhash-0.9.9.9.tar.gz -C /usr/src/ #加密算法文件--哈希算法。生成数据包的摘要信息,md5(文件摘要信息算法),sha(信息散列算法)!
[root@localhost ~]# cd /usr/src/mhash-0.9.9.9/
[root@localhost ~]# ./configure && make && make install
[root@localhost ~]# ln -s /usr/local/lib/libmhash* /usr/lib/
安装mcrypt
[root@localhost ~]# tar -zxvf mcrypt-2.6.8.tar.gz -C /usr/src/ #加密文件
[root@localhost ~]# cd /usr/src/mcrypt-2.6.8/
[root@localhost ~]# ./configure(如果报错,请执行下面的命令)
[root@localhost ~]# export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH //添加环境变量,让操作系统能找到他。解决configure配置错误
[root@localhost ~]# ./configure && make && make install
配置php安装选项
[root@localhost ~]# tar -zxvf php-5.5.38.tar.gz -C /usr/src/ #php主程序包
[root@localhost ~]# cd /usr/src/php-5.5.38/ #下面的命令一定要“切换到此目录下呦!!!”
接下来配置安装的mysql如果是分开部署的就只加模块不加路径
(1) 单台
[root@localhost ~]./configure --prefix=/usr/local/php --with-mcrypt --with-apxs2=/usr/local/httpd/bin/apxs --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-config-file-path=/usr/local/php --enable-mbstring --enable-sockets
(2)分离
[root@localhost ~]# ./configure --prefix=/usr/local/php --with-mcrypt --with-apxs2=/usr/local/httpd/bin/apxs --with-mysql --with-mysqli --with-config-file-path=/usr/local/php --enable-mbstring --enable-sockets
例如以下:
–with-mysql --with-mysqli (分开部署:就是你Apache+PHP一台,MySQL数据库一台)
[root@localhost ~]# make && make install
- 二、设置LAMP环境
【1】调整PHP的基本配置
[root@localhost ~]#cp /usr/src/php-5.5.38/php.ini-development /usr/local/php/php.ini
[root@localhost ~]#vim /usr/local/php/php.ini (这一步可省,但再最终效果图上看到的是乱码!!!)
修改:
default_charset = "utf-8”(修改) *关键操作,为了让网页识别中文*
file_uploads = On
upload_max_filesize = 2M
max_file_uploads = 20
post_max_size = 8M
short_open_tag = On(修改) *关键操作*
extension=php_mysqli.dll
short_open_tag 是什么呢?
决定是否允许使用代码开始标志的缩写形式(<? ?> )。
1)如果要和 XML 结合使用 PHP,可以禁用此选项以便于嵌入使用<?xml ?> 。否则还可以通过php来输出,例如:<?php echo '<?xml version="1.0"'; ?> 。
2)如果禁用了,必须使用 PHP 代码开始标志的完整形式(<?php ?> )。
注意:本指令也会影响到缩写形式 <?= ,它和 <? echo 等价。使用此缩写需要short_open_tag 的值为 On。
【2】添加ZendGuardLoader优化加速模块
[root@localhost ~]#tar -zxvf ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz -C /usr/src/
[root@localhost ~]#cp /usr/src/ZendGuardLoader-php-5.3-linux-glibc23-x86_64/php-5.3.x/ZendGuardLoader.so /usr/local/php/lib/php/
[root@localhost ~]#vim /usr/local/php/php.ini
添加:
zend_extension=/usr/local/php/lib/php/ZendGuardLoader.so #模块路径,PHP和apache接口 通过.so(共享模块)连接
zend_loader.enable=1 #开启模块
【3】调整http.conf文件
[root@localhost ~]#vim /usr/local/httpd/conf/httpd.conf
修改:
注意:如果之前配置了虚拟主机访问记得注释掉lnclude conf/extra/httpd-vhosts.conf配置项!!!
添加:AddType application/x-httpd-php .php {随便找个地方填加即可啦·,但最好在类似的语句下面添加}!且注意.php前面有空格(支持.php网页文件)
作用:添加类型为应用程序模块,模块名称x-httpd-php 处理扩展名为.php的文件
修改:DirectoryIndex index.php index.html #.php要在.html前面,否则访问的将是html网页(设置目录索引)
[root@localhost ~]#service httpd stop
[root@localhost ~]#service httpd start
[root@localhost ~]#netstat -anpt |grep httpd #以上三步均可省~
-----测试-----
[root@localhost ~]#cd /usr/local/httpd/htdocs/
1、验证PHP与Apache连接:
[root@localhost htdocs]#vim index.php
添加:
<?php
phpinfo( );
?>
[root@localhost htdocs]# systemctl restart httpd
[root@localhost htdocs]#firefox http://192.168.1.1/ & #如果你的MySQL与Apache服务在一台上,则需要授权!!!
2、验证PHP与MySQL连接:
前提:
mysql授权: grant all on *.* to 'root'@'192.168.1.1' identified by '123.com'; #只有授权后才有权限访问
[root@localhost htdocs]#vim index.php
添加:如果分布式部署的话把localhost换成mysql主机ip,并且在mysql上对apache所在IP地址授权~
<?php
$link=mysqli_connect('192.168.1.2','root','123.com'); #连接MySQL数据库(要与授权用户相对应)
if($link) echo "恭喜你,数据库连接成功啦!!"; #连接成功时的反馈信息
?>
[root@localhost htdocs]#firefox 192.168.1.1
- 三、安装phpMyAdmin
phpMyAdmin,它是用 PHP 脚本写的 MySQL 数据库的管理软件,是使用 Web 图形模式直接管理 MySQL 数据库的工具。phpMyAdmin 可以用来创建、修改、删除数据库和数据表可以用来创建、修改、删除数据记录;可以用来导入和导出整个数据库;还可以完成许多其他的 MySQL 系统管理任务。
[root@localhost ~]#tar -zxvf phpMyAdmin-4.7.2-all-languages.tar.gz -C /usr/src/
[root@localhost ~]#cd /usr/src/
[root@localhost ~]#cp -r phpMyAdmin-4.7.2-all-languages/ /usr/local/httpd/htdocs/phpMyAdmin #改名复制phpMyAdmin到apache的默认网页目录中
[root@localhost ~]#cd /usr/local/httpd/htdocs/phpMyAdmin
[root@localhost ~]#cp config.sample.inc.php config.inc.php #复制配置模板文件为真正的配置文件
[root@localhost ~]#vim config.inc.php
修改:
$cfg['blowfish_secret'] = 'a8b7c6d';
$cfg['Servers'][$i]['host'] = '192.168.1.2'; {MySQL服务器地址为192.168.1.2,适用于分布式部署PHP}
验证:
[root@localhost ~]systemctl restart httpd.service(使用命令重启将会找不到服务器) #一般是用/usr/local/httpd/bin/apachectl restart这个启动的~
[root@localhost ~]#firefox http://192.168.1.1/phpMyAdmin &
总结:
(1) phpMyAdmin 和前面章节中介绍安装的源码包都不太一样,不再是使用 C 语言编写的源码包程序,而是一个使用 PHP 脚本编写的、通过浏览器解释执行的网站项目。所以在安装时只需把 phpMyAdmin 复制到 apache 的默认网页目录中,并通过浏览器来解释执行这个脚本即可。
(2) 几乎所有的配置参数都在config.inc.php文件中。如果这个文件不存在,将根目录下的config.sample.php文件拷贝一份更名为config.inc.php(注:不是1ibraries目录中的config.default.php文件,这个是默认配置文件,config.inc.php文件的优先级高于默认配置文件,config.inc.php配置文件里的参数会覆盖默认配置文件里的参数。)
(3)phpMyAdmin 默认识别 3 种验证方式:
【1】HTTP 身份验证:调用apache的加密目录模块,在用户登录时,弹出登录窗口,需要输入正确的用户名和密码才能正常登录;
【2】cookie 身份验证:是HTTP身份验证模式的补充,不能使用HTTP身份验证模式的场合都可以使用它,它要求用户必须允许来自phpMyAdmin的cookie进入自己的计算机,即用户需要在浏览器中开启客户端的cookie功能;
【3】config 身份验证:客户端在登录时不再需要输入用户名和密码,就可以直接登录,因为用户名和密码是用明文方式写入config.inc.php配置文件的,所以这种验证方式并不安全,不推荐使用;
- 1、HTTP身份验证配置
要想使用 HTTP 身份验证,只需要修改 PHP 的配置文件 config.inc.php,把验证方式改为“http”即可。命令如下:
[root@localhost phpmyadmin]# vi config.inc.php
把 $cfg['Servers'][$i]['auth_type'] = 'cookie';
改为 $cfg['Servers'][$i]['auth_type'] = 'http';
保存退出后,就可以在浏览器中输入“http://192.168.0.210/phpmyadmin/index.php”进行访问了!
在登录对话框中输入 MySQL 的管理员“root”和我们刚刚安装 MySQL 时设定的密码“123”就能登录 phpMyAdmin了
- 2、cookie身份验证
如果想让 phpMyAdmin 使用 cookie 身份验证模式,除必须修改 config.inc.php 文件里的 auth_type 语句外,还必须向 blowfish_secret 参数提供一个字符串。这个字符串可以是任意的,目的是在把登录时使用的用户名和密码存储在客户端的 cookie 中之前,系统将使用这个字符串对它们进行加密。
在 config.inc.php 中修改的内容如下:
[root@localhost phpmyadmin]# vi config.inc.php
$cfg['blowfish_secret'] = 'c.baincheng.net'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH!*/
#这里可以写任意字符串,在PHP中,/* */代表注释一段话
$cfg['Servers'][$i]['auth_type'] = 'cookie'; #把验证方式改为cookie
保存退出后,就可以使用浏览器访问了,访问方式和 HTTP 身份验证是一样的~
- 3、config方式
即输入phpmyadmin的访问网址即可直接进入,无需输入用户名和密码,是不安全的,不推荐使用。
直接在配置文件中写入一个能登录mysql的帐号和密码,只要浏览这个目录就可以直接以这个用户写入配置文件,进行管理mysq的操作。特点是方便,缺点是没有安全性
(4)config配置文件参数::
A、访问网址
$cfg['PmaAbsoluteUri'] = '';
这里填写phpmyadmin的访问网址,如:$cfg['PmaAbsoluteUri'] = 'http://你的站点/phpmyadmin/';
B、mysql主机信息*
$cfg['Servers'][$i]['host'] = 'localhost'; // MySQL hostname or IP address
填写localhost或mysql所在服务器的ip地址,如果mysql和该phpmyadmin在同一服务器,则按默认localhost
$cfg['Servers'][$i]['port'] = ''; // MySQL port - leave blank for default port
mysql端口,如果是默认3306,保留为空即可
C、mysql用户名和密码
$cfg['Servers'][$i]['user'] = 'root';
MySQL user 访问phpmyadmin使用的mysql用户名
$cfg['Servers'][$i]['password'] = '';
MySQL password (only needed对应上述mysql用户名的密码
- 如果auth_type=‘config’,phpMyAdmin将使用这个账户来连接MySQL 服务器。
- 如果您使用HTTP或者cookie认证,请不要填写这个账户。
D、认证方法
c f g [ ′ S e r v e r s ′ ] [ cfg['Servers'][ cfg[′Servers′][i][‘auth_type’] = ‘cookie’;
在此有四种模式可供选择:cookie,http,HTTP,config
01:config方式即输入phpmyadmin的访问网址即可直接进入,无需输入用户名和密码,是不安全的,不推荐使用。
02:当该项设置为cookie,http或HTTP时,登录phpmyadmin需要数据用户名和密码进行验证,
具体如下::
PHP安装模式为Apache,可以使用http和cookie;
PHP安装模式为CGI,可以使用cookie
选择config、cookie或者http认证。
-
*’config’认证(Sauth_type='config’)是最简单的模式,用户名和密码存储在config.inc.php文件里;
-
*’cookie’认证模式(Sauth_type=‘cookie’)2.2.3以上版本允许通过cookie,以任何合法的MySQL用户登录。
用户名和密码存储在cookie中,注销后将删除密码。也可以登录任意的服务器(需要打开$cfg[‘AllowArbitraryServer’]参数)。 -
*’http’认证(在老版本叫做’advanced’)(Sauth_type=‘http’)1.3.0以上版本允许您通过HTTP-Auth,以任何有效的MySQL用户登录。
E、短语密码(blowfish_secret)的设置
$cfg[‘blowfish_secret’] = ‘’;
如果认证方法设置为cookie,就需要设置短语密码,置于设置为什么密码,由您自己决定,但是不能留空,否则会在登录phpmyadmin时提示错误 。
F、查找 $cfg[‘DefaultLang’] = ‘zh’; // 这里是选择语言,zh代表简体中文的意思
G、 c f g [ ′ S e r v e r s ′ ] [ cfg['Servers'][ cfg[′Servers′][i][‘compress’] = false; // 是否使用压缩协议来连接MvSOL服务器。
您的点赞就是对我最大的鼓励O(∩_∩)O