Автоматизируйте настройку WERC на OpenBSD.
Как сценарии setup.sh , так и сценарии unsetup.sh в их последней доступной версии (v2.1) были успешно протестированы на последнем доступном стабильном выпуске OpenBSD (7.6). Предыдущие или более поздние версии OpenBSD могут не работать.
Выполнение обновления выпуска OpenBSD (например, с помощью Sysupgrade (8)) может сломать текущую установку WERC. Рекомендуется всегда проверять инсталляцию WERC после выполнения либо обновления системы, обновления WERC или обновления Plan9port. Если он перестает работать, отправляйтесь на устранение неполадок.
На данный момент установка, полученная в результате setup.sh была протестирована только с помощью запросов GET , которые она наверняка поддерживает. Другие типы HTTP -запросов могут работать или не работать (например, функция «Пользовательский вход»). Правила на основе URL в /etc/httpd.conf ( location ... ) могут потребоваться другая конфигурация для поддержки HTTP-запросов, кроме GET .
Комплект с меткой с именем тега формы vN.M (где N и M являются целыми числами), является коммит, рабочее дерево, рабочее дерево имеет следующие характеристики:
setup.sh и unsetup.sh , протестированные на последней стабильной версии OpenBSD (доступны в тот момент) с положительным результатом и не известным побочным эффектом на систему.Поскольку процесс тестирования является ручным, я могу упускать из виду некоторые края, иногда специально, а иногда и нет. Я забочусь о качестве моего программного обеспечения, но тестирование каждой линии против всех его возможных краевых случаев действительно занимает много времени и неустойчиво.
(Переехал на Rat.md.)
ПРИМЕЧАНИЕ . Чтобы сохранить исходные файлы конфигурации, которые будут изменены, сценарий настройки поддержает их, добавив .bk к концу их имени. Например, исходное содержание /etc/httpd.conf копируется в /etc/httpd.conf.bk . Чтобы восстановить исходные файлы, скрипт unsetup переименовал файлы резервного копирования с их исходным именем, заменив измененную версию.
В следующем списке $webdir и $p9pdir соответственно относятся к каталогу веб -контента httpd , по умолчанию /var/www , и каталогу установки Plan9port с $webdir как root, по умолчанию /plan9 .
/etc/httpd.conf.bk и /etc/fstab.bk уже существуют в файловой системе вашей машины? Если это так, setup.sh вероятно, будет перезаписать их, рассмотрите возможность переименовать или удалить их.$webdir , которые нельзя потерять? Скрипт настройки создает новые файлы в $webdir , которые могут перезаписать существующие, в то время как сценарий unsetup удаляет некоторые каталоги, которые могут удалить эти файлы. Рассмотрим перемещение важных файлов из $webdir .unsetup.sh setup.sh . (Если это так, вам просто повезло.) В зависимости от того, какие команды не удались, и тип ошибки, вы можете вручную отремонтировать установку самостоятельно. Тем не менее, это не всегда так, и это процедура, подверженная ошибкам, поэтому она вообще не рекомендуется. Следующая процедура загружает скрипты с использованием последнего тега релиза. Последний тег, показанный в URL ниже, обновляется вручную, пожалуйста, проверьте, что он соответствует фактическому последнему выпуску перед продолжением. Не рекомендуется (вообще) запускать сценарии из main ветви.
Следующая процедура относится к сценарию настроек ( setup.sh ). Для сценария UN-Setup ( unsetup.sh ) процедура такая же, за исключением имени скрипта.
Процедура заключается в следующем, написанная как в прочитаемых человеческих шагах, так и в качестве команд:
domain (и webdir , если это необходимо) по желанию.ftp https://raw.githubusercontent.com/EdoardoLaGreca/werc-on-openbsd/v2.1/setup.sh
sha256 -q setup.sh
vi setup.sh # change domain and webdir
chmod 744 setup.sh
doas ./setup.sh Скрипт настройки автоматически не запускает httpd и slowcgi . Это ведет себя так по двум причинам: во -первых, вы можете внести некоторые окончательные изменения в свой веб -сайт, прежде чем отобразить его публично; Во -вторых, если /etc/fstab был изменен сценарием, вам необходимо перезагрузить систему перед запуском веб -сервера. Сценарий должен отобразить сообщение журнала, если вам нужно перезагрузить (и/или /etc/fstab был изменен). Отсутствие такого сообщения в журнале означает, что перезагрузка не требуется. Все это не относится к unsetup.sh .
Вместо того, чтобы запустить весь сценарий, можно запустить только одну или некоторые части, например, отладки сценария или снова запустить часть, которая не может успешно прекратить. Сделать это так же просто, как передавать имена деталей в сценарий, как аргументы. Пример показан ниже.
./setup.sh preinst inst Хотя в строке выше используется setup.sh , unsetup.sh также ведет себя таким образом.
Хорошей практикой является актуальным программным обеспечением, как для получения новых функций, так и для исправления существующих уязвимостей.
При использовании WERC необходимо актуально поддерживать 4 части программного обеспечения:
httpd и slowcgi ) Если вы не используете ветвь openbsd -current , httpd и slowcgi обычно обновляются при каждом обновлении системы. Они довольно безопасны и минималистичны, поэтому держать их в курсе не является обязательным. Эти программы являются частью исходного дерева OpenBSD, которое содержит всю операционную систему, включая ее ядро, основные библиотеки и все предустановленные утилиты. Все программное обеспечение в этом исходном дереве подвергается серьезным аудитам безопасности, поэтому они настолько безопасны.
С другой стороны, важно поддерживать WERC и Plan9port в курсе. Для этого запустите следующие строки в оболочке. Они удаляют существующие установки WERC и Plan9port, загружают обновленную версию и устанавливают их снова.
doas ./unsetup.sh uninst rm9env
doas ./setup.sh inst mk9envЕсли вы не хотите внести свой вклад в разработку, пропустите этот раздел.
Тестовый скрипт, а именно test.sh , автоматизирует тестирование сценариев настройки и USETUP. Тестовый сценарий содержит три основные функции:
init , который выполняет все предварительные задачиsetup , которая запускает скрипт настроек и собирает информацию об изменениях в файловой системеunsetup , который такой же, как setup , но с помощью сценария unsetupПоведение тестового скрипта аналогично поведению сценариев настройки и неверного: функции могут быть вызваны, указав их в качестве аргументов командной строки. Тем не менее, есть небольшая разница, которая заключается в том, что запуск сценария без аргументов ничем не отличается от не запуска сценария вообще. Такое поведение является выбором, который, теоретически, должен уменьшить небрежное тестирование.
Может случиться так, что после обновления OpenBSD ваш сайт перестает работать и показывает только «500 внутреннего сервера».
Хотя точная причина этого поведения должна быть тщательно проанализирована и понята, вы можете попробовать удалить и переустановить WERC и Plan9port. Процедура такая же, как если бы вы их обновили.
doas ./unsetup.sh uninst rm9env
doas ./setup.sh inst mk9envЭти контрольные суммы рассчитываются на рабочем дереве последнего релиза.
setup.sh:
7a08ee3a8e824f9a54b9a471ef0ebc6fb7ee2a848f13a33264b42a3e9d8817da
unsetup.sh:
18f74da2537dc4dcc97c3fc6d4439faf6340f068309d9110a5dc098b899c3e50
Начиная с v2.0, проект в настоящее время лицензирован по лицензии ISC, вместо Creative Commons Zero. Большинство вещей не меняются, за исключением предоставления пользователям и участникам больше прав.