VMware 配置 LAMP 环境(搭建Web服务器)

背景

前段时间在学习 ThinkPHP,但是一直都是用着 phpstudy 的集成环境。感觉总是缺少了点什么。趁着这段笔记本被重置的时间,尝试通过 VMware 运行 Linux 系统,并完成 LAMP 环境的搭建,用于之后做 Web 项目的服务器。我会将自身从安装 VMware 软件到安装 Linux 系统再到配置LAMP环境所遇到的问题以及解决方法做一个记录,为其他小伙伴提供借鉴,同时也很感谢前辈们在网上分享的解决方法!现在就让我们开始吧!

一、LAMP版本 以及 辅助软件

LAMP版本:
VMware 版本:VMware 15.0
Linux系统 版本:CentOS 7.2
Apache 版本:Apache 2.4.6
MySQL 版本:MySQL 5.6.47
PHP 版本:5.4.16

辅助软件:
Xshell 5
Navicat Premium 15

二、安装 VMware 软件以及 Linux 系统

1.安装 VMware 软件

安装 VMware 软件没有太大困难,按照网上教程和建议安装即可。

2.Linux 系统

同样的, Linux 系统的安装难度也不大。按照网上教程建议安装即可。

但是部分小伙伴在 VMware 软件中创建新的虚拟机时弹出一个错误窗口:Intel VT-x处于禁用状态

没关系,解决办法十分简单:

  1. 重启电脑,进入主板BIOS(每种电脑品牌进入BIOS的方式都不一样,具体方法请各位小伙伴自行搜索)
  2. 在【 Advanced 】选项页中将【 Inter® Virtualization Technology 】的 Disabled 状态更改为 Enabled 。(如果进入BIOS后是中文的界面,在【系统设置】将【处理器虚拟化技术】的 禁用 状态更改为 启用)
  3. 保存设置,正常启动。

三、环境配置

1. 网络配置

安装完 CentOS 7.2 后,有些小伙伴欣喜若狂,但是当他们点开浏览器,输入个网址,发现并不能连网。 这是因为在默认安装下虚拟机是没有开启配置网卡信息的,所以连不上网。解决这该问题的方法有两种:设置静态IP和自动获取IP,我使用第一种方法完成网络配置。

  1. 在 VMware 软件界面下选择【编辑】→【虚拟网络编辑器】,并在弹出的窗口选择 “更改设置”,随后会重新打开该窗口。
  1. 在重新打开的窗口中,点选名称为 “VMnet8” 的网络,选择 “NAT模式(与虚拟机共享主机的 IP 地址)”,并取消勾选 “使用本地DHCP服务将地址分配给虚拟机”。随后点击 “NAT 设置”。
  1. 在【NAT 设置】窗口中,拿出笔和小本本记下子网IP、子网掩码和网关IP(之后在Linux中配置网络是需要)
  1. 回到 Linux 桌面,右键点击 “打开终端”,输入su命令,随后输入自己安装 Linux 系统时设置的密码,获取root权限(输入密码时,是不会显示密码字符的,所以小伙伴输入时注意一下)
  1. 输入cd /etc/sysconfig/network-scripts/命令进入 network-scripts 目录,通过ls输出该目录下的文件列表。我们接下来需要配置"ifcdfg-ens33"文件。输入vi ifcfg-ens33即可进入该文件
  1. 在 “ifcfg-ens33“ 文件下,进行如下修改,完成后使用ESC退出编辑状态,随后使用:wq命令,即 Shift + : + wq组合键,保存并退出该文件。
#代码说明
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static		# 初始为将此处设置为static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=16ac64c1-66bb-40f5-9bfe-7f485408eb0d
DEVICE=ens33
ONBOOT=yes				# 初始为no,将此处设置为yes,表示网卡设备自动启动 
PEERDNS=yes				
PEERROUTES=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_PRIVACY=no
GATEWAY=192.168.85.2	#使用刚刚我们拿本子记下的网关IP
IPADDR=192.168.85.99	#这里是IP,因为我们的IP处于192.168.85.xxx这个范围,随便设置为99即可
NETMASK=255.255.255.0	#子网掩码
DNS1=8.8.8.8			#DNS服务器1,填写所在的网络可用的DNS服务器地址即可
DNS2=4.4.4.4			#DNS服务器2
  1. 回到最初的界面,输入 service network restart命令重启网络服务,重启完成后通过ping www.baidu.com名验证网络是否连上(验证的网站可以时任意有效网站)出现如下的界面即完成网络配置。

2.LAMP环境配置

