Компилиране и инсталиране - HTTP сървър Apache
Този документ обхваща въпросите за компилиране и инсталиране на Apache сървъра само на UNIX и UNIX-подобни системи. Ако искате да инсталирате на сървъра на Windows, трябва да прочете документа "Използване на Apache за Microsoft Windows". Информация, свързана с други платформи, се съдържа в документа "Платформа".
конфигурация и инсталация сървър среда е напълно различен от този, който е в Apache 1.3. Apache 1.3 използвали персонализиран набор от скриптове, които опростяват процеса на инсталиране. Apache 2.0 вече използва libtool и Autoconf система. вземане на сървъра, подобно на други софтуерни продукти с отворен код (Open Source проекти).
$ PREFIX / хамбар / старт apachectl
NN трябва да бъде заменен с ток непълнолетен номера на версията и префикс вместо необходимостта да укажете пътя, на която трябва да е инсталирана на сървъра. Ако не е посочен като представка, по подразбиране инсталацията е направена в директорията / ЮЕсАр / местни / apache2.
-Подробно всички етапи на събиране и инсталирането на сървър обсъдени по-долу, и да започне следващия раздел с описание на необходими, за да инсталирате системните изисквания е била успешна.
Изисквания за успешен монтаж на сървъра:
Disk Space Уверете се, че дискът има най mininimum 50 MB свободно пространство за временни файлове. След инсталацията на Apache заема около 10 MB. Точният размер ще зависи от мястото, което заемат основно от избрания конфигурация и по-нататъшното модула да бъдат инсталирани извън разпределението на Apache. ANSI-C компилатор и необходимото натрупване среда Уверете се, че вашата система е ANSI-C компилатор. Препоръчително е да се използва GNU C компилатор (GCC) от Фондацията за свободен софтуер (ФСС) (версия 2.7.2 е напълно достатъчно). Ако имате друг компилатор, да разберете дали тя поддържа стандарта ANSI. Също така, проверете дали променливата от обкръжението е посочен директория, която съдържа основните инструменти, необходими за сглобяване (уверете се, и други). Синхронизация на времето В някои заглавия на протокола HTTP определено време. Така че ще трябва да разбера как можете да настроите своя инструмент за синхронизация на времето система. Обикновено се използва за тази цел ntpdate или xntpd програми. въз основа на протокола за времето синхронизира мрежата (Network Time Protocol - КТМ). За повече информация относно сървърите и синхронизация на времето на NTP, обърнете се към дискусионна група в Usenet comp.protocols.time.ntp а. както и посещение NTP страница Perl 5 на [по избор] За някои подкрепа на скриптове като apxs или dbmmanage (които са написани на Perl), изисква интерпретатора на Perl (версия 5.003 или по-висока е достатъчно). Ако конфигурация скрипт `конфигурационния" няма да го намерите на вашата система, все още ще бъде в състояние да изгради и инсталиране на Apache 2.0 - в този случай не само ще работят помощни скриптове, изброени по-горе. Ако системата ви има повече от един преводач с Perl език (напр Perl 4 и Perl 5), за да изберете подходящия ./configure скрипта, той работи с опцията --with-Perl (виж по-долу за описание).
Apache може да бъде изтеглен от страницата за изтегляне на Apache HTTP Software Foundation. който също така предоставя списък на някои от най-огледални сървъри. Тук ще намерите най-новата стабилна версия на сървъра.
След зареждане, особено ако е извършена в огледало сървъра, трябва да се уверите, че ръцете ви пълен с непроменен версия на сървъра за HTTP Apache. Това се извършва чрез тестване на архива (архив, който) за съответствие с подписването на PGP, което е, от своя страна, е процедура от две стъпки. Първо, трябва да изтеглите файла ключовете от страницата за изтегляне на Apache Software Foundation. (За да бъдете сигурни, че ключовете самия файл не е променено, е по-добре да се вземат от предходната разпределението Apache или направете публичен ключ на сървъра). След това ключовете могат да бъдат внасяни в личния ви ключ база данни с помощта на следните команди (в зависимост от версията PGP):
$ GPG --import КЛЮЧОВЕ
Следващата стъпка е непосредствена проверка на архива (смъкнатия файл) с помощта на PGP подпис, което винаги трябва да се има в основния Apache уеб сървър. От материалите по делото на PGP подпис има същото име като на архива на разпределението плюс приключва .asc. Проверете разпределение, като въведете следните команди (отново в зависимост от версията на PGP, инсталиран на вашата система):
$ Pgp уеб--2_0_NN .tar.gz.asc
$ GPG --verify уеб--2_0_NN .tar.gz.asc
Трябва да видите нещо подобно:
Добър подпис от потребител "Мартин Кремер
В зависимост от отношенията на доверие, които се съдържат във вашата ключова база данни, можете да получите съобщение, че връзката между ключа и тези, които се регистрирали за тях, не е възможно да се установи. Това не трябва да ви притеснява, че ако вярваме в истинността на файла ключовете.
Разопаковане Apache HTTP сървър източник код се намира в непосредствена разопаковам и разархивирайте (untarring):
$ Gzip -d уеб--2_0_NN .tar.gz
$ Tar xvf уеб--2_0_NN .tar
След изпълнение на тези команди ще създаде нова директория с разпределението на изходния код. Вие трябва да отидете в тази директория, преди да започнете да се съберат на сървъра.
Следващата стъпка е да изберете изходния дървото, в съответствие със системата, на която можете да инсталирате на сървъра, и собствените си нужди. Това става, като конфигурирате скрипта. намира в главната директория на разпределението. Разработчиците, които са изтеглили сорс дървото от автобиографии, трябва да бъдат монтирани в своята Autoconf и libtool система полезност и стартирате програмата, buildconf. преди да могат да prodolzhnit инсталация. Официалните сървърни издания не се нуждаят.
За да конфигурирате източник дървото с помощта на стойностите на всички опциите по подразбиране, просто стартирате ./configure скрипт, без никакви параметри. За да промените стойността на опциите, да конфигурирате скрипт предлага широка гама от променливи и опции за командния ред. В този случай, на околната среда променливи са поставени преди командата ./configure. докато други възможности - след това. Най-важната опция тук - това е инсталационната директория префикс, което означава, че начина, по който Apache ще бъдат инсталирани по-късно. Но освен това има и голям набор от опции, необходими за фина настройка на сървъра.
За да получите представа за гъвкавостта на процеса на конфигуриране на Apache разгледаме следния пример на типичен план ./configure скрипта. Тази конфигурация позволява да компилирате сървър в директорията / ЮЗ / PKG / Apache. С посочената компилатор с няколко от най-подходящите опции за командния ред, и постави още две допълнителни mod_rewrite модул и mod_speling. които след това могат да бъдат използвани чрез механизма ДСО.
$ CC = "Пирин Голф" CFLAGS = "- O2" \
./ Конфигуриране --prefix = / SW / PKG / Apache \
--позволи-пренаписване = обща \
--позволи-speling = споделен
При извършване, конфигурирате скрипта проверява дали инсталиран на вашата система всичко, което трябва, а след това създава Makefile-ове (Makefile-ове), който ще се използва за съставяне на сървъра.
Най-лесният начин да се запознаете с всички наличните опции за конфигурация - за да се изпълни команда ./configure --help на. Той ще се покаже кратко описание на почти всички налични опции и променливи на обкръжението.
Autoconf програма използва редица променливи на обкръжението, за да изберете натрупването околната среда. Като цяло, тези променливи само чрез метода на сървъра монтаж могат да се променят - за контрол на включване и изключване на допълнителни опции сървър е невъзможно. Тези променливи могат да бъдат включени в околната среда, преди да се обадите на конфигуриране сценария. но най-лесният начин да направите това, както е показано в примера по-горе.
CC =. Обадете команда компилатор с C = CPPFLAGS език. Допълнителни параметри Препроцесор и компилатор език С CFLAGS =. Опции за отстраняване на грешки и оптимизиране на езиковите съставител В. LDFLAGS =. Допълнителни възможности за линкер. LIBS =. Информация за местоположението на библиотеката (опция "Ь" и "-l"), предава на свръзката. ВКЛЮЧВА =. Начини, които са търсили заглавни файлове. ( "-Idir"). ПРЕДНАЗНАЧЕН =. [Подразбиране: Apache] Наименованието на изпълним файл след = сървъра за монтаж NOTEST_CPPFLAGS. NOTEST_CFLAGS =. NOTEST_LDFLAGS =. NOTEST_LIBS =. Тези променливи на обкръжението изпълняват същата роля като тази на същите променливи, но без NOTEST конзоли. Разликата се състои в това, че те се добавят към средата след Autoconf тестове, извършени в работната среда на възможности. Това ви позволява да използвате тези опции, които биха довели до грешка, когато такова изследване, но включването на което е задължително за окончателния монтаж на сървъра. SHLIB_PATH =. Опции Compiler и Линкер, определяне на пътя към споделената библиотека.
--помощ ви дава инструкции относно използването на програмата, включително всички опции, и веднага след това се затваря. --quiet допусне показването на съобщение като се започне с "проверка". --verbose Дава пълна информация по време на процеса на конфигурация, включително имената на файлове, за да бъдат сканирани.
В момента има два начина за определяне на начините, по които ще се инсталират Apache своите файлове. Първият начин - това е Apache изрично посочите директорията, в която е установен.
--префикс = PREFIX [подразбиране: / ЮЕсАр / местни / apache2] Определя пътя, където ще бъде Apache инсталация.
Освен това е възможно да се определи архитектурата - зависими файлове в друга специална определена директория.
--EXEC-префикс = EPREFIX [По подразбиране: PREFIX] Указва пътя, който ще бъде инсталиран Архитектура - зависими файлове.
Вторият начин е по-гъвкав. Тя се състои от използване config.layout файлове. Използването на този метод, можете да укажете директорията на инсталация за всеки тип Apache файлове. config.layout файл съдържа няколко примера на конфигурацията. С помощта на тези примери, можете да създадете своя собствена конфигурация. Различни модели на растения са групирани в отделни секции
--позволи оформление = LAYOUT Употреба на име оформление е описано в config.layout файл. в която са регистрирани всички пътеки за монтаж.
Apache - е модулна сървър. Само най-основните функции са включени в основния сървър. Допълнителна функционалност е достъпна чрез модули. По време на процеса на конфигурация, трябва да изберете модулите, които ще бъдат събирани със сървъра. Всички налични модули могат да бъдат намерени в съответния списък на модули. Модули, състоянието на които тя е определена като "базови", компилиран с основния сървър; Ако имате нужда от някои основни модула, трябва изрично да го посочи в конфигурация (базова единица, например, е mod_userdir). Модулите с друг статут не се събират заедно с основния сървър, и (ако е необходимо) трябва да бъдат написани отделно в конфигурацията (пример за такъв модул може да служи mod_expires).
Има два начина за определяне на Apache за използване на всяка - или модул. Модулите могат да бъдат съставени като статичен. като по този начин им код, включени директно в изпълним код Apache сървър. Или, ако вашата операционна система поддържа динамични споделени обекти (Dynamic споделени обекти) и Autoconf и може да се определи, че това е така, тогава модули могат да се събират като динамичен. ДСО модули се съхраняват отделно от сърцевина сървър и сървър могат да бъдат използвани, в зависимост от Времетраене на директивите конфигурация (който е отговорен за работата вече сглобен сървър), предоставени от модула mod_so. mod_so модул автоматично се включва в Server Core, ако поне един модул е съставен като динамичен. Ако не се съберат всички динамични модули, но искам вашия сървър все още е в състояние да работи с модулите ДСО, след което да посочите, когато конфигурирате следните опции: --enable-така.
--позволи-МОДУЛ [= споделен] Събиране и включва модула модул в Server Core. МОДУЛ - този модул ID. която може да бъде получена чрез отпадане на името на модула, определен в низ документация "_string". За съставянето на модула като DSO, добавете опция = споделена. --disable-МОДУЛ МОДУЛ Махни от списъка, съставен модули (ако е в списъка). --enable-модули = МОДУЛ-СПИСЪК събира и включват модулите в сървъра основните идентификатори са дадени в списъка МОДУЛ-СПИСЪК. Списък на елементите са разделени с интервали. --enable-модификации споделен = МОДУЛ-СПИСЪК съставят модули идентификационни номера са дадени в списъка МОДУЛ-СПИСЪК. като динамичен.
Например, да се включат в сървърни модули и mod_dav mod_info на. можете да използвате
/ Configure --enable-DAV --enable-инфо
или еквивалентна на предишната команда
/ Конфигуриране --enable-модули = "DAV инфо"
В допълнение към това, има специални думи, всички или повечето. които могат да се използват при съставяне на всички или повечето от модулите наведнъж. Можете да изключите от този списък на нежелани модули с помощта на подходящ вариант --disable-модул. Например, за да се включат всички сървърни модули като DSO освен mod_info. можете да напишете следното
/ Конфигуриране --enable-модове споделен = всички --disable-инфо
В допълнение към стандартен набор от модули, Apache 2.0 съставен заедно с някои мулти - обработка модули (MPMs). Един и само един депутат - модулът може да се компилира със сървъра. Списък MP - модули са съставени от по подразбиране за всяка платформа може да бъде намерен в съответния раздел на документацията; MP - модул по подразбиране, можете да промените следната опция конфигуриране командния ред
--с-МПМ = NAME събират заедно с MP сървър - модул на име NAME.
Някои Apache модули като mod_auth_dbm и mod_rewrite (Директива RewriteMap), да използват в работата си една проста база данни, организирана на принципа на ключ / стойност, което увеличава скоростта на достъп до информация. Поддръжка на сървъра SDBM база данни е включена в ядрото, така че използването на базите на този тип данни, винаги е възможно. Ако имате нужда от друг тип база данни, можете да използвате следните опции:
--с-gdbm [= път] --with-ndbm [= път] --with-Бъркли-db [= път] Ако не е посочено път стойност. Apache ще търси заглавните файлове и библиотеки в стандартните директории. Ясна индикация път ще доведе до Apache за търсене на съответния файл в път / ИЪ и пътя / включва директории. Можете също да укажете специфичен път за заглавни файлове и библиотеки, да ги пиша с точка и запетая.
Заедно с Apache, можете да откриете програмата за помощта suexec. което позволява да се установи по-строг контрол върху изпълнението на програми по поръчка CGI. Въпреки това, ако suexec не е конфигуриран правилно, тя може да се появи значителни пропуски в сигурността на системата на сървъра. Затова трябва внимателно да прочетете suexec на документация. ако решите да използвате тази програма.
Сега можете да компилирате и Apache сървъра, като изпълнява следната команда:
Бъдете търпеливи - съставяне на сървъра с базова конфигурация (стандартна конфигурация) на заема около три минути, за да система, като например Pentium III / Linux 2.2. Действителното време за натрупване, ще зависи от вашия хардуер и броя на модулите решите да компилирате със сървъра.
Сега е време да се инсталира на сървър в указателя префикса. което е било указано при конфигуриране на Apache (виж --prefix опция по-горе), като пуснете:
Ако инсталирате Apache на върха на предишна версия на сървъра, старите конфигурационни файлове и документи ще бъдат оставени непроменени.
След това можете да изберете вашия HTTP Apache сървъра чрез редактиране на конфигурационни файлове в PREFIX / конф /.
$ Vi PREFIX /conf/httpd.conf
Сега можете да стартирате вашия HTTP Apache сървъра, като изпълнява следната команда:
$ PREFIX / хамбар / старт apachectl
$ PREFIX / хамбар / apachectl спирка