我们一般不提倡用命令行来搭建网站环境,入手太难,还总出错。
按照linux系统来说,可以去左侧点击实例,在服务器列表右侧有一个服务器列表,列表中的最右侧点击更多,可以看到更换系统盘的选项,点击进入后,能看到公共镜像,包括linux和windows,还有可选的宝塔面板,建站的话使用这个就可以了。
如果你选择的是windows系统,那么也可以安装相应的环境面板来建站,可以去博客里面找找看。
更多内容请参阅
阿里云帮助文档
吧,内容挺丰富的,这里也写不开。看不懂可以问我。
申诉已通过。
VPS如果是linux系统的话我们可以安装宝塔或WDCP控制面板来实现。
宝塔面板和WDCP安装好,就可以在面板里面创建站点,创建数据库和配置网站等操纵。
跟使用虚拟主机面板差不多,比较适合不会Linux代码的新手朋友建站。
本回答由网友推荐
从2月份开始的[模版自动化系列],已通过一系列的文章熟悉多种虚拟机模版的自动化构建,但在企业实际环境中模版的数量会远远超过这些,此时单一通过shell进行管理和更新,依然非常复杂和繁琐的(虽然相比以前已经有了很大的提高)。现在把自己基于GitOps的方式来管理模版分享出来,进一步提高模版的构建和管理效率,本篇文章将介绍如何通过GitLab CI/CD对模版进行自动化管理。
对于模版保存还存在一个重要的难题需要解决,那就是当云平台或其他自动调用的时候,并不是通过模版名称进行识别,那仅仅通过名称更新模版,就会导致其他系统无法正确识别新模版。vCenter 6.5开始支持模版更新,此特性正解决了我们遇到的问题,并且Packer也是在8月底的版本支持此特性(OVF模版)。使用vCenter内容库还有一个好处,内容库支持订阅,在企业内部如果包含多个vCenter环境的情况下,只需构建一次即可。
通过之前的文章大家对模版构建已经很熟悉了,为了提高移动设备的阅读体验,本手册不再介绍详细的模版配置,您可以通过访问 直接查看代码和配置。
基于GitOps自动化构建vSphere模版特性:
使用Gitlab存储模版配置文件;基于Gitlab CI/CD实现自动化模版构建;基于Git提交记录进行语义版本管理(feet、fix),版本号自增,并存储到模版的Notes中;定时执行CI/CD任务实现模版变异;采用vCenter内容库存储模版,并以-latest为后缀;每次构建自动更新vCenter内容库模版,保持ID不变,以保证vRA云平台或其他工具调用最新模版;所有密码和配置,通过.gitlab-ci.yml进行定义;提供Windows2016/2019、Ubuntu1804/1910/2004、CentOS7/8等多种模版;所有模版进行基础优化(可参考对应模版的自动应答文件);Windows模版使用ISO镜像已集成最新补丁,缩短了部署时间;经过vSphere 7.0、Packer 1.6.4环境测试。相关工具:Packer:是一个开源的自动化虚拟机模版构建工具,支持私有云和公有云,几乎涵盖所有的环境。
vSphere:是VMware企业级虚拟化软件,被企业客户广泛使用,具备稳定性高、性能好、安全性高和易使用的特点。
govc:是一个基于govmomi的cli工具,实现对vSphere的远程管理。
Packer-provisioner-windows-update:Windows Update for packer插件。
Gitlab CI/CD:是一个CI/CD工具,与代码集成在一起工作。
Semantic-delivery-gitlab:镜像用于实现语义版本管理。
Harbor:是私有Docker镜像仓库,用于存储用于执行Packer、Govc和Genisoimage的Docker镜像。
相关代码:中包含了Gitlab CI/CD所需的所有文件。
针对各模版的配置请参考历史的文章。
CI/CD可以根据情况选择不同工具,原理都相同。
需要先通过相关工具中的地址下载packer、govc和windows update for packer三个执行文件,存储到与Dockerfile相同的目录中,Dockerfile如下:
FROM centos:8LABEL maintainer="Alex Li <guoqiangli@vmware.com>"ENV PACKER_VERSION=1.6.4ENV GOVC_VERSION=v0.23.0ENV GOVC_INSECURE=trueENV TIME_ZONE Asia/ShanghaiRUN ln -sf /usr/share/zoneinfo/${TIME_ZONE} /etc/localtimeADD ./govc /usr/bin/ADD ./packer /usr/bin/ADD ./packer-provisioner-windows-update /usr/binRUN chmod a+x /usr/bin/govc /usr/bin/packer /usr/bin/packer-provisioner-windows-update && yum install -y genisoimageWORKDIR /tmpCMD ["/bin/bash"]
使用Docker Build构建Docker Image,并上传到容器仓库(私有或公共)中:
docker build -t harbor.corp.local/library/gitops-packer:v1.0 .docker push login harbor.corp.localdocker login -u admin harbor.corp.localdocker push harbor.corp.local/library/gitops-packer:v1.0上传semantic-devlivery-gitlab镜像到Harbor
docker pull hutson/semantic-delivery-gitlab:9.1.0docker tag hutson/semantic-delivery-gitlab:9.1.0 harbor.corp.local/library/semantic-delivery-gitlab:9.1.0docker push harbor.corp.local/library/semantic-delivery-gitlab:9.1.0在Gitlab中创建Access Token使用个人账户登录Gitlab;进入到用户设置->访问令牌;填写令牌名称、到期日期和选择权限->创建个人访问令牌;保存Token备用;创建项目,并提交所有代码到仓库中
这里不进行详细操作说明,下面是最终仓库内容的截图:
修改.gitlab-ci.yml配置文件此文件是Gitlab CI/CD的主配置文件,常用配置参数在此文件中定义,无需修改packer和操作系统自动应答文件。
提示1:本手册为了易读,所有敏感信息也在此配置文件中声明,强烈建议使用Gitlab项目变量进行定义,避免敏感信息泄漏。
提示2:以下代码示例已经过删减,完成代码请从Github获取。
# 环境变量定义,生产环境不建议在此配置敏感定义(例如:密码)variables: DOCKER_DRIVER: "overlay2" GITLAB_TOKEN: "xxxxxxxxxxxxx"# 定义用于执行packer、govc和genisoimage的Docker镜像,需要提前构建 PACKER_DOCKER_IMAGE: "harbor.corp.local/library/packer-gitops:v1.0"# 定义用于创建模板的vCenter相关信息,密码部分推荐在Gitlab的项目变量定义,以提高安全性。 VC_SERVER: "vcenter.corp.local" VC_USERNAME: "Administrator@vsphere.local" VC_PASSWORD: "VMware1!" VC_DATACENTER: "Labs-DC02" VC_CLUSTER: "DC02-Cluster" VC_CONTENT_LIBRARY: "DC02-VM-Templates" VC_FOLDER: "Templates" VC_DATASTORE: "SSD_DATASTORE"# 定义VM相关配置 VM_NETWORK: "vlan100" VM_CPU: 2 VM_MEM: 4096 VM_DISK: 81920 VM_VIDEO_RAM: 16384 VM_HW_VERSION: 17# 定义安装光盘的存储路径,Winodws系统需要根据安装光盘的不同调整自动应答文件。# -----此处省略部分代码,从github中获取完整代码------OS_CENTOS8_ISO: "[SSD_DATASTORE 0-ISO/CentOS-8.2.2004-x86_64-dvd1.iso" OS_WINDOWS2016_ISO: "[SSD_DATASTORE] 0-ISO/cn_windows_server_2016_vl_x64_dvd.iso"# 定义CentOS8自动应答光盘的存储路径,每次编译会自动覆盖之前版本。 OS_CENTOS8_KS_ISO: "[SSD_DATASTORE] 0-ISO/centos8-ks.iso" OS_CENTOS8_GUI_KS_ISO: "[SSD_DATASTORE] 0-ISO/centos8-gui-ks.iso"# 定义VMware Tools安装路径 OS_WINDOWS_VMTOOLS: "[SSD_DATASTORE] 0-ISO/VMware-tools-windows-11.1.5.iso"# 定义Windows系统使用pvscsi驱动的路径,此文件只能同时被一个VM挂载,需要为每个Windows系统配置一个文件。 OS_WIN2016_DRIVER: "[SSD_DATASTORE] 0-ISO/win2016-pvscsi-Windows8.flp"# 定义GOVC环境变量,用于上传CentOS8自动应答的ISO(ks.cfg) GOVC_URL: ${VC_SERVER} GOVC_USERNAME: ${VC_USERNAME} GOVC_PASSWORD: ${VC_PASSWORD}# 此配置用于定义Linux root和ops用户、Windows Administrator和ops用户的密码,密码推荐在Gitlab的项目变量定义,以提高安全性。 LINUX_SSH_PASSWORD: "VMware1!" WINDOWS_PASSWORD: "VMware1!"# 此变量用于定义虚拟机名称,最终会以-latest作为后缀存储到vCenter内容库中。 CENTOS8_VM_NAME: "CentOS8" WIN2016_VM_NAME: "Win2016"# 定义Windows安装KEY,根据不同的安装版本配置。 WIN2016_KEY: "XXXXX-XXXXX-XXXXX-XXXXX-XXXX-XXXX" WIN2019_KEY: "XXXXX-XXXXX-XXXXX-XXXXX-XXXX-XXXX"#定义CI/CD的阶段,devliver阶段用于生成版本号,validate阶段用于验证packer配置文件是否正确,build-iso阶段用于CentOS8的ISO制作,并自动上传到共享存储中,,build阶段用于模版构建,list-library阶段用于列出内容库模版。stages: - deliver - validate - build-iso - build - list-library#采用语义版本管理,基于commit消息增加版本号和生成Release文档,此阶段不会进行打包和部署,仅仅是添加版本tag。deliver: image:name: harbor.corp.local/library/sematic-delivery-gitlab:9.1.0entrypoint: [""] stage: deliver only:- master script:- semantic-delivery-gitlab --token ${GITLAB_TOKEN}#此阶段用于验证packer配置文件是否正确。packer-validate: image:name: ${PACKER_DOCKER_IMAGE} stage: validate script:- packer validate ./CentOS8/centos-vsphere.json- packer validate ./Win2016/win2016-vsphere.json only:- tags dependencies:- deliver#此阶段用于构建CentOS8所需的ISO文件,并上传到vSphere存储中(自动覆盖之前版本)。#for CentOS8。CentOS8-ks-iso-build: image:name: ${PACKER_DOCKER_IMAGE} stage: build-iso script:- cd CentOS8- sed -i 's/__PASSWORD__/'"${LINUX_SSH_PASSWORD}"'/g' ./ks.cfg- genisoimage -o centos8-ks.iso -V "OEMDRV" ./ks.cfg- govc datastore.upload -ds ${VC_DATASTORE} centos8-ks.iso 0-ISO/centos8-ks.iso only:changes:- CentOS8/ks.cfg# -----此处省略部分代码,从github中获取完整代码------ #此阶段用于生成虚拟机模板,模板名基于job中变量定义,最终模板使用-latest最为后缀。#for CentOS8。packer-build-CentOS8: image:name: ${PACKER_DOCKER_IMAGE} stage: build variables:VM_NAME: ${CENTOS8_VM_NAME} script:- cd CentOS8- packer build --force centos-vsphere.json only:- tags dependencies:- packer-validate# -----此处省略部分代码,从github中获取完整代码------ #for Windows Server 2016。packer-build-Win2016: image:name: ${PACKER_DOCKER_IMAGE} stage: build variables:VM_NAME: ${WIN2016_VM_NAME}OS_WINDOWS_DRIVER: ${OS_WIN2016_DRIVER} script:- cd Win2016- sed -i 's/__PASSWORD__/'"${WINDOWS_PASSWORD}"'/g' ./Autounattend.xml- sed -i 's/__LICENSEKEY__/'"${WIN2016_KEY}"'/g' ./Autounattend.xml- packer build --force win2016-vsphere.json timeout: 120m only:- tags dependencies:- packer-validate# -----此处省略部分代码,从github中获取完整代码------ #list vcenter content library。list-content-library: image:name: ${PACKER_DOCKER_IMAGE} stage: list-library script:- govc library.info -json ${VC_CONTENT_LIBRARY}/* only:- tags标准git commit消息格式
标准且规范的commit消息不仅可以保证版本历史的可读性,还可以了解每次变更的内容和影响范围,并会自动在Release页面生成文档,所以,强烈建议采用标准的commit消息格式和内容。
fix: 当修复代码问题时,使用此标记。示例:fix: 修复Windows模版ISO文件错误。版本号变化:1.0.0->1.0.1
feat: 当新增功能或模版时,使用此标记。示例:feat: 增加Photon模版。版本号变化:1.0.0->1.1.0
[skip ci] 当不希望自动执行CI/CD时,在消息中增加此标记。示例:fix: 更新ReadME.[skip ci]。版本号变化:无变化
验证执行过程和结果当提交变更后,Gilab CI/CD会基于.gitlab-ci.yml中的配置自动执行流水线,整个过程分为2组5个步骤:
执行语义版本管理,为代码增加tag标记;基于tag执行packer配置文件验证、CentOS8自动应答ISO构建、镜像构建和列出内容库内容;流水线执行过程如下图所示,共花费25分钟时间,完成8个模版的自动化构建:
登录vCenter内容库查看模版更新:
添加定时任务在Gitlab CI/CD的计划中,添加一个每周/月的定时执行计划,添加完成后如下图所示。
[可选]Windows镜像集成最新补丁在模版构建过程中,Windows的构建时间最长,某些情况下长达2个小时,可能会触发Gitlab CI/CD的超时和Packer的超时机制,导致任务失败。为提高模版构建效率和降低出错率,建议自行封装带有最新补丁的模版,下面是大致的制作过程,共参考。
下载DISM++工具(国人制作,图形化操作);解压缩系统安装光盘到目录中(d:win2016-iso),并提取解压目录下sourcesinstall.wim文件,拷贝到另一目录中(d:win2016-iso);打开DISM++工具,载入install.wim文件,挂载路径需提前创建(d:win2016-isomnt);选中载入的install.wim系统,打开会话;使用系统安装光盘安装系统,并执行系统更新,更新完成后在已安装系统更新中(添加/删除程序)找到安装的补丁版本号;登录到网站,基于版本好下载补丁的msu格式文件,保存到目录中(d:win2016-isomsu);在DISM++工具页面,控制面板->更新管理->添加(d:win2016-isomsu),并执行安装,等待安装完成(时间较长);补丁安装完成后,DISM++->文件->另存为映像(d:win2016-iso ew.wim)存储新的映像;使用new.wim替换系统安装盘解压缩目录的install.wim(名称必须是install.wim);DISM++->常用工具->工具箱->ISO生成器,源选择替换install.wim文件的系统安装盘加压缩目录,目标选择d:win2016-iso目录,并指定新光盘名称和添加标签;DISM++->文件->卸载映像;包含指定补丁的系统安装光盘制作完成;上传新的ISO到共享存储中,并修改.gitlab-ci.yml文件使用新的ISO镜像路径。提示1:DISM++虽然提供系统更新的功能,但是针对Windows Server系统似乎不正常,所以建议使用手工添加补丁的方式。
提示2:通过DISM工具还可以将pvscsi的驱动添加到安装光盘中,这样就无需额外添加pvscsi驱动。
完成至此通过Gitlab CI/CD、Govc和Packer实现了vSphere环境下的模版GitOps,以后只要修改了相关配置文件,就会自动执行模版构建,由于此构建是并发执行的,效率非常高,最后,祝大家可以轻松工作和快乐生活。
有几十个基于 Ubuntu 的发行版可用。从 面向初学者的发行版到漂亮的发行版,Ubuntu 主导着 Linux 桌面空间。
如果通用发行版还不够的话,你还会发现一些 奇怪的基于 Ubuntu 的发行版。
我不打算参与 Ubuntu 与 Fedora的辩论。我只是说如果你想在 Fedora 领域中尝试一些东西,我可以列出一些选项。
请记住,我不会列出面向服务器的 Linux 发行版。此处的列表适用于 桌面 Linux 用户。
该列表没有特定的排名顺序,并且提到的选项可能并不总是适合新用户。因此,在第一次安装任何基于 Fedora 的发行版之前,请确保你浏览了文档。
1、Fedora 定制版Fedora 有很多定制版spin,但没有 Ubuntu 那么多。
Fedora 定制版不是基于 Fedora 的独立发行版,而只是具有不同桌面环境或采用平铺窗口管理器的不同版本的 Fedora。
如果你不喜欢默认的 GNOME 桌面环境,你可以下载其中一种。
一些可用的选项是:
Fedora KDE PlasmaFedora i3 平铺窗口管理器Fedora LXQtFedora LXDEFedora MATE-COMPIZFedora Cinnamon 版2、Nobara当你在找 游戏发行版时,列表将由 Debian 和 Arch 衍生产品占据主导地位。因此,如果你正在寻找基于 Fedora 且具有相同效果的游戏发行版,那么Nobara就是你所需要的。
Nobara 是由 Proton GE 的维护者制作的游戏发行版,他也是 Lutris 开发团队的成员,因此你可以期待开箱即用的下一代游戏体验!
为了带来更好的体验,Nobara 在 Fedora 上预先应用了 30 多个补丁程序,以及一组游戏工具,包括 Lutris、GOverlay、Stream 和 ProtonUp。
3、Ultramarine基于 Fedora 的发行版,开箱即用,适用于普通用户,它就是 Ultramarine!
Ultramarine 预装了一堆工具,包括 Flathub、RPM fusion 和该发行版自己的专用仓库。
你将获得一个预配置的桌面,使其看起来赏心悦目,因此你不再需要花费额外的时间进行调整。
此外,对于那些在 Fedora 基础上寻求 Pantheon 和 Budgie 桌面环境的微调体验的人来说,Ultramarine 是完美的选择。
4、RisiOS“一个支持 Web 应用的 Fedora。”
这是一种描述 RisiOS的方式,但等等,不止如此。
从 Bash 脚本的用户 GUI 到欢迎屏幕,你只需单击几下即可准备好系统,RisiOS 让 Fedora 的使用更加轻松!
RisiOS 还为你提供与 Linux Mint 相同的 Web 应用管理器,而且非常棒。
但是在你跳转到下载页面之前,要记住一件事是 RisiOS 仍处于测试阶段(如网站所说的 Big beta),你可能会遇到一些小问题。
5、Qubes OSQubes OS是一个有趣的 Linux 发行版,它让你可以自由选择要用作基础的操作系统。它也提供了一个 Fedora 模板,并且他们会定期维护它。
事实上,Qubes OS 也是一个 注重隐私的 Linux 发行版。因此,你可以在使用基于 Fedora 的产品时获得最新技术,而且完全自由。
值得注意的是,Qubes OS 需要大量系统资源和至少 8-16 GB的内存才能使用,并且具有挑战性的学习曲线。
6、Berry LinuxBerry Linux是一个简单的基于 Fedora 的发行版,你可以直接从 CD 或任何其他介质启动。它支持自动硬件检测,并且似乎定期维护。
Berry Linux 提供对英语和日语的支持。它预装了一些媒体播放器、照片编辑应用和基本应用。
7、ClearOS它不是 来自 Intel 的 Clear Linux 项目,尽管听起来很相似。
ClearOS是基于 Fedora 的发行版,专为服务器环境量身定制,或帮助你在 HP 支持的家庭网络上运行 IT 相关任务和流式传输音乐/视频。你必须根据自己的要求同时购买家庭版/企业版。
如果你不想购买而想自己管理,还有一个社区版。
你的看法长期使用 Linux 的用户可能还记得 Korora 和 Chapeau 发行版。它们曾经在 Fedora 用户中很受欢迎,但从那时起这些项目就停止了。
虽然 Fedora 本身很棒,但我并不反对衍生发行版。看看 Linux Mint 的成功。它是 Ubuntu 的衍生产品,但已经获得了如此好的用户群。谁知道这些基于 Fedora 的发行版是否会像 Mint 一样流行?

