Ein schnelles Website -Tool. Führen Sie die NIM -Datei aus und greifen Sie auf Ihre Webseite zu. Website: https://nimwc.org

Weitere Informationen finden Sie in Funktionen.md
Um loszulegen, brauchen Sie nur:
1.6.14 (getestet mit + 2.0 )Optionale Abhängigkeiten (standardmäßig deaktiviert):
libwebp ) (nur bei der Verwendung von WebP erforderlich)0.9.58 (nur bei Verwendung von FireJail erforderlich)xorg-server-xvfb , erforderlich durch FireJail-Einstellung noX= )Um zu kompilieren und zu installieren, benötigen Sie NIM. Sie können NIM problemlos mit ausgewähnen mit:
curl https://nim-lang.org/choosenim/init.sh -sSf | sh
Sie müssen nur 1a oder 1b oder 1c ausführen - nicht beide.
# 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/loginDadurch wird die ausführbare Datei im Ordner generiert.
# 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/loginDies führt Sie durch die 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
Diese Argumente sollten auf ausführbare Datei vorbereitet werden, z ./nimwc cdata
--showconfig = Parsed INI-Konfiguration anzeigen und kompilieren Optionen.--newadmin = Fügen Sie den Administrator Benutzer hinzu.--gitupdate = updates und erzwingen Sie einen harten Reset.--initplugin = Plugin-Skelett in TMP/erstellen.--vacuumdb = VACUUM-Datenbank und Weiter (Datenbankwartung).--backupdb = komprimierte vollständige Sicherung der Datenbank.--backupdb-gpg = komprimierte signierte vollständige Sicherung der Datenbank.--newdb = generiert die Datenbank mit Standardtabellen (überschreibt oder löscht Tabellen nicht ). newdb wird automatisch initialisiert, wenn keine Datenbank vorliegt.--insertdata = Standarddaten einfügen, z. --insertdata bulma (Dies wird vorhandene Daten überschrieben)bulma = Bulma CSS verwenden, kein JS erforderlich (offizielles Design) [Standard offizielles Thema]bootstrap = Verwenden Sie Bootstrap und JQuerywater = Wasser CSS -Gerüst, kein JS, HTML -Klassenlos (keine Klassen auf HTML erforderlich) Diese Optionen sind nur nach Zusammenarbeit erhältlich:
-d:rc = neu kompilieren. NIMWC verwendet einen Launcher, es ist daher erforderlich, um einen Neukompilieren zu erzwingen.-d:adminnotify = Fehlerprotokolle (Fehler) an die angegebene Administrator -E -Mail.-d:dev = Entwicklung.-d:devemailon = E -Mail senden, wenn -d:dev aktiviert ist.-d:demo = verwendet auf der öffentlichen Testseite Nim Website Creator. Diese Option überschreibt die Datenbank alle 1 Stunde mit den Standarddaten.-d:gitupdate = Aktualisierungen direkt aus Git und erzwingen Sie einen harten Reset.-d:postgres = Verwenden Sie die Postgres -Datenbank anstelle von SQLite.-d:packedjson = packedjson anstelle von std lib json. Leistungsoptimierung.Es gibt 3 Hauptbenutzerprofile:
Die folgenden Zugriffsrechte gilt für das Hauptprogramm. Plugins können ihre eigene Definition der Benutzerrechte haben.
Der "Benutzer" kann sich anmelden und private Seiten und Blogseiten sehen. Dieser Benutzer hat keinen Zugriff auf das Hinzufügen oder Bearbeiten von etwas.
Der "Moderator" kann sich anmelden und private Seiten und Blogseiten sehen. Der Benutzer kann Benutzer hinzufügen und löschen, aber keine "Administrator" -Nutzer löschen oder hinzufügen. Der Benutzer kann JS, CSS und Core HTML nicht bearbeiten - nur innerhalb der Seiten und Blogposts.
Der "Administrator" hat Zugriff auf irgendetwas.
Sie können Blogpages problemlos hinzufügen und bearbeiten. Die Blogpages unterstützen Metadaten: Meta -Beschreibung und Meta -Schlüsselwörter. Es ist auch möglich, eine Kategorie und Tags anzugeben.
Im Menü "Einstellungen" können Sie angeben, wie Ihre Blogposts sortiert werden sollen, z. B. auf modfiedem Datum in aufsteigender Reihenfolge.
Um Blogpost nur mit einem bestimmten Namen, Tag oder einer Kategorie zu zeigen, müssen Sie die Kriterien an die URL anhängen. Es ist nicht möglich, diese zu kombinieren.
website.com/blog?name=nim
website.com/blog?category=article
website.com/blog?tags=code
Mehrere Plugins sind verfügbar. Sie können sie innerhalb des Programms unter <webpage>/plugins/repo herunterladen.
Das Plugin -Repository befindet sich hier: NIMWC -Plugin -Repository
Beim Bearbeiten einer Blogpage oder einer normalen Seite drücken Sie Strg+s, um sie zu speichern.
Docker
Landstreicher
Ngnix config
Google Recaptcha
Um Google Recaptcha zu aktivieren, behaupten Sie, dass Sie Site- und Serverschlüssel und in config.cfg einfügen.
Systemd
Kopieren Sie die Datei nimwc.service in /lib/systemd/system/
sudo nano /lib/systemd/system/nimwc.service
Aktivieren Sie den Auto -Start von NIMWC:
sudo systemctl enable nimwc
sudo systemctl start nimwc
sudo systemctl status nimwc
CI Builds
Überschreitung, bauen für alte Linux
Manchmal benötigen Sie möglicherweise für sehr, sehr alte Linux, wie alte Centos und Debian Old Stall, aus einem kürzlichen Linux, wie dem neuen Arch oder Ubuntu, hier, wie Sie es tun können, ohne eine virtuelle Maschine mit einem alten Linux zu bauen.
Optionale Abhängigkeit.
Sie können auswählen, wie viel CPU & RAM NIMWC verwenden kann. FireJail lässt NIMWC glauben, dass es weniger CPU und RAM gibt, die die tatsächlich physisch verfügbar sind. Wenn Sie zu kleinen Ressourcen für eine zu große Last wählen, wird es sich wie beim Versuch anfühlen, ein schweres Programm auf einer Virtualbox mit zu kleinen CPU und RAM durchzuführen, aber dennoch auszuführen oder das Beste zu tun, um zu versuchen. Dies kann für Wolken nützlich sein, die Ihnen zusätzlich berechnen, wenn Sie eine bestimmte Nutzung von CPU und RAM übergeben.
NIMWC ist nicht von einem Hardware -Gerät abhängig, wie Audio, Video, USB, DVD usw., sodass Sie den Zugriff auf die Hardware -PeripeHals blockieren können, die auch die Hardware -Treiber und -Bibliotheken blockiert, die möglicherweise Schwachstellen haben, und Ihr NIMWC sicherer wird.
Es gibt Optionen, um den Root -Benutzer und den Rest der Benutzer im Linux -System zu blockieren. Das hilft Ihnen, Ihr NIMWC vor Privilegskalationen zu schützen. Wenn ein nicht privilegierter normaler Benutzer zu Superuser -Root wird oder ein Benutzer andere Benutzer sehen kann.
Caches und temporäre Verzeichnisse werden als private vorübergehende einzigartige, autogenerierte TMPFs montiert, was bedeutet, dass die realen nicht innerhalb von NIMWC geändert werden können.
noMnt=true ist noMnt=false wenn Sie 1 Instanz NIMWC pro Server ausführen /mnt/
noX=false Wenn Sie einen Kopflosenserver oder Chromebook ausführen. noX=true verwendet Xvfb für die X-Isolierung ( xorg-server-xvfb ). Möglicherweise müssen Sie sie installieren, wenn Sie es verwenden möchten, aber keine harte Abhängigkeit ist, verwenden Sie einfach noX=false und Sie müssen es nicht installieren, wenn Sie nicht möchten.
Die Funktionen stammen aus dem Linux -Kernel selbst
Abschließend benötigt NIMWC, dass binärer Binärer Zugang zu dem größten Teil Ihres Systems benötigt, nur für seinen eigenen Ordner, die Integration mit FireJails alles andere.
Ihre lokale Version von FireJail muss> = 0.9.58 sein. Installieren Sie mit Ihrem Paketmanager:
# 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