在CentOS7上通过RPM安装实现LAMP+phpMyAdmin过程全记录

时间:2017年9月20日

一、软件环境:
IP:192.168.1.71
Hostname:centos73-2.surmount.net
Linux:CentOS Linux release 7.3.1611 (Core)
Apache:httpd-2.4.6
Mysql:Ver 15.1 Distrib 5.5.52-MariaDB
PHP:初始用ISO光盘yum源安装的版本为php-5.4.16。在后续安装phpMyAdmin-4.7.4时报错,然后按提示升级为php56w-5.6.31。

二、LAMP搭建:

2-1:配置本地ISO镜像yum源;

# mount -r /dev/cdrom /media/cdrom
# vim /etc/yum.repos.d/iso.repo
[iso]
name=iso
baseurl=file:///media/cdrom
gpgcheck=0
enable=0

# yum repolist

2-2:安装MariaDB、设置MariaDB的root用户密码;
# yum install mariadb-server -y
# systemctl start mariadb.service
# mysql
MariaDB [(none)]> SET PASSWORD FOR 'root' @'127.0.0.1'=PASSWORD('jingpei');
MariaDB [(none)]> SET PASSWORD FOR 'root' @'localhost'=PASSWORD('jingpei');
MariaDB [(none)]> FLUSH PRIVILEGES;
//设置MariaDB的root用户密码

2-3:安装及配置Apache;
# yum install httpd -y
# vim /etc/httpd/conf/httpd.conf
ServerName centos73-2.surmount.net:80
# httpd -t
Syntax OK
# systemctl start httpd.service
http://192.168.1.71
//测试html页面
OK

2-4:安装PHP、测试php与DB的连接;
# yum install php php-mysql -y
# vim /var/www/html/index.php
<?php
$link = mysql_connect('localhost', 'root', 'jingpei');
if (!$link)
{
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);
phpinfo()
?>
http://192.168.1.71/index.php
//测试php页面,测试DB连接。
OK

三、安装phpMyAdmin:

3-1:phpMyAdmin简介;
phpMyAdmin,是MySQL或MariaDB数据库的GUI管理工具,以php为基础,以web为工作形式。

3-2:安装、配置及访问测试phpMyAdmin;
# unzip phpMyAdmin-4.7.4-all-languages.zip
# cp -a phpMyAdmin-4.7.4-all-languages /var/www/html
# cd /var/www/html
# ln -sv phpMyAdmin-4.7.4-all-languages pma
# cd /var/www/html/pma
# cp config.sample.inc.php config.inc.php
# tr -d 'a-zA-Z0-9' < /dev/urandom | head -30 | md5sum
8b2c0e4f280fb8cab9ff8b2716cf7a40 -
# vim config.inc.php
......
$cfg['blowfish_secret'] = '8b2c0e4f280fb8cab9ff8b2716cf7a40'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
......
# systemctl reload httpd.service
http://192.168.1.71/pma
status code:500

3-3:排错及测试;
# vim /etc/php.ini
......
display_errors
Default Value: On
......
error_reporting
Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
......
//根据状态码500(服务器内部错误),开启PHP报错。

# systemctl reload httpd.service
http://192.168.1.71/pma/
Parse error: syntax error, unexpected '@' in /var/www/html/phpMyAdmin-4.7.4-all-languages/libraries/common.inc.php on line 467
# yum install php-mbstring -y
# vim /var/www/html/pma/libraries/common.inc.php
467 if (@extension_loaded('mbstring') && !empty(@ini_get('mbstring.func_overload'))) {
468 PMA_fatalError(
469 __(
470 'You have enabled mbstring.func_overload in your PHP '
471 . 'configuration. This option is incompatible with phpMyAdmin '
472 . 'and might cause some data to be corrupted!'
473 )
474 );
475 }
//根据报错安装php-mbstring软件包;查看报错文件,暂时注释掉common.inc.php的467-475行(待php升级完成后再取消注释)。

# systemctl reload httpd.service
http://192.168.1.71/pma/
PHP 5.5+ is required.
Currently installed version is: 5.4.16
//提示php版本低

# yum list installed | grep php
php.x86_64 5.4.16-42.el7 @iso
php-cli.x86_64 5.4.16-42.el7 @iso
php-common.x86_64 5.4.16-42.el7 @iso
php-mbstring.x86_64 5.4.16-42.el7 @base
php-mysql.x86_64 5.4.16-42.el7 @iso
php-pdo.x86_64 5.4.16-42.el7 @iso
# yum remove php php-cli php-common php-mbstring php-mysql php-pdo -y
//删除低版本PHP

# wget -O /etc/yum.repos.d/CentOS-Base-Ali.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# sed -i 's/$releasever/7/g' /etc/yum.repos.d/CentOS-Base-Ali.repo

# vim /etc/yum.repos.d/epel.repo
[epel]
name=epel
baseurl=https://mirrors.ustc.edu.cn/epel/7Server/x86_64/
enabled=0
gpgcheck=0

# rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
# yum install php56w -y
//配置网络yum源、epel源、webtatic源,升级PHP。