我缺失了任何基于 Fedora 的活跃发行版吗?你如何看待 Fedora 衍生版及其定制版本? 在下面的评论中告诉我!
via:
作者:Abhishek Prakash选题:lkxed译者:geekpi校对:wxy
本文由 LCTT原创编译,Linux中国荣誉推出
一、VMware部分
1、Vmware简介
虚拟机就是一个用来模拟真实的物理机环境的一个软件,可以在虚拟机中安装不同版本的操作系统。
就是一个把下载好的ISO安装在物理机操作系统的一个软件上面的,VMware就是这种模拟真实系统其中的一个软件。
2.VMware的下载
如果大家想在自己的电脑上安装多个操作系统的话,应该怎么做呢?
双系统虚拟机Vmware的安装下载链接:
下载好以后找到的下载好的exe文件,双击运行。

点击下一步
点击许可证激活一下。
因为VMware人家是一个收费的软件。
输入激活码,激活码链接
二、Kali与编程:小白黑客是如何下载和安装Kali Linux渗透系统的?
1.下载KALI

官网:
CDN是一个内容分发系统。他主要是用来解决因为传输距离不同和运营商的结点不同造成的网络速度低下,性能低下的问题。
为了加快访问目标主机资源的速度,起到加速的目的。
CDN也可以降低CC攻击载荷。
如何绕过CDN找到目标主机的真实IP呢?
扫描网站看他有没有Phpinfo、test,有可能可以从这些文件里面获取到目标主机的真实IP
内部邮箱,有些企业他会设置自己的内部邮箱,可以通过邮件RSS订阅获取到真实ip
国外访问,因为大多数国内的网站他只是对国内的网站进行了CDN分发,没有对国外的网站进行CDN分发,所以通过国外访问一般直接解析的是真实IP。
安装KALIKali Linux它是一个Linux发行版本。
是基于Debain的Linux发行版本。
然后kali2021 是基于debain10的linu发行版本。
Kali的前身是BT(BackTrack Linux)。
是一个完全免费的Linux发行版本。
典型安装:就是使用人家官方提供的安装操作模板
自定义安装:就是自己定义一些参数。
虚拟机里面的设置磁盘大小的时候采用的是稀疏磁盘(就是用多少占多少)
大家这里尽量设置大一点,防止以后磁盘容量爆满需要扩容会带来一些麻烦。
第三篇:Kali与编程:KALI系统中如何切换普通用户和root用户?
每日寄语选一句
操作演示1.因为从kali2020开始默认禁止root用户登录
2.Root用户跟普通用户的区别:
某些文件的访问权限方面有问题。
Root的权限更大
普通用户对系统中的有些文件不能访问。
补充说明:终端Ctrl ++放大
Ctrl -- 缩小
自动补全Tab键
从物理机切入虚拟机Ctrl+G
从虚拟机切入物理机 Ctrl space(空格键)
多个窗口之间切换用windows+tab键
4、具体操作
Passwd 是用来更改密码的密令
Sudo 是用来root用户执行的命令
Su 后面跟用户 用来切换用户
配置静态IP和DNS
进入vim后按住键盘的i键进入vim编辑器的输入模式
输入下面的内容
address 后跟设置的ip
netmask 后跟掩码
gateway 后跟网关
输入完成以后,按一下Esc键,退出输入模式
然后按住Shift键不放,按两下Z退出vim编辑器
配置DNS
重启一下网络
配置kali源源获取地址:
#阿里云
deb kali-rolling main non-free contrib
deb-src kali-rolling main non-free contrib
#中科大
#清华大学
deb kali-rolling main contrib non-free
deb-src kali-rolling main contrib non-free
更新一下软件包
关机命令:
halt
或者shutdown -h
更新系统命令:
apt upgrade
谨记:一定要在关机的情况下做快照。