Інтернет Windows Android

Конфігурація apache. Установка і конфігурація веб сервера Apache з підтримкою PHP, JSP і MySQL на Windows XP

Файли Apache

У більшості пакетів основний конфігураційний файл Apache носить ім'я httpd.conf. Залежно від версії системи цей файл може знаходитися в різних каталогах, але формат його залишається незмінним. У системах Caldera і SuSE файл httpd.conf міститься в каталозі / etc / httpd; в Debian і Slackware він розміщується в / etc / apache (Slackware надає файл-зразок /etc/apache/httpd.conf.default; для забезпечення роботи сервера треба лише перейменувати даний файл і внести в нього необхідні зміни); в Red Hat і TurboLinux файл httpd.conf розміщується в каталозі / etc / httpd / conf /.

Як завжди, рядки файлу httpd.conf, що починаються з символу #, містять коментарі. Опції, що визначають конфігурацію сервера, задаються в наступному вигляді:

Директива значення

Директива - це ім'я, з яким може бути пов'язано деяке значення. Значним може бути число, ім'я файлу або довільна рядок символів. Деякі директиви дозволяють задавати кілька подопціі. У цьому випадку ім'я директиви поміщається в кутові дужки. Приклад подібної директиви наведено нижче.

Options FollowSymLinks

AllowOverride None

В останньому рядку міститься ім'я тієї ж директиви, яка вказана на початку, але для неї не задається ніякого значення. Імені директиви, завершальній блок, передує коса риска.

У деяких випадках для настройки Apache використовуються додаткові конфігураційні файли, перераховані нижче. Зазвичай вони розміщуються в тому ж каталозі, що і httpd.conf.

Access.conf. Посилання на цей файл формується за допомогою директиви AccessConfig і міститься у файлі httpd.conf. У файлі access.conf найчастіше задаються директиви , Що визначають особливості доступу до вказаних в них каталогам. В даний час цей файл зазвичай залишається порожнім, а іноді в якості значення AccessConfig задається / dev / , що забороняє використання access.conf.

