diff --git a/content/posts/hugo-error-fix/index.md b/content/posts/hugo-error-fix/index.md index 246a666..5dcd7fd 100644 --- a/content/posts/hugo-error-fix/index.md +++ b/content/posts/hugo-error-fix/index.md @@ -10,7 +10,7 @@ categories: ["Разработка", "Hugo"] При запуске команды `hugo server` возникала ошибка: -``` +```shell ERROR html/template:_partials/head.html:153:13: no such template "_internal/google_analytics.html" ``` @@ -18,7 +18,7 @@ ERROR html/template:_partials/head.html:153:13: no such template "_internal/goog ### 1. Исправление ошибки с Google Analytics -В новых версиях Hugo внутренний шаблон `_internal/google_analytics.html` был удален. +В новых версиях Hugo внутренний шаблон `_internal/google_analytics.html` был удален. Необходимо заменить его использование на частичный шаблон из темы PaperMod: ```html @@ -31,29 +31,30 @@ ERROR html/template:_partials/head.html:153:13: no such template "_internal/goog ### 2. Обновление шаблона Google Analytics -В шаблоне `themes/PaperMod/layouts/partials/google_analytics.html` также -потребовалось обновить способ получения ID Google Analytics, так как в новых -версиях Hugo поле `.Site.GoogleAnalytics` было заменено на +В шаблоне `themes/PaperMod/layouts/partials/google_analytics.html` также +потребовалось обновить способ получения ID Google Analytics, так как в новых +версиях Hugo поле `.Site.GoogleAnalytics` было заменено на `.Site.Config.Services.GoogleAnalytics.ID`. ### 3. Исправление ошибок с устаревшим .Site.Social -В шаблонах `twitter_cards.html` и `opengraph.html` использовались устаревшие +В шаблонах `twitter_cards.html` и `opengraph.html` использовались устаревшие обращения к `.Site.Social`, которые были заменены на `.Site.Params.Social`. ### 4. Исправление путей к частичным шаблонам Также были исправлены неправильные пути к частичным шаблонам в нескольких файлах: + - `twitter_cards.html` -- `schema_json.html` +- `schema_json.html` - `opengraph.html` ## Результат -После всех исправлений сайт успешно запускается командой `hugo server` и -доступен по адресу http://localhost:1313/ +После всех исправлений сайт успешно запускается командой `hugo server` и +доступен по адресу ## Вывод -При обновлении Hugo или тем важно следить за изменениями в API и устаревшими -функциями. Использование устаревших элементов может привести к ошибкам сборки сайта. \ No newline at end of file +При обновлении Hugo или тем важно следить за изменениями в API и устаревшими +функциями. Использование устаревших элементов может привести к ошибкам сборки сайта. diff --git a/content/posts/writefreely/index.md b/content/posts/writefreely/index.md new file mode 100644 index 0000000..5431082 --- /dev/null +++ b/content/posts/writefreely/index.md @@ -0,0 +1,273 @@ +--- +title: "Полная инструкция: Установка WriteFreely на wf.gelonet.ru (Debian 13)е" +date: 2025-11-02T19:00:00+03:00 +draft: false +tags: ["writefreely", "howto", "debian", "fediverse"] +categories: ["selfhosting"] +--- + +Предполагается, что у вас есть: + +- VPS с Debian 13, +- Доступ к серверу через sudo, +- Доменное имя gelonet.ru, зарегистрированное у любого регистратора. + +## 🔹 Шаг 0: Настройка DNS (в панели регистратора) + +Зайдите в панель управления вашего регистратора домена (например, reg.ru, nic.ru, Beget и т.д.). + +Найдите раздел «Управление DNS» или «Зоны DNS» для домена gelonet.ru. + +Создайте A-запись для поддомена: + +Имя (host): wf +Тип: A +Значение (IP): [ваш_публичный_IP_сервера] +TTL: 300 или по умолчанию + +Пример: +wf.gelonet.ru → 5.129.217.146 + +Сохраните изменения. +⏱ DNS может обновиться от нескольких секунд до 10–30 минут. Проверить можно командой: + +```bash +dig +short wf.gelonet.ru +# или +nslookup wf.gelonet.ru +``` + +Результат должен совпадать с IP вашего сервера. + +## 🔹 Шаг 1: Подготовка сервера + +Подключитесь к серверу по SSH и выполните: + +```bash +# Обновление системы +sudo apt update && sudo apt upgrade -y + +# Установка необходимых пакетов +sudo apt install -y nginx curl tar ufw +``` + +## 🔹 Шаг 2: Настройка фаервола (UFW) + +Разрешите SSH, HTTP и HTTPS: + +```bash +sudo ufw allow OpenSSH +sudo ufw allow 'Nginx Full' # открывает 80/tcp и 443/tcp +sudo ufw enable +``` + +Проверка: + +```bash +sudo ufw status verbose +``` + +💡 Порт 80 нужен для получения сертификата, порт 443 — для доступа к сайту по HTTPS. + +## 🔹 Шаг 3: Установка WriteFreely + +```bash +# Создаём директорию +sudo mkdir -p /var/www/writefreely +cd /var/www/writefreely + +# Скачиваем последнюю версию (v0.16.0 на момент написания) +sudo curl -L https://github.com/writefreely/writefreely/releases/download/v0.16.0/writefreely_0.16.0_linux_amd64.tar.gz -o writefreely.tar.gz + +# Распаковываем +sudo tar -xzf writefreely.tar.gz --strip-components=1 +sudo rm writefreely.tar.gz + +# Назначаем права +sudo chown -R www-data:www-data /var/www/writefreely +``` + +## 🔹 Шаг 4: Настройка WriteFreely + +```bash +sudo -u www-data /var/www/writefreely/writefreely config start +``` + +Ответьте на вопросы: + +```shell + Environment: Production, behind reverse proxy + Server address: localhost:8080 (оставьте по умолчанию) + Database: SQLite (проще для старта) или MySQL (если настроена БД) + Site name: например, Мой блог + Admin username: ваш email + Admin password: надёжный пароль + Остальное — по желанию +``` + +Сгенерируйте ключи шифрования: + +```bash +sudo -u www-data /var/www/writefreely/writefreely keys generate +``` + +## 🔹 Шаг 5: Создание systemd-сервиса + +```bash +sudo tee /etc/systemd/system/writefreely.service < + +Теперь вы полностью контролируете свой контент, без зависимости от сторонних платформ.