Una herramienta de sitio web rápida. Ejecute el archivo NIM y acceda a su página web. Sitio web: https://nimwc.org

Ver más en características.md
Para comenzar solo necesitas:
1.6.14 (probado con + 2.0 )Dependencias opcionales (deshabilitadas por defecto):
libwebp ) (solo requerido cuando se usa webp)0.9.58 (solo requerido cuando se usa FireJail)xorg-server-xvfb , requerido por la configuración dejail noX= )Para compilar e instalar necesita NIM. Puede instalar fácilmente NIM usando Elegedim con:
curl https://nim-lang.org/choosenim/init.sh -sSf | sh
Solo necesita realizar 1A o 1B o 1C, no ambos.
# 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/loginEsto generará el ejecutable en la carpeta.
# 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/loginEsto lo guiará a través de la instalación.
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
Estos argumentos deben preferirse al archivo ejecutable, por ejemplo ./nimwc cdata
--showconfig = Mostrar opciones de configuración y compilación de INI analizadas.--newadmin = Agregar el usuario administrador.--gitupdate = actualizaciones y forzar un restablecimiento duro.--initplugin = Crear esqueleto de complemento dentro de TMP/.--vacuumdb = Base de datos Vacuum y continuar (mantenimiento de la base de datos).--backupdb = copia de seguridad completa comprimida de la base de datos.--backupdb-gpg = copia de seguridad completa de la base de datos firmada de la base de datos.--newdb = genera la base de datos con tablas estándar ( no anula ni elimina tablas). newdb se inicializará automático, si no existe ninguna base de datos.--insertdata = insertar datos estándar, por ejemplo, --insertdata bulma (esto anulará los datos existentes)bulma = Use Bulma CSS, no se requiere JS (diseño oficial) [Tema oficial predeterminado]bootstrap = usar bootstrap y jQuerywater = Marco de CSS de agua, sin JS, HTML sin clase (no se requieren clases en HTML) Estas opciones solo están disponibles en Compiletime:
-d:rc = recompilar. NIMWC está usando un lanzador, por lo tanto, es necesario forzar una recompilación.-d:adminnotify = enviar registros de error (error) al correo electrónico de administración especificado.-d:dev = desarrollo.-d:devemailon = Enviar correo electrónico cuando -d:dev se activa.-d:demo = utilizado en el sitio de prueba de prueba pública NIM Sitio web Creator. Esta opción anulará la base de datos cada 1 hora con los datos estándar.-d:gitupdate = actualizaciones directamente de git y forzar un reinicio duro.-d:postgres = Use Postgres Database en lugar de SQLite.-d:packedjson = Use Packedjson en lugar de std lib json. Optimización de rendimiento.Hay 3 perfiles de usuario principales:
Los derechos de acceso a continuación se aplican al programa principal. Los complementos pueden tener su propia definición de derechos de usuario.
El "usuario" puede iniciar sesión y ver páginas privadas y páginas de blogs. Este usuario no tiene acceso para agregar ni editar nada.
El "moderador" puede iniciar sesión y ver páginas privadas y páginas de blogs. El usuario puede agregar y eliminar usuarios, pero no puede eliminar o agregar usuarios de "administrador". El usuario no puede editar JS, CSS y Core HTML, solo dentro de las páginas y publicaciones de blog.
El "administrador" tiene acceso a cualquier cosa.
Puede agregar fácilmente y editar páginas de blog. Las páginas de blog admiten metadatos: meta descripción y meta palabras clave. También es posible especificar una categoría y etiquetas.
En el menú Configuración, puede especificar cómo se deben ordenar sus publicaciones de blog, por ejemplo, en la fecha modificada en orden ascendente.
Para mostrar solo el blog con un nombre, etiqueta o categoría específicos, debe agregar los criterios a la URL. No es posible combinarlos.
website.com/blog?name=nim
website.com/blog?category=article
website.com/blog?tags=code
Hay múltiples complementos disponibles. Puede descargarlos dentro del programa en <webpage>/plugins/repo .
El repositorio de complementos se encuentra aquí: repositorio de complementos NIMWC
Al editar una página de blog o una página normal, presione Ctrl+S para guardar.
Estibador
Vagabundo
Configuración ngnix
Google Recaptcha
Para activar Google Recaptcha reclama su sitio y la clave del servidor e inserte en config.cfg .
System
Copie el archivo nimwc.service en /lib/systemd/system/
sudo nano /lib/systemd/system/nimwc.service
Habilitar el inicio automático de NIMWC:
sudo systemctl enable nimwc
sudo systemctl start nimwc
sudo systemctl status nimwc
CI BUSCAS
Crosscompiling, Build para Old Linux
A veces es posible que necesite construcción de Linux muy muy antiguo, como Old Centos y Debian Old Stable, de un Linux reciente, como New Arch o Ubuntu, aquí está cómo puede hacerlo, sin una máquina virtual con un Linux viejo para construir.
Dependencia opcional.
Puede elegir cuánta CPU y RAM NIMWC puede usar, FireJail hará que NIMWC crea que hay menos CPU y RAM que realmente esté físicamente disponible. Si elige recursos demasiado pequeños para una carga demasiado grande, entonces se sentirá como cuando intente ejecutar un programa pesado en una caja virtual con CPU y RAM demasiado pequeña, pero aún se ejecutará, o hará lo mejor para intentar ejecutar. Esto puede ser útil para las nubes que le cobran más cuando pasa cierto umbral de uso de CPU y RAM.
NIMWC no depende de ningún dispositivo de hardware para ejecutar, como audio, video, USB, DVD, etc., por lo que puede bloquear el acceso al hardware Peripehals, que también bloquea sus controladores de hardware y bibliotecas que pueden tener vulnerabilidades, lo que hace que su NIMWC sea más seguro.
Hay opciones para bloquear el usuario de la raíz y el resto de los usuarios en el sistema Linux, eso ayuda a proteger a su NIMWC contra las escamas de privilegios, es cuando un usuario normal no privilegiado se convierte en una raíz de Superuser, o un usuario puede ver otras cosas de los usuarios.
Los cachés y los directorios temporales se montan como TMPF de autogenerados únicos temporales privados, lo que significa que los reales no pueden ser alterados desde NIMWC.
noMnt=true es para cuando ejecuta 1 instancia nimwc por servidor, noMnt=false es para cuando ejecuta múltiples instancias NIMWC por servidor, porque puede o no bloquear otras instancias de acceder subcarpetas en /mnt/ simultáneamente.
noX=false Si está ejecutando un servidor sin cabeza o Chromebook. noX=true usa Xvfb para x aislamiento ( xorg-server-xvfb ), es posible que deba instalarlo si desea usarlo, pero no es una dependencia dura, solo use noX=false y no necesita instalarlo si no lo desea.
Las características provienen del núcleo Linux en sí, por lo que hay un costo cero en el rendimiento y la tecnología ya está allí, incluso si la usa o no.
Entonces, en conclusión, NIMWC, que se compiló, no necesitará acceso a la mayoría de su sistema, solo su propia carpeta, la integración con FireJails oculta todo lo demás.
Su versión local de FireJail To Be> = 0.9.58 . Instalar usando su Administrador de paquetes:
# 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