记录在飞牛NAS系统中通过Docker搭建并配置Linux版本XAMPP镜像环境[图文]

CSDN 2024-10-25 08:37:01 阅读 76

最近官产飞牛NAS系统开始公测,发现介绍的还不错,于是在虚拟机里面搭建了一个飞牛NAS系统试一试,发现这个nas系统里面的docker特别好用,特别是在现在很难拉取Docker官网的镜像。

飞牛NAS里面的docker内容丰富,拉取速度也不慢,很适合在极空间的NAS里面用虚拟机运行,完全解决了极空间docker不使用代理无法拉取镜像的问题,有兴趣的可以试试。

这里记录在飞牛NAS系统中通过Docker搭建Linux版本XAMPP软件环境所遭遇的问题,不得不说为了在docker中运行XAMPP,愣是耗了两天的时间才搞定…


目录导读

一、在 Windows虚拟机中安装飞牛NAS系统二、Docker 安装 Linux版本XAMPP下载安装XAMPP镜像测试运行PHP示例修改XAMPP中的PHP版本

三、使用Zeronews内网穿透

一、在 Windows虚拟机中安装飞牛NAS系统

为了复刻之前遭遇的问题,所以决定在Windows系统的虚拟机中重新搭建飞牛nas系统测试,

首先通过飞牛NAS系统官网下载TRIM.iso 镜像

再在虚拟机中进行安装,(如果是在极空间虚拟机中安装就没这么麻烦了,只需要修改UEFI固件启动就能直接安装完成.)

新建虚拟机

在这里插入图片描述

选择操作系统

通过<code>hostnamectl命令查询到飞牛Nas系统(fnOs)内核是linux 6.X版本

在这里插入图片描述

后面就一直默认就行,直到等待分区fnOS安装

在这里插入图片描述

设置好分区后,进入安装,这操作流程也是简单

在这里插入图片描述

安装后,如果提示异常或者重启出现异常提示,就手动重启虚拟机,

直到出现

在这里插入图片描述

就是安装完毕。

然后在游览器中访问输出的(fnOs Web UI can be directly accessed at:)地址:

http://192.168.193.138:8000/登录注册进入NAS

在这里插入图片描述

在这里插入图片描述


二、Docker 安装 Linux版本XAMPP

Docker需要选择一个存储空间:

在使用Docker前需要先初始化存储空间,创建虚拟机时,注意虚拟机的硬盘大小,一开始我设置的20GB,后面不够用又重新追加20GB,才初始化文件目录。

安装chromium浏览器

飞牛NAS的应用中心中的应用,也是一些NAS热门的,本职上也是docker应用,只不过预先设置好的。

为了判断是否安装XAMPP成功,需要在nas中安装游览器

在这里插入图片描述

等待chromium浏览器安装完成

在这里插入图片描述

Docker镜像

一看docker仓库里,125页的镜像也是牛皮,

现在国内基本连不上docker官方的镜像库了,各大镜像源也开始收费的收费,停用的停用。

在这里插入图片描述


下载安装XAMPP镜像

下载XAMPP镜像

在镜像仓库里面搜索xampp;

选择faridjapan112/xampp镜像下载

在这里插入图片描述

安装XAMPP

下载好后,在本地镜像中

在这里插入图片描述

启动配置-资源限制看个人需求,开机自动启动建议开启

在这里插入图片描述

端口设置

左边本地端口,右边容器端口

建议修改本地端口,避免和Docker中的其他镜像冲突

在这里插入图片描述

存储位置

存储位置都是按目录结构创建,

至少要有一个路径映射,要不然后面php文件都不知道怎么放进去

在这里插入图片描述

其他的环境变量,功能,网络,命令都可以直接使用默认值,开始下一步

在这里插入图片描述

使用chromium浏览器打开 (172.17.0.1:8080 )

在这里插入图片描述

xampp环境搭建成功!

启动容器进入终端,查看目录结构

在这里插入图片描述

在这里插入图片描述


测试运行PHP示例

使用PHP基础示例:简单的在线文件管理 一文的代码作为一个demo运行,

