Компиляция Varnish из исходного кода
Если для вашей системы нет бинарных пакетов, или если вы хотите скомпилировать Varnish из исходного кода по другим причинам, выполните следующие шаги:
Получение исходного кода
Скачайте соответствующий релизный tarball, который можно найти на https://varnish-cache.org/releases/ .
В качестве альтернативы, если вы хотите внести изменения в Varnish, вы можете клонировать наш репозиторий Git, выполнив:
git clone https://github.com/varnishcache/varnish-cache
Необходимые зависимости для сборки на FreeBSD
Чтобы получить зависимости, необходимые для сборки varnish из исходного кода, вы можете либо:
pkg install automake pkgconf py36-sphinx py36-docutils pcre2 libtool
И, необязательно, для возможности запуска всех тестовых случаев:
pkg install haproxy nghttp2 vttest
Или, если вам нужен скомпилированный из исходного кода:
cd /usr/ports/www/varnish6 make depends clean
Затем продолжите компиляцию Varnish
Необходимые зависимости для сборки на Debian/Ubuntu
Для компиляции Varnish из исходного кода вам необходимо установить ряд пакетов. В системе Debian или Ubuntu используйте эту команду для их установки (замените sudo apt-get install при необходимости):
sudo apt-get install \
make \
automake \
autotools-dev \
libedit-dev \
libjemalloc-dev \
libncurses-dev \
libpcre2-dev \
libtool \
pkg-config \
python3-docutils \
python3-sphinx \
cpio
Необязательно, для перестроения файлов svg:
sudo apt-get install graphviz
Рекомендуется, особенно если вы планируете создавать собственные vmods:
sudo apt-get install autoconf-archive
Необязательно, для получения из репозитория:
sudo apt-get install git
Затем продолжите компиляцию Varnish
Необходимые зависимости для сборки на Red Hat/CentOS
В следующих командных строках замените sudo yum install при необходимости.
Установить sphinx
-
В Red Hat/CentOS 8 sphinx не включен в стандартные репозитории, поэтому выполните эти шаги, чтобы включить его из репозитория powertools:
sudo dnf install -y 'dnf-command(config-manager)' sudo yum config-manager --set-enabled powertools sudo yum install -y diffutils python3-sphinx
-
В Red Hat/CentOS <= 7 установите sphinx:
sudo yum install -y python-sphinx
Следующий шаг должен завершить установку необходимых пакетов:
yum install -y \
make \
autoconf \
automake \
jemalloc-devel \
libedit-devel \
libtool \
libunwind-devel \
ncurses-devel \
pcre2-devel \
pkgconfig \
python3-docutils \
cpio
Необязательно, для перестроения файлов svg:
yum install graphviz
Необязательно, для получения из репозитория:
yum install git
Затем продолжите компиляцию Varnish
Необходимые зависимости для сборки на MacOS
Для компиляции varnish на MacOS эти шаги должны установить необходимые зависимости:
- Установить
xcodeчерез App Store -
Установить зависимости через
brew:brew install \ autoconf \ automake \ pkg-config \ libtool \ docutils \ sphinx-doc -
Добавить sphinx в PATH, как указано в установщике:
PATH="/usr/local/opt/sphinx-doc/bin:$PATH"
Затем продолжите компиляцию Varnish
Необходимые зависимости для сборки на Alpine Linux
Начиная с Alpine 3, эти шаги должны установить необходимые зависимости:
- Добавить репозиторий сообщества Alpine
-
Установить зависимости:
apk add -q \ autoconf \ automake \ build-base \ ca-certificates \ cpio \ gzip \ libedit-dev \ libtool \ libunwind-dev \ linux-headers \ pcre2-dev \ py-docutils \ py3-sphinx \ tar \ sudo
Необязательно, для перестроения файлов svg:
apk add -q graphviz
Необязательно, для получения из репозитория:
apk add -q git
Затем продолжите компиляцию Varnish, используя --with-unwind configure опцию.
Необходимые зависимости для сборки в зоне SmartOS
Начиная с SmartOS pkgsrc 2019Q4, установите следующие пакеты:
pkgin in autoconf automake editline libtool ncurses \
pcre2 python37 py37-sphinx py37-docutils gmake gcc8 pkg-config
Примечание: вам, вероятно, потребуется добавить /opt/local/gcc8/bin в PATH для того, чтобы gcc был доступен.
Необязательно, для перестроения файлов svg:
pkgin in graphviz
Необязательно, для получения из репозитория:
pkgin in git
Сборка на Solaris и других подобных Solaris ОС
Сборка с помощью gcc должна быть прямой, если установлены вышеперечисленные требования.
По умолчанию, рассмотрите установку Varnish в /opt/local с помощью:
./configure \
--prefix=/opt/local \
--mandir=/opt/local/man
В качестве альтернативы, сборка с Solaris Studio 12.4 должна работать с учётом следующих рекомендаций:
- иметь GNU
nmв$PATHперед Solarisnm -
Предоставить флаги компилятора для
configureдля включения путей, по которым установлены зависимости. Пример для/opt/local:./configure \ --prefix=/opt/local \ --mandir=/opt/local/man \ CPPFLAGS="-I/opt/local/include" \ CFLAGS="-m64" \ LDFLAGS="-L/opt/local/lib -R/opt/local/lib"
Компиляция Varnish
Для конфигурации необходимо выполнить указанные выше зависимости. После этого:
cd varnish-cache sh autogen.sh sh configure make
Скрипт configure принимает некоторые аргументы, но, скорее всего, вы можете об этом забыть на данный момент, практически всё в Varnish можно настроить параметрами во время выполнения.
Перед установкой вы можете запустить набор тестов, пока можете выпить чашку чая, обычно это занимает несколько минут:
make check
Не беспокойтесь, если один или два теста не пройдут. Некоторые тесты слишком чувствительны к времени выполнения (Пожалуйста, сообщите, какие, чтобы мы могли их исправить). Однако, если большинство из них не пройдёт, и особенно если тест b00000.vtc не пройдёт, что-то очень не так. Вы не продвинетесь без выяснения этого.
Установка
И, наконец, истинный тест мужества: sudo make install
Varnish будет установлен в /usr/local. Бинарный файл varnishd находится в /usr/local/sbin/varnishd. Чтобы убедиться, что найдены необходимые ссылки и кэши самых последних общих библиотек, выполните sudo ldconfig.
Copyright © 2006 Verdens Gang AS
Copyright © 2006–2020 Varnish Software AS
Licensed under the BSD-2-Clause License.
https://varnish-cache.org/docs/7.4/installation/install_source.html