Mime.types. Для того щоб повідомити Web-браузеру про те, як повинні оброблятися дані, Web-сервер використовує стандарт MIME (Multipurpose Internet Mail Extensions - багатоцільові поштові розширень Internet). Наприклад, MIME-тип text / plain означає, що дані представляють собою звичайний текст, а image / jpeg визначає графічні дані в форматі JPEG (Joint Photographic Experts Group - об'єднана група експертів з обробки фотознімків). Файл mime.types містить інформацію про відповідність між MIME-типами і розширеннями файлів. Наприклад, імена файлів, оканчівающіеся.txt і.asc, зв'язуються з MIME-типом text / plain. Якщо така відповідність задано неправильно, Web-броузер буде зазнавати труднощів при обробці деяких типів файлів. Файл, що поставляється в складі пакета, забезпечує обробку практично будь-яких типів даних, які можуть бути поміщені на Web-сторінку. Якщо ж вам треба використовувати рідко зустрічаються типи, вам доведеться додати в цей файл нові записи.

Magic. Цей файл також дозволяє визначати відповідність між MIME-типами і даними. При аналізі інформації можна виявити специфічні ознаки того чи іншого типу. Так, наприклад, багато файли містять спеціальні ключі - "магічні" байтові послідовності. Ці послідовності, перетворені в текстовий вигляд, вказуються у файлі magic. Якщо ви докладно не вивчили формат цього файлу, вносити зміни в нього не рекомендується. Структура файлу magic в цьому розділі розглядатися не буде.

З книги Linux для користувача автора Костромін Віктор Олексійович

8.2.2. Основні конфігураційні файли Якщо ви прочитали розд. 8.2.1 (або якщо дивилися файл / etc / inittab), то уявляєте, що у звичайній ситуації процес init крім запуску процесів getty виконує 2 основні дії: запускає скрипт rc.sysinit з каталогу /etc/rc.d; запускає скрипт rc

З книги Linux-сервер своїми руками автора

12.5. SSL і Apache 12.5.1. Установка SSL SSL (Secure Sockets Layer) є методом шифрування, розробленим компанією Netscape для забезпечення безпеки в Інтернет. Цей метод підтримує кілька способів шифрування та забезпечує аутентифікацію як на рівні клієнта, так і на рівні

З книги Asterisk ™: майбутнє телефонії Друге видання автора Меггелен Джим Ван

З книги Мережеві засоби Linux автора Сміт Родерік В.

З книги Linux: Повне керівництво автора Колісниченко Денис Миколайович

Файли DHCP Більшість дистрибутивних пакетів Linux містить сервер DHCP, розроблений Internet Software Consortium (http://www.isc.org/products/DHCP/). Internet Software Consortium (ISC) в кінці 2000 р випустив версію 3.0 DHCP, але на початку 2002 р багато версій Linux все ще поставлялися зі старою версією 2.0

З книги Ubuntu 10. Короткий посібник користувача автора Колісниченко Д. Н.

З книги Мова Сі - керівництво для початківців автора Прата Стівен

Файли Exim Головний конфігураційний файл Exim називається exim.conf. Зазвичай він розташовується в каталозі / etc. До складу цього файлу входять записи, представлені в наступному форматі: опція \u003d значеніеКак зазвичай, рядки, що містять коментарі, починаються з символу #.

З книги Linux очами хакера автора Флёнов Михайло Євгенович

З книги Розробка ядра Linux автора Лав Роберт

16.1. Установка Apache Залежно від дистрибутива, пакет, з якого встановлюється веб-сервер Apache, може називатися apache або httpd, а пакет з документацією - apache-docs або httpd-manual відповідно. У першому випадку вам знадобиться встановити ще пакет apache-common, що містить

З книги автора

16.2. Налаштування Apache. Файли конфігурації Після установки Apache слід відредагувати наступні файли :? /etc/httpd/conf/httpd.conf - основний файл конфігурації. Для Apache 2.x. цей файл може також називатися httpd2.conf ;? /etc/logrotate.d/apache або /etc/logrotate.d/httpd (у версії 2.0) - файл ротації

З книги автора

16.10. SSL і Apache 16.10.1. Установка SSL SSL (Secure Sockets Layer) є методом шифрування, розробленим компанією Netscape для забезпечення безпеки передачі даних. Цей метод підтримує кілька методів шифрування і забезпечує аутентифікацію як на рівні клієнта, так і на

З книги автора

19.2. Файли завантажувача У лістингу 19.1 наведено основний конфігураційний файл GRUB2 - /boot/grub/grub.cfg. Він не піддається редагуванню вручну. Для його створення використовується утиліта / usr / sbm / grub-mkconfig, яка генерує цей конфігураційний файл на основі шаблонів,

З книги автора

26.2.3. Файли сервера Файли конфігурації сервера знаходяться в каталозі / etc / apache2. Основний файл конфігурації називається apache2.conf. За замовчуванням його налаштування влаштують більшість користувачів. Якщо ви плануєте використовувати Web-сервер не тільки локально (для

З книги автора

Вихідні файли і виконувані файли Наша чудова програма, незважаючи на свою лаконічність і простоту, для комп'ютера є абсолютно безглуздим набором символів, так як він "не розуміє" директив типу #include або printf. Він розуміє тільки спеціальна мова,

З книги автора

5.3.1. Файли Всі конфігураційні файли протоколу SSH знаходяться в директорії / etc / ssh. Тут можна побачити наступний перелік :? файл конфігурації SSH-сервера - sshd_config ;? файл конфігурації SSH-клієнта - ssh_config ;? файли ключів для різних

З книги автора

Конфігураційні параметри налагодження ядра Існує кілька конфігураційних параметрів, які допомагають в налагодженні і тестуванні коду ядра і які включаються під час компіляції. Ці параметри доступні в пункті Kernel hacking меню редактора конфігурації ядра. Всі ці

andew

2016-07-23T17: 54: 43 + 00: 00

2017-08-25T04: 44: 37 + 00: 00

7613

У статті представлений огляд конфігурації web сервера Apache в Ubuntu server при стандартному варіанті інсталяції LAMP в Ubuntu. Наведено логіка і структура організації конфігураційних файлів веб сервера. Описано призначення основних конфігов сервера. Дано базові Linux Ubuntu команди для маніпуляції конфігурацією, настройки та управління веб сервером Apache. Розглянуто сайт за замовчуванням, який створюється в процесі установки Apache. Стаття вам буде корисна при налаштуванні і адмініструванні свого LAMP сервера.

Як додати підтримку PHP як обробника сценаріїв в Apache на Ubuntu або Windows детально описано в статті Установка PHP7 на Windows в розділі Налаштування.

Apache Default WEB Page

В процесі виконання стандартної інсталяції web сервера Apache в Ubuntu server створюється тестовий сайт, який служить для перевірки працездатності веб сервера після його установки. Цей сайт, за замовчуванням, налаштований так, що дозволяє звернення з браузера тільки до файлів і каталогів всередині / Var / www директорії Ubuntu server. Якщо, по завершенню інсталяції Apache, Ви відкриєте в браузері веб сторінку за адресою IP вашого web сервера, то побачите стартову сторінку сервера - Apache2 Ubuntu Default Page. Це буде, в першу чергу, говорити про те, що Apache вдало встановився і працює. Ця сторінка фізично розташовується на сервері в файлі /var/www/html/index.html і за її настройку і висновок в браузері відповідає конфиг віртуального хоста за замовчуванням ( /etc/apache2/sites-available/000-default.conf), Який визначає віртуальний хост (сайт) для каталогу / Var / www / html і створюється в ході інсталяції сервера Apache. Відповідно, якщо ви розмістите ваші файли в цій папці, то вони будуть оброблятися web сервером. Також на цій Default Page в секції Configuration Overview ви побачите схематичне представлення структури конфігураційних файлів сервера. Тут потрібно розуміти, що структура, назви і розташування конфігов Apache в Ubuntu відрізняються від загальноприйнятої схеми, що зроблено для зручності управління сервером. Але тут є один нюанс, який полягає в тому, що якщо ви раніше не були знайомі з організацією каталогів в домашній директорії Apache на Ubuntu, То ця схема може вас тільки заплутати, тому що в ній представлені не всі папки, а тільки каталоги, в яких розташовуються символьні посилання на активовані файли конфігурації. Тому, для більш правильного розуміння, дивіться повну схему каталогів і фалів домашньої директорії web сервера Apache розташовану нижче в цій статті. З цінного в секції веб сторінки Apache - це посилання на manDebian для команд a2enmod, a2dismod, a2ensite, a2dissite, a2enconf, a2disconf, Які використовується для активації і деактивації тих чи інших видів файлів конфігурації і будуть детально описані. Так само тут сказано, що для передачі команд web сервера ( started / stopped etc.) Потрібно звертатися до /etc/init.d/apache2 або до apache2ctl, Що так само є особливістю сервера в Ubuntu. На сервері Ubuntu в файлі /usr/share/doc/apache2/README.Debian.gz ви зможете знайти повну документацію по Apache.

Домашній каталог Apache в Ubuntu

За замовчуванням, домашній каталог web сервера Apache в Ubuntu перебувати по / Etc / apache2 / шляху в файлової системі. У цьому каталозі і його підкаталогах розташовуються всі конфігураційні файли Apache. Змінити значення шляху домашній директорії web сервера можна директивою ServerRoot "/ etc / apache2" в головному конфіге apache2.conf. Там, за замовчуванням, директива ServerRoot закоментований, що рівносильно її значенням як "/ etc / apache2" ( завершального слеша не повинно бути в цій директиві!). Значення шляху домашній директорії Apache (ServerRoot) необхідно сервера, що б він знав, в якому місці файлової системи йому слід шукати свої конфігураційний файли. Так само значення ServerRoot може підставлятися сервером в деяких директивах, які очікують як аргумент шлях в файлової системі Ubuntu. Тому, в таких випадках, якщо шлях вказати без початкового слеша, то Apache сприйме це як відносний шлях по відношенню до своєї домашньої директорії. Так, наприклад, якщо вказати директиву AuthUserFile .htpasswd, то в такому варіанті Apache буде інтерпретувати вказаний шлях як відносний і перетворить його в /etc/apache2/.htpasswd, Підставивши спереду значення шляху своєї домашньої директорії.

Структура домашньої директорії Apache в Ubuntu

В процесі стандартної установки WEB сервера Apache в Ubuntuстворюється наступна структура файлів і каталогів домашньої директорії веб сервера:

/ Etc / apache2 / ............................... Домашня директорія Apache в Ubuntu - ServerRoot | - conf-available...................... директорія, містить різні конфіги | `- charset.conf ................... файл для вказівки кодувань | `- localized-error-pages.conf ..... файл для завдання сторінок помилок | `- other-vhosts-access-log.conf ... файл для завдання логів віртуальних хостів | `- security.conf .................. файл для директив безпеки | `- serve-cgi-bin.conf ............. файл для директив конфігурації CGI | - conf-enabled активовані конфіги з conf-available | `- @ .............................. ПОСИЛАННЯ на активовані конфіги з conf-available |-- mods-available...................... директорія, містить конфіги встановлених модулів Apache | `- ... ........................ доступні конфіги модулів Apache | - mods-enabled........................ директорія, містить ПОСИЛАННЯ на активовані конфіги модулів з mods-available | `- @ .............................. ПОСИЛАННЯ на активовані конфіги модулів Apache | - sites-available..................... директорія містить доступні конфіги віртуальних хостів | `- 000-default.conf ............... файл віртуального хоста за замовчуванням для 80 порту, створений при інсталяції Apache | `- default-ssl.conf ............... файл віртуального хоста за замовчуванням для порту 443, створений при інсталяції Apache | - sites-enabled....................... директорія, містить ПОСИЛАННЯ на активовані конфіги віртуальних хостів з sites-enabled | `- @ 000-default.conf .............. посилання на активоване конфиг віртуального хоста | - apache2.conf........................ГОЛОВНИЙ конфиг web сервера Apache в Ubuntu | - envvars ............................. файл з настройками шляхів для оточення Apache | - magic ............................... Файл скриптів для модуля mime_magic (Цей модуль не активний за замовчуванням) | - ports.conf .......................... файл для завдання портів на яких буде приймати підключення Apache

Наведені приклади представлені з OS Ubuntu server 16.04 LTS, однак те ж саме буде і в інших версіях і дистрибутивах Ubuntu як в сервером варіанті, так і в desktop варіанті.

Логіка організації конфігурації Apache

Як вже було сказано вище, в Ubuntu використовується відмінна від оригінальної організаційна структура конфігураційних файлів і директорій для веб сервера Apache.

По перше, в Ubuntu, конфігурація Apache розбита на безліч різних конфігов по їх функціональному призначенням. Наприклад, директиви, які визначають порт для сервера, винесені в окремий файл ports.conf. Директиви, відповідальні за ті чи інші параметри безпеки сервера, винесені в файл security.conf. Тим самим, директиви як би згруповані за своїм глузду в окремі конфігураційні файли. Це досить логічно і зручно при читанні, правці, активації і деактивації конфігов. При такому підході кожен, окремо взятий файл, ставати менше і є вузькоспеціалізованої частиною конфігурації. Однак, потрібно розуміти, що таке дроблення зроблено виключно для зручності і автоматизації налаштування і технічно, якщо ви захочете, ви можете записати всі директиви і налаштування в один файл, просто працювати з таким файлом буде не так зручно.

По-друге: центром всій конфігурації виступає головний конфиг Apache веб сервера - apache2.conf файл. Саме цей файл в першу чергу шукає і читає web сервер Apache при старті або перезавантаження. А вже в цьому файлі за допомогою директив Include, В місці їх вказівки, виконується підключення і завантаження всіх інших заданих конфігов. Таким чином, всі конфігураційні файли об'єднуються в єдину конфігурацію web сервера і відбувається це, коли Apache читає файли з порядку їх підключення, починаючи з головного конфіга. З цього випливає важливе зауваження - порядок слідування директив в конфігурації Apache і відповідно, порядок підключення файлів конфігов має значення, так як директиви, прочитані сервером пізніше можуть перевизначати директиви прочитані ним раніше. Про це потрібно пам'ятати при налаштуванні сервера.

По-третє: Якщо ви подивіться на структуру каталогів домашньої директорії Apache, То побачите три пари директорій з назвами виду: префікс_каталога-available / enabled. Така логічна структура покликана для розподілу ваших конфігов на три групи, виходячи з префікса назви каталогу, де conf- *це каталоги для ваші інших конфігов, mods- *це каталоги для конфігов модулів Apache і sites- *це каталоги для конфігов ваших віртуальних хостів. Друга частина імені цих каталогів -available / -enabled логічно вказує на доступні взагалі і тільки активні зараз момент конфіги. Так в директоріях * -available зберігаються всі доступні для використання файли конфігурації, а вже в директоріях виду * -enabled розташовані символьні посилання (ярлики) Тільки на ті конфіги з * -available директорії, які повинні бути прочитані web сервером при завантаженні конфігурації. Apache читає тільки каталоги виду * -enabled, Тому застосовуватися тільки ті конфіги, на які в цих каталогах є посилання. Такий підхід дає ще додатковий рівень зручності тим, що дозволяє вам зберігати всі ваші конфіги в каталогах домашньої директорії сервера, а задіяти тільки необхідні в поточний монет.

По-четверте: Директиви конфігурації web сервера Apache мають контекст (), В якому вони діють. поняття контекст директиви вказує на те, де, на якому рівні і в якому конфіге дана директива може використовуватися. Одна і та ж директива може бути дозволена до використання як тільки в одному виді контексту, так і в декількох видах контексту. Якщо директива буде використана / записана в неприпустимому для неї вигляді контексту, то буде помилка web сервера Apache при завантаженні конфігурації, яка призведе до його зупинки. Тому, при написанні ваших директив, завжди звертайте увагу на контекст їх застосування, який завжди вказується в документації до директиви на сайті Apache.

У п'ятих: Потрібно розуміти, що Apache виконує читання і застосування всіх активних конфігов тільки при старті або перезавантаження. Після старту Apache вже паче не перечитує конфігурацію. Винятком служить файл .htaccess, Який є локальним файлом рівня каталогу сайту і перечитується при кожному зверненні до даного каталогу сайту. Відповідно, якщо ви зробили зміни параметрів конфігурації поза .htaccess файлу, то для вступу їх в силу необхідно перезавантажити web сервер Apache.

Види контексту директив:

  • server config - глобальний рівень директиви для застосування в файлах загальної конфігурації сервера поза і поза контейнерів і поза файлу .htaccess;
  • virtual host - рівень віртуального хоста для застосування директиви в контейнері;
  • directory - рівень каталогу, Директива повинна використовуватися всередині контейнерів , , , ;
  • .htaccess - рівень локального каталогу сайту, директива може застосовуватися в файлі.

Команди управління конфігурацією

Для зручності і автоматизації управління конфігурацією Apache в Ubuntu є спеціальні команди, скориставшись якими ви можете включити або виключити з конфігурації сервера ті чи інші конфігураційні файли, запустити і перезавантажити сервер, переглянути і змінити параметри змінних оточення Apache і багато іншого.

Команди включення / вимикання конфігурації

Для активації і деактивації тих чи інших конфігов в Ubuntu надаються команди помічники співзвучні з available/enabled і префіксом каталогу. Наприклад, команда a2enconf, Яку можна розшифрувати як apache2-enable-conf, Виконує активацію зазначеного в її аргументі конфігураційного файлу з conf-available каталогу шляхом створення на нього символьної посилання у каталозі conf-enabled. команда a2disconf виконує зворотну дію, тобто видаляє це посилання. Подібна логіка застосовна і до решти командам: a2enconf/a2disconf, a2enmod/a2dismod, a2ensite/a2dissite. Але ви так само можете і вручну створити / видалити символьні посилання на потрібні вам конфіги в директоріях виду * -enabled.

Увага: Для вступу змінити конфігов в силу потрібно виконати перезавантаження конфігурації WEB сервера Apache.

a2enconf / a2disconf

Для включення або виключення потрібного конфіга з каталогу conf-available в конфігурацію сервера використовуйте команди:

включити конфиг:

sudo a2enconf

Вимкнути конфіг:

sudo a2disconf

a2enmod / a2dismod

Для активації встановленого модуля Apache з каталогу mods-available

Включити модуль Apache

sudo a2enmod

Вимкнути модуль Apache

sudo a2dismod

a2ensite / a2dissite

Для активації конфігурації віртуального хоста з каталогу sites-available і деактивації його використовуйте команди:

Включити віртуальний хост в Apache

sudo a2ensite

Вимкнути віртуальний хост в Apache

sudo a2dissite

Команди управління Apache

В Ubuntu, Завдяки використанню змінних середовища, для звернення до демону httpd web сервера можна застосовувати виклики виду: /etc/init.d/apache2 або apache2ctl або apache2:

sudo /etc/init.d/apache2 sudo apache2ctl sudo apache2

httpd.conf - конфігурація сервера Apache

Apache налаштовується шляхом розміщення директив в звичайні текстові файли конфігурації. Основний конфігураційний файл сервера Apache - httpd.conf.
За допомогою директиви Include можуть бути додані інші конфігураційні файли. Будь-яка директива може бути встановлена \u200b\u200bв будь-якому з цих файлів конфігурації.
Apache 2.4 конфигурируется файлами знаходяться в підкаталозі (за замовчуванням) - conf (C: \\ Program Files \\ Apache Software Foundation \\ Apache2.4 \\ conf \\). Це - ті ж самі файли, що і для конфігурації на OS Unix, але є кілька директив спеціально призначених для Windows.

Головний файл конфігурації сервера Apache HTTP 2.4 зазвичай називається - httpd.conf.

Він містить директиви і параметри, що керують роботою Web-сервера, віртуальних серверів, а також всіх програмних модулів Apache 2.4. . Apache - модульний сервер. Це означає, що тільки самі основні функціональні можливості включені в основний сервер. Розширення функцій, є за допомогою динамічно завантажуваних модулів. Файли конфігурації містять одну директиву в рядку. Похила риса вліво "\\" може використовуватися як останній символ в рядку, для вказівки того, що директива триває на наступний рядок. Не повинно бути ніяких інших символів або пробілів між похилою рискою вліво і кінцем рядка. Директиви в файлах конфігурації нечутливі до регістру, але аргументи директив - часто чутливі. Рядки, які починаються з символу "#", вважають коментарями, і ігнорується. Коментарі не можуть бути включені в рядок після директиви конфігурації. Порожні рядки і прогалини, перед директивою ігноруються.

Директива - команда конфігурації, яка контролює один або кілька аспектів поведінки сервера Apache.
Директиви, розміщені в основних файлах конфігурації, відносяться до всього сервера .

Для перевірки файлів конфігурації на синтаксичні помилки, використовується команда httpd.exe -t.

При установці Apache 2.4 були введені:

В Network Domain (Мережевий Домен) - server-apache24.ru
в Server Name (Ім'я сервера) - www.server-apache24.ru
в Administrator "s Email Adress (Поштовий Адреса Адміністратора) - [Email protected]

отже, server-apache24.ru - буде ім'ям головного сайту сервера Apache.

Головний сайт сервера Apache конфигурируется в файлі - httpd.conf.

Внесення змін до файл конфігурації сервера Apache - httpd.conf

Для звернення до головного сайту сервера Apache по доменному імені - server-apache24.ru, Створіть на диску каталог - C: \\ server-apache24.ru

server-apache24.ru

  • C: \\ server-apache24.ru
    • logs
      • access.log
      • error.log
    • www
      • index.html

каталог server-apache24.ru

У корені диска C: потрібно створити каталог server-apache24.ru
В ньому обов'язково повинні бути папки:
logs з "порожніми" файлами access.log і error.log
і
www з файлом index.html

Див. У файлі httpd.conf рядка -
209 ServerAdmin [Email protected]
218 ServerName www.server-apache24.ru:80
243 DocumentRoot "C: /server-apache24.ru/www"
245

httpd.conf - конфігурація сервера Apache 2.4

httpd.conf.
Дія директив головного файлу конфігурації поширюється на весь сервер

Всі записи, за винятком виділених червоним кольором, повинні бути закоментовані. Рядки починаються з символу "#" - це коментарі.

# # This is the main Apache HTTP server configuration file. It contains the # configuration directives that give the server its instructions. # See for detailed information. # In particular, see # # for a discussion of each configuration directive. # # Do NOT simply read the instructions in here without understanding # what they do. They "re here only as hints or reminders. If you are unsure # consult the online docs. You have been warned. # # Configuration and logfile names: If the filenames you specify for many # of the server" s control files begin with " / "(or" drive: / "for Win32), the # server will use that explicit path. If the filenames do * not * begin # with "/", the value of ServerRoot is prepended - so "logs / access_log" # with ServerRoot set to "/ usr / local / apache2" will be interpreted by the # server as " / usr / local / apache2 / logs / access_log ", whereas" / logs / access_log "# will be interpreted as" / logs / access_log ". # # NOTE: Where filenames are specified, you must use forward slashes # instead of backslashes (e.g., "c: / apache" instead of "c: \\ apache"). # If a drive letter is omitted, the drive on which httpd.exe is located # will be used by default. It is recommended that you always supply # an explicit drive letter in absolute paths to avoid confusion. # # ServerRoot: The top of the directory tree under which the server "s # configuration, error, and log files are kept. # # Do not add a slash at the end of the directory path. If you point # ServerRoot at a non -local disk, be sure to specify a local disk on the # Mutex directive, if file-based mutexes are used. If you wish to share the # same ServerRoot for multiple httpd daemons, you will need to change at # least PidFile. # ServerRoot "C: / Program Files / Apache Software Foundation / Apache2.4" # # Mutex: Allows you to set the mutex mechanism and mutex file directory # for individual mutexes, or change the global defaults # # Uncomment and change the directory if mutexes are file-based and the default # mutex file directory is not on a local disk or is not appropriate for some # other reason. # # Mutex default: logs # # Listen: Allows you to bind Apache to specific IP addresses and / or # ports, instead of the default. See also the # directive. # # Change this to Listen on specific IP addres ses as shown below to # prevent Apache from glomming onto all bound IP addresses. # #Listen 12.34.56.78:80 Listen 80 # # Dynamic Shared Object (DSO) Support # # To be able to use the functionality of a module which was built as a DSO you # have to place corresponding `LoadModule" lines at this location so the # directives contained in it are actually available _before_ they are used. # Statically compiled modules (those listed by `httpd -l") do not need # to be loaded here. # # Example: # LoadModule foo_module modules / mod_foo.so # LoadModule access_compat_module modules / mod_access_compat.so LoadModule actions_module modules / mod_actions.so LoadModule alias_module modules / mod_alias.so LoadModule allowmethods_module modules / mod_allowmethods.so LoadModule asis_module modules / mod_asis.so LoadModule auth_basic_module modules / mod_auth_basic.so #LoadModule auth_digest_module modules / mod_auth_digest.so #LoadModule authn_anon_module modules / mod_authn_anon.so LoadModule authn_core_module modules / mod_authn_core. so #LoadModule authn_dbd_module modules / mod_authn_dbd.so #LoadModule authn_dbm_module modules / mod_authn_dbm.so LoadModule authn_file_module modules / mod_authn_file.so #LoadModule authn_socache_module modules / mod_authn_socache.so #LoadModule authnz_ldap_module modules / mod_authnz_ldap.so LoadModule authz_core_module modules / mod_authz_core.so #LoadModule authz_dbd_module mo dules / mod_authz_dbd.so #LoadModule authz_dbm_module modules / mod_authz_dbm.so LoadModule authz_groupfile_module modules / mod_authz_groupfile.so LoadModule authz_host_module modules / mod_authz_host.so #LoadModule authz_owner_module modules / mod_authz_owner.so LoadModule authz_user_module modules / mod_authz_user.so LoadModule autoindex_module modules / mod_autoindex.so # LoadModule buffer_module modules / mod_buffer.so #LoadModule cache_module modules / mod_cache.so #LoadModule cache_disk_module modules / mod_cache_disk.so #LoadModule cern_meta_module modules / mod_cern_meta.so LoadModule cgi_module modules / mod_cgi.so #LoadModule charset_lite_module modules / mod_charset_lite.so #LoadModule data_module modules /mod_data.so #LoadModule dav_module modules / mod_dav.so #LoadModule dav_fs_module modules / mod_dav_fs.so #LoadModule dav_lock_module modules / mod_dav_lock.so #LoadModule dbd_module modules / mod_dbd.so #LoadModule deflate_module modules / mod_deflate.so LoadModule dir_module modules / mod_dir. so #LoadModule d umpio_module modules / mod_dumpio.so LoadModule env_module modules / mod_env.so #LoadModule expires_module modules / mod_expires.so #LoadModule ext_filter_module modules / mod_ext_filter.so #LoadModule file_cache_module modules / mod_file_cache.so #LoadModule filter_module modules / mod_filter.so #LoadModule headers_module modules / mod_headers.so #LoadModule heartbeat_module modules / mod_heartbeat.so #LoadModule heartmonitor_module modules / mod_heartmonitor.so #LoadModule ident_module modules / mod_ident.so LoadModule imagemap_module modules / mod_imagemap.so LoadModule include_module modules / mod_include.so #LoadModule info_module modules / mod_info.so LoadModule isapi_module modules / mod_isapi.so #LoadModule lbmethod_bybusyness_module modules / mod_lbmethod_bybusyness.so #LoadModule lbmethod_byrequests_module modules / mod_lbmethod_byrequests.so #LoadModule lbmethod_bytraffic_module modules / mod_lbmethod_bytraffic.so #LoadModule lbmethod_heartbeat_module modules / mod_lbmethod_heartbeat.so #LoadModule ldap_module modules / mod_ldap.so #LoadModule logio_module modules / mod_logio.so LoadModule log_config_module modules / mod_log_config.so #LoadModule log_debug_module modules / mod_log_debug.so #LoadModule log_forensic_module modules / mod_log_forensic.so #LoadModule lua_module modules / mod_lua.so LoadModule mime_module modules / mod_mime. so #LoadModule mime_magic_module modules / mod_mime_magic.so LoadModule negotiation_module modules / mod_negotiation.so #LoadModule proxy_module modules / mod_proxy.so #LoadModule proxy_ajp_module modules / mod_proxy_ajp.so #LoadModule proxy_balancer_module modules / mod_proxy_balancer.so #LoadModule proxy_connect_module modules / mod_proxy_connect.so #LoadModule proxy_express_module modules / mod_proxy_express.so #LoadModule proxy_fcgi_module modules / mod_proxy_fcgi.so #LoadModule proxy_ftp_module modules / mod_proxy_ftp.so #LoadModule proxy_html_module modules / mod_proxy_html.so #LoadModule proxy_http_module modules / mod_proxy_http.so #LoadModule proxy_scgi_module modules / mod_proxy_scgi.so #LoadModule ratelimit_module modules / mod_ratelimit.so #LoadModule reflector_module modules / mod_reflector.so #LoadModule remoteip_module modules / mod_remoteip.so #LoadModule request_module modules / mod_request.so #LoadModule reqtimeout_module modules / mod_reqtimeout.so #LoadModule rewrite_module modules / mod_rewrite.so #LoadModule sed_module modules / mod_sed.so #LoadModule session_module modules / mod_session.so #LoadModule session_cookie_module modules / mod_session_cookie.so #LoadModule session_crypto_module modules / mod_session_crypto.so #LoadModule session_dbd_module modules / mod_session_dbd.so LoadModule setenvif_module modules / mod_setenvif.so #LoadModule slotmem_plain_module modules / mod_slotmem_plain.so #LoadModule slotmem_shm_module modules / mod_slotmem_shm.so #LoadModule socache_dbm_module modules / mod_socache_dbm.so #LoadModule socache_memcache_module modules / mod_socache_memcache.so #LoadModule socache_shmcb_module modules / mod_socache_shmcb.so #LoadModule speling_module [Email protected] # ServerAdmin [Email protected] # # ServerName gives the name and port that the server uses to identify itself. # This can often be determined automatically, but we recommend you specify # it explicitly to prevent problems during startup. # # If your host doesn "t have a registered DNS name, enter its IP address here. # ServerName www.server-apache24.ru:80 # # Deny access to the entirety of your server" s filesystem. You must # explicitly permit access to web content directories in other # blocks below. # AllowOverride none Require all denied # # Note that from this point forward you must specifically allow # particular features to be enabled - so if something "s not working as # you might expect, make sure that you have specifically enabled it # below. # # # DocumentRoot: The directory out of which you will serve your # documents. By default, all requests are taken from this directory, but # symbolic links and aliases may be used to point to other locations. # # DocumentRoot "C: / Program Files / Apache Software Foundation / Apache2.4 / htdocs "було DocumentRoot" C: /server-apache24.ru/www "# було # # Possible values \u200b\u200bfor the Options directive are" None "," All ", # or any combination of : # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # Note that "MultiViews" must be named * explicitly * --- "Options All" # doesn "t give it to you. # # The Options directive is both complicated and important. Please see # //httpd.apache.org/docs/2.4/mod/core.html#options # for more information. # # Options Indexes FollowSymLinks було Options Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # AllowOverride FileInfo AuthConfig Limit # # AllowOverride None було AllowOverride All # # Controls who can get stuff from this server. # Require all granted AddHandler server-parsed .shtml .shtm .html .htm # # DirectoryIndex: sets the file that Apache will serve if a directory # is requested. # DirectoryIndex index.html # # The following lines prevent .htaccess and .htpasswd files from being # viewed by Web clients. # Require all denied # # ErrorLog: The location of the error log file. # If you do not specify an ErrorLog directive within a # container, error messages relating to that virtual host will be # logged here. If you * do * define an error logfile for a # container, that host "s errors will be logged there and not here. # # ErrorLog "logs / error.log" було ErrorLog c: /server-apache24.ru/logs/error.log # # LogLevel: Control the number of messages logged to the error_log. # Possible values \u200b\u200binclude: debug, info, notice, warn, error, crit, # alert, emerg. # LogLevel warn # # The following directives define some format nicknames for use with # a CustomLog directive (see below). # LogFormat "% h% l% u% t \\"% r \\ "%\u003e s% b \\"% (Referer) i \\ "\\"% (User-Agent) i \\ "" combined LogFormat "% h% l % u% t \\ "% r \\"%\u003e s% b "common # You need to enable mod_logio.c to use% I and% O LogFormat"% h% l% u% t \\ "% r \\"%\u003e s% b \\ "% (Referer) i \\" \\ "% (User-Agent) i \\"% I% O "combinedio # # The location and format of the access logfile (Common Logfile Format). # If you do not define any access logfiles within a # container, they will be logged here. Contrariwise, if you * do * # define per- access logfiles, transactions will be # logged therein and * not * in this file. # # CustomLog "logs / access.log" common було CustomLog c: /server-apache24.ru/logs/access.log common # # If you prefer a logfile with access, agent, and referer information # (Combined Logfile Format) you can use the following directive. # #CustomLog "logs / access.log" combined # # Redirect: Allows you to tell clients about documents that used to # exist in your server "s namespace, but do not anymore. The client # will make a new request for the document at its new location. # Example: # Redirect permanent / foo //www.server-apache24.ru/bar # # Alias: Maps web paths into filesystem paths and is used to # access content that does not live under the DocumentRoot. # Example: # Alias \u200b\u200b/ webpath / full / filesystem / path # # If you include a trailing / on / webpath then the server will # require it to be present in the URL. You will also likely # need to provide a section to allow access to # the filesystem path. # # ScriptAlias: This controls which directories contain server scripts. # ScriptAliases are essentially the same as Aliases, except that # documents in the target directory are treated as applications and # run by the server when requested rather than as documents sent to the # client. The same rules about trailing "/" apply to ScriptAlias \u200b\u200b# directives as to Alias. # # ScriptAlias \u200b\u200b/ cgi-bin / "C: / Program Files / Apache Software Foundation / Apache2.4 / cgi-bin /" було ScriptAlias \u200b\u200b/ cgi-bin / "C: /server-apache24.ru/cgi-bin/" # # ScriptSock: On threaded servers, designate the path to the UNIX # socket used to communicate with the CGI daemon of mod_cgid. # #Scriptsock cgisock # # "C: / Program Files / Apache Software Foundation / Apache2.4 / cgi-bin" should be changed to whatever your ScriptAliased # CGI directory exists, if you have that configured. # # AllowOverride None Options None Require all granted # # TypesConfig points to the file containing the list of mappings from # filename extension to MIME-type. # TypesConfig conf / mime.types # # AddType allows you to add to or override the MIME configuration # file specified in TypesConfig for specific file types. # #AddType application / x-gzip .tgz # # AddEncoding allows you to have certain browsers uncompress # information on the fly. Note: Not all browsers support this. # #AddEncoding x-compress .Z #AddEncoding x-gzip .gz .tgz # # If the AddEncoding directives above are commented-out, then you # probably should define those extensions to indicate media types: # AddType application / x-compress. Z AddType application / x-gzip .gz .tgz AddType application / x-httpd-php .php # # AddHandler allows you to map certain file extensions to "handlers": # actions unrelated to filetype. These can be either built into the server # or added with the Action directive (see below) # # To use CGI scripts outside of ScriptAliased directories: # (You will also need to add "ExecCGI" to the "Options" directive.) # #AddHandler cgi-script .cgi AddHandler cgi-script .cgi .pl # For type maps (negotiated resources): #AddHandler type-map var # # Filters allow you to process content before it is sent to the client. # # To parse .shtml files for server-side includes (SSI): # (You will also need to add "Includes" to the "Options" directive.) # AddType text / html .shtml AddOutputFilter INCLUDES .shtml # # The mod_mime_magic module allows the server to use various hints from the # contents of the file itself to determine its type. The MIMEMagicFile # directive tells the module where the hint definitions are located. # #MIMEMagicFile conf / magic # # Customizable error responses come in three flavors: # 1) plain text 2) local redirects 3) external redirects # # Some examples: #ErrorDocument 500 "The server made a boo boo." #ErrorDocument 404 /missing.html #ErrorDocument 404 "/cgi-bin/missing_handler.pl" #ErrorDocument 402 //www.server-apache24.ru/subscription_info.html ErrorDocument 404 C: /server-apache24.ru/www/404error .html ErrorDocument 500 C: /server-apache24.ru/www/500error.html # # MaxRanges: Maximum number of Ranges in a request before # returning the entire resource, or one of the special # values \u200b\u200b"default", "none" or "unlimited". # Default setting is to accept 200 Ranges. #MaxRanges unlimited # # EnableMMAP and EnableSendfile: On systems that support it, # memory-mapping or the sendfile syscall may be used to deliver # files. This usually improves server performance, but must # be turned off when serving from networked-mounted # filesystems or if support for these functions is otherwise # broken on your system. # Defaults: EnableMMAP On, EnableSendfile Off # #EnableMMAP off #EnableSendfile on # Supplemental configuration # # The configuration files in the conf / extra / directory can be # included to add extra features or to modify the default configuration of # the server, or you may simply copy their contents here and change as # necessary. # Server-pool management (MPM specific) #Include conf / extra / httpd-mpm.conf # Multi-language error messages Include conf / extra / httpd-multilang-errordoc.conf # Fancy directory listings Include conf / extra / httpd-autoindex .conf # Language settings Include conf / extra / httpd-languages.conf # User home directories Include conf / extra / httpd-userdir.conf # Real-time info on requests and configuration #Include conf / extra / httpd-info.conf # Virtual hosts Include conf / extra / httpd-vhosts.conf # Local access to the Apache HTTP Server Manual #Include conf / extra / httpd-manual.conf # Distributed authoring and versioning (WebDAV) #Include conf / extra / httpd-dav. conf # Various default settings Include conf / extra / httpd-default.conf # Configure mod_proxy_html to understand HTML4 / XHTML1 Include conf / extra / proxy-html.conf # Secure (SSL / TLS) connections #Include conf / extra / httpd-ssl .conf # # Note: The following must must be present to support # starting without SSL on platforms with no / dev / random equivalent # but a statically compiled-in mod_ssl. # SSLRandomSeed startup builtin SSLRandomSeed connect builtin # # uncomment out the below to deal with user agents that deliberately # violate open standards by misusing DNT (DNT * must * be a specific # end-user choice) # # #BrowserMatch "MSIE 10.0;" bad_DNT # # #RequestHeader unset DNT env \u003d bad_DNT #


зміни .
команда - httpd.exe -k restart, Дозволяє завершити будь-які виконуються сервером Apache операції і змушує Apache перечитати конфігураційний файл.


Пошук і усунення помилок при установці сервера Apache

Apache поставляється з утилітою під назвою Apache Service Monitor. З її допомогою ви можете побачити і керувати станом всіх встановлених служб Apache на будь-якому комп'ютері в мережі.

Перезапуск Apache 2.4

Так як зміни в основних конфігураційних файлах вступлять в силу тільки при запуску або перезавантаження сервера Apache,
потрібно перезапустити сервер.

ApacheMonitor

Значок ApacheMonitor можна побачити натиснувши на кнопку - відображати приховані значки

Двічі клацніть лівою кнопкою миші на значку Apache Service Monitor.

Пезапустіть сервер Apache можна натиснувши на кнопку Restart
у вікні програми Apache Service Monitor.
або - Stop і потім - Start.

Якщо ви внесли зміни тільки в файл httpd.conf,

то ввівши в адресний рядок браузера - localhost або - 127.0.0.1 ,
ви побачите сторінку - Помилка 403 (Error 403).

Access forbidden!

You don "t have permission to access the requested directory. There is either no index document or the directory is read-protected.
If you think this is a server error, please contact the webmaster.

Error 403

127.0.0.1
Apache / 2.4.4 (Win64)

Доступ заборонено!

У вас немає дозволу на доступ до запрошенням каталогу. Відсутня індексний документ або каталог захищений від читання.
Якщо ви вважаєте, що це помилка сервера, зверніться до веб-майстру.

Помилка 403

Увійдіть з правами адміністратора в командний рядок - Адміністратор - Командний рядок
і введіть:
"C: \\ Program Files \\ Apache Software Foundation \\ Apache2.4 \\ bin \\ httpd.exe" 2\u003e C: \\ errapache.txt

Microsoft Windows (c) Корпорація Майкрософт (Microsoft Corporation), 2016. Всі права захищені. C: \\ Windows \\ system32\u003e "C: \\ Program Files \\ Apache Software Foundation \\ Apache2.4 \\ bin \\ httpd.exe" 2\u003e C: \\ errapache.txt C: \\ Windows \\ system32\u003e

на диску C: / буде створено файл errapache.txt


AH00112: Warning: DocumentRoot does not exist AH00112: Warning: DocumentRoot does not exist (OS 10048) Зазвичай дозволяється тільки одне використання адреси сокета (протокол / мережеву адресу / порт). : AH00072: make_sock: could not bind to address [::]: 80 (OS 10048) Зазвичай дозволяється тільки одне використання адреси сокета (протокол / мережеву адресу / порт). : AH00072: make_sock: could not bind to address 0.0.0.0:80 AH00451: no listening sockets available, shutting down AH00015: Unable to open logs

AH00112: Попередження (Warning):
C: / Program Files / Apache Software Foundation / Apache2.4 / docs / dummy-host.server-apache24.ru
C: / Program Files / Apache Software Foundation / Apache2.4 / docs / dummy-host2.server-apache24.ru
Вони не існують (does not exist).

Але головне - це помилки OS 10048:

не вдалося прив'язати до адресою [::]: 80 (could not bind to address [::]: 80)
не вдалося прив'язати до адресою 0.0.0.0:80 (could not bind to address 0.0.0.0:80)

Увійдіть в командний рядок і введіть:
netstat -aon

Адміністратор: Командний рядок

Microsoft Windows (c) Корпорація Майкрософт (Microsoft Corporation), 2016. Всі права захищені. C: \\ Windows \\ system32\u003e netstat -aon Активні підключення Ім'я Локальний адреса Зовнішній адреса Стан PID TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 1612 TCP [::]: 80 [::]: 0 LISTENING 1612 TCP 127.0.0.1:49693 127.0.0.1:49694 ESTABLISHED 5612 TCP 127.0.0.1:49694 127.0.0.1:49693 ESTABLISHED 5612 TCP 127.0.0.1:51341 0.0.0.0:0 LISTENING 3920 TCP 127.0.0.1:52006 0.0.0.0:0 LISTENING 3708 TCP 192.168.0.100:139 0.0.0.0:0 LISTENING 4 TCP 192.168.0.100:51330 34.226.135.28:443 ESTABLISHED +1232 TCP 192.168.0.100:51345 52.196.85.70:443 ESTABLISHED +1232 TCP 192.168.0.100:52796 88.212.253.127:21 ESTABLISHED одна тисяча сто двадцять вісім TCP 192.168.0.100:53160 151.101.112.134 : 443 CLOSE_WAIT 3712 TCP 192.168.0.100:53161 151.101.112.134:443 CLOSE_WAIT 3712 TCP 192.168.0.100:53162 151.101.128.134:443 CLOSE_WAIT 3712 TCP 192.168.0.100:53176 151.101.112.134:443 ESTABLISHED 3712 TCP 192.168.0.100:53179 151.101 .128.233: 443 CLOSE_WAIT 3712 TCP 192.168.0.100:53192 151.101.112.64:443 CLOSE_WAIT 3712 TCP 192.168.0.100:53223 23.61.217.175:443 CLOSE_WAIT 3712 TCP 192.168.0.100:53230 185.29.133.52:443 CLOSE_WAIT 3712 TCP 192.168.0.100:53246 2.18.74.149:443 CLOSE_WAIT 3712 TCP 192.168.0.100:53271 52.205.235.141:443 ESTABLISHED 5236 C: \\ Windows \\ system32\u003e

Ідентифікатор процесу, більш відомий як ідентифікатор PID - це унікальний номер. Кожен процес, запущений в системі має унікальний ідентифікатор.
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 1612
TCP [::]: 80 [::]: 0 LISTENING 1612

Відкрийте Диспетчер завдань

Тільки служба Apache2.4 має ідентифікатор PID - 1612

У каталозі C: / Program Files / Apache Software Foundation / Apache2.4 / conf / extra /
відкрийте в Блокноті файл - httpd-vhosts.conf

Перш ніж вносити будь-які зміни, зробіть резервну копію файлу - httpd-vhosts.conf.

Замініть в секціях VirtualHost
на

httpd-vhosts.conf - зміст файлу конфігурації сервера Apache 2.4

# Virtual Hosts # # Required modules: mod_log_config # If you want to maintain multiple domains / hostnames on your # machine you can setup VirtualHost containers for them. Most configurations # use only name-based virtual hosts so the server doesn "t need to worry about # IP addresses. This is indicated by the asterisks in the directives below. # # Please see the documentation at #

У каталозі C: \\ Windows \\ System32 \\ drivers \\ etc \\
відкрийте в Блокноті файл - hosts
І додайте в нього рядок:

127.0.0.1 localhost www.server-apache24.ru server-apache24.ru

Пезапустіте сервер Apache, натиснувши на кнопку Restart
в Apache Service Monitor.

Введіть в адресний рядок браузера - server-apache24.ru
і побачите, створену вами, контрольним аркушем головного сайту сервера Apache2.4

Індексна сторінка сайту повинна знаходитися в підкаталозі www (C: \\ server-apache24.ru \\ www \\)

Після установки сервера Apache 2.4 увійдіть в командний рядок і введіть команди:

httpd.exe -t

Буде отримано два попередження.

Адміністратор: Командний рядок

Microsoft Windows (c) Корпорація Майкрософт (Microsoft Corporation), 2016. Всі права захищені. C: \\ Windows \\ system32\u003e cd C: \\ Program Files \\ Apache Software Foundation \\ Apache2.4 \\ bin \\ C: \\ Program Files \\ Apache Software Foundation \\ Apache2.4 \\ bin\u003e httpd.exe -t AH00112: Warning: DocumentRoot does not exist AH00112: Warning: DocumentRoot does not exist Syntax OK C: \\ Program Files \\ Apache Software Foundation \\ Apache2.4 \\ bin\u003e

В ході даної інструкції ми докладно розглянемо установку веб сервера Apache, PHP, Tomcat (для підтримки JSP) і їх прив'язку для спільної роботи. Розглянемо приблизний файл конфігурації Apache. Потім ми зробимо установку MySQL сервера і розглянемо приклади доступу до нього з PHP і JSP. Встановимо PHPMyAdmin для роботи з MySQL.

необхідні компоненти

Мною були використані наступні версії, по можливості самі останні.
Apache 2.0.52
PHP 4.3.9
Tomcat 5.5.4
mod_jk 1.2.6
J2SDK 1.5.0
MySQL 4.1.7
Connector / J 3.1.6
PHPMyAdmin 2.6.0
Де взяти необхідні компоненти?
Apache Web Server
http://httpd.apache.org/
PHP
http://www.php.net/
JSP

* Tomcat
http://jakarta.apache.org
* mod_jk
http://www.javaportal.ru/downloads/downloads.html
* Java
http://java.sun.com/

* MySQL Database

* Connector / J
http://dev.mysql.com/downloads/
* PHPMyAdmin
http://www.phpmyadmin.net/

установка Apache

Для початку давайте створимо на диску С папку Server, куди ми будемо встановлювати все нам необхідне. Попередньо закачаємо все необхідне нам програмне забезпечення, можна ті ж версії що використовував я, а можна і вище.

Запускаємо apache_2.0.52-win32-x86-no_ssl і бачимо вікно вітання:

Тиснемо «Next».

З'являється віконце, де нам пропонують ознайомитися з ліцензією на використання даного продукту, вибираємо «I accept ....» і тиснемо «Next».

Трохи історії, і знову «Next».

У віконце інформації про сервер вводимо дані, як показано вище на зображенні:
Network Domain: localhost
Server name: localhost
Administrator`s Email Address: localhost »@localhost

Так само виберемо «For All Users, on 80 port, as a Service - Recommended». І далі «Next»

Вибираємо Custom для вибору всіх компонентів для установки.

Вибираємо все для повної установки, міняємо шлях інсталяції на C: ServerApache2

Знову тиснемо «Next».

Спостерігаємо хід установки.

Установка завершена. У правому нижньому кутку з'явився заначок?

Якщо так то наш веб-сервер встановився. Клацаємо на значку лівою кнопкою миші і відкриваємо панель управління:

Тут ми можемо стартувати, зупинити, або перезапустити наш сервер.

Тепер протестуємо наш сервер. Відкриваємо браузер і в рядку адреси, вводимо http: // localhost. Якщо ви побачите наступної результат:

Значить сервер визначено вдало.

установка PHP

Витягуємо вміст php-4.3.9-Win32.zip в папочку C: Server і перейменовуємо отримати папку «php-4.3.9-Win32» в «php4».

Тепер нам треба дати зрозуміти сервера що у нас є PHP інтерпретатор.

Додаємо в кінець конфігураційного файл нашого сервера C: ServerApache2confhttpd.conf наступну запис:

# Даємо знати сервера що у нас є PHP інтерпретатор ScriptAlias \u200b\u200b/ php4 / "C: / Server / php4 /" Action application / x-httpd-php4 "/php4/php.exe" # Встановлюємо розширення для PHP скриптів AddType application / x- httpd-php4 .php .php3 .php4 .phtm .phtml

Зберігаємо файл. Перезапускаємо наш сервер (кнопочка restart в панелі управління сервером), ще не забули як?

Тепер нам треба перевірити чи працює ця зв'язка. У таткові C: ServerApache2htdocs (ця папка за замовчуванням вар кореневої, доступною з http: // localhost) створюємо файл phpinfo.php такого змісту:

Зберігаємо. Відкриваємо в браузері http: //localhost/phpinfo.php, якщо все пройшло вдало повинні побачити наступні:

Встановлюємо підтримку JSP

Для цього нам необхідно встановити JDK версії 1.5, так як ми будемо встановлювати Tomcat 5, а він на версії нижче 1.5 не працює.

Запускаємо jdk-1_5_0-windows-i586.exe

Погоджуємося з ліцензійною угодою.

Ми залишаємо все як є

Також залишаємо все як є.

Вискакує діалог вибору установки плагінів до наявних браузерам, як бачите у мене тільки один.

JDK встановлений !!!

Приступаємо до установки Tomcat 5.

Запускаємо jakarta-tomcat-5.5.4

Приймаємо вітання та ліцензійну угоду

Вибираємо повну установку, позначаючи всі компоненти галочками.

Встановлюємо все в тугіше папочку "Server"

Конфігурацію залишаємо за замовчуванням.

Перевіряємо шлях до JRE.

хід інсталяції

Ок. все готово. Але поки Tomcat працює сам по собі і не пов'язаний з Apache.

Перевіряємо працездатність Tomcat. Відкриваємо в браузері http: // localhost: 8080 /, так як Tomcat за замовчуванням слухає порт 8080. При позитивному результаті ми повинні побачити наступне:

Тепер наше завдання полягає в тому щоб прикрутити Tomcat на localhost:

Для цього нам потрібно створити коннектор mod_jk.dll в папочку C: ServerApache2modules і в файлі конфігурації httpd.conf Apache2 додати наступний запис:

################################################## ######### ## JSP Support ## Copied from Tomcat auto-configuration file ## + added JkMount /*.jsp ajp13 ## + removed Virtual Host IfModule! mod_jk.c\u003e JkWorkersFile "C: / Server / Tomcat 5.5 / conf / workers.properties" JkLogFile "C: / Server / Tomcat 5.5 / logs / mod_jk.log" JkLogLevel info JkMount / manager ajp13 JkMount / manager / * ajp13 JkMount / servlets-examples ajp13 JkMount / servlets-examples / * ajp13 JkMount / jsp-examples ajp13 JkMount / jsp-examples / * ajp13 JkMount / tomcat-docs ajp13 JkMount / tomcat-docs / * ajp13 JkMount / webdav ajp13 JkMount / webdav / * ajp13 JkMount / ajp13 JkMount / *. jsp ajp13

Після чого необхідно перезавантажити сервер Apache2.

Давайте тепер перевіримо, чи працює? Відкриваємо в браузері http: // localhost / jsp-examples /. І якщо бачимо наступне, то все працює!

конфігурація сервера

Тепер нам необхідно привести в порядок наш сервер, налаштуємо його під себе. Відкриваємо файл httpd.conf, все звідти видаляємо і вставляємо туди текст:

# Папка куди встановлений наш веб сервер ServerRoot "C: / Server / Apache2" # Порт, який слухає наш веб сервер Listen 80 # Встановлюємо SSI, для файлів з розширенням shtm, shtml html AddType text / html .shtm .shtml .html AddOutputFilter INCLUDES .shtm .shtml .html # E-mail адресу адміністратора веб сервера (поміняйте на свій) ServerAdmin [Email protected] # Наш сервер: порт ServerName localhost: 80 UseCanonicalName Off # Індексні файли, через пробіл DirectoryIndex index.htm index.html index.shtm index.shtml index.php index.php3 index.php4 index.jsp # Ім'я вбудованого конфігураційного файлу AccessFileName .htaccess # Даємо знати веб сервера, що у нас є PHP інтерпретатор ScriptAlias \u200b\u200b/ php4 / "C: / Server / php4 /" Action application / x-httpd-php4 "/php4/php.exe" # Встановлюємо розширення для PHP скриптів AddType application / x-httpd-php4 .php .php3 .php4 .phtm .phtml # Папка куди будемо складати всі наші html та інші файли. DocumentRoot "C: / Server / www" PidFile logs / httpd.pid Timeout 300 KeepAlive On MaxKeepAliveRequests 100 KeepAliveTimeout 15 HostnameLookups Off # Модулі LoadModule access_module modules / mod_access.so LoadModule actions_module modules / mod_actions.so LoadModule alias_module modules / mod_alias.so LoadModule asis_module modules / mod_asis.so LoadModule auth_module modules / mod_auth.so LoadModule autoindex_module modules / mod_autoindex.so LoadModule cgi_module modules / mod_cgi.so LoadModule dir_module modules / mod_dir.so LoadModule env_module modules / mod_env.so LoadModule imap_module modules / mod_imap.so LoadModule include_module modules /mod_include.so LoadModule isapi_module modules / mod_isapi.so LoadModule log_config_module modules / mod_log_config.so LoadModule mime_module modules / mod_mime.so LoadModule negotiation_module modules / mod_negotiation.so LoadModule setenvif_module modules / mod_setenvif.so LoadModule userdir_module modules / mod_userdir.so # Закриваємо доступ до файлів конфігурації (.htaccess) і паролів (.htpasswd) Order allow, deny Deny from all # База з типами файлів TypesConfig conf / mime.types # Тип усіх документів - текстовий DefaultType text / plain MIMEMagicFile conf / magic # Файл звіту з помилками ErrorLog logs / error.log # Що записувати в файл звіту, може набувати таких значень: # debug, info, notice, warn, error, crit, alert, emerg. LogLevel warn # Шаблон записи рядки в файл звіту LogFormat "% h% l% u% t"% r "%\u003e s% b"% (Referer) i ""% (User-Agent) i "" combined LogFormat "% h % l% u% t "% r"%\u003e s% b "common LogFormat"% (Referer) i -\u003e% U "referer LogFormat"% (User-agent) i "agent # Файл звіту зі списком всіх доступів до веб сервера CustomLog logs / access.log common ServerTokens Full # Підпис веб сервера (On - включена, Off - відключена, # EMail - показувати e-mail адміністратора сервера) ServerSignature On # Віртуальні папки # Наприклад: # Alias \u200b\u200b/ icons / "C: / Server / Apache2 / icons / "# Зайшовши на http: // localhost / icons / # ми побачимо вміст папки C: / Server / Apache2 / icons / Alias \u200b\u200b/ icons /" C: / Server / Apache2 / icons / "AddIconByEncoding (CMP , / icons / compressed.gif) x-compress x-gzip AddIconByType (TXT, / icons / text.gif) text / * AddIconByType (IMG, / icons / image2.gif) image / * AddIconByType (SND, / icons / sound2 .gif) audio / * AddIconByType (VID, / icons / movie.gif) video / * # Вибираємо іконки для різних форматів AddIcon /icons/binary.gif .bin .exe AddIcon /icons/binhex.gif .hqx AddIcon /icons/tar.gif .tar AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv AddIcon /icons/compressed.gif .Z .z .tgz. gz .zip AddIcon /icons/a.gif .ps .ai .eps AddIcon /icons/layout.gif .html .shtml .htm .pdf AddIcon /icons/text.gif .txt AddIcon /icons/c.gif .c AddIcon /icons/p.gif .pl .py AddIcon /icons/f.gif .for AddIcon /icons/dvi.gif .dvi AddIcon /icons/uuencoded.gif .uu AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl AddIcon /icons/tex.gif .tex AddIcon /icons/bomb.gif core AddIcon /icons/back.gif .. AddIcon /icons/hand.right.gif README AddIcon /icons/folder.gif ^ ^ DIRECTORY ^^ AddIcon /icons/blank.gif ^^ BLANKICON ^^ # Іконка для невідомих форматів DefaultIcon /icons/unknown.gif # Якщо виводиться вміст будь-якої папки, cчітиваются файли опису: ReadmeName README.html HeaderName HEADER.html # файли для ігнорування, при виведенні лістингу директорії IndexIgnore. ?? * * ~ * # HEADER * README * RCS CVS *, v *, t AddEncoding x-compress Z AddEncoding x-gzip gz tgz # Наша кодування AddDefaultCharset WINDOWS-1251 # "C: / Server / Apache2 / cgi-bin" директорія CGI-скриптів AllowOverride None Options None Order allow, deny Allow from all ################################################## ######### ## JSP Support ## Copied from Tomcat auto-configuration file ## + added JkMount / * .jsp ajp13 ## + removed Virtual Host LoadModule jk_module C: /Server/Apache2/modules/mod_jk.dll JkWorkersFile "C: / Server / Tomcat 5.5 / conf / workers.properties" JkLogFile "C: / Server / Tomcat 5.5 / logs / mod_jk.log" JkLogLevel info JkMount / manager ajp13 JkMount / manager / * ajp13 JkMount / servlets-examples ajp13 JkMount / servlets-examples / * ajp13 JkMount / jsp-examples ajp13 JkMount / jsp-examples / * ajp13 JkMount / tomcat-docs ajp13 JkMount / tomcat-docs / * ajp13 JkMount / webdav ajp13 JkMount / webdav / * ajp13 JkMount / ajp13 JkMount / * .jsp ajp13

Зберігаємо. Перезавантажуємо сервер.

Встановлюємо MySQL сервер

Розпаковуємо файл mysql-4.1.7-win.zip і запускаємо файл Setup.exe

Привітання, тиснемо Next

Тут вибираємо Custom, так як нам необхідно встановити повністю всі компоненти і вказати шлях інсталяції.

Вибираємо всі компоненти для установки, і вказуємо шлях для інсталяції C: ServerMySQL Server 4.1. Йдемо далі.

Чи готові до початку процесу інсталяції? Тиснемо Install.

Спостерігаємо процес інсталяції.

Пропускаємо крок реєстрації на MySQL.com.

Ставимо галочку на опції «Ручна конфігурація MySQL сервер». І завершуємо процес установки приступаючи до конфігурації.

Знову вітання.

Вибираємо стандартну конфігурацію, що би зовсім не запудрити собі мізки, потім при бажанні можна спробувати полазити в налаштуваннях.

Зазначаємо, що MySQL сервер буде запускатися як служба Windows.

Вказуємо пароль для адміністратора, припустимо це буде «password».

Execute і все готово! Після чого ми спостерігаємо таку картинку в нижньому правому куті:

Тепер тестуємо наш MySQL сервер. Створимо в папці www файл index.php такого змісту:

Зберігаємо.

Відкриваємо в браузері http: //localhost/index.php і ....

Не тут то було! Вилізе помилка «Client does not support authentication protocol requested by server; consider upgrading MySQL client »

Ну що ж це невелика не сумісні. . . В MySQL 4.1 застосовується новий спосіб зберігання паролів і через це вилазить несумісність всіх старих клієнтів з MySQL. Що ж робити?

Для конфігурації Apache є 4 основні підходи:

  1. Компіляція / інсталяція: збірка з вихідних дозволяє вибрати необхідні модулі, встановити потрібні прапори, шляхи і т. Д.
  2. Параметри командного рядка: дозволяють конфігурувати Apache при запуску.
  3. Глобальні конфігураційні файли: головний файл за умовчанням називається httpd.conf.
  4. Локальні конфігураційні файли: іспользованіе.htaccess.

Конфігураційні директиви у файлі httpd.conf можна розбити на 3 категорії:

  1. Директиви, які контролюють загальний процес роботи.
  2. Директиви віртуальних хостів.
  3. Налаштування віртуальних хостів.

До директивам першої групи відносяться , , , , , .

Вони застосовуються в прив'язці до конкретної файлової структурі або до URL. У першому випадку це , у другому - . Apache може обслуговувати одночасно кілька веб-сайтів з різними іменами, реалізуючи віртуальний хостинг, що робиться на основі директиви . Для того, щоб зміни в головному конфіге вступили в силу, сервер повинен бути перезапущений.

Локальна конфігурація реалізована на основе.htaccess. Ім'я цього файлу можна змінити в секції AccessFileName. Зміни в файле.htaccess вступають в силу негайно, без перезапуску, його дія поширюється на каталог, в якому він лежить, з усіма вкладеними підкаталогами. Надмірне іспользованіе.htaccess може вплинути на продуктивність сервера.

Вміст основного конфіга httpd.conf можна розділити на 5 секцій:

  1. Глобальні директиви.
  2. - застосовні до виіртуальним серверів.
  3. , - застосовні до каталогів.
  4. , - застосовні до файлів.
  5. , - застосовні до URL.

Директива може мати кілька параметрів, тип параметрів може відрізнятися.

Кожна директива обробляється певним модулем.

Наприклад, директива

Наступна директива буде оброблена модулем mod_env, буде встановлена \u200b\u200bзмінна оточення:



Вміст локального файла.htaccess можна розділити також на 5 секцій:

  1. AuthConfig - контроль авторизації.
  2. Limits - контроль доступу.
  3. Options - конкретні настройки каталогів.
  4. FileInfo - установка атрибутів для документів.
  5. Indexes - індексація каталогів.

В Ubuntu apache знаходиться за адресою / etc / apache2 і, крім конфігураційних файлів, містить директорії "sites-available" і "sites-enabled". У першій директорії знаходиться список сайтів, які доступні на сервері, а в другій - ті, які обслуговуються сервером. Це дає можливість швидко додавати і видаляти сайти, які будуть обслуговуватися сервером, без необхідності фізично видаляти їх з DocumentRoot. На додаток до цього інші файли налаштувань можуть бути додані з використанням інструкції Include, а символи угруповань можуть використовуватися для включення безлічі файлів налаштувань. Будь-яка інструкція може бути додана в будь-який з цих файлів налаштувань. Сервер також читає файли, що містять типи mime документів; ім'я файлу задається інструкцією TypesConfig, зазвичай через /etc/apache2/mods-available/mime.conf, який також може включати доповнення та перевизначення, а за замовчуванням використовується /etc/mime.types.