Быстрый инструмент веб -сайта. Запустите файл NIM и получите доступ к вашей веб -странице. Веб -сайт: https://nimwc.org

Смотрите больше в функциях.md
Чтобы начать работу, вам нужно только:
1.6.14 (протестировано с + 2.0 )Необязательные зависимости (отключены по умолчанию):
libwebp ) (требуется только при использовании Webp)0.9.58 (требуется только при использовании FireJail)xorg-server-xvfb , требуемый FireJail, установленным noX= )Для компиляции и установки вам нужен NIM. Вы можете легко установить 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 = использовать начальную загрузку и jQuerywater = вода CSS Framework, No JS, HTML Classless (не требуется классы на HTML) Эти варианты доступны только в Compiletime:
-d:rc = recompile. NIMWC использует пусковую установку, поэтому необходимо заставить перекомпилировать.-d:adminnotify = отправить журналы ошибок (ошибка) в указанную электронную почту администратора.-d:dev = разработка.-d:devemailon = Отправить электронную почту, когда активируется -d:dev .-d:demo = Используется на общественном тестовом сайте NIM Creator. Эта опция будет переопределять базу данных каждые 1 час со стандартными данными.-d:gitupdate = обновления непосредственно из GIT и принуждает жесткий сброс.-d:postgres = Использовать базу данных Postgres вместо SQLite.-d:packedjson = Используйте PackedJson вместо STD Lib Json. Оптимизация производительности.Есть 3 основных профиля пользователей:
Приведенные ниже права доступа применяются к основной программе. Плагины могут иметь свое собственное определение прав пользователей.
«Пользователь» может войти в систему и увидеть частные страницы и страницы блога. Этот пользователь не имеет доступа к добавлению или редактированию чего -либо.
«Модератор» может войти в систему и увидеть частные страницы и страницы блога. Пользователь может добавлять и удалять пользователей, но не может удалить или добавить пользователей «администратора». Пользователь не может редактировать JS, CSS и Core HTML - только на страницах и блогах.
«Администратор» имеет доступ ко всему.
Вы можете легко добавить и редактировать блог. Метаданные блог -страниц: Мета -описание и мета -ключевые слова. Также возможно указать категорию и теги.
В меню «Настройки» вы можете указать, как должны быть отсортированы ваши посты, например, на дату Modfied в порядке возрастания.
Чтобы показать Blogpost только с определенным именем, тегом или категорией, вы должны добавить критерии к URL. Это невозможно объединить.
website.com/blog?name=nim
website.com/blog?category=article
website.com/blog?tags=code
Несколько плагинов доступны. Вы можете скачать их в программе по адресу <webpage>/plugins/repo .
Репозиторий плагина расположена здесь: Репозиторий плагина NIMWC
При редактировании блог -страницы или обычной страницы нажмите Ctrl+S, чтобы сохранить.
Докер
Бродяга
Ngnix config
Google Recaptcha
Чтобы активировать Google Recaptcha, претендуйте на ваш сайт и ключ сервера и вставьте их в config.cfg .
Система
Скопируйте файл 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 строит
CrossCompiling, Build для Old Linux
Иногда вам может понадобиться построить для очень очень старого Linux, таких как Old Centots и Debian Old Stable, из недавнего Linux, например, New Arch или Ubuntu, вот как вы можете сделать это, без виртуальной машины со старым Linux для построения.
Необязательная зависимость.
Вы можете выбрать, сколько CPU и RAM NIMWC может использовать, FireJail заставит NIMWC полагать, что есть меньше процессора и оперативной памяти, которые действительно доступны физически. Если вы выберете слишком маленькие ресурсы для слишком большой нагрузки, то вы будете чувствовать, что когда вы попытаетесь запустить тяжелую программу на VirtualBox с слишком маленьким процессором и оперативной памятью, но все равно будет работать или сделать все возможное, чтобы попытаться запустить. Это может быть полезно для облаков, которые взимают с вас дополнительную плату, когда вы передаете определенный порог использования процессора и оперативной памяти.
NIMWC не зависит от какого -либо аппаратного устройства для работы, например, аудио, видео, USB, DVD и т. Д., Таким образом, вы можете блокировать доступ к аппаратным перипезалам, которые также блокируют свои аппаратные драйверы и библиотеки, которые могут иметь уязвимости, что делает ваш NIMWC более безопасным.
Существуют параметры, чтобы блокировать пользователя root и остальных пользователей в системе Linux, это помогает защитить ваш NIMWC от масштабирования привилегий, это когда непревзойденное нормальное пользователь становится корнем суперпользователя, или пользователь может видеть материалы других пользователей.
Кэши и временные каталоги устанавливаются как частные временные уникальные автогенерируемые TMPF, а это означает, что реальные не могут быть изменены из NIMWC.
noMnt=true , когда вы запускаете 1 экземпляр NIMWC на сервер, noMnt=false IS для того, когда вы запускаете несколько экземпляров NIMWC на сервер, потому что он может блокировать другие экземпляры подпапки в /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