XAMPP安装指南(针对CentOS 7 x86_64)

一、前言

本文为了更好的让读者区分MariaDB数据库内的命令和Shell命令,采用数据库前缀为>,而Shell命令采用# sudo前缀,实际上并不全是要这么做。

注意:教程有落后的时候,本教程针对的是XAMPP v7.4.7,本文第一次发布的时间是2020年6月27日

二、环境

(一)Windows 10 x86_64 v1909

(二)CentOS 7 x86_64

镜像直达:CentOS 7 x86_64
IP:172.16.31.155(桥接)

(三)VMware

官网直达:VMware

(四)Navicat

官网直达:Navicat Premium

(五)XAMPP for Linux x64 v7.4.7

官网直达:XAMPP官方网站
下载直达:xampp-linux-x64-7.4.7-0-installer.run

三、安装和初始化XAMPP

(一)安装XAMPP

  1. 拷贝xampp至虚拟机;
  2. 授权命令:sudo chmod 777 xampp-linux-x64-7.4.7-0-installer
  3. 执行命令:./xampp-linux-x64-7.4.7-0-installer 默认安装位置是/opt/lampp/。

(二)初始化XAMPP

  1. 初始化命令:sudo /opt/lampp/lampp security
  2. 重启XAMPP,命令:/opt/lampp/lampp restart
    此时有些人的电脑上可能会出现FTP报错,此时FTP存在一些未匹配IP和未开启日志而导致的报错信息,但因为目前未使用FTP,故暂时可以不用理会。
    FTP启动报错
  3. 验证配置完成
    至此,XAMPP启动成功,可以通过网页分别输入localhost和localhost/phpmyadmin看得到相关页面。
    同时,在phpmyadmin管理页面也可以看到,XAMPP会自动创建一个pma用户的MySQL记录,并没有密码,而因为是最新版,出于开源考虑,用MariaDB替换了MySQL,但效果是一致的。
    xampp安装完成
    phpmyadmin安装完成

(三)允许XAMPP远程访问

XAMPP默认只能本地访问phpmyadmin,若想远程访问phpmyadimin,则需要修改XAMPP新版的安全规则。

  1. vim /opt/lampp/etc/extra/httpd-xampp.conf
  2. 找到Require local,修改为Require all granted
    all granted
  3. 重启XAMPP服务,命令:/opt/lampp/lampp restart

四、开启80端口、3306端口

最简单的方法就是图形界面,但这里只说命令行操作。

(一)开启80端口,

命令:sudo firewall-cmd --add-port=80/tcp --permanent

(二)开启3306端口,

命令:sudo firewall-cmd --add-port=3306/tcp --permanent

(三)重启防火墙,

命令:systemctl restart firewalld.service

(四)验证远程打开网站

完成也必须完成之前步骤之后,在真实主机Windows 10上打开网页,输入虚拟机的IP地址,成功进入如下页面。
进入XAMPP网站

五、MariaDB配置

最新版的XAMPP一键式建站是使用MariaDB数据库,而不是MySQL,具体原因可以参考:脚本之家:浅谈MySQL和MariaDB区别(mariadb和mysql的性能比较),但本质上,MairiaDB就是可以兼容MySQL的,所以你会发现接下来我们许多命令都是MySQL的命令,比如:mysql -u root -p

而在安装初始化的过程中我们并不需要配置MariaDB的密码,因为本身是没有密码的,所以我们接下来的主要方向是配置root的密码和创建远程登陆的用户。

另外,补充下,XAMPP默认创建一个用户名为pma的数据库用户,此外还有对应的表、数据库等。如果不需要,建议最好设置无权限和禁止远程登陆,而不是删掉它。

接下来我会直接写操作方法,而不讲解为什么这么做,如果有兴趣,可以自己深究。

(一)设置MariaDB的命令软连接

目的:为了解决无法在命令行直接使用mysql -u root -p等问题。

命令:ln -s /opt/lampp/bin/mysql /usr/bin

(二)设置root用户的密码

命令步骤:
# sudo mysql -u root -p —— 无需密码

> use mysql

> update mysql.user set authentication_string = password('新密码'), plugin = 'mysql_native_password' where user = 'root' and host = 'localhost';

(三)创建新用户并授权

  1. 创建新用户
    > create user '新用户名'@'%' identified by '新密码';
  2. 给予新用户所有权(不推荐)
    > grant all privileges on *.* to '新用户'@'%' identified by '密码';
  3. 刷新权限
    > flush privileges;
  4. 退出,并重启XAMPP服务
    > exit
    # sudo /opt/lampp/lampp restart

(四)配置3306端口监听

xampp默认使用socket进行连接,而不监听3306端口,故外部无法通过Navicat premium进行远程管理数据库。我们要做的就是开启这个监听端口。