在 Linux 系统中,有三种安装软件的方式,分别是源代码安装RPM安装YUM安装,每种安装方式都有其优势和缺点。我们采用RPM安装和YUM安装这两种方式结合进行配置LAMP的环境(安装出现问题可查看后面的解决方法)

  1. 确认 CentOS 版本,输入cat /etc/redhat-release命令,会返回版本号。

    [root@localhost zengxf]# cat /etc/redhat-release
    CentOS Linux release 7.4.1708 (Core)
    
  2. 安装配置 LAMP 环境需要的辅助工具( vim、tmux 和 wget )

    yum install vim tmux wget -y
    
  3. 安装 Apache、PHP 、MySQL 的数据包(逐一安装)

    yum -y install httpd
    yum -y install php
    yum -y install php-fpm
    yum -y install mysql
    yum -y install mysql-server
    yum -y install php-mysql
    

    在安装 mysql-server 的时候,使用# yum -y install mysql-server会报错,有以下两种解决方案,我选择第二种方法。

    # 第一种:安装mariadb
    yum install -y mariadb 
    
    # 第二种:从官网下载mysql-server
    wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
    yum localinstall mysql-community-release-el7-5.noarch.rpm
    yum install mysql-community-server
    
  4. 安装 Apache 的常用扩展包

    yum -y install httpd-manual mod_ssl mod_perl mod_auth_mysql
    
    #只有httpd-manual和mod_ssl被安装
    

    在防火墙中开放80端口,需要将http服务加入防火墙以允许外部访问

    firewall-cmd --add-service=http --permanent
    
    # permanent表示这是一条水久防火墙规则,如果不加则重启系统后就没有这条规则了
    

    重启 Firewall使该规则生效

    systemctl restart firewalld
    
  5. 安装 PHP 的常用扩展包

    yum -y install php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc php-devel
    
  6. 安装 MySQL扩 展包

    yum -y install mysql-connector-odbc mysql-devel libdbi-dbd-mysql
    
  7. 配置 Apache、MySQL 开机启动

    systemctl enable httpd.service 		#设置Apache开机启动,需要运行两次该命令
    systemctl enable mysqld				#设置MySQL开机启动
    
  8. 重启 Apache、PHP、MySQL 服务

    systemctl restart httpd.service		#重启Apache服务
    systemctl restart php-fpm			#重启PHP服务
    systemctl restart mysqld			#重启MySQL服务
    
  9. 配置 MySQL

    初次进入 MySQL 不需要密码

    [root@localhost zengxf]# mysql
    

    进入 MySQL 后检查其中的数据库目录(此步骤可以省略)

    show databases;		#注意最后面的分号;
    

    重置 MySQL 中 root 账户的密码

    set password for 'root'@'localhost' =password('root123123');  
    #为了方便记忆,本人将该密码与系统密码相一致
    

    使用exit命令退出 MySQL ,再重新登录

    [root@localhost zengxf]# mysql -uroot -p
    
  10. 环境检查,先安装网络相关工具 net-tools ,随后监听端口

    yum -y install net-tools
    netstat -tunlp
    

    看到 80 和 3306 端口被监听即可

  1. 为了系统能够正常运转,我们最好将 SELINUX 关闭

    [root@localhost zengxf]# vim /etc/selinux/config   #进入并查看selinux的config文件
    

    关闭功能(即注释掉)

    #SELINUX=enforcing
    #SELINUXTYPE=targeted
    

    添加功能

    SELINUX=disable
    

    最后使用:wq指令保存并退出最后使用输入setenforce 0使配置立即生效

四、环境测试

1.在虚拟机中测试 Apache 和 PHP 环境

打开虚拟机浏览器,输入localhost进入网页,若显示如下图,即通过 Apache 服务测试

输入cd /var/www/html进入 Apache 的网页根目录,然后写入 PHP 测试页面

touch test.php
vim test.php

PHP 测试页面代码:

<?php
    echo "test page";
	phpinfo();
?>

2.在宿主机中测试 Apache、PHP 和 MySQL 环境(推荐该测试方式)

将此虚拟机关机,选择 “编辑虚拟机设置”,将网络是配置器的 “网络连接” 设置为 自定义,并选择 “VMnet8(NAT 模式)”

在 VMware 软件界面下选择【编辑】→【虚拟网络编辑器】,并选择“更改设置”,点选名称为 “VMnet8” 的网络,将 “使用本地DHCP服务将IP地址分配给虚拟机”勾选。保存设置

重新启动此虚拟机,进入使用root管理权限进入终端,输入ip addr查看网络IP,记录下我们之前配置好的网络IP

在宿主机中使用 Xshell 软件对虚拟机进行远程连接。新建会话,输入名称(随意取),主机需要填写上一步记录下来的网络IP。并完成用户身份验证,用户名必须为 root,密码是安装 CentOS 时设置的密码。

连接会话,显示如下,即连接成功

成功连接后在宿主机上用浏览器输入192.168.85.150,即可显示 Apache 测试界面;输入192.168.85.150/test.php,即可显示 PHP 版本信息界面。至此,Apache 和 PHP 环境通过测试

现在通过远程访问数据库来测试 MySQL 环境,先在虚拟机终端中使用 root 身份进入 MySQL

mysql -u root -p

查看数据库,确保可以正常访问数据库。

mysql> show databases;

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
3 rows in set (0.27 sec)

创建外部访问的测试数据库 test

create schema test default character set utf8 collate utf8_general_ci; 

因为在实际生产中,基本没有访问root用户的权限,因此我们需要自己创建一个管理员用户,用于日常数据库管理。

创建数据库用户

create user 'admin'@'localhost' identified by 'admin123123'; #支持本地访问
create user 'admin'@'%' identified by 'admin123123'; #支持远程登陆

刷新数据库权限

flush privileges;

授予权利

grant all privileges on test.* to admin@'localhost' with grant option;  
grant all privileges on test.* to admin@'%' with grant option;

再次刷新权限

flush privileges;

退出数据库,添加打开3306端口的防火墙规则(远程连接需要)

firewall-cmd --zone=public --add-port=3306/tcp --permanent;

重启防火墙

systemctl restart firewalld;

在宿主机中打开 Navicat 数据库管理工具,测试是否能够远程连接上虚拟机中的 MySQL 数据,输入主机 IP、端口号、用户名和密码,点击 “测试连接”,若弹出 “连接成功”,即可远程连接。

此时也完成了 MySQL 的配置。

五、可能遇到的问题

  1. 镜像问题

    在配置时候可能会遇到yum下载不了LAMP,建议更换镜像

    1)配置阿里云yum源

    # 备份原来的源
    cd /etc/yum.repos.d/ && mkdir backup && mv *repo backup/
    # 下载阿里云yum源,适配CentOS 7
    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    # 更新 repo 缓存
    yum clean all && yum makecache
    

    2)配置清华镜像
    相关方法查看官方教程

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值