1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-yaws

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Это Yaws, веб-сервер для динамического контента, написанный на Erlang.

Yaws Web Page

Yaws Web Page доступна онлайн с документацией и примерами.

https://erlyaws.github.io/

Yaws Mailing List

Для обсуждения Yaws используется erlyaws-list. Архив списков рассылки может быть полезен.

https://lists.sourceforge.net/lists/listinfo/erlyaws-list https://sourceforge.net/p/erlyaws/mailman/erlyaws-list/

Подготовка к сборке

Получите и установите систему Erlang (http://www.erlang.org).

Требуется Erlang/OTP 22.0 или выше для компиляции Yaws.

Если вы клонировали исходный код с GitHub и хотите собрать его с помощью autotools, обратите внимание, что в исходном коде нет скрипта ./configure, поэтому создайте его:

$> autoreconf -fi

Установите зависимости сборки. Необходимые пакеты для компиляции Yaws (на основе пакетов Debian):

  • build-essential
  • autoconf/automake/libtool
  • erlang — необходимые приложения:
    • erlang-{kernel/stdlib/sasl/erts}
    • erlang-compiler
    • erlang-crypto
    • erlang-xmerl
  • libpam0g-dev

Чтобы собрать документацию (необязательно), вам также необходимо установить:

  • texlive-latex-base
  • texlive-latex-recommended
  • texlive-fonts-recommended
  • texlive-font-utils
  • texlive-extra-utils
  • ghostscript

На Ubuntu/debian это примерно равно:

$> apt-get build-dep yaws

В MacOS и OS X убедитесь, что необходимые инструменты командной строки Xcode и среда разработки настроены правильно, выполнив следующую команду:

xcode-select --install

Наконец, чтобы запустить тестовые наборы, Yaws должен установить:

  • git
  • wget
  • curl
  • erlang-eunit
  • erlang-inets
  • erlang-mnesia
  • erlang-ssl
  • cadaver (необязательно)

Сборка

Вы можете собрать через autotools:

$> ./configure --prefix=/usr/local

или через rebar3:

$> rebar3 compile

При использовании rebar3 вы получите «локальную установку», которую можно запустить через rebar3 shell.

При использовании autotools сборка будет настроена по умолчанию для установки в /usr/local. Для получения дополнительной информации о каталогах установки и других поддерживаемых параметрах см. справку по настройке. Полезные параметры:

--with-defaultcharset=CHARSET указать кодировку по умолчанию, например UTF-8
--with-extrainclude=DIR каталог для включения, если, например, pam установлен в каком-то странном месте
--with-erlang=PREFIX префикс, где установлен Erlang (необязательно)

Примечание для упаковщиков (rpm, deb...): все цели установки поддерживают переменную DESTDIR. Таким образом, если мы сделаем:

$> ./configure --prefix=/usr; make

мы можем впоследствии сделать:

$> make install DESTDIR=/foo/bar

Все файлы Yaws будут установлены в DESTDIR, но весь код будет предполагать, что Yaws установлен под /usr.

Основные цели make:

  • all: скомпилировать Yaws
  • debug: скомпилировать Yaws с флагами отладки
  • clean: удалить файлы, созданные целями all или debug
  • install: выполнить правильную установку Yaws
  • doc или docs: создать документацию
  • check или test: запустить тесты
  • cleantest: удалить файлы, созданные целью check
  • dialyzer: запустить dialyzer на Yaws
  • mkinstaller: создать установщик для Windows
  • cleaninstaller: удалить файлы, созданные целью mkinstaller
  • apps: скомпилировать приложения Yaws (chat, mail, wiki, yapp)
  • cleanapps: удалить файлы, созданные целью apps
  • installapps: установить приложения Yaws
  • fullinstall: установить + installapps
  • fullclean: очистить + cleantest + cleanapps + cleaninstaller

Воспроизводимые сборки

Можно создавать детерминированные сборки, что позволяет выполнять воспроизводимые сборки Yaws.

Детерминированная сборка включается либо путём запуска configure с параметрами --enable-deterministic-build и --with-source-date-epoch:

$> ./configure --enable-deterministic-build
--with-source-date-epoch=$known_unix_timestamp

либо путём установки переменных среды YAWS_DETERMINISTIC_BUILD и SOURCE_DATE_EPOCH перед запуском autoreconf и configure, соответственно:

$> export YAWS_DETERMINISTIC_BUILD=true # установка любого значения включит Автоконфигурация и сборка

После выполнения любой из двух указанных конфигураций выполните сборку как обычно:

$> make all doc

Конфигурации для включения детерминированных сборок добавляют флаг erlc +deterministic, удаляют флаг +debug_info, генерируют детерминированный файл yaws_generated.beam и устанавливают, например, дату создания в yaws.ps и yaws.pdf на основе значения SOURCE_DATE_EPOCH, которое должно быть целым числом, отражающим количество секунд с начала эпохи Unix. (Один из способов получить значение эпохи — использовать команду date '+%s' в Linux или macOS, например. Если вы используете версию оболочки bash 4.2 или новее, printf '%(%s)T\n' -1 даёт значение эпохи в виде целого числа, а начиная с версии 5 оболочка bash предоставляет переменную $EPOCHSECONDS.)

Обратите внимание, что различные пути в файлах конфигурации, шаблонах, примерах и т. д. создаются на основе настроенного префикса установки в конфигурационных файлах; таким образом, они будут различаться, если префикс установки отличается в разных сборках. Это можно смягчить, используя DESTDIR при установке (подробнее см. раздел «Сборка» выше).

Тестирование сборки

С помощью autotools для тестирования сборки необходимо установить её где-нибудь:

$> ./configure --prefix=$PWD/_inst && make install
$> $PWD/_inst/bin/yaws -i

Если вы использовали rebar3 для сборки Yaws, вы можете запустить Yaws с помощью

$> rebar3 shell

Любой подход запустит веб-сервер по адресу http://0.0.0.0:8000. Завершите работу через ^C или ^G, затем q, или

> init:stop()

Примечание: если вы использовали rebar3 для сборки системы, ни одно из следующих направлений не применимо.

Установка и запуск

Примечание: следующие команды могут потребовать привилегий суперпользователя, в зависимости от префикса установки.

Просто запустите:

$> make install

Затем, чтобы запустить Yaws, используйте его скрипт:

$> ${bindir}/yaws -i

Это запускает интерактивную систему.

При использовании файла yaws.conf по умолчанию это создаст веб-сервер на http://${host} и один на https://${host}.

Вы можете адаптировать конфигурацию Yaws, отредактировав файл '${sysconfig}/yaws/yaws.conf'.

Демонизация Yaws

Запустите его с использованием опций '--daemon' и '--heart':

$> ${bindir}/yaws --daemon --heart

Это запустит демон (--daemon), который будет автоматически перезапускаться при сбое или зависании (--heart). Также для большинства систем мы создаём соответствующие сценарии запуска в ${sysconfdir}/init.d.

Пример:

$> autoreconf -fi
$> ./configure --sysconfdir=/etc
$> make && make install
$> /etc/init.d/yaws start

Политика безопасности

Чтобы сообщить об уязвимостях безопасности или других проблемах, связанных с безопасностью, пожалуйста, обратитесь к Политике безопасности Yaws.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Yaws — это эффективный веб-сервер, разработанный на языке Erlang, который поддерживает HTTP/1.1 и имеет два режима работы: автономный и встраиваемый. Развернуть Свернуть
BSD-3-Clause
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/mirrors-yaws.git
git@api.gitlife.ru:oschina-mirror/mirrors-yaws.git
oschina-mirror
mirrors-yaws
mirrors-yaws
master