当前位置: 首页 > news >正文

CMS(plone / joomla 搭建测试)

开源选择

wordpress 用得最多 也是最容易有漏洞被攻击 被挂木马的
joomla (JMS多站点:商业扩展) — 多站点需付费
Drupal
ProcessWire
Plone因其内置的强大安全特性和较少的用户基础(相比 WordPress 和 Joomla),可能被认为是这五个选项中最不容易被攻击的 CMS

ubuntu

宿主机开启代理,ubuntu提示
在这里插入图片描述

解决办法
在Windows中的C:\Users<your_username>目录下创建一个.wslconfig文件,然后在文件中写入如下内容

[experimental]
autoMemoryReclaim=gradual  
networkingMode=mirrored
dnsTunneling=true
firewall=true
autoProxy=true

然后打开powerShell用wsl --shutdown关闭WSL,之后再重启,提示就消失了。

在这里插入图片描述

Plone

安装过程可能需要执行的命令

# 软件包更新
sudo apt update
# 创建 python 到 python3 的符号链接
sudo apt install python-is-python3
# pip 
python3 -m pip --version
# 安装模板
sudo apt install cookiecutter
# 更新pip 
python3 -m pip install --upgrade pip
# 软件所需的最基本的工具集,包括 gcc(GNU 编译器集合)、g++(C++ 编译器)、make 等
sudo apt install build-essential
# 安装 Python 3 的 distutils 模块,它是 Python 标准库的一部分,提供了一些基本的功能来创建和安装 Python 模块和扩展。尽管大多数情况下它已经预装了,但在某些环境中可能需要手动安装。这里使用的是 apt-get 而不是 apt,两者功能相似,但 apt 更用户友好,而 apt-get 在脚本中更常用
sudo apt-get install python3-distutils
# libffi-dev 包含了用于调用外部 C 库函数的开发文件。FFI 代表外部函数接口(Foreign Function Interface),允许编程语言调用 C 语言编写的函数。对于一些需要与 C 库交互的 Python 扩展或应用来说,这是必需的。
sudo apt-get install libffi-dev

安装官网1教程
环境 ubuntu 版本必须24以上,python 必须3.12版本以上(包括3.12)

1、ubuntu 若一直卡在安装界面,请打开powershell输入wsl --update
2、查看是否在控制面板—程序—启用适用于Linux的Windows子系统,未启动请启动,并重启计算机
3、环境对了,创建项目和安装依赖就不会报错,有报错请查看你的网络和环境是否正确

# 列出python可安装版本
apt list -a python3*
# 安装python
sudo apt install python3.12
# 起别名
alias python='python3'
# 查看版本
python --verion
# 更新
sudo apt update
# 安装make (安装过程提示网络超时,可尝试关闭代理)
sudo apt install make

安装官网2教程

环境 ubuntu

注意:不可在硬盘下创建项目

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
之后执行命令

cd backend
make build # 会挺久的

build完结果
在这里插入图片描述

可更改默认配置
在这里插入图片描述

更改完后需要重新build!

启动make start,浏览器输入http://localhost:8080/
在这里插入图片描述

在这里插入图片描述

前端页面

# ubuntu安装nvm,关闭窗口重新打开输入nvm -v查看版本
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
# 安装node
nvm ls-remote
nvm install --lts
# 查看版本
node -v
# 启用 corepack 以便 Node.js 将安装 pnpm 作为包管理器。
npm i -g corepack@latest && corepack enable
# 查看版本,进行pnpm 下载
pnpm -v
# 安装 pipx
python3 -m pip install --user pipx
python3 -m pipx ensurepath
export PATH="$HOME/.local/bin:$PATH"# 验证安装
pipx --version
# 安装
make install
# 启动
make start

在这里插入图片描述
在这里插入图片描述
启动成功页面展示!
在这里插入图片描述
在这里插入图片描述

Plone 前端托管在 3000 端口运行的 Node.js HTTP 服务器上,构成默认用户界面,并需要访问 Plone 后端和 Web 服务器。

开启创建站点

官网地址
1、浏览器输入http://localhost:8080/,点击创建一个新plone站点按钮,输入用户名和密码

Plone 后端运行在 8080 端口,它是一个 WSGI 进程,充当托管 Plone API 的 HTTP 服务器。最佳做法是将其与专用数据库(例如 ZEO 服务器)或关系数据库(通过 RelStorage 支持 PostgreSQL、MySQL/MariaDB 和 Oracle)配对。如果使用 ZEO,则必须使用单独的共享文件系统来存储二进制数据。

初始密码在instance.yaml文件中定义

