Un outil de site Web rapide. Exécutez le fichier NIM et accédez à votre page Web. Site Web: https://nimwc.org

Voir plus dans les fonctionnalités.md
Pour commencer, vous avez seulement besoin:
1.6.14 (testé avec + 2.0 )Dépendances facultatives (désactivées par défaut):
libwebp ) (requis uniquement lors de l'utilisation de webp)0.9.58 (uniquement requis lors de l'utilisation de Firejail)xorg-server-xvfb , requis par le paramètre firejail noX= )Pour compiler et installer, vous avez besoin de NIM. Vous pouvez facilement installer NIM en utilisant ChoosenIm avec:
curl https://nim-lang.org/choosenim/init.sh -sSf | sh
Vous n'avez qu'à effectuer 1A ou 1B ou 1C - pas les deux.
# 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/loginCela générera l'exécutable dans le dossier.
# 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/loginCela vous guidera à travers l'installation.
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
Ces arguments doivent être appliqués dans un fichier exécutable, ./nimwc cdata exemple
--showconfig = afficher des options de configuration et de compilation ini analysées.--newadmin = Ajouter l'utilisateur de l'administrateur.--gitupdate = mises à jour et forcer une réinitialisation dure.--initplugin = Créer un squelette de plugin à l'intérieur de TMP /.--vacuumdb = base de données vide et continue (maintenance de la base de données).--backupdb = Sauvegarde complète compressée de la base de données.--backupdb-gpg = Sauvegarde complète signée compressée de la base de données.--newdb = génère la base de données avec des tables standard ( ne remplace pas ou ne supprime pas les tables). newdb sera initialisé automatique, si aucune base de données n'existe.--insertdata = insérer des données standard, par exemple --insertdata bulma (cela remplacera les données existantes)bulma = Utilisez Bulma CSS, pas de JS requis (conception officielle) [Thème officiel par défaut]bootstrap = Utilisez Bootstrap et JQuerywater = Water CSS Framework, No JS, HTML sans classe (pas de classes sur HTML requises) Ces options ne sont disponibles qu'en compilation:
-d:rc = recompile. NIMWC utilise un lanceur, il est donc nécessaire de forcer une recompilation.-d:adminnotify = Envoyer des journaux d'erreur (erreur) à l'e-mail d'administration spécifié.-d:dev = développement.-d:devemailon = Envoyer un e-mail lorsque -d:dev est activé.-d:demo = Utilisé sur le site de test public NIM Créateur de site Web. Cette option remplacera la base de données toutes les 1 heure avec les données standard.-d:gitupdate = met à jour directement à partir de Git et forcer une réinitialisation dure.-d:postgres = Utilisez la base de données Postgres au lieu de SQLite.-d:packedjson = Utilisez PackEdjson au lieu de std lib json. Optimisation des performances.Il y a 3 principaux profils d'utilisateurs:
Les droits d'accès ci-dessous s'appliquent au programme principal. Les plugins peuvent avoir leur propre définition des droits des utilisateurs.
L'utilisateur peut se connecter et voir des pages privées et des pages de blog. Cet utilisateur n'a pas accès à l'ajout ou à l'édition de quoi que ce soit.
Le "modérateur" peut se connecter et voir des pages privées et des pages de blog. L'utilisateur peut ajouter et supprimer les utilisateurs, mais ne peut pas supprimer ou ajouter des utilisateurs "admin". L'utilisateur ne peut pas modifier JS, CSS et Core HTML - uniquement dans les pages et les articles de blog.
L'administrateur a accès à n'importe quoi.
Vous pouvez facilement ajouter et modifier les page de blog. Les page de blog prennent en charge les métadonnées: Meta Description et Meta Keywords. Il est également possible de spécifier une catégorie et des balises.
Dans le menu Paramètres, vous pouvez spécifier comment vos articles de blog doivent être triés, par exemple à la date modfiée dans l'ordre croissant.
Pour afficher le blog qu'avec un nom, une balise ou une catégorie spécifique, vous devez ajouter les critères à l'URL. Il n'est pas possible de les combiner.
website.com/blog?name=nim
website.com/blog?category=article
website.com/blog?tags=code
Plusieurs plugins sont disponibles. Vous pouvez les télécharger dans le programme sur <webpage>/plugins/repo .
Le référentiel du plugin est situé ici: Référentiel du plugin NIMWC
Lorsque vous modifiez une page de blog ou une page normale, appuyez sur Ctrl + S pour enregistrer.
Docker
Vagabond
NGNIX Config
Google Recaptcha
Pour activer Google RecaptCha, affirmez votre site et votre clé de serveur et les insérer dans config.cfg .
Systemd
Copiez le fichier nimwc.service dans /lib/systemd/system/
sudo nano /lib/systemd/system/nimwc.service
Activer le début automatique de NIMWC:
sudo systemctl enable nimwc
sudo systemctl start nimwc
sudo systemctl status nimwc
CI CI
Crosscompiling, construire pour Old Linux
Parfois, vous devrez peut-être construire pour très très vieux Linux, comme Old Centos et Debian Old Stable, à partir d'un Linux récent, comme New Arch ou Ubuntu, voici comment vous pouvez le faire, sans une machine virtuelle avec un vieux Linux à construire.
Dépendance facultative.
Vous pouvez choisir le montant du CPU et du RAM NIMWC, Firejail fera croire à NIMWC qu'il y a moins de processeur et de RAM que le fait physiquement disponible. Si vous choisissez des ressources trop petites pour une charge trop grande, cela ressemblera à lorsque vous essairez d'exécuter un programme lourd sur une VirtualBox avec un processeur et un RAM trop petits, mais que vous allez toujours fonctionner ou faire de son mieux pour essayer de s'exécuter. Cela peut être utile pour les nuages qui vous facturent plus lorsque vous passez un certain seuil d'utilisation du processeur et de la RAM.
NIMWC ne dépend pas d'un périphérique matériel à exécuter, comme l'audio, la vidéo, l'USB, le DVD, etc., vous pouvez donc bloquer l'accès au matériel Peripehals, qui bloque également ses pilotes matériels et ses bibliothèques qui peuvent avoir des vulnérabilités, ce qui rend votre NIMWC plus sécurisé.
Il existe des options pour bloquer l'utilisateur racine et le reste des utilisateurs sur le système Linux, cela aide à protéger votre NIMWC contre les échelles de privilèges, c'est quand un utilisateur normal non privilégié devient une racine de superutilisatrice ou qu'un utilisateur peut voir d'autres utilisateurs.
Les caches et les répertoires temporaires sont montés comme des TMPF privés privés uniques autogénés, ce qui signifie que les vrais ne peuvent pas être modifiés à partir de NIMWC.
noMnt=true est pour que lorsque vous exécutez 1 instance nimwc par serveur, noMnt=false est pour que vous exécutez plusieurs instances NIMWC par serveur, car elle peut ou non bloquer d'autres instances d'accès aux sous-dossiers sur /mnt/ simultanément.
noX=false Si vous exécutez un serveur sans tête ou un Chromebook. noX=true utilise Xvfb pour x isolation ( xorg-server-xvfb ), vous devrez peut-être l'installer si vous souhaitez l'utiliser, mais ce n'est pas une dépendance difficile, utilisez simplement noX=false et vous n'avez pas besoin de l'installer si vous ne le souhaitez pas.
Les fonctionnalités proviennent du noyau Linux lui-même, donc il n'y a aucun coût sur les performances et la technologie est déjà là même si vous l'utilisez ou non.
Ainsi, en conclusion, NIMWC étant compilé binaire n'aura pas besoin d'accéder à la plupart de votre système, juste son propre dossier, l'intégration avec Firejails cache tout le reste.
Vous, version locale de Firejail to Besoins, soit> = 0.9.58 . Installez en utilisant votre gestionnaire de packages:
# 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