Linux установка apache

Зазвичай встановлена ​​копія Apache складається з декількох взаємопов'язаних пакетів: самого сервера, різних бібліотек, плагінів, мов програмування та ін. Щоб полегшити установку, в деяких дистрибутивах передбачено вибір для установки відразу цілої групи пакетів.







У Fedora в консолі виконується команда yum groupinstall 'Web-Server'. У SUSE в розділі YaST, відведеному для управління пакетами, вибирається Сервер ► Веб-й LAMP-сервер, а потім встановлюються всі потрібні пакети. В Ubuntu за допомогою Synaptic або apt-get встановлюється пакет apache2-mpm-prefork. Разом з ним встановлюється і кілька інших залежних від нього пакетів.

Починаючи з версії 2, Apache підтримує три різних режими багатопотокової роботи: perchild, prefork і worker. Від обраного методу залежить, наскільки ефективно Apache зможе синхронно обробляти декілька запитів. При установці Apache вам необхідно вибрати один з трьох цих варіантів. Якщо ви збираєтеся використовувати разом з Apache мову програмування РНР, то найкраще вибрати prefork. При роботі з іншими варіантами можливі помилки, так як їх бібліотеки не пристосовані до роботи з потоками.

Запуск / зупинка. Apache - це демон, який в деяких дистрибутивах потрібно спеціально запускати. Назви сценарію Init-V в різних дистрибутивах можуть бути різними: apache2 в Debian, SUSE і Ubuntu або httpd в Fedora і Red Hat.

конфігурація

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

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

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

Механізм роботи такий же, як і з модулями: в каталозі sites-available містяться всі конфігураційні файли для всіх хостів, а в sites-enabled знаходяться відповідні посилання.

У SUSE все CONF-файли з каталогу sysconf.d при кожному запуску Apache створюються сценарієм Init-V /etc/init.d/apache2 заново! З цієї причини вносити зміни в ці файли безглуздо. Навпаки, вам слід змінити змінні, що знаходяться в / etc / sysconfig / apache2. Крім того, в даному файлі визначається, які модулі повинні завантажуватися при запуску Apache (змінна APACHE MODULES). Якщо хочете додати до конфігураційним файлів SUSE власний файл, вкажіть його назву в змінної APACHE_CONF_INCLUDE_FILES.

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


Змінивши синтаксис, за допомогою команд httpd -t, httpd2 -tnnnapache2 -t ви можете перевірити, чи немає в конфігурації синтаксичних помилок. В Debian і Ubuntu спочатку потрібно вважати з файлу envvars деякі змінні оточення:

Після цього накажете Apache заново вважати конфігураційні файли:

Зазвичай веб-сервер Apache запускається відразу. Але в залежності від налаштувань конкретної мережі вам буде потрібно змінити або додати в конфігураційних файлах як мінімум один рядок: змінна ServerName повинна містити ім'я вашого комп'ютера. Якщо ця настройка не подіє, вкажіть UseCanonicalName Off.


У SUSE ім'я комп'ютера записується в файлі / etc / sysconfig / apache2 в змінної APACHE_SERVERNAME.

стандартне кодування

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

Налаштування кодування. Тепер Apache повинен правильно вказати кодування. Якщо цього не вийде зробити, користувач побачить у себе в браузері неа або й, а якісь химерні комбінації символів. Щоб уникнути такого в Apache передбачена можливість настройки конфігурації кодування. Про AddDefaultCharset off - при такій настройці Apache інтерпретує МЕТА-тег переданого HTML-файлу і повідомляє браузеру, яка кодування вказана в цьому тезі. Якщо файл HTML починається так, як це показано нижче, то застосовується кодування Unicode UTF-8:








AddDefaultCharset charset - Apache повідомляє зазначену тут кодування всіх сторінок браузера. Налаштування діє для HTML- і PHP-файлів. МЕТА-тег в HTML-коді ігнорується. Про AddDefaultCharset charset extension-так налаштовується кодування для файлів, що мають певне розширення. Якщо вказати AddCharset utf-8 .utf8, то всі файли, назва яких закінчується на .utf8, будуть послані в браузер в кодуванні Unicode UTF-8. Для роботи AddCharset потрібно модуль Apache mod_mime, який за замовчуванням активний у всіх дистрибутивах.

Debian, Ubuntu. Зрозуміло, стандартна конфігурація в різних дистрибутивах неоднакова. Для глобальної настройки кодування в Ubuntu передбачений конфігураційний файл /etc/apache2/conf.d/charset. За замовчуванням він порожній, тобто діє AddDefaultCharset off.

Крім того, AddDefaultCharset і AddCharset можна використовувати в конфігураційних файлах для віртуальних хостів (каталог sites-available), а також в файлах. htaccess, якщо вам потрібна особлива конфігурація окремо взятого хоста або каталогу. Але не забувайте, що настройки кодування, які вказуються в .htaccess, враховуються лише в тих випадках, коли для веб-каталогу заданий параметр AHowOverride АН або FileInfo.

