快速网站工具。运行NIM文件并访问您的网页。网站:https://nimwc.org

在功能中查看更多
首先,您只需要:
1.6.14 (用 + 2.0测试)可选依赖项(默认情况下禁用):
libwebp )(仅在使用WebP时才需要)0.9.58 (仅在使用Firejail时才需要)xorg-server-xvfb ,Firejail设置noX= )要编译并安装您需要NIM。您可以使用Colecosim轻松安装NIM:
curl https://nim-lang.org/choosenim/init.sh -sSf | sh
您只需要执行1A或1B或1C-而不是两者。
# Install nimwc with nimble
nimble install nimwc
# Edit the config.cfg accordingly
# (change the confg.cfg path to your nimble folder and the correct package version)
nano ~ /.nimble/pkgs/nimwc-[PACKAGE-VERSION]/config/config.cfg
# Run nimwc
# (to add an Admin append the arg "newadmin": nimwc --newadmin)
# (to include some standard pages: nimwc --insertdata)
nimwc
# Login
127.0.0.1:7000/login这将在文件夹中生成可执行文件。
# Clone the repository
git clone https://github.com/ThomasTJdev/nim_websitecreator
cd nim_websitecreator
# Generate and edit the config.cfg accordingly
cp config/config_default.cfg config/config.cfg
nano config/config.cfg
# Compile
nimble -d:release build
# Run nimwc
# (to add an Admin append the arg "newadmin": nimwc --newadmin)
# (to include some standard pages: nimwc --insertdata)
./nimwc
# Login
127.0.0.1:7000/login这将指导您完成安装。
curl https://raw.githubusercontent.com/ThomasTJdev/nim_websitecreator/master/devops/autoinstall.sh -sSf | sh
# OR
curl https://raw.githubusercontent.com/ThomasTJdev/nim_websitecreator/master/devops/autoinstall.sh -sSfLO && echo "6cc7510305db7b0ae5e3755137e71c23c7e08829264ddfb82702e6cac297f1063b46c48c01eafb16156c27a53aa23d1737c34f354ae1834c8498f5bd64b81b3c autoinstall.sh" | sha512sum -c - && sh ./autoinstall.sh
这些参数应添加到可执行文件,例如./nimwc cdata
--showconfig =显示解析的INI配置和编译选项。--newadmin =添加管理员用户。--gitupdate =更新并强制重置。--initplugin =在TMP/内部创建插件骨架。--vacuumdb =真空数据库并继续(数据库维护)。--backupdb =压缩数据库的完整备份。--backupdb-gpg =压缩数据库的完整备份。--newdb =用标准表生成数据库(不会覆盖或删除表)。如果不存在数据库,则newdb将初始化自动化。--insertdata =插入标准数据,例如--insertdata bulma (这将覆盖现有数据)bulma =使用Bulma CSS,不需要JS(官方设计)[默认官方主题]bootstrap =使用bootstrap和jquerywater =水CSS框架,无JS,HTML无类(无需HTML类) 这些选项仅在Compiltime上可用:
-d:rc =重新编译。 NIMWC正在使用发射器,因此需要强制重新编译。-d:adminnotify =将错误日志发送到指定的管理电子邮件。-d:dev =开发。-d:devemailon =在激活-d:dev时发送电子邮件。-d:demo =在公共测试网站NIM网站创建者上使用。此选项将使用标准数据每1小时覆盖数据库。-d:gitupdate =直接从git中更新并强制执行硬重置。-d:postgres =使用Postgres数据库,而不是SQLITE。-d:packedjson =使用packedjson代替std lib json。性能优化。有3个主要用户配置文件:
以下访问权限适用于主计划。插件可以具有自己的用户权利定义。
“用户”可以登录并查看私人页面和博客页面。该用户无法访问添加或编辑任何内容。
“主持人”可以登录并查看私人页面和博客页面。用户可以添加和删除用户,但不能删除或添加“ admin”用户。用户不能编辑JS,CSS和Core HTML - 仅在页面和博客文章中。
“管理员”可以访问任何东西。
您可以轻松添加和编辑博客页面。博客页面支持元数据:元描述和元关键字。也可以指定类别和标签。
在“设置”菜单中,您可以指定应该如何分类博客文章,例如按照升级顺序进行改装日期。
要仅显示具有特定名称,标签或类别的Blogpost,您必须将标准附加到URL。不可能将它们结合起来。
website.com/blog?name=nim
website.com/blog?category=article
website.com/blog?tags=code
有多个插件可用。您可以在程序中下载它们,网址为<webpage>/plugins/repo 。
插件存储库位于这里:NIMWC插件存储库
编辑博客页面或普通页面时,请按CTRL+S保存。
Docker
流浪汉
NGNIX配置
Google recaptcha
要激活Google Recaptcha声称您网站和服务器密钥,然后将它们插入config.cfg 。
Systemd
将文件nimwc.service复制到/lib/systemd/system/
sudo nano /lib/systemd/system/nimwc.service
启用NIMWC的自动启动:
sudo systemctl enable nimwc
sudo systemctl start nimwc
sudo systemctl status nimwc
CI构建
杂交,为旧Linux建造
有时,您可能需要从最近的Linux(例如New Arch或Ubuntu)中使用非常旧的Linux(例如Old Centos和Debian Old Stable)来构建,这是您无法做到的,而没有带有旧Linux构建的虚拟机。
可选的依赖性。
您可以选择CPU和RAM NIMWC可以使用多少,Firejail会使Nimwc相信实际上可用的CPU&RAM较少。如果您选择太小的资源来实现太大的负载,那么当您尝试在cpu&ram太小的虚拟箱上运行一个重型程序时,就会感觉到,但仍会运行,或者尽力尝试运行。当您通过CPU和RAM使用的某些阈值时,这对于云可能会很有用。
NIMWC不依赖任何要运行的硬件设备,例如音频,视频,USB,DVD等,因此您可以阻止对硬件PeripeHals的访问,从而阻止其硬件驱动程序和可能具有脆弱性的库,从而使您的NIMWC更加安全。
有可以阻止root用户和Linux系统上其余用户的选项,这有助于保护您的NIMWC免受特权量表的影响,这就是当无特权的普通用户成为超级用户root时,或者用户可以看到其他用户的东西。
缓存和临时目录被安装为私人临时独特的自动化TMPF,这意味着无法从NIMWC内更改真实的目录。
noMnt=true是在每台服务器运行1个实例nimwc时, noMnt=false是在每个服务器运行多个实例时,因为它可能会同时阻止其他在/mnt/ mnt的实例。
noX=false如果您运行了无头服务器或Chromebook。 noX=true使用Xvfb进行x隔离( xorg-server-xvfb ),如果您想使用它,则可能需要安装它,但不是很难的依赖性,只需使用noX=false即可使用它,就不需要安装它。
这些功能来自Linux内核本身,因此性能成本为零,即使您使用或不使用该技术,技术也已经存在。
因此,总之,NIMWC被编译为二进制文件,不需要访问您自己的大多数系统,仅仅是其自己的文件夹,与Firejails的集成隐藏了其他所有内容。
您本地版本的Firejail需要> = 0.9.58 。使用软件包管理器安装:
# Arch (package manager)
sudo pacman -S firejail
# Ubuntu (built files)
https://launchpad.net/ubuntu/+source/firejail/0.9.58-1 # <-- download
sudo apt install ./firejail_0.9.58-1_arm64.deb
# Compile
git clone https://github.com/netblue30/firejail.git
cd firejail
./configure && make && sudo make install-strip