在CentOS7上通过RPM安装实现LAMP+phpMyAdmin过程全记录
在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过程全记录的更多相关文章
- Centos7上以RPM包方式安装Oracle 18c XE
Centos7上以RPM包方式安装Oracle 18c XE 安装阿里云 YUM 源 https://opsx.alibaba.com/mirror?lang=zh-CN 一.安装oracle数据库 ...
- 在centos7上用docker安装宝塔面板
在centos7上用docker安装宝塔面板 1. [root@web01 ~]# systemctl enable docker 2. [root@web01 ~]# docker pull c ...
- Centos7上HBase的安装和配置
注意事项 HBase配置必须使用主机名,不支持直接配置IP地址.我尝试过,如果不使用主机名直接用IP,会导致HBase连接zk超时. > 设置主机名 hostnamectl set-hostna ...
- 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 ...
- 在CentOS6上配置MHA过程全记录
在CentOS6上配置MHA过程全记录 MHA(Master High Availability)是一款开源的MariaDB or MySQL高可用程序,为MariaDB or MySQL主从复制架构 ...
- SAP S4HANA1610/Fiori安装过程全记录
经历各种坑,从硬件到文件,终于安装成功. 有需要安装或使用S4HANA(含Fiori)的同学可以参考. 安装文件分享给大家 链接:http://pan.baidu.com/s/1mi7LfIS 密码: ...
- centos7上使用yum安装mysql
centos yum是没有mysql的,集成的是新的Mariadb,怎么用yum的方式在centos7上安装mysql呢? 1. 下载mysql的repo源 wget http://repo.mysq ...
- centos7 mysql5.7 rpm 安装
卸载MariaDB CentOS7默认安装MariaDB而不是MySQL,而且yum服务器上也移除了MySQL相关的软件包.因为MariaDB和MySQL可能会冲突,故先卸载MariaDB. 查看已安 ...
- Centos7上docker的安装和基本使用
Centos7上Docker的相关操作 Docker的安装 1.检查内核版本 docker使用linux的内核必须是3.10以上,首先需要 # uname -r 2.使用yum安装docker # y ...
随机推荐
- java 利用jna调用c#的dll
一.需求阐述: 如果我们的项目利用c#开发,到了开发后期需要和java组进行合作,其中有一部分业务逻辑利用c#已经code completed,那么我们可能会考虑用java来调用现成的c#dll实现需 ...
- C++内存布局详解
一个由C/C++编译的程序除了存放函数二进制代码的程序代码段(code段)外,数据占用的内存大致分为以下几个部分: 1.栈区(stack) 存放局部变量.函数参数.返回数据.返回地址等.系统自动分配释 ...
- localStorage sessionStorage 和cookie等前端存储方式总结
localStorage sessionStorage 和cookie localStorage localStorage是本地存储的,除非清空本地数据 localStorage不会自动把数据发给服务 ...
- CSS基础用法
[CSS常用选择器] 标签选择器 写法: HTML标签名{}作用: 可以选中页面中,所有与选择器同名的HTML标签. 类选择器(class选择器)写法: .class名{}调用: 在需要调用选择器样式 ...
- h5video标签
在video标签中,我们可以使用属性:videoWidth & videoHeight,它获取的是video的宽度和高度(媒体本身).虽然不能直接使用,但是可以通过计算宽高比得到 video ...
- 开源项目Druid的提取SQL模板
在数据库审计中,常常用到SQL模板,这样提取一次模板,下一次就不用对相同的模板的SQL进行相关操作.对此Druid提供相应的工具类进行SQL模板提取: package com.dbappsecurit ...
- Java虚拟机的内存结构
我们都知道虚拟机的内存划分了多个区域,并不是一张大饼.那么为什么要划分为多块区域呢,直接搞一块区域,所有用到内存的地方都往这块区域里扔不就行了,岂不痛快.是的,如果不进行区域划分,扔的时候确实痛快,可 ...
- 非对话框程序创建组合框Groupbox
对话框程序中的控件,例如button.groupbox之类,是直接放上去的.当然,除groupbox以外,在MFC中其他控件都有相对应的类,以支持程序员在非对话框程序中动态创建控件.而唯独好像没有gr ...
- 转: 【Java并发编程】之十三:生产者—消费者模型(含代码)
转载请注明出处:http://blog.csdn.net/ns_code/article/details/17249321 生产者消费者问题是线程模型中的经典问题:生产者和消费者在同一时间段内共用同一 ...
- Banner图二三事
前 言 JRedu 作为一个准前端学员,banner图可是很重要的呢.本人,小白一只,给大家分享几个刚刚学习的基础banner图事件.~~~ 1. 小广告图滚动播放 1.1HTML代码 首先,创 ...