Fedora. Red Hat. У Fedora і Red Hat також може застосовуватися AddDefaultCharset UTF-8. Ця установка знаходиться в файлі /etc/httpd/conf/httpd.conf. У тому ж файлі знаходиться настройка AHowOverride None для каталогу / var / www / html.

У SUSE відсутні особливі функції для завдання кодування в конфігураційних файлах. Таким чином, діє AddDefaultCharset off, тобто кодування визначається тільки за даними, вказаними в МЕТА-тегу HTML-файлу. Для настройки AddDefaultCharset добре підходить файл /etc/apache2/mod_mime-defaults.conf.

Крім того, в SUSE діє AllowOvern'de None для каталогу / srv / www / htdocs. Цю настройкуможно змінити у файлі /etc/apache2/default-server.conf.

Забезпечення безпеки при роботі вдома або всередині організації

Якщо ви збираєтеся використовувати Apache тільки в рамках окремо взятої фірми або в локальній мережі, то вам буде потрібно заборонити доступ до сервера ззовні. Це можна зробити, використовуючи брандмауер (див. Розділ 18) або змінивши кілька рядків в конфігураційних файлах.

В принципі управління доступом до окремих веб-каталогах відбувається в розділах конфігураційних файлів (як правило, їх розташування різниться від дистрибутива до дистрибутива). При цьому, якщо є налаштування для кореневого каталогу, всі інші каталоги дотримуються їх за замовчуванням. Потім в інших розділах для конкретних каталогів можуть бути зазначені й інші настройки, що відрізняються від стандартних. З наступного прикладу має бути зрозуміло, які значення ключових слів Order, Deny і Allow.

Наведений далі код діє так, що всі веб-сторінки, що знаходяться в стандартному каталозі, можуть бути запитані тільки сторінками, розташованими в локальній мережі. Крім того, перестають працювати символьні посилання, так як вони часто серйозно загрожують безпеці мережі (зверніть увагу, що deny.allow вказується без пробілу!). Діючі строгі правила трохи пом'якшуються для каталогу / var / www / html / public. Завдяки параметру Indexes в браузері відображається список файлів, що знаходяться в тому чи іншому каталозі, якщо в ньому відсутня файл index.html.

Захист веб-каталогів паролем


Іноді буває необхідно не забороняти доступ до сервера повністю, а вирішувати його тільки після введення вірного пароля.

Такий метод може застосовуватися в тих випадках, коли у вас на сайті є кілька адміністративних сторінок (наприклад, PhpMyAdmin для адміністрування MySQL. Неважливо, де ви (адміністратор MySQL) зараз перебуваєте, - якщо хочете, то можете отримати доступ до цієї сторінки. Одночасно слід виключити можливість виходу звичайних користувачів на адміністративні сторінки.

Файл з паролем

Для створення нового файлу з паролем використовуйте команду htpasswd (htpasswd2 в SUSE) з параметром -c (create). Пароль, зрозуміло, зашифрована:

ПРИМІТКА

He забудьте дати Apache право читання файлу з паролем і каталогу, в якому цей файл знаходиться! З міркувань безпеки Apache працює не під обліковим записом адміністратора, а під іншим користувачем (www-date в Debian і Ubuntu, apache в Fedora і Red Hat, wwwrun в SUSE). Якщо ваш комп'ютер захищений SELinux або AppArmor, то правила цих систем безпеки також не повинні заважати доступу сервера до файлу з паролем.

Існує два варіанти конфігурації Apache, при яких паролі дійсно враховуються. При використанні першого варіанту потрібно змінити центральні конфігураційні файли (httpd.conf і ін.). Другий варіант передбачає конфігурацію у файлі .htaccess, що знаходиться всередині веб-каталогу.

файл httpd.conf

Щоб Apache враховував файл з паролем, потрібно вставити захищається паролем каталог в httpd.conf у вигляді окремого розділу. У наступному прикладі показано, як це робиться:


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


Описаний вище процес можна здійснити лише в тому випадку, якщо у вас є доступ до центральних конфігураційним файлів Apache, тобто якщо ви самі є адміністратором мережі. Якщо ви не адміністратор, то можете забезпечити не менш надійний захист за допомогою файлу .htaccess, який знаходиться в каталозі, захищеному паролем. У цьому файлі повинні бути вказані ті ж команди, що й в групі. тобто AuthType, AuthUserFile, AuthName і Require.

Зверніть увагу - файл .htaccess враховується лише за умови, що в httpd.conf в групі даного каталогу допускається зміна інформації, пов'язаної з аутентифікацією (замість AllowOvern'de AuthConfig також може бути зазначено AllowOvern'de АН). На веб-серверах, де окремі користувачі відповідають за власні мережеві каталоги, ця умова зазвичай виконується.

Послуги з розробки сайтів на MODX

MODX є програмним забезпеченням, яке ми використовуємо, щоб розвивати всі наші веб-сайти.

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

Професійна розробка сайтів на MODX, доробка та підтримка сайтів. створення і доопрацювання інтернет-магазинів на MODX.







Схожі статті