openEuler 虚拟机从零到一:完整部署指南
本指南记录在 VMware Workstation 中安装 openEuler,并配置 DDE 桌面环境、VMware Tools、Java 24、Nginx 以及 Tesseract OCR 的完整过程,适用于开发测试环境搭建。
目录
- 环境准备与系统安装
- [1.1 准备工作](#1.1 准备工作)
- [1.2 创建虚拟机步骤](#1.2 创建虚拟机步骤)
- [1.3 系统安装流程](#1.3 系统安装流程)
- [安装 DDE 桌面环境](#安装 DDE 桌面环境)
- [配置 VMware Tools](#配置 VMware Tools)
- [安装 Java 24 (JDK)](#安装 Java 24 (JDK))
- [安装 Nginx (Web 服务器)](#安装 Nginx (Web 服务器))
- [安装 Tesseract OCR 引擎](#安装 Tesseract OCR 引擎)
- 常见问题排查
环境准备与系统安装
1.1 准备工作
- 虚拟化软件:VMware Workstation Pro / Player
- 系统镜像:openEuler ISO 镜像
- 下载地址:openEuler 官方下载
- 建议下载 LTS(长期支持版)版本,如 24.03 LTS
1.2 创建虚拟机步骤
- 新建虚拟机:打开 VMware,点击"创建新的虚拟机"
- 选择配置:选择"自定义(高级)",下一步
- 硬件兼容性:保持默认,下一步
- 安装来源:选择"安装程序光盘映像文件(ISO)",并选中 openEuler ISO
- 客户机操作系统:
- 操作系统:Linux
- 版本:CentOS 8 64 位(openEuler 基于此内核,兼容性较好)
- 命名与位置:设置虚拟机名称及存储路径
- 固件类型:默认(BIOS 或 UEFI 均可)
- 处理器配置:
- 数量:2
- 核心数:默认
- 内存配置:
- 最小推荐:4 GB(如运行 DDE 桌面,建议 4GB 以上)
- 网络类型:默认(NAT 模式即可联网)
- I/O 控制器:默认
- 磁盘类型:默认(SCSI/NVMe)
- 磁盘文件:选择"创建新虚拟磁盘"
- 磁盘容量:建议 40 GB 或以上,选择"将虚拟磁盘存储为单个文件"
- 完成配置:点击完成,启动虚拟机
1.3 系统安装流程
- 语言选择:中文(简体)或 English
- 软件选择:默认最小化安装(后续手动安装 DDE)
- 安装目的地:选择自动分区或自定义分区,点击完成
- 网络与主机名:
- 开启网络连接
- 设置主机名(可选)
- Root 密码:设置 root 用户密码(务必牢记)
- 开始安装:点击"开始安装",等待进度完成
- 重启:安装完成后重启系统
📚 参考文档:
https://blog.csdn.net/2302_82189125/article/details/137759482?spm=1001.2014.3001.5506
安装 DDE 桌面环境
openEuler 默认可能为命令行界面,安装 Deepin Desktop Environment(DDE)可获得图形化体验。
执行以下命令:
bash
sudo dnf update -y
sudo dnf install dde -y
# 设置默认启动为图形界面
sudo systemctl set-default graphical.target
# 重启生效
sudo reboot
重启后,系统将自动进入 DDE 登录界面。
📚 参考文档:
https://docs.openeuler.org/zh/docs/24.03_LTS_SP1/tools/desktop/dde/dde_installation.html
配置 VMware Tools
安装 open-vm-tools 以实现剪贴板、拖放文件及共享文件夹功能。
3.1 安装组件
bash
sudo dnf install -y open-vm-tools open-vm-tools-desktop
注意:必须安装 open-vm-tools-desktop 才能支持剪贴板和拖放。
3.2 启动服务
bash
sudo systemctl start vmtoolsd
sudo systemctl enable vmtoolsd
3.3 重启虚拟机
bash
sudo reboot
说明:重启后桌面集成功能才会生效。
3.4 验证状态
bash
systemctl status vmtoolsd
看到 active (running) 即表示成功。
功能测试:
- 尝试从宿主机复制文字在虚拟机中粘贴
- 尝试拖拽文件进入虚拟机
安装 Java 24 (JDK)
由于 openEuler 仓库可能尚未收录最新 Java 24,采用手动安装 Adoptium(Temurin)二进制包。
4.1 下载 JDK
bash
cd /tmp
wget `https://github.com/adoptium/temurin24-binaries/releases/download/jdk-24%2B36/OpenJDK24U-jdk_x64_linux_hotspot_24_36.tar.gz`
4.2 解压安装
bash
# 创建安装目录
sudo mkdir -p /usr/lib/jvm
# 解压
sudo tar -zxvf OpenJDK24U-jdk_x64_linux_hotspot_24_36.tar.gz -C /usr/lib/jvm/
# 查看生成的目录名(版本号可能略有不同)
ls /usr/lib/jvm/
# 假设解压后的目录名为 jdk-24+36
4.3 配置环境变量
编辑 /etc/profile:
bash
sudo vi /etc/profile
在文件末尾添加:
bash
export JAVA_HOME=/usr/lib/jvm/jdk-24+36
export PATH=$JAVA_HOME/bin:$PATH
提示:请将 jdk-24+36 替换为你实际 ls 看到的目录名。
使配置生效:
bash
source /etc/profile
4.4 验证安装
bash
java -version
javac -version
echo $JAVA_HOME
输出应显示 openjdk version "24"。
安装 Nginx (Web 服务器)
1. 安装 Nginx
bash
sudo dnf install -y nginx
2. 启动服务与配置自启
bash
sudo systemctl start nginx
sudo systemctl enable nginx
3. 关键配置:处理 SELinux 权限 (openEuler/CentOS 必做)
在 openEuler 或 CentOS 系统中,SELinux 默认会拦截 Nginx 绑定非标准端口(如 8088, 8181)或访问非标准目录,导致启动失败(报错 Permission denied)。
临时关闭 SELinux(开发/测试环境推荐):
bash
# 将 SELinux 模式设置为 Permissive (宽容模式)
sudo setenforce 0
# 验证状态,输出应为 Permissive
getenforce
注意:此命令重启后失效。若需永久关闭,请编辑 /etc/selinux/config,将 SELINUX=enforcing 改为 SELINUX=disabled 并重启系统。
4. 部署项目文件与配置
假设你的项目文件(html 文件夹)和配置文件(nginx.conf)已上传至桌面 (/root/Desktop)。
4.1 替换默认网页文件
备份原有目录,并将新项目文件移动至 Nginx 默认根目录:
bash
# 1. 备份原有 html 目录
sudo mv /usr/share/nginx/html /usr/share/nginx/html.bak
# 2. 移动新 html 文件夹到 Nginx 目录
# 注意:确保桌面上的文件夹名字确实是 'html',否则请修改路径
sudo mv /root/Desktop/html /usr/share/nginx/
# 3. 赋予读取权限
sudo chmod -R 755 /usr/share/nginx/html
4.2 应用自定义配置文件
备份原配置,并替换为你准备好的 nginx.conf:
bash
# 1. 备份原配置文件
sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
# 2. 复制新配置文件
sudo cp /root/Desktop/nginx.conf /etc/nginx/nginx.conf
# 3. 【关键】测试配置语法是否正确
sudo nginx -t
若输出 syntax is ok 和 test is successful,则继续下一步;若报错,请检查配置文件中路径是否写错。
5. 重启服务并验证
使所有配置生效:
bash
# 重启 Nginx
sudo systemctl restart nginx
# 查看运行状态(按 q 退出)
sudo systemctl status nginx
看到 Active: active (running) 且为绿色,即表示启动成功。
6. 配置防火墙
如防火墙(firewalld)处于运行状态,需放行 HTTP(80)和 HTTPS(443)端口。
bash
sudo firewall-cmd --state
若输出为 running,执行:
bash
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
提示:若第一步显示 not running,则无需进行防火墙放行。
7. 访问测试
由于配置中监听了本地回环地址 (127.0.0.1),请在虚拟机内部浏览器访问:
- 默认首页: http://localhost
- 前端项目 (含 API 代理): http://localhost:8088
- 特殊穿透页: http://localhost:8181
提示:若需在宿主机(Windows/Mac)访问,需修改 nginx.conf 将 listen 127.0.0.1:xxx 改为 listen xxx;,并开放对应防火墙端口。
常用管理命令速查
| 功能 | 命令 |
|---|---|
| 启动 | sudo systemctl start nginx |
| 停止 | sudo systemctl stop nginx |
| 重启 | sudo systemctl restart nginx |
| 重载配置 | sudo systemctl reload nginx |
| 检查配置语法 | sudo nginx -t |
| 查看运行状态 | systemctl status nginx |
| 配置文件路径 | /etc/nginx/nginx.conf |
| 默认网站目录 | /usr/share/nginx/html |
安装 Tesseract OCR 引擎
安装支持多语言(中、英、法、葡)的 OCR 识别引擎。
5.1 安装主程序与语言包
bash
sudo dnf install -y tesseract \
tesseract-langpack-chi_sim \
tesseract-langpack-chi_tra \
tesseract-langpack-eng \
tesseract-langpack-fra \
tesseract-langpack-por
5.2 修复语言包路径(关键)
openEuler 的包管理器将语言包安装在深层目录,需复制到默认识别路径才能生效。
bash
sudo cp /usr/share/tesseract/tessdata/*.traineddata /usr/share/tessdata/
5.3 验证安装
bash
tesseract --list-langs
成功标志:输出包含以下语言代码:
chi_sim(简体中文)chi_tra(繁体中文)eng(英文)fra(法文)por(葡萄牙文)
5.4 使用示例
识别图片中的中英文:
bash
tesseract image.png result -l chi_sim+eng
查看结果:
bash
cat result.txt
常见问题排查
| 问题现象 | 可能原因 | 解决方案 |
|---|---|---|
| 无法复制粘贴 | 未安装 desktop 包或未重启 | 确认安装 open-vm-tools-desktop 并执行 reboot |
| Java 命令找不到 | 环境变量未生效 | 执行 source /etc/profile 或重新登录终端 |
| Tesseract 报错 0 语言 | 语言包路径错误 | 执行 cp 命令修复路径,或设置 TESSDATA_PREFIX 环境变量 |
| DDE 启动黑屏 | 显卡驱动或内存不足 | 增加虚拟机内存至 4GB+,或在 VMware 设置中勾选"加速 3D 图形" |
🎉 恭喜!你的 openEuler 虚拟机已完全配置好,具备图形界面、Java 开发环境及多语言 OCR 能力,可以开始你的开发工作了!