但是,在某些主机上如果你找不到如下文件内的skip-networking,或者找到却已经被注释掉了,那就暂时不用理这一步。

  1. vim /opt/lampp/etc/my.cn
  2. 找到skip-networking(如图的52行)并注释掉,重启XAMPP服务
    skip-networking
    重启XAMPP命令:# sudo /opt/lampp/lampp restart

(五)验证

完成上述步骤,理论上Navicat是能够连接的,如下:
navicat连接
注意:这里使用的是后来新创建的用户,这个用户配置了远程连接'%',而root我并没有配置允许远程访问,默认是localhost127.0.0.1,所以在真实主机上使用Navicat命令无法连接。

(六)排错步骤

1. 检查端口监听的地址段

# sudo netstate -an|grep 3306,下面是正常图,多了不要紧,但至少要有这一条。关键词::::3306
检查端口开放
如果返回结果是这样,127.0.0.1:3306,代表监听本地,执行该步骤。
fail
相关文件:# sudo vim /opt/lampp/etc/my.cnf
关键词:bind-address=127.0.0.0bind-address=localhost
解决方法:修改成0.0.0.0或干脆用#注释掉
监听

2. 检查是否允许监听

# sudo netstate -an|grep 3306
根据返回内容是否为空,若为空则无监听,进行该步骤,若不为空而为127.0.0.1之类的按第一步执行
相关文件:# sudo vim /opt/lampp/etc/my.cnf
关键词:skip-networking
解决方法:用#注释掉

3. 检查防火墙是否开放

命令:# sudo firewall-cmd --list-ports | grep 3306,为空则添加防火墙配置。
添加端口开放命令:
# sudo firewall-cmd --add-port=3306/tcp
重启防火墙,命令:
# sudo systemctl restart firewalld.service

4. 检查MariaDB是否配置了远程访问的用户

%代表任意IP均可也只能远程登陆的用户,localhost代表只能本机登陆的用户,二者兼有则即可远程又可本地登陆MariaDB,如果不是,按照这个解决方法:百度一下,你就知道

六、phpmyadmin配置

因为MariaDBroot密码已更改,牵涉到phpmyadmin。如果不一起修改,就会这样:
拒绝连接

(一)修改phpmyadmin对MariaDB的访问方式

  1. 命令:# sudo vim /opt/lampp/phpmyadmin/config.inc.php
  2. 找到该关于Server的配置:
    配置
  3. 修改关键字对应的字段auth_typeconfig改成cookiepassword改成对应root的密码,AllowNoPasswordtrue改成false即可。
  4. 重启XAMPP服务:/opt/lampp/lampp restart

(二)验证远程phpmyadmin访问MariaDB

1. 使用root@localhost登陆

成功!
root登陆成功

2. 使用新用户登陆

失败!Why?
在这里插入图片描述
注意,下面提示用户通过’localhost’登陆,所以失败。
原因如下,先用root进入管理,查看用户,发现有两个不速之客。赶紧删掉!!
任意用户
这时候,重新进入phpmyadmin,输入新创建的用户,登陆。
成功!
远程登陆phpmyadmin成功

七、补充:VMware的桥接配置

(一)VMware虚拟网络编辑器

  1. 打开虚拟网络编辑器
    first
  2. 更改设置,本质就是授权给VMware,这时出现vmnet0。
    更改设置
  3. 选择桥接到网卡:你能联网的那块网卡,千万别选“自动”。
    比如我用WiFi联网,我的WiFi网卡是:Intel® Dual Band Wireless…
    连接网卡

(二)VMware虚拟机网络设置

  1. 打开虚拟机设置
    虚拟机设置
  2. 找到“网络适配器选项”,选择桥接,复制连接状态。
    配置虚拟机网络

(三)主机网络适配器设置

  1. 打开电脑上的网络适配器更改网络适配器设置
    更改网络适配器
  2. 选择联网的网卡,进入属性,检查有无安装服务VMware Bridge Protocol,如果有,这步就免了vmnet0服务
  3. 如果没有,点击下面的安装,选择服务,再选择从磁盘安装,浏览你的VMware安装目录,选择netbridge.inf,完成安装后,把这块网卡的这个服务给勾上✔
    安装VMware桥接网卡

(四)验证桥接成功

打开虚拟机,CentOS 7,命令行输入ifconfig得到IP192.168.43.164
真实电脑上,Windows 10,命令行输入ipconfig得到IP192.168.43.142

虚拟机和真实计算机的IP处于同一网段,就对了,证明桥接成功。
我的截图有点乱,但还是能看清两个IP的。
桥接成功


至此,XAMPP安装结束,对于FTP的具体配置,等到什么时候用到了,我再回来补充。

> exit

Bye!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值