# systemctl reload httpd.service
http://192.168.1.71/pma/
//安装php56w-mbstring软件包,再测试提示缺少mysqli扩展。
# wget http://repo.webtatic.com/yum/el7/x86_64/RPMS/php56w-mbstring-5.6.31-1.w7.x86_64.rpm
# rpm -ivh php56w-mbstring-5.6.31-1.w7.x86_64.rpm
# systemctl reload httpd.service
http://192.168.1.71/pma/
//安装php56w-mysql,再测试正常。
# yum install php56w-mysql -y
# systemctl reload httpd.service
# httpd -M | grep php
php5_module (shared)
http://192.168.1.71/pma/
OK
完成安装,鼠标流操作不再敖述。

四、总结:
下载phpMyAdmin-4.7.4-all-languages.zip时未注意,此版本较新,需要php5.5以上方可支持。下载源码包时最好要看看官网的提示及软件包解压后的说明文档。

在CentOS7上通过RPM安装实现LAMP+phpMyAdmin过程全记录的更多相关文章

  1. Centos7上以RPM包方式安装Oracle 18c XE

    Centos7上以RPM包方式安装Oracle 18c XE 安装阿里云 YUM 源 https://opsx.alibaba.com/mirror?lang=zh-CN 一.安装oracle数据库 ...

  2. 在centos7上用docker安装宝塔面板

    在centos7上用docker安装宝塔面板   1. [root@web01 ~]# systemctl enable docker 2. [root@web01 ~]# docker pull c ...

  3. Centos7上HBase的安装和配置

    注意事项 HBase配置必须使用主机名,不支持直接配置IP地址.我尝试过,如果不使用主机名直接用IP,会导致HBase连接zk超时. > 设置主机名 hostnamectl set-hostna ...

  4. CentOS7上Python3.5安装

    CentOS7上Python3.5安装 1.下载 https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz 2.上传到服务器 3. yum in ...

  5. 在CentOS6上配置MHA过程全记录

    在CentOS6上配置MHA过程全记录 MHA(Master High Availability)是一款开源的MariaDB or MySQL高可用程序,为MariaDB or MySQL主从复制架构 ...

  6. SAP S4HANA1610/Fiori安装过程全记录

    经历各种坑,从硬件到文件,终于安装成功. 有需要安装或使用S4HANA(含Fiori)的同学可以参考. 安装文件分享给大家 链接:http://pan.baidu.com/s/1mi7LfIS 密码: ...

  7. centos7上使用yum安装mysql

    centos yum是没有mysql的,集成的是新的Mariadb,怎么用yum的方式在centos7上安装mysql呢? 1. 下载mysql的repo源 wget http://repo.mysq ...

  8. centos7 mysql5.7 rpm 安装

    卸载MariaDB CentOS7默认安装MariaDB而不是MySQL,而且yum服务器上也移除了MySQL相关的软件包.因为MariaDB和MySQL可能会冲突,故先卸载MariaDB. 查看已安 ...

  9. Centos7上docker的安装和基本使用

    Centos7上Docker的相关操作 Docker的安装 1.检查内核版本 docker使用linux的内核必须是3.10以上,首先需要 # uname -r 2.使用yum安装docker # y ...

随机推荐

  1. python 小技巧 防止SSL报错信息

    代码里面 只需要添加如下2行: import ssl ssl._create_default_https_context = ssl._create_unverified_context

  2. HTML5新结构标签和移动端页面布局

    --------------------HTML5新结构标签--------------------1.h5新增的主要语义化标签如下: 1.header 页面头部.页眉 2.nav 页面导航 3.ar ...

  3. 一起来学linux:shell script(一)关于变量

    p { margin-bottom: 0.25cm; line-height: 120% } (一)首先来看什么是变量,在shell中打印出变量采用的是echo $path或者echo ${path} ...

  4. PowerShell: 问题,此系统上禁止运行脚本解决方法

    刚学Django,在PowerShell上建立一个虚拟环境,准备激活,问题来了:    激活的时候报错了,有点儿懵,之前在命令行没问题啊,我又去命令行试了下,果然可以: 感受到了暴击,赶紧上网求助大神 ...

  5. AFN和SDWebImage请求网络图片的一点问题

    问题1.AFN 处理有关图片相关的请求的问题 在使用AFN Post网络图片的时候发现NSLocalizedDescription=Request failed: unacceptable conte ...

  6. IT经典书籍——Head First系列…

    Head First 系列书籍是由 O'Relly 出版社发行的一系列教育书籍,中文一般翻译为"深入浅出",它强调以特殊的方式排版,由大量的图片和有趣的内容组合构成,而达到非疲劳的 ...

  7. 【深入Java虚拟机】之一:Java内存区域与内存溢出

    转载请注明出处:http://blog.csdn.net/ns_code/article/details/17565503 内存区域 Java虚拟机在执行Java程序的过程中会把他所管理的内存划分为若 ...

  8. 201521123082 《Java程序设计》第9周学习总结

    201521123082 <Java程序设计>第9周学习总结 标签(空格分隔):java 1.本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2. 书面作业 ...

  9. 201521123030 《Java程序设计》第7周学习总结

    1. 本周学习总结 以你喜欢的方式(思维导图或其他)归纳总结集合相关内容. 2. 书面作业 1.ArrayList代码分析 1.1 解释ArrayList的contains源代码 public boo ...

  10. 201521123078 《Java程序设计》第6周学习总结

    1. 本周学习总结 2. 书面作业 1.clone方法 1.1 Object对象中的clone方法是被protected修饰,在自定义的类中覆盖clone方法时需要注意什么? 1.子类要实现Clone ...