在这里插入图片描述

2、输入对应信息即可,路径对应输入展示http://localhost:8080/web1
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/127ee1076c9c47bd93356199f82e6552.png
在这里插入图片描述
路径标识符默认Plone , 启动命令 make start

路径标识符已修改 web1, 则前端启动则对应修改 RAZZLE_DEV_PROXY_API_PATH=http://localhost:8080/web1 pnpm start

前端项目: 同时启动两个站点

# 默认3000 ---> 指向Plone站点
make start # http://localhost:3000/
# 另起一个端口1234 ---> 指向web1站点
HOST=localhost PORT=1234 pnpm start # http://localhost:1234/ 

在这里插入图片描述

基本练习

指向不同的站点官网

RAZZLE_DEV_PROXY_API_PATH=http://localhost:8080/Plone1 pnpm start

backend

backend\pyproject.toml 添加依赖

dependencies = [
"Products.CMFPlone==6.1.1",
"plone.api",
"plone.restapi",
"plone.volto",
// "collective.volto.formsupport",
// "collective.honeypot",
// "collective.volto.otp",
"kitconcept.voltolighttheme",
]

执行make install , 失败则尝试执行 make sync

backend/src/project/title/dependencies.zcml 添加包

<?xml version="1.0" encoding="utf-8"?>
<configure xmlns="http://namespaces.zope.org/zope">
<include package="plone.restapi" />
<include package="plone.volto" />
<include package="plone.app.caching" />
<include package="kitconcept.voltolighttheme" />
</configure>

执行make start

浏览器输入 http://localhost:8080/Plone/dexterity-types/Plone%20Site/@@behaviors
勾选
Header customizations for sites/subsites
Theme colors customizations for sites/subsites
Footer customizations for sites/subsites

frontend

frontend\core\packages\volto\src\components\theme\App\App.jsx 可修改页面布局
frontend\packages\volto-project-title\package.json 添加主题依赖

"addons": [
"@kitconcept/volto-light-theme"
],
"dependencies": {
"@kitconcept/volto-light-theme": "6.0.0"
},

执行 make install

project-title\frontend\volto.config.js 应用主题

const addons = ['volto-project-title'];
const theme = '@kitconcept/volto-light-theme';module.exports = {
addons,
theme
};

执行make start

joomla 线上环境部署

设置主机环境

此外,Joomla 需要满足一些 PHP 设置才能顺利安装。这些设置通常位于服务器上的 php.ini 或 user.ini 配置文件中。如果您使用的是共享主机,请咨询您的主机服务商,了解如何更改这些设置(如果可以)。如果您使用的是本地主机(例如使用 XAMPP)、VPS 或专用主机,则不会受到这些设置的限制,您可以自行设置。

php.ini 文件的最小值如下所示:

memory_limit:256M
upload_max_filesize:30M
post_max_size:30M
max_execution_time:30
可以使用较低的 upload_max_filesize 和 post_max_size 值,但较大的扩展程序将无法上传并导致不可预测的问题。

创建数据库

如果您尚未设置数据库,请立即设置。主机设置教程中介绍了主机服务的相关内容。此外,还有一个为 Joomla! 创建数据库的教程,其中介绍了 localhost 和 phpMyAdmin 方法。

您需要记录实际开始安装 Joomla 时所需的基本数据库信息。

  • 数据库位置,即使在主机服务上,通常也是 localhost。它可以是特定主机的服务器,例如 dbserver1.yourhost.com。
  • 数据库名称
  • 数据库用户名
  • 数据库用户密码
下载和上传 Joomla! 软件包文件

从“下载 Joomla”页面上的链接下载最新版本的 Joomla!。

将下载的 Joomla 安装包 zip 文件移动到服务器。对于托管服务,您可以使用 cPanel 文件管理器的上传功能,也可以使用 FTP 客户端将下载的 Joomla 4.x zip 文件传输到您的服务器。市面上有多种 FTP 客户端可供选择。这里有一份详细的 FTP 客户端软件比较。如有疑问,请使用 FileZilla。

您服务器的“根”文件夹
最好将下载的 zip 包移动到您的服务器并在那里解压,而不是在本地解压后再移动文件树。通常,您会将网页文件上传到托管服务的根文件夹。该文件夹通常名为 public_html,但其他名称也可能包含 htdocs,具体取决于您的主机商如何设置服务器。对于 Joomla 来说,您可以将文件直接加载到 public_html 或您在其中创建的子文件夹中。

