赞
踩
前段时间在学习 ThinkPHP,但是一直都是用着 phpstudy 的集成环境。感觉总是缺少了点什么。趁着这段笔记本被重置的时间,尝试通过 VMware 运行 Linux 系统,并完成 LAMP 环境的搭建,用于之后做 Web 项目的服务器。我会将自身从安装 VMware 软件到安装 Linux 系统再到配置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 系统的安装难度也不大。按照网上教程建议安装即可。
但是部分小伙伴在 VMware 软件中创建新的虚拟机时弹出一个错误窗口:Intel VT-x处于禁用状态。
没关系,解决办法十分简单:
安装完 CentOS 7.2 后,有些小伙伴欣喜若狂,但是当他们点开浏览器,输入个网址,发现并不能连网。 这是因为在默认安装下虚拟机是没有开启配置网卡信息的,所以连不上网。解决这该问题的方法有两种:设置静态IP和自动获取IP,我使用第一种方法完成网络配置。
su
命令,随后输入自己安装 Linux 系统时设置的密码,获取root权限(输入密码时,是不会显示密码字符的,所以小伙伴输入时注意一下)cd /etc/sysconfig/network-scripts/
命令进入 network-scripts 目录,通过ls
输出该目录下的文件列表。我们接下来需要配置"ifcdfg-ens33"文件。输入vi ifcfg-ens33
即可进入该文件: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
service network restart
命令重启网络服务,重启完成后通过ping www.baidu.com
名验证网络是否连上(验证的网站可以时任意有效网站)出现如下的界面即完成网络配置。在 Linux 系统中,有三种安装软件的方式,分别是源代码安装、RPM安装和YUM安装,每种安装方式都有其优势和缺点。我们采用RPM安装和YUM安装这两种方式结合进行配置LAMP的环境(安装出现问题可查看后面的解决方法)
确认 CentOS 版本,输入cat /etc/redhat-release
命令,会返回版本号。
[root@localhost zengxf]# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
安装配置 LAMP 环境需要的辅助工具( vim、tmux 和 wget )
yum install vim tmux wget -y
安装 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
安装 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
安装 PHP 的常用扩展包
yum -y install php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc php-devel
安装 MySQL扩 展包
yum -y install mysql-connector-odbc mysql-devel libdbi-dbd-mysql
配置 Apache、MySQL 开机启动
systemctl enable httpd.service #设置Apache开机启动,需要运行两次该命令
systemctl enable mysqld #设置MySQL开机启动
重启 Apache、PHP、MySQL 服务
systemctl restart httpd.service #重启Apache服务
systemctl restart php-fpm #重启PHP服务
systemctl restart mysqld #重启MySQL服务
配置 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
环境检查,先安装网络相关工具 net-tools ,随后监听端口
yum -y install net-tools
netstat -tunlp
看到 80 和 3306 端口被监听即可
为了系统能够正常运转,我们最好将 SELINUX 关闭
[root@localhost zengxf]# vim /etc/selinux/config #进入并查看selinux的config文件
关闭功能(即注释掉)
#SELINUX=enforcing
#SELINUXTYPE=targeted
添加功能
SELINUX=disable
最后使用:wq
指令保存并退出最后使用输入setenforce 0
使配置立即生效
打开虚拟机浏览器,输入localhost
进入网页,若显示如下图,即通过 Apache 服务测试
输入cd /var/www/html
进入 Apache 的网页根目录,然后写入 PHP 测试页面
touch test.php
vim test.php
PHP 测试页面代码:
<?php
echo "test page";
phpinfo();
?>
将此虚拟机关机,选择 “编辑虚拟机设置”,将网络是配置器的 “网络连接” 设置为 自定义,并选择 “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 的配置。
镜像问题
在配置时候可能会遇到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)配置清华镜像
相关方法查看官方教程
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。