如何在Mac OS系统安装虚拟机(vmware)并配置lnmp环境

  • 概述
  • 一、安装虚拟机
  • 1.首选软件VM ware。百度搜索官网https://www.vmware.com/
  • 2.点击下载 -> Workstation Pro -> Workstation 16 Pro for linux
  • 3.下载后,打开软件
  • 4.弹出窗口,点击打开,输入账号、密码点击好
  • 二、下载Linux系统
  • 三、安装ISO系统
  • 1.点击VM ware软件。第一步点击从光盘或映像中安装;第二步点击继续。
  • 2.如果你的电脑初次使用VM ware ,第一步点击使用其他光盘和光盘映像(也可以把ISO系统直接拖砖到框里),点击后,在左栏点击下载,中间栏再去查找下载好到ISO系统。点击打开。
  • 3.框里出现你所下载到系统后,点击继续。
  • 4.进入Linux快捷安装界面,输入你到账户、密码,再点击继续
  • 5.虚拟机配置完成,你也可以自定义设置,但最好默认,再点击完成。
  • 7.界面出现您正在运行此虚拟机启用测通道缓解,点击好。
  • 8.现在就是漫长的等待过程。等下面等进度条完成。
  • 9.完成后点击用户,输入你等密码,这个密码就是刚才Linux快捷界面的密码。
  • 10.完成安装。
  • 11.如何更改中文界面,以下链接,很完美。
  • 四、nginx安装
  • 1.打开ubuntu终端,输入sudo apt update ,再输入你的密码(注:你的密码不会显示符号,如:*、#\@等。所以不要认为没有显示,密码输入正确才执行),显示图2,再输入sudo apt install nginx,开始安装,出现图3的选择,选择y确认安装,再回车 ,安装成功。
  • 2.安装完成后,nginx服务将自动启动,可以通过运行sudo systemctl status nginx命令进行验证。nginx已经安装到ubuntu上。
  • 五、配置防火墙
  • 1.输入sudo ufw app list命令,检查哪些ufw配置文件可用。确保将防火墙配置为允许HTTP(80)和HTTPS(443)端口上的流量。输入sudo ufw allow “Nginx Full”命令,Nginx将自己注册为ufw服务。再输入密码。回车。
  • 2.输入sudo ufw status命令,验证状态类型,发现状态不活动。
  • 3.输入sudo apt-get install ufw命令,安装防火墙。
  • 4.输入sudo ufw enable 命令,开启防火墙,并在启动时自动开启。关闭所有外部对本机对访问,但本机访问外部正常。
  • 5.输入sudo ufw status命令,查看防火墙状态。
  • 6.输入sudo apt install curl命令,安装后,输入curl -4 icanhazip.com命令,查看IP地址。
  • 7.打开浏览器输入localhost,打开,然后看到默认的Nginx登陆页面。
  • 六、安装MySQL服务
  • 1.输入sudo apt install mysql-server命令,安装mysql
  • 2.出现提示时,通过键入Y确认安装,然后回车。
  • 3.安装完成后,输入sudo mysql_secure_installation命令,运行mysql随附的安全脚本。删除一些不安全的默认设置,并锁定对数据库系统对访问,
  • 4.将询问是否配置VALIDATE PASSWORD PLUGIN(注:启用这个功能只是判断,如果启用,与指定条件不匹配的密码将被Mysql拒绝并出现错误。禁用验证是很安全,但应该始终对数据库凭证使用强而独特对密码)。回答Y,将要求选择密码验证级别。输入2,密码级别最高(注:输入任何不包含数字、大写、小写字母和特殊字符或基于常见词典单词对密码时,都会收到错误消息)启用密码验证,将显示刚刚输入的密码强度(50),服务器将询问是否要继续使用该密码。按Y并回车。
  • 5.对于其他的问题,在每个提示下按Y并回车。这将删除一些匿名用户和测试数据库,禁用远程root登陆,并加载新的规则。以便mysql做更改
  • 6.完成后,输入sudo mysql命令,才测试是否能够登陆到mysql控制台。输入exit并回车可以退出mysql控制台。
  • 七、安装php-fpm
  • 1.输入sudo apt update和 sudo apt install php-fpm php-mysql命令,安装php-fpm软件包。安装过程中,让选择Y/N,选Y继续安装。
  • 2.安装完成,FPM服务将会自动启动。输入systemctl status php7.4-fpm命令,回车。输出如下图:
  • 八、编辑 Nginx 服务器配置区块
  • 1.熟悉重要的nginx文件和目录
  • (1)内容:
  • (2)服务器配置
  • (3)服务器日志
  • 2. 创建文件结构,输入
  • 3.使用:`$USER:$USER /var/www/example.com`命令,`sudochown-R$USER:$USER/var/www/example.com`
  • 4.如果尚未修改设置默认文件权限的umask值,则Web根目录的权限应正确。 为了确保权限正确并允许所有者读取,写入和执行文件,同时仅向组和其他人授予读取和执行权限,输入以下命令:
  • 5.输入nano /var/www/example.com/html/index.html命令,创建服务器模块配置文件,输入以下代码。
  • 6.输入 sudo nano /etc/nginx/sites-available/example.com命令,创建服务器配置块文件。
  • 7.输入sudo rm /etc/nginx/sites-available/default命令,删除原来nginx的default配置。
  • 8.想要启用新的服务器配置块文件,创建一个从文件/etc/nginx/sites-available/example.com到/etc/nginx/sites-enabled/目录的符号链接,这个目录将会在 Nginx 启动时被读取sudo ln -s /etc/nginx/sites-available/example.com/etc/nginx/sites-enabled/
  • 9.为了避免添加其他服务器名称可能引起的哈希存储桶内存问题,有必要调整/etc/nginx/nginx.conf文件中的单个值。 打开文件;找到server_names_hash_bucket_size指令并删除#符号以取消注释该行。
  • 10.输入sudo nano /etc/php/7.4/fpm/pool.d/www.conf命令,修改www.conf配置文件。把listen = /run/php/php7.4-fpm.sock注释掉,在后面加一行:listen = /var/run/php/php7.4-fpm.sock
  • 11.输入sudo nano /etc/hosts 命令,修改/etc/hosts文件,在最后加上自己的网址。
  • 12.输入sudo nginx -t命令,测试nginx配置文件,看看语法是否正确。如果没有错,输出将会是以下这样:
  • 13.输入sudo service nginx restart命令,重启nginx服务,使修改生效。
  • 14.现在转到浏览器,并输入example.com或www.example.com。加载后,看见自己的页面。
  • 15.输入sudo /var/www/example.com/info.php命令,创建一个php文件来测试。
  • 16.在Web浏览器中访问example.com/info.php页面。
  • 17.通过该页面检查有关PHP服务器的相关信息后,最好删除。因为该文件包含有关PHP环境和ubuntu服务器的敏感信息。输入sudo rm /var/www/example.com/info.php命令删除。
  • 18.输入sudo mysql命令,使用root账户链接到mysql控制台。
  • 19.在mysql控制台中输入CREATE DATABASE example_database;命令,创建新数据库。
  • 20.以下命令example_user使用mysql_native_password默认身份验证方法创建一个新用户,将此用户到密码定义为(Abc123456.),密码过于简单不能通过 :
  • 21.在mysql控制台输入GRANT ALL ON example_database.* TO ‘example_user’@’%’;命令,授予该用户对example_database数据库对权限。这将为example_user用户提供对example_database数据库对完全特权,同时阻止该用户在服务器上创建或修改其他数据库。
  • 22.在mysql控制台输入exit命令,退出mysql shell。
  • 23.输入mysql -u example_user -p 命令。测试新用户是否具有适当对权限。(注:-p 此命令是将提示输入创建example_user用户时使用对密码[Abc123456.])
  • 24.输入SHOW DATABASES; 命令,登陆到mysql控制台。查看example_database到访问权。
  • 25.创建一个名为todo_list的测试表,在mysql控制台中,运行以下语句:
  • 26.在测试表中输入以下几行内容。使用不同的值重复执行一条命令几次。
  • 27.输入SELECT * FROM example_datavase.todo_list; ,查看数据是否保存在表中:
  • 28.确认测试表中有数据,输入exit命令,退出mysql控制台。
  • 29.输入nano /war/www/example.com/todo_list.php命令,创建一个新的php文件链接到mysql并查询内容。
  • 30.在Web浏览器中访问example.com/todo_list.php页面,显示测试表中的内容。
  • 九、了解更多安全知识


作者:h0we777
免责声明:本文仅供学习研究,严禁从事非法活动,任何后果由使用者本人负责。

概述

LNMP软件堆栈是一组软件,可用于为用PHP编写的动态网页和Web服务器。后端数据存储在Mysql数据库中,动态处理由PHP处理。

一、安装虚拟机

1.首选软件VM ware。百度搜索官网https://www.vmware.com/

2.点击下载 -> Workstation Pro -> Workstation 16 Pro for linux

mac 安装vm 去虚拟化 macbook安装vmware虚拟机_mac 安装vm 去虚拟化

3.下载后,打开软件

mac 安装vm 去虚拟化 macbook安装vmware虚拟机_数据库_02

4.弹出窗口,点击打开,输入账号、密码点击好

mac 安装vm 去虚拟化 macbook安装vmware虚拟机_安全_03

二、下载Linux系统

百度搜索Linux系统 http://www.xitongzhijia.net/linux/ ,提前下载好Linux系统,我选择的是Ubuntu(注:系统后缀是ISO).

mac 安装vm 去虚拟化 macbook安装vmware虚拟机_php_04

三、安装ISO系统

1.点击VM ware软件。第一步点击从光盘或映像中安装;第二步点击继续。

mac 安装vm 去虚拟化 macbook安装vmware虚拟机_mac 安装vm 去虚拟化_05

2.如果你的电脑初次使用VM ware ,第一步点击使用其他光盘和光盘映像(也可以把ISO系统直接拖砖到框里),点击后,在左栏点击下载,中间栏再去查找下载好到ISO系统。点击打开。

mac 安装vm 去虚拟化 macbook安装vmware虚拟机_数据库_06


mac 安装vm 去虚拟化 macbook安装vmware虚拟机_php_07

3.框里出现你所下载到系统后,点击继续。

mac 安装vm 去虚拟化 macbook安装vmware虚拟机_数据库_08

4.进入Linux快捷安装界面,输入你到账户、密码,再点击继续

mac 安装vm 去虚拟化 macbook安装vmware虚拟机_mac 安装vm 去虚拟化_09

5.虚拟机配置完成,你也可以自定义设置,但最好默认,再点击完成。

mac 安装vm 去虚拟化 macbook安装vmware虚拟机_mac 安装vm 去虚拟化_10

7.界面出现您正在运行此虚拟机启用测通道缓解,点击好。

mac 安装vm 去虚拟化 macbook安装vmware虚拟机_linux_11

8.现在就是漫长的等待过程。等下面等进度条完成。

mac 安装vm 去虚拟化 macbook安装vmware虚拟机_linux_12

9.完成后点击用户,输入你等密码,这个密码就是刚才Linux快捷界面的密码。

mac 安装vm 去虚拟化 macbook安装vmware虚拟机_linux_13


mac 安装vm 去虚拟化 macbook安装vmware虚拟机_linux_14

10.完成安装。

mac 安装vm 去虚拟化 macbook安装vmware虚拟机_mac 安装vm 去虚拟化_15

11.如何更改中文界面,以下链接,很完美。

https://jingyan.baidu.com/article/3aed632edafe2b7011809148.html

mac 安装vm 去虚拟化 macbook安装vmware虚拟机_数据库_16

四、nginx安装

1.打开ubuntu终端,输入sudo apt update ,再输入你的密码(注:你的密码不会显示符号,如:*、#@等。所以不要认为没有显示,密码输入正确才执行),显示图2,再输入sudo apt install nginx,开始安装,出现图3的选择,选择y确认安装,再回车 ,安装成功。

mac 安装vm 去虚拟化 macbook安装vmware虚拟机_mac 安装vm 去虚拟化_17


mac 安装vm 去虚拟化 macbook安装vmware虚拟机_linux_18


mac 安装vm 去虚拟化 macbook安装vmware虚拟机_安全_19

2.安装完成后,nginx服务将自动启动,可以通过运行sudo systemctl status nginx命令进行验证。nginx已经安装到ubuntu上。

mac 安装vm 去虚拟化 macbook安装vmware虚拟机_数据库_20

五、配置防火墙

1.输入sudo ufw app list命令,检查哪些ufw配置文件可用。确保将防火墙配置为允许HTTP(80)和HTTPS(443)端口上的流量。输入sudo ufw allow “Nginx Full”命令,Nginx将自己注册为ufw服务。再输入密码。回车。

mac 安装vm 去虚拟化 macbook安装vmware虚拟机_数据库_21


mac 安装vm 去虚拟化 macbook安装vmware虚拟机_php_22

2.输入sudo ufw status命令,验证状态类型,发现状态不活动。

mac 安装vm 去虚拟化 macbook安装vmware虚拟机_linux_23

3.输入sudo apt-get install ufw命令,安装防火墙。

mac 安装vm 去虚拟化 macbook安装vmware虚拟机_php_24

4.输入sudo ufw enable 命令,开启防火墙,并在启动时自动开启。关闭所有外部对本机对访问,但本机访问外部正常。

mac 安装vm 去虚拟化 macbook安装vmware虚拟机_php_25

5.输入sudo ufw status命令,查看防火墙状态。

mac 安装vm 去虚拟化 macbook安装vmware虚拟机_php_26

6.输入sudo apt install curl命令,安装后,输入curl -4 icanhazip.com命令,查看IP地址。

mac 安装vm 去虚拟化 macbook安装vmware虚拟机_安全_27


mac 安装vm 去虚拟化 macbook安装vmware虚拟机_php_28

7.打开浏览器输入localhost,打开,然后看到默认的Nginx登陆页面。

mac 安装vm 去虚拟化 macbook安装vmware虚拟机_数据库_29

六、安装MySQL服务

1.输入sudo apt install mysql-server命令,安装mysql

mac 安装vm 去虚拟化 macbook安装vmware虚拟机_数据库_30

2.出现提示时,通过键入Y确认安装,然后回车。

mac 安装vm 去虚拟化 macbook安装vmware虚拟机_linux_31

3.安装完成后,输入sudo mysql_secure_installation命令,运行mysql随附的安全脚本。删除一些不安全的默认设置,并锁定对数据库系统对访问,

mac 安装vm 去虚拟化 macbook安装vmware虚拟机_数据库_32

4.将询问是否配置VALIDATE PASSWORD PLUGIN(注:启用这个功能只是判断,如果启用,与指定条件不匹配的密码将被Mysql拒绝并出现错误。禁用验证是很安全,但应该始终对数据库凭证使用强而独特对密码)。回答Y,将要求选择密码验证级别。输入2,密码级别最高(注:输入任何不包含数字、大写、小写字母和特殊字符或基于常见词典单词对密码时,都会收到错误消息)启用密码验证,将显示刚刚输入的密码强度(50),服务器将询问是否要继续使用该密码。按Y并回车。

mac 安装vm 去虚拟化 macbook安装vmware虚拟机_mac 安装vm 去虚拟化_33

5.对于其他的问题,在每个提示下按Y并回车。这将删除一些匿名用户和测试数据库,禁用远程root登陆,并加载新的规则。以便mysql做更改

mac 安装vm 去虚拟化 macbook安装vmware虚拟机_安全_34


mac 安装vm 去虚拟化 macbook安装vmware虚拟机_数据库_35


mac 安装vm 去虚拟化 macbook安装vmware虚拟机_php_36

6.完成后,输入sudo mysql命令,才测试是否能够登陆到mysql控制台。输入exit并回车可以退出mysql控制台。

mac 安装vm 去虚拟化 macbook安装vmware虚拟机_mac 安装vm 去虚拟化_37

七、安装php-fpm

1.输入sudo apt update和 sudo apt install php-fpm php-mysql命令,安装php-fpm软件包。安装过程中,让选择Y/N,选Y继续安装。

mac 安装vm 去虚拟化 macbook安装vmware虚拟机_数据库_38

2.安装完成,FPM服务将会自动启动。输入systemctl status php7.4-fpm命令,回车。输出如下图:

mac 安装vm 去虚拟化 macbook安装vmware虚拟机_mac 安装vm 去虚拟化_39

八、编辑 Nginx 服务器配置区块

1.熟悉重要的nginx文件和目录

(1)内容:

/var/www/html/ :实际的web内容(默认情况下仅由默认的nginx页面组成),从/var/www/html目录中提供。这可以通过更改nginx配置文件来更改。

(2)服务器配置

/etc/nginx :nginx配置目录。所有nginx配置文件都位于此处。
  /etc/nginx/nginx.conf :主要都nginx配置文件。可以对其进行修改以更改nginx全局配置。
 /etc/nginx/sites-available/ :可以存储每个站点服务器块都目录。nginx不会使用在此目录中找到的配置文件,除非它们链接到该sites-enabled目录。通常,所有服务器块配置都在此目录中完成,然后通过链接到另一个目录来启用。

/etc/nginx/sites-enabled/ :存储已启用到每个站点服务器块到目录。通常,通过链接到目录中找到到配置文件来创建这些文件sites-available.
/etc/nginx/snippets :此目录包含一些配置片段,这些片段可以包含在nginx配置中到其他位置。潜在到可重复配置段是重构为代码段的良好候选者。

(3)服务器日志

/var/log/nginx/access.log :除非将nginx配置为执行其他操作,否则对web服务器的每个请求都记录在此日志文件中。
/var/log/nginx/error.log :任何nginx错误都将记录在此日志中。

2. 创建文件结构,输入

sudo mkdir -p /var/www/example.com/html命令,创建域名根目录。

mac 安装vm 去虚拟化 macbook安装vmware虚拟机_mac 安装vm 去虚拟化_40

3.使用:$USER:$USER /var/www/example.com命令,sudochown-R$USER:$USER/var/www/example.com

mac 安装vm 去虚拟化 macbook安装vmware虚拟机_数据库_41

4.如果尚未修改设置默认文件权限的umask值,则Web根目录的权限应正确。 为了确保权限正确并允许所有者读取,写入和执行文件,同时仅向组和其他人授予读取和执行权限,输入以下命令:

sudo chmod -R 755 /var/www/example.com
![在这里插入图片描述]()

5.输入nano /var/www/example.com/html/index.html命令,创建服务器模块配置文件,输入以下代码。

mac 安装vm 去虚拟化 macbook安装vmware虚拟机_linux_42


mac 安装vm 去虚拟化 macbook安装vmware虚拟机_mac 安装vm 去虚拟化_43

6.输入 sudo nano /etc/nginx/sites-available/example.com命令,创建服务器配置块文件。

Server_name :匹配服务器配置块都域名

Root : nginx用来提供服务域名的文件目录

mac 安装vm 去虚拟化 macbook安装vmware虚拟机_数据库_44

7.输入sudo rm /etc/nginx/sites-available/default命令,删除原来nginx的default配置。

8.想要启用新的服务器配置块文件,创建一个从文件/etc/nginx/sites-available/example.com到/etc/nginx/sites-enabled/目录的符号链接,这个目录将会在 Nginx 启动时被读取sudo ln -s /etc/nginx/sites-available/example.com/etc/nginx/sites-enabled/

mac 安装vm 去虚拟化 macbook安装vmware虚拟机_php_45

9.为了避免添加其他服务器名称可能引起的哈希存储桶内存问题,有必要调整/etc/nginx/nginx.conf文件中的单个值。 打开文件;找到server_names_hash_bucket_size指令并删除#符号以取消注释该行。

sudo nano /etc/nginx/nginx.conf

mac 安装vm 去虚拟化 macbook安装vmware虚拟机_linux_46

10.输入sudo nano /etc/php/7.4/fpm/pool.d/www.conf命令,修改www.conf配置文件。把listen = /run/php/php7.4-fpm.sock注释掉,在后面加一行:listen = /var/run/php/php7.4-fpm.sock

mac 安装vm 去虚拟化 macbook安装vmware虚拟机_linux_47

11.输入sudo nano /etc/hosts 命令,修改/etc/hosts文件,在最后加上自己的网址。

mac 安装vm 去虚拟化 macbook安装vmware虚拟机_mac 安装vm 去虚拟化_48

12.输入sudo nginx -t命令,测试nginx配置文件,看看语法是否正确。如果没有错,输出将会是以下这样:

mac 安装vm 去虚拟化 macbook安装vmware虚拟机_linux_49

13.输入sudo service nginx restart命令,重启nginx服务,使修改生效。

mac 安装vm 去虚拟化 macbook安装vmware虚拟机_安全_50

14.现在转到浏览器,并输入example.com或www.example.com。加载后,看见自己的页面。

mac 安装vm 去虚拟化 macbook安装vmware虚拟机_数据库_51

15.输入sudo /var/www/example.com/info.php命令,创建一个php文件来测试。

mac 安装vm 去虚拟化 macbook安装vmware虚拟机_安全_52


mac 安装vm 去虚拟化 macbook安装vmware虚拟机_mac 安装vm 去虚拟化_53

16.在Web浏览器中访问example.com/info.php页面。

mac 安装vm 去虚拟化 macbook安装vmware虚拟机_linux_54

17.通过该页面检查有关PHP服务器的相关信息后,最好删除。因为该文件包含有关PHP环境和ubuntu服务器的敏感信息。输入sudo rm /var/www/example.com/info.php命令删除。

mac 安装vm 去虚拟化 macbook安装vmware虚拟机_linux_55


mac 安装vm 去虚拟化 macbook安装vmware虚拟机_安全_56

18.输入sudo mysql命令,使用root账户链接到mysql控制台。

mac 安装vm 去虚拟化 macbook安装vmware虚拟机_mac 安装vm 去虚拟化_57

19.在mysql控制台中输入CREATE DATABASE example_database;命令,创建新数据库。

mac 安装vm 去虚拟化 macbook安装vmware虚拟机_数据库_58

20.以下命令example_user使用mysql_native_password默认身份验证方法创建一个新用户,将此用户到密码定义为(Abc123456.),密码过于简单不能通过 :

mac 安装vm 去虚拟化 macbook安装vmware虚拟机_linux_59

21.在mysql控制台输入GRANT ALL ON example_database.* TO ‘example_user’@’%’;命令,授予该用户对example_database数据库对权限。这将为example_user用户提供对example_database数据库对完全特权,同时阻止该用户在服务器上创建或修改其他数据库。

mac 安装vm 去虚拟化 macbook安装vmware虚拟机_mac 安装vm 去虚拟化_60

22.在mysql控制台输入exit命令,退出mysql shell。

mac 安装vm 去虚拟化 macbook安装vmware虚拟机_mac 安装vm 去虚拟化_61

23.输入mysql -u example_user -p 命令。测试新用户是否具有适当对权限。(注:-p 此命令是将提示输入创建example_user用户时使用对密码[Abc123456.])

mac 安装vm 去虚拟化 macbook安装vmware虚拟机_数据库_62

24.输入SHOW DATABASES; 命令,登陆到mysql控制台。查看example_database到访问权。

mac 安装vm 去虚拟化 macbook安装vmware虚拟机_安全_63

25.创建一个名为todo_list的测试表,在mysql控制台中,运行以下语句:

CREATE TABLE example_database.todo_list(
    -> item_id INT AUTO_INCREMENT,
    -> content VARCHAR(255),
    -> PRIMARY KEY(item_id)
    -> );
![在这里插入图片描述]()

26.在测试表中输入以下几行内容。使用不同的值重复执行一条命令几次。

mac 安装vm 去虚拟化 macbook安装vmware虚拟机_linux_64


mac 安装vm 去虚拟化 macbook安装vmware虚拟机_数据库_65

27.输入SELECT * FROM example_datavase.todo_list; ,查看数据是否保存在表中:

mac 安装vm 去虚拟化 macbook安装vmware虚拟机_数据库_66

28.确认测试表中有数据,输入exit命令,退出mysql控制台。

mac 安装vm 去虚拟化 macbook安装vmware虚拟机_php_67

29.输入nano /war/www/example.com/todo_list.php命令,创建一个新的php文件链接到mysql并查询内容。

mac 安装vm 去虚拟化 macbook安装vmware虚拟机_安全_68


mac 安装vm 去虚拟化 macbook安装vmware虚拟机_数据库_69

30.在Web浏览器中访问example.com/todo_list.php页面,显示测试表中的内容。

mac 安装vm 去虚拟化 macbook安装vmware虚拟机_mac 安装vm 去虚拟化_70