警告!
如果您在自己的电脑上解压文件,然后将其复制到服务器,请务必仅移动 Joomla 软件包中包含的文件夹和文件。如果您将文件夹和文件解压到一个名为“Joomla”的文件夹中,然后上传该文件夹,则您的网站将需要通过 yoursitename.com/Joomla 而不是 yoursitename.com 访问。您可以将 Joomla 子目录重命名为更适合网站的名称,例如 jblog,这样可能会更方便。请注意,目录名称应小写,不带空格,并使用减号(而不是下划线)分隔单词。

您可以使用各种命令行工具(例如 unzip)直接在主机上解压 zip 包文件,这些工具需要安装在服务器上。如果您的主机服务使用管理工具 cPanel,则可以在文件管理器中点击“解压”按钮。此外,您也可以使用免费的第三方工具 Akeeba Kickstart 来解压。解压后的文件和目录将放置在当前文件夹中。本地计算机上的解压取决于您的操作系统。请尝试右键单击,查看是否有解压菜单。在这种情况下,您的操作系统可能会将文件放在与 zip 文件同名的文件夹中。解压后,您可以删除 zip 文件,并将解压文件夹重命名为简短且适合在 URL 中使用的名称。

开始安装

满足上述要求、创建数据库并准备好所需的 Joomla 文件后,您就可以安装 Joomla 了。打开您常用的浏览器,访问网站的域名,启动 Joomla 网页安装程序。在主机安装中,请使用 https://www.yoursitename.com。如果您在本地安装 Joomla,请使用 http://localhost/<Joomla 文件路径>,然后您应该会看到安装界面。

Joomla 会尝试根据您浏览器的语言自动识别“选择语言”字段。您可以根据需要更改此设置。

详情请查看官网
Installing_Joomla官网

本地测试

如果您要在自己的电脑上安装 Joomla!(您的网站不会出现在互联网上),您可以使用 XAMPP 软件包进行安装。安装 XAMPP,然后使用“常规方法”让您的 Joomla! 测试网站正常运行。
xampp

启动以下服务
在这里插入图片描述
mysql端口被占用
命令行查找

netstat -aon | findstr :3306

找到对应的pid,打开任务管理器进行关闭。

测试,输入http://localhost/访问,并点击phpMyAdmin是否能正常打开
在这里插入图片描述

打开htdocs文件夹,放入下载好的Joomla_5.3.0-Stable-Full_Package里的代码,重命名为web,浏览器输入http://localhost/web

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
浏览器输入http://localhost/web/administrator/输入你用户密码进行登录
在这里插入图片描述

绑定多域名

多数是付费的,免费的还没找到
利用第三方扩展如JMS (Joomla Multi-Sites) 或Virtual Domains等来创建和管理多个站点。这可以让你从单一的Joomla后台管理所有站点,并且能够共享用户、内容和其他资源。
方案

相关文章:

  • 如何让 Google 收录 Github Pages 个人博客
  • Java 泛型与类型擦除:为什么解析对象时能保留泛型信息?
  • redis数据结构-12(配置 RDB 快照:保存间隔和压缩)
  • 事件响应策略规范模版
  • 宇宙中是否存在量子现象?
  • Volcano 在 Kubernetes 生态中的介绍
  • rust语言,与c,go语言一样也是编译成二进制文件吗?
  • TLS 1.3黑魔法:从协议破解到极致性能调优
  • mac的Cli为什么输入python3才有用python --version显示无效,pyenv入门笔记,如何查看mac自带的标准库模块
  • 基于Scrapy-Redis的分布式景点数据爬取与热力图生成
  • GTS-400 系列运动控制器板卡介绍(三十六)--- 电机到位检测功能
  • TCP/IP 知识体系
  • STM32外设AD-DMA+定时读取模板
  • IHttpHandler和Tcp Listener的web服务器接收上传文件有什么区别
  • 在哪一个终端下运行有影响吗?pip install pillow
  • 【全网首发】解决coze工作流批量上传excel数据文档数据重复的问题
  • ChatGPT再升级!
  • Linux——一键部署应用脚本
  • 大语言模型与多模态模型比较
  • Android trace中CPU的RenderThread与GPU
  • 公示资费套餐、规范营销行为,今年信息通信行业将办好这十件实事
  • 湖南4个县市区被确定为野生蘑菇中毒高风险区:中毒尚无特效解毒药
  • 福州一宋代古墓被指沦为露天厕所,仓山区博物馆:已设置围挡
  • 浙江省委金融办原副主任潘广恩被“双开”
  • 广西壮族自治区党委副书记、自治区政府主席蓝天立接受审查调查
  • 贝壳一季度收入增长42%:二手房市场活跃度维持在高位