在之前创建的/www映射路径下创建一个index.php并写入demo代码

完整路径:/vol1/1000/XAMPP/www/Engineering/index.php

修改启动目录

想要运行这个demo需要修改以下配置文件,修改xampp的启动目录

修改:/opt/lampp/apache2/conf/httpd.conf 文件

先将 /opt/lampp/apache2/conf/httpd.conf 文件导出到 /www 目录下,修改完后,在替换原文件,通过终端命令输入:

<code>cp /opt/lampp/apache2/conf/httpd.conf /www/httpd.conf

打开文件,将

Alias /bitnami/ "/opt/lampp/apache2/htdocs/"

Alias /bitnami "/opt/lampp/apache2/htdocs"

<Directory "/opt/lampp/apache2/htdocs">

Options Indexes FollowSymLinks

AllowOverride All

Order allow,deny

Allow from all

</Directory>

修改为:

Alias /bitnami/ "/www/Engineering/"

Alias /bitnami "/www/Engineering"

<Directory "/www/Engineering">

Options Indexes FollowSymLinks

AllowOverride All

Order allow,deny

Allow from all

</Directory>

其中的/www/Engineering/ 是指的项目目录,

再覆盖原有文件

cp /www/httpd.conf /opt/lampp/apache2/conf/httpd.conf

修改:/opt/lampp/etc/httpd.conf 文件

同样复制到/www目录下

cp /opt/lampp/etc/httpd.conf /www/etc_httpd.conf

在这里插入图片描述

打开文件,将229行和230行

在这里插入图片描述

修改为:

在这里插入图片描述

替换原有文件

<code>cp /www/etc_httpd.conf /opt/lampp/etc/httpd.conf

再重启 apache

/opt/lampp/lampp restartapache

然后刷新chromium游览器172.17.0.1:8080出现异常

Warning: Unknown: Failed to open stream: Permission denied in Unknown on line 0

Fatal error: Failed opening required ‘/www/Engineering/index.php’ (include_path=‘.:/opt/lampp/lib/php’) in Unknown on line 0

这是因为没有权限访问,

通过vdir 命令,查看到/www 目录权限

在这里插入图片描述

修改权限

<code>chown -R root:root /www/Engineering

chmod -R u+rwx,go+rwx /www/Engineering

在执行 /opt/lampp/lampp restartapache重启后刷新正常访问:

在这里插入图片描述

值得注意的是,每次修改 /www/Engineering 目录下的文件或目录后,

都需要重新修改一遍 /www/Engineering 目录权限,要不然还是会有异常。


修改XAMPP中的PHP版本

重新复现操作的时候发现,就这点问题,愣是没搞明白,

但实际上再刚开始出现

Warning: Unknown: Failed to open stream: Permission denied in Unknown on line 0

警告的时候,我以为是PHP版本的问题,毕竟查看目录发现没有php的文件,于是走偏了,又重新去php的官网下载了一个最新版的php,替换原来的php配置,这一系列操作/找资料又耗费了一段时间。

在这里插入图片描述

如果要修改XAMPP的PHP版本配置,可以参考:

记录下使用XAMPP为PHP更换不同的版本教程

如何在XAMPP中更改PHP版本

三、使用Zeronews内网穿透

ZeroNews 是一个创新的边缘云内网穿透平台,中文名称为【零讯】,旨在帮助用户快速解决内网与外网之间的安全、快速访问需求,通过自研高性能zeronews tunnel协议,满足在无需更改内网网络环境或安装 VPN 等工具的情况,实现用户即可通过 ZeroNews 便捷地访问内网应用及资源。

ZeroNews 为用户提供免安装客户端程序,下载即可快速运行,无需系统依赖,支持 Windows、macOS、Linux、Openwrt、树莓派 等 x86 和 ARM 系统及设备。

使用 ZeroNews 完全可以替代向日葵的内网穿透服务,而且免费

在Docker中使用ZeroNews 可以将Xampp搭建的172.17.0.1:8080地址映射到外网上,通过域名访问,

实现通过域名访问网站或者其他NAS服务。

可以参考:Docker 中 运行 Zeronews



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。