Що не повинні дозволяти конфігураційні файли apache. Встановлення веб-сервера Apache. Встановлення та налаштування MySQL

Apache - найбільш використовуваний інтернет-сервер на лінукс системах. Інтернет-сервера використовуються для видачі інтернет-сторінок на запит клієнтських комп'ютерів. Клієнти зазвичай запитують і переглядають веб-сторінки використовуючи програми веб-браузерів, таких як Firefox, Opera, Chromium або Mozilla.

Користувачі вводять одноманітний покажчик ресурсів (URL) для визначення інтернет-сервера за його повністю кваліфікованим доменовим ім'ям (FQDN) і шляхи до необхідного ресурсу. Наприклад, щоб побачити домашню сторінку інтернет-сайту Ubuntu, користувач має ввести лише FQDN:

Www.ubuntu.com

SymLinksIfOwnerMatch— Слід за символічними посиланнями, якщо цільовий файл або каталог має того ж власника, що й посилання.

Налаштування httpd

Цей розділ розкриває деякі основні конфігураційні установки сервісу httpd.

LockFile— інструкція LockFile встановлює шлях до блокуючого файлу (lockfile), коли сервер скомпільований з опцією USE_FCNTL_SERIALIZED_ACCEPT або USE_FLOCK_SERIALIZED_ACCEPT. Він повинен зберігатись на локальному диску. Варто залишити значення за замовчуванням, якщо каталог журналів не розташований на NFS ресурсі. В іншому випадку вихідне значення варто змінити на каталог локального диска з правами на читання тільки для root.

PidFile— інструкція PidFile встановлює файл, який сервер записує ID свого процесу (pid). Цей файл повинен бути доступний для читання тільки root. Найчастіше цей параметр варто залишити без змін.

User— Інструкція User встановлює userid (ID користувача), який використовується сервером для відповіді на запити. Ця установка визначає права доступу до сервера. Будь-які файли, недоступні цьому користувачу, також будуть недоступними для відвідувачів вашого сайту. За промовчанням використовується користувач "www-data".

Group- Інструкція Group аналогічна директиві User. Group встановлює групу, під якою сервер буде відповідати на запити. Значення за замовчуванням також є «www-data».

Модулі Apache2

Apache2 - модульний сервер. Це означає, що тільки базова функціональність включена в ядро ​​сервера. Розширені можливості доступні через модулі, які можна завантажити в Apache2. За замовчуванням базовий набір модулів включається до сервера на етапі компіляції. Якщо сервер скомпільований для використання модулів, що динамічно завантажуються, то модулі можуть бути скомпільовані окремо і додані в будь-який час з використанням інструкції LoadModule. В іншому випадку Apache2 повинен бути перекомпільований для додавання або видалення модулів.

Ubuntu компілює Apache2 із можливістю динамічного завантаження модулів. Конфігураційні директиви можуть бути включені за умовами присутності відповідного модуля в блоці .

Ви можете встановити додаткові модулі Apache2 та використовувати їх з вашим інтернет-сервером. Наприклад, запустіть наступну команду в терміналі для встановлення модуля авторизації MySQL:

Sudo apt-get install libapache2-mod-auth-mysql

Шукайте додаткові модулі у каталозі /etc/apache2/mods-available.

Використовуйте утиліту a2enmod для включення модуля:

sudo a2enmod auth_mysql sudo service apache2 restart

Аналогічно a2dismod вимкне модуль:

sudo a2dismod auth_mysql sudo service apache2 restart

Налаштування HTTPS

Модуль mod_sslдодає важливу можливість серверу Apache2 — можливість шифрованих з'єднань. Таким чином, коли ваш браузер з'єднується з використанням SSL , використовується префікс https:// на початку URL-адреси в рядку навігації.

Модуль mod_sslдоступний у пакеті apache2-common. Виконайте наступну команду в терміналі, щоб увімкнути цей модуль:

Sudo a2enmod ssl

Параметри за промовчанням HTTPS знаходяться у файлі /etc/apache2/sites-available/default-ssl. Щоб Apache2 надавав HTTPS, також потрібні файли ключа та сертифіката. Початкове налаштування HTTPS використовує сертифікат та ключ, створені пакетом ssl-cert. Вони підходять для тестування, але повинні бути замінені на сертифікат, який відповідає вашому сайту або серверу. Для отримання інформації щодо створення ключів та отримання сертифікатів дивіться розділ Сертифікати.

Щоб настроїти Apache2 для HTTPS, введіть наступне:

Sudo a2ensite default-ssl

Каталоги /etc/ssl/certs та /etc/ssl/private використовуються за замовчуванням. Якщо ви встановили сертифікат і ключ в інші каталоги, переконайтеся, що змінили відповідно опції SSLCertificateFile та SSLCertificateKeyFile.

З Apache2, тепер налаштованим на HTTPS, перезапустимо сервіс для вирішення нових налаштувань:

Sudo service apache2 restart

Залежно від того, як ви випускали сертифікат, вам може знадобитися ввести кодову фразу при старті Apache2.

Ви можете отримати доступ до сторінок захищеного сервера, набравши https://your_hostname/url/ в адресному рядку вашого браузера.

Права розділення запису

Щоб більше одного користувача мали право запису в той самий каталог, необхідно надати право запису групі, яка їх об'єднує. Наступний приклад надає права на запис у каталог /var/www для групи webmasters.

Sudo chgrp -R webmasters /var/www sudo find /var/www -type d -exec chmod g=rwxs "()" \; sudo find /var/www -type f -exec chmod g=rws "()" \;

Якщо доступ має бути наданий більш ніж одній групі на каталог, використовуйте Списки керованого доступу (ACL).

У мережі досить багато статей, де автори наводять докладні інструкції зі скріншотами, завдяки яким жоден користувач зміг виконати встановлення сервера Apache для PHP та СУБД MySql. Але більшість з них залишають за користувачем безліч питань, на які він довго не може знайти відповіді. Розглянемо, що таке Apache, MySql, PHP, для чого вони потрібні і як виконати інсталяцію цих продуктів.

Трохи теорії

Apache є вільний http-сервер, названий так на честь північноамериканського племені індіанців апачів. Він широко використовується на всіх платформах, включаючи Windows, і фактично став стандартом у розробці веб-додатків та сервісів. Крім нього нам знадобиться встановлення СУБД MySql, яка також є стандартом у своїй сфері, і одна з поширених та універсальних скриптових мов – PHP.

Апач (як його назвали користувачі) відрізняється від інших серверів тим, що на ньому гарантовано працюватимуть усі додатки та сервіси, не вимагаючи при цьому від користувача виконання додаткового налаштування. У порівнянні з аналогами, Апач не відрізняється високою швидкодією та низькими показниками споживання ресурсів комп'ютера, зате на його основі гарантовано функціонуватиме будь-яка програма. Ще сюди можна додати простоту налаштування, роботу фактично на всіх сучасних платформах та чудову документацію.

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

Інсталяція Апач

  • Заходимо на офіційний ресурс підтримки Apache та завантажуємо його останню редакцію.

Насправді різниці між версіями продукту для розробника практично немає, хіба старі Апачі не підтримуються останніми версіями скриптової мови PHP.

  • Запускаємо завантажений інсталяційний файл.
  • Перші два поля заповнюємо, як на скріншоті: вписуємо «localhost» в обидва рядки.

  • Задаємо абсолютно будь-яку поштову скриньку.
  • перше відповідає за інсталяцію продукту як службу Windows, яка використовуватиме порт під номером 80;
  • друге підключить сервер до порту під номером 8080, після чого доведеться автоматично запускати його щоразу.

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

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

Якщо ж він не працює, запускаємо командний рядок. Робиться це за допомогою введення cmd у текстову форму командного інтерпретатора (Win+R).

У командному рядку пишемо "net start Apache2.2" для запуску сервера.

Такий запис справедливий лише для версії продукту 2.2, в інших версіях числа будуть відповідними.

Зупиняється сервер за допомогою набору команди з такими параметрами: "net stop Apache2.2".

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

Те саме виконується за допомогою керування однойменною службою через відповідну утиліту, що відкриває доступ до служб Windows, або оснастку «Служби». Запускається через пошуковий рядок чи «Адміністрування» в «Панелі управління».

Налаштовуємо Апач

При виборі першого методу встановлення сервера можна встановити метод його запуску. Під час регулярного використання та наявності вільних ресурсів на ПК використовуйте автозапуск Apache. В іншому випадку вибирайте його запуск через контекстне меню служби.

Після ручного або автоматичного запуску сервера відкриваємо зручний браузер і переходимо на адресу: //localhost. З'явиться порожня сторінка з такою самою адресою.

Щоб розпочати роботу робимо таке.

  • Ідемо до каталогу "htdocs", розташованого в папці з файлами програмного продукту.
  • Видаляємо з неї html-файл та створюємо каталог з ім'ям сайту (mysite).
  • Можете зайти на майбутній сайт, ввівши //localhost/mysite.
  • Переходимо до папки «conf» і відкриваємо файл «httpd.conf» у текстовому редакторі (бажано, за допомогою синтаксису).
  • Переходимо на рядок номер 227 та замінюємо "none" на "all". У результаті має бути значення «AllowOverride All».

Виконання такої дії дозволить використовувати документ htaccess. Він є розширеним конфігураційним файлом Apache.

  • Шукаємо рядок з текстом #LoadModule rewrite_module modules/mod_rewrite.so і видаляємо символ #.

Така дія активує модуль, який відповідає за створення та функціонування ЧПУ-посилань.

  • Зберігаємо внесені зміни та обов'язково виконуємо рестарт Апач.

Встановлюємо ПХП

  • Заходимо на сторінку завантаження PHP і завантажуємо останню стабільну версію мови скрипта.

Увага! Завантажувати доведеться не файл формату msi або exe, а biz-архів.

  • Створюємо каталог і виконуємо декомпресію архіву за допомогою 7zip або Winrar.
  • Відкриваємо "httpd.conf", якщо закрили, і додаємо наступний текст до кінця:

"LoadModule php5_module "C:\Users\Public\php\php7Apache2_2.dll"

AddType application/x-httpd-php .php»

Цифри в першому рядку та адреса будуть змінюватись в залежності від версій використовуваних продуктів та шляхів до каталогів та PHP.

  • Знову ж таки зберігаємо зміни і виконуємо перезапуск Apache.

З появою інформаційного діалогового вікна, що сигналізує про помилку під час операції перезавантажуємо Windows.

Усі параметри конфігурації PHP, коли виконалася його установка, зберігаються у файлі "php.ini". Замість нього є документи, ім'я яких починається із «php.ini».

  • Перейменовуємо будь-хто в «php.ini» для створення конфігураційного файлу.
  • Потім копіюємо цей документ у каталог з Windows, наприклад, "С:\Windows".
  • Виконуємо рестарт сервера через контекстне меню його іконки.

На цьому встановлення та налаштування PHP завершено. Залишилося перевірити працездатність сервера. Йдемо в "htdocs" і створюємо в папці файл з будь-яким ім'ям (краще латиницею) та розширенням php (наприклад, file.php). Відкриваємо його за допомогою текстового редактора та вводимо наступний фрагмент коду:

Тепер відкриваємо або розгортаємо вікно браузера і вводимо шлях до створеного файлу в адресний рядок. У нашому випадку це: //localhost/mysite/file.php

Якщо все пройшло вдало та без помилок, побачите подібне зображення.

Зверніть увагу на рядок "Loaded configuration file". Там має бути вказаний шлях до файлу конфігурації "php.ini".

На цьому встановлення Apache з PHP на комп'ютер з Windows завершено. Якщо вам потрібно встановити будь-яку CMS, виконується установка СУБД.

Інсталяція СУБД

  • Завантажуємо актуальну версію MySql для вашої версії та розрядності Windows.

  • Після натискання на кнопку «Download» клацаємо за посиланням, виділеним на скріншоті, щоб завантажити MySql без реєстрації.

  • Запускаємо інсталятор, функціонування якого вимагатиме бібліотеки .NET Framework редакції 4.5.
  • Приймаємо умови використання MySql у Windows.
  • Переміщуємо перемикач у положення "Server only".

  • Тиснемо по кнопці «Execute», щоб запустилася установка MySql після перевірки вимог.

  • Задаємо пароль для MySql, який буде використовуватись для надання доступу до бази даних.

  • Тиснемо «Next».

Налаштування сервера зі скриптовою мовою та MySql завершено. Залишилося лише зв'язати два останні компоненти, щоб вони змогли взаємодіяти.

Для цього відкриваємо відомий файл конфігурації «php.ini» і видаляємо символ «;» у рядках з такими даними:

extension=php_mysql.dll

extension=php_mysqli.dll.

Знаходимо текст”; extension_dir = «ext» і замінюємо його на наступний «extension_dir = «C:UsersPublic_phpext»», де після знака «рівно» задаємо шлях до каталогу з PHP.


Apache - це найпопулярніший вільний веб-сервер. Станом на 2016 рік він використовується на 33% всіх сайтів інтернету, а це приблизно 304 мільярди сайтів. Цей веб-сервер був розроблений в далекому 1995, як заміна для популярного сервера NCSA і виправив безліч його проблем. Ходять чутки що його ім'я походить від a patchy, латки, тому що він виправляв помилки NCSA. Зараз, це кросплатформова програма, що підтримує Windows, Linux і MacOS і забезпечує достатню гнучкість, налаштовуваність та функціональність. Програма має модульну структуру, що дозволяє розширювати її функціональність майже нескінченно за допомогою модулів.

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

На даний момент, найновіша версія програми 2.4 тому і буде розглянуто налаштування apache 2.4. Як я вже казав, у Linux програма встановлюється буквально в пару команд. Для встановлення в Ubuntu спочатку оновимо систему до найновішої версії:

sudo apt update
$ sudo apt upgrade

Потім установка apache2:

sudo apt install apache2

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

Після завершення інсталяції потрібно додати веб-сервер у автозавантаження, щоб не запускати його вручну після ввімкнення комп'ютера:

sudo systemctl enable apache2

Налаштування Apache

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

Усі налаштування містяться в папці /etc/apache/:

  • Файл /etc/apache2/apache2.confвідповідає за основні налаштування
  • /etc/apache2/conf-available/*- додаткові налаштування веб-сервера
  • /etc/apache2/mods-available/*- Налаштування модулів
  • /etc/apache2/sites-available/*- настоянки віртуальних хостів
  • /etc/apache2/ports.conf- порти, на яких працює apache
  • /etc/apache2/envvars

Як ви помітили, є дві папки для conf, mods і site. Це available та enabled. При включенні модуля або хоста створюється символічне посилання з папки available (доступно) до enable (включено). Тому налаштування краще виконувати саме в папках available. Взагалі кажучи, можна було б обійтися без цих папок, взяти все і по-старому звалити в один файл, і все працювало б, але зараз так ніхто не робить.

Спочатку давайте розглянемо головний файл конфігурації:

vi /eta/apache2/apache2.conf

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

KeepAlive On- дуже корисний параметр, що дозволяє передавати кілька файлів, за одне з'єднання, наприклад, не тільки саму html сторінку, а й картинки та css файли.

MaxKeepAliveRequests 100- максимальна кількість запитів за одне з'єднання, чим більше, тим краще.

KeepAliveTimeout 5- таймати з'єднання, зазвичай для завантаження сторінки достатньо 5-10 секунд, так що більше ставити не потрібно, але і рвати з'єднання раніше, ніж завантажилися всі дані теж не потрібно.

User, Group- користувач та група, від імені яких працюватиме програма.

HostnameLookups- записувати в логи замість ip адрес доменні імена, краще відключити, щоб прискорити роботу.

LogLevel- Рівень логування помилок. За замовчуванням використовується warn, але щоб логи заповнювалися повільніше, достатньо включити error

Include- всі директиви include відповідають за підключення розглянутих вище конфігураційних файлів.

Директиви Directory відповідають за налаштування прав доступу до тієї чи іншої директорії у файловій системі. Синтаксис тут такий:


Параметр значення

Тут доступні такі основні опції:

AllowOverride- вказує, чи потрібно читати.htaccess файли з цієї директорії, це такі ж файли налаштувань і таким же синтаксисом. All - дозволяти все, None - не читати ці файли.

DocumentRoot- встановлює з якої папки потрібно брати документи для відображення користувача

Options- вказує, які особливості веб-сервера потрібно дозволити в цій папці. Наприклад, All - дозволити все, FollowSymLinks - переходити за символічними посиланнями, Indexes - відображати вміст каталогу, якщо немає файлу індексу.

Require- Встановлює, які користувачі мають доступ до цього каталогу. Require all denied – всім заборонити, Require all granted – усім дозволити. можна використовувати замість all директиву user або group, щоб явно вказати користувача.

Order- дозволяє керувати доступом до директорії. Приймає два значення Allow,Deny - дозволити всім, крім зазначених чи Deny,Allow - заборонити всім, крім зазначених..ru.

Тут усі ці директиви не використовуються, оскільки нас влаштовують значення за замовчуванням, але у файлах.htaccess вони можуть бути дуже корисні.

У нас залишився файл /etc/apache2/ports.conf:

У ньому лише одна директива, Listen, яка вказує програмі на якому порту потрібно працювати.

Останній файл /etc/apache2/envvars, його ви навряд чи використовуватимете, в ньому вказані змінні, які можна використовувати в інших конфігураційних файлах.

Налаштування сервера Apache через htaccess

Файли.htaccess дозволяють настроювати веб-сервер на Ubuntu для поведінки у певній директорії. Всі інструкції, зазначені в цьому файлі виконуються як би вони були обгорнуті в тег якби були в основному файлі.

Важливо помітити, що для того, щоб сервер читав інструкції з. AllowOverride Noneщоб могли працювати всі налаштування потрібно AllowOverride All.

А в іншому, тут може виконуватися будь-яке налаштування сервера apache, від включення модулів до звичайної зміни доступу до папки. Оскільки всі параметри ми вже розглянули, просто наведемо пару прикладів:

Order Deny,Allow
Deny from all

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

RewriteEngine on
RewriteRule ^product/([^/\.]+)/?$ product.php?id=$1 [L]

Але це дуже велика тема і виходить за межі цієї статті.

Налаштування модулів Apache

Як я вже казав, Apache – модульна програма, її функціональність можна розширювати за допомогою модулів. Усі доступні модулі завантажувачі та конфігураційні файли модулів знаходяться у папці /etc/apache/mods-available. А активовані /etc/apache/mods-enable.

Але вам необов'язково аналізувати вміст цих папок. Налаштування Apache 2.4 за допомогою додавання модулів виконується за допомогою спеціальних команд. Переглянути всі запущені модулі можна командою:

Увімкнути модуль можна командою:

sudo a2enmod ім'я_модуля

А відключити:

sudo a2dismod ім'я_модуля

Після увімкнення або вимкнення модулів потрібно перезавантажити apache:

sudo systemctl restart apache2

Під час виконання однієї з цих команд створюється або видаляється символічне посилання файл модуля з розширенням load в директорії mods-available. Можете подивитися вміст цього файлу, там лише один рядок. Наприклад:

vi /etc/apache2/mods-available/deflate.load

Це до того, що активувати модуль можна було просто додавши цей рядок у файл apache2.conf. Але заведено робити саме так, щоб уникнути плутанини.

Налаштування модулів знаходяться в тій же папці, тільки у файлі розширення.conf замість load. Наприклад, подивимося налаштування того ж модуля для стиснення deflate:

vi /etc/apache2/mods-available/deflate.conf

Файли в папці conf-available, це такі ж модулі, тільки вони встановлені окремо від apache, це можуть бути конфігураційні файли для включення php модуля або будь-якої іншої мови програмування. Тут працює все так само, тільки команди для включення та відключення цих модулів трохи інші:

a2enconf ім'я_модуля

a2disconf ім'я модуля

Як ви переконалися, вмикати модулі дуже просто. Давайте увімкнемо кілька необхідних, але не включених за замовчуванням модулів:

sudo a2enmod expires
$ sudo a2enmod headers
$ sudo a2enmod rewrite
$ sudo a2enmod ssl

Модулі expires та headers зменшують навантаження на сервер. Вони повертають заголовок Not Modified, якщо документ не змінено з останнього запиту. Модуль expiries дозволяє встановити час, на який браузер повинен кешувати отриманий документ. Rewrite дозволяє змінювати запитувані адреси на льоту, дуже корисно при створенні ЧПУ посилань і т.д. А останній для включення підтримки шифрування SSL. Не забудьте перезавантажити apache2 після завершення налаштувань.

Налаштування віртуальних хостів Apache

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

Параметри хостів Apache розташовані в папці /etc/apache2/hosts-available/. Для створення нового хоста достатньо створити файл з будь-яким ім'ям (краще закінчено з ім'ям хоста) та заповнити його потрібними даними. Повернути всі ці параметри потрібно в директиву VirtualHost.Крім розглянутих параметрів, тут будуть використовуватися такі:

  • ServerName- основне ім'я домену
  • ServerAlias- додаткове ім'я, за яким буде доступний сайт
  • ServerAdmin- електронна пошта адміністратора
  • DocumentRoot- папка з документами для цього домену

Наприклад:

vi /etc/apache2/sites-available/test.site.conf

Раніше у нашій серії з основ Linux ми розглядали основи роботи з веб-сервером Apache. Він є найбільш широко використовуваним у світі веб-сервером в Інтернеті (станом на липень 2015 року частка Apache становила 38%, IIS - займав 26%, а Nginx - 15%). Тому чим більше ви про нього знаєте і розумієте як він працює, тим більших успіхів ви досягнете за його злому.

Сьогодні ми розглянемо основи налаштування сервера Apache. Як ми писали раніше, конфігурування та налаштування майже всіх додатків у Linux або Unix здійснюється через конфігураційні файли, які є звичайним текстом. Apache тут не є винятком. Тому в цій статті ми зосередимося на файлі конфігурації apache2.conf, який знаходиться в директорії /etc/apache2.

Крок 1. Запустіть Apache2

Почнемо з того, що запустимо Apache2. Зробимо це через графічну оболонку оточення Kali, перейшовши в Applications -> Kali Linux -> System Services -> HTTP -> apache2 start, як показано на скріншоті нижче.

Або запустіть його через командний рядок, набравши в терміналі наступну команду

Kali >service apache2 start

Це запускає демон Apache2 і з цього моменту веб-сервер повинен обробляти наш контент в Інтернеті.

Крок 2. Перевірте працездатність сервера

Щоб перевірити, чи працює наш сервер Apache, просто перейдемо в браузері по localhost або 127.0.0.1. Якщо ви бачите сторінку як на скріншоті нижче, це означає, що сервер працює нормально!

Крок 3. Відкрийте конфігураційний файл

Щоб налаштувати Apache, нам потрібно перейти до директорії /etc/apache2.

Kali > cd /etc/apache2

Виведемо на екран список усіх файлів у цій директорії:

Kali > ls -l

Як бачите, у цій директорії є кілька файлів та піддиректорій. Зараз нас цікавить тільки файл apache2.conf, але зверніть увагу, що у нас є файл ports.conf і папка sites_available, які нам знадобляться трохи пізніше, також є кілька інших файлів конфігурації та папок.

Ми можемо відкрити apache2.conf у будь-якому текстовому редакторі, але тут ми будемо використовувати Leafpad. Файл можна відкрити просто набравши в консолі:

Kali > leafpad /etc/apache2/apache2.conf

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

Крок 4. ServerRoot

Прокрутимося вниз, пропустивши всі коментарі, і знайдемо рядок #70, де починається розділ глобальних налаштувань. Тут ми бачимо налаштування ServerRoot. Це вершина дерева директорій, де сервер Apache зберігає всі пов'язані з роботою сервера файли. Рядок #84 визначає ServerRoot. Ми можемо просто розкоментувати цей рядок, якщо хочемо встановити /etc/apache2 як ServerRoot. Ми радимо вам це зробити.

Крок 5. Timeout

У наступному розділі ми маємо змінні, які визначають значення параметрів: Timeout, KeepAlive, MaxKeepAliveRequests і KeepAliveTimeout.

  • Timeout: це час, протягом якого сервер повинен виконати запит користувача. Його значення за замовчуванням – 300, а це означає, що сервер повинен обробити кожен запит протягом 300 секунд або 5 хвилин. Це, безперечно, занадто довго і це значення можна встановити в 30 секунд.
  • KeepAlive: це означає, що сервер залишається живим (тримає з'єднання) для декількох запитів від одного клієнта. За замовчуванням встановлено значення On (ввімкнено). Це означає, що клієнтам не потрібно створювати нове з'єднання кожного запиту до нашого сервера. Такий підхід дозволяє заощаджувати ресурси сервера.
  • MaxKeepAliveRequests: це значення визначає максимальну кількість секунд, допустиму між запитами, отриманими від з'єднання з одним клієнтом. Якщо ми встановимо це значення 0, то кількість часу не обмежена.
  • KeepAliveTimeout: Це кількість часу між запитами для визначення того, що з'єднання ще живе (встановлене).

Ми пропонуємо вам залишити всі значення за промовчанням, крім параметра "Timeout". Кожна ситуація відрізняється, і вам може знадобитися змінити ці значення за умовчанням для того, щоб адаптувати продуктивність сервера до конкретного середовища.

Крок 6. Користувач та групи Apache2

Давайте знову прокрутимо кілька рядків у файлі apache2.conf, поки не дійдемо до рядка #177. Тут ми можемо встановити користувача та групи Apache2. Зверніть увагу на коментар до рядка #177. Там зазначено, що ми можемо встановити ці змінні файлу envvars (змінні оточення). Залишимо це питання для майбутніх статей, але поки що просто майте на увазі, що і User (користувач) і Group (група) є змінними, значення яких беруться з файлу /etc/apache2/envvars.

І, нарешті, останній розділ, що має величезне значення для безпеки Apache, починається з рядка #193. Цей розділ дає гарантії, що веб-клієнти не зможуть отримати доступ до файлів .htaccess та .htpasswd.

Крок 7. Логування

У наступному розділі описано, як Apache керує логами (журналами).

У першому підрозділі ми звертаємось до параметра HostNameLookups. Ця директива повідомляє Apache2, чи повинен виконувати пошук DNS, коли він записує в лог встановлене з'єднання. За умовчанням "Off" (вимкнено) Apache2 працює набагато краще.

Крок 8. Доступні сайти

Тепер подивимося на директорію site_available (доступні сайти) і, найголовніше, на файл, який знаходиться в ній за умовчанням. Його часто називають файлом віртуальних хостів (Virtual Hosts) за промовчанням. Відкрийте цей файл, набравши в консолі:

Kali > leafpad /etc/apache2/site_available/default

Як бачите, у цьому файлі є три критичні області. Перший рядок визначає, який порт слухає веб-сервер. Тут визначено, що слухає будь-який інтерфейс на 80-му порту (*: 80). Другий рядок визначає адресу електронної пошти, на яку потрібно надсилати повідомлення у разі виникнення проблем із сервером. За замовчуванням там стоїть адреса Якщо ви системний адміністратор, то тут ви можете вказати вашу адресу електронної пошти. Третій елемент може бути найважливішим – DocumentRoot. Він визначає, де буде розміщуватись контент для цього віртуального хоста, значенням за замовчуванням є директорія /var/www. Ми пропонуємо вам залишити все у тому вигляді, в якому це було визначено розробниками.

Крок 9. Порти

Нарешті, ми можемо перейти у файлі apache2.conf ще нижче до рядка #248 - "include port.conf". Ця директива просто повідомляє Apache про необхідність перейти до файлу port.conf, щоб знайти порти, які він повинен прослуховувати.

Тепер, якщо ми відкриємо файл port.conf, побачимо, що він налаштований на прослуховування 80-го порту (рядок #9). У наступному розділі, який починається з рядка 11, перевіряється, чи модуль mod_ssl.c, і якщо він включений, то відкривається 443-й порт (рядок 17).

Встановлення веб-сервера на Linux:

  • Якщо у вас Ubuntu, то вам підійде стаття "Як встановити веб-сервер Apache з PHP 7, MariaDB/MySQL та phpMyAdmin (LAMP) на Ubuntu 16.10".
  • Якщо у вас Arch Linux, то вам підійде стаття "Установка LAMP (Linux, Apache, MySQL/MariaDB, PHP7 та phpMyAdmin) в Arch Linux/BlackArch".

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

Ця інструкція розповість про встановлення локального веб-сервера без використання готових збірок. Цей спосіб має переваги. Найважливішими є: повний контроль у тому, що ви встановлюєте; можливість використовувати останні версії програмного забезпечення.

Якщо ви точно дотримуватиметеся інструкції, то у вас обов'язково все запрацює! Крім тих, у кого Windows XP - якщо лу вас ця операційна система, то для вас зроблена спеціальна інструкція.

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

Етапи встановлення:

Вам також може стати в нагоді:

1. Підготовка (завантаження програм, що входять у сервер, створення структури сервера)

Нам потрібні:

  • Apache(безпосередньо веб-сервер)
  • PHP- середовище для роботи PHP програм (потрібно практично всіма веб-сайтами)
  • MySQL- система управління базами даних (потрібна більшістю веб-сайтів)
  • phpMyAdmin- Дуже зручний інструмент для управління базами даних

Офіційний сайт розробників Apache це httpd.apache.org. Ви можете завантажити Apache з цього сайту. Але офіційна версія збирається з використанням старого компілятора, тому вона не працює з новими версіями PHP. Автори PHP рекомендують Apache із сайту apachelounge.com/download. Тому для цієї інструкції завантажуємо Apache саме з сайту apachelounge.com/download.

Якщо у вас 64-бітна версія Windows, ви можете вибрати як 64-бітну, так і 32-бітну версію компонентів. Головне правило - всі компоненти мають бути однієї бітності. Якщо у вас 32-бітна версія Windows, всі компоненти повинні бути 32-бітними. Це не стосується phpMyAdmin, який написаний мовою PHP. Для PHP програм поняття бітності не застосовується.

Безкоштовна версія MySQL називається MySQL Community Server. Її можна завантажити на сторінці. На цій же сторінці є установник у вигляді файлу, що виконується, але я рекомендую завантажити ZIP-архів. На сторінці завантаження нам пропонують зареєструватися або увійти до існуючого облікового запису - але це робити необов'язково. Достатньо натиснути на посилання « No thanks, just start my download». Зверніть увагу на бітність.

Ще нам потрібний файл C++ Redistributable Visual Studio 2017, тобто. Поширюваний компонент Visual C++ для Visual Studio 2017 (або будь-який інший пізніший), завантажити його можна на офіційному сайті Microsoft за посиланням (пряме посилання на завантаження 64-бітної версії; пряме посилання на завантаження 32-бітної версії). Цей файл потрібний для веб-сервера. А для MySQL необхідний пакети Visual C++, що розповсюджуються, для Visual Studio 2015. Його можна скачати по .

Отже, у мене завантажилися такі файли:

  • httpd-2.4.29-Win64-VC15.zip
  • php-7.2.0-Win32-VC15-x64.zip
  • mysql-8.0.11-winx64.zip
  • phpMyAdmin-4.7.6-all-languages.zip
  • vc_redist.x64.exe
  • vcredist_x64.exe

Встановіть файли vc_redist.x64.exeі vcredist_x64.exe.

2. Створення структури веб-сервера

Створимо структуру каталогів нашого сервера. Головна ідея - розділити файли та файли сайтів з базами даних. Це зручно для обслуговування сервера, зокрема резервного копіювання.

У корені диска C:\створіть каталог Server. У цьому каталозі створіть 2 підкаталоги: bin(для здійснюваних файлів) та data.

Перейдіть до каталогу dataі там створіть підпапки DB(для баз даних) та htdocs(Для сайтів).

Перейдіть до каталогу C:\Server\data\DB\і створіть там порожню папку data.

3. Встановлення Apache 2.4

Вміст завантаженого архіву (точніше кажучи, лише каталог Apache24), розпакуйте в C:\Server\bin\.

Перейдіть до каталогу c:\Server\bin\Apache24\conf\та відкрийте файл httpd.confбудь-яким текстовим редактором.

У ньому нам потрібно замінити низку рядків.

Define SRVROOT "c:/Apache24"

Define SRVROOT "c:/Server/bin/Apache24"

#ServerName www.example.com:80

ServerName localhost

DocumentRoot "$(SRVROOT)/htdocs"

DocumentRoot "c:/Server/data/htdocs/"

DirectoryIndex index.html

DirectoryIndex index.php index.html index.htm

# AllowOverride controls what directives може бути placed in .htaccess files. # It can be "All", "None", або будь-яка комбінація клавіш: # AllowOverride FileInfo AuthConfig Limit # AllowOverride None

# AllowOverride controls what directives може бути placed in .htaccess files. # It can be "All", "None", або будь-яка комбінація клавіш: # AllowOverride FileInfo AuthConfig Limit # AllowOverride All

#LoadModule rewrite_module modules/mod_rewrite.so

LoadModule rewrite_module modules/mod_rewrite.so

Зберігаємо та закриваємо файл. Все, налаштування Apache завершено! Опис кожної зміненої директиви ви знайдете на цій сторінці.

Відкрийте командний рядок (це можна зробити одночасно натиснувши клавіші Win+X). Виберіть Windows PowerShell (адміністратор) і скопіюйте туди:

C:\Server\bin\Apache24\bin\httpd.exe -k install

Якщо надійде запит від фаєрвола щодо Apache, то натисніть Дозволити.

Тепер вводимо до командного рядка:

C:\Server\bin\Apache24\bin\httpd.exe -k start

І натисніть клавішу Enter.

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

7. Використання сервера та бекап даних

В каталозі c:\Server\data\htdocs\створюйте папки та файли, наприклад:

c:\Server\data\htdocs\test\ajax.php - цей файл, відповідно, буде доступний за адресою http://localhost/test/ajax.php і т.д.

Для створення повного бекапу всіх сайтів та баз даних достатньо скопіювати каталог C:\Server\data\.

Перед оновленням модулів, робіть бекап папки bin- у разі виникнення проблем можна буде легко відкотитися до попередніх версій.

При повторному встановленні сервера або при його оновленні необхідно наново настроювати конфігураційні файли. Якщо у вас є копії цих файлів, процес можна значно прискорити. Бажано забекапити такі файли:

  • c:\Server\bin\Apache24\conf\httpd.conf
  • c:\Server\bin\mysql-8.0\my.ini
  • c:\Server\bin\PHP\php.ini
  • c:\Server\data\htdocs\phpMyAdmin\config.inc.php

У них зберігаються всі настройки.

8. Додаткове налаштування PHP

PHP зараз дуже потужний, гнучкий, зручний інструмент. На локальному комп'ютері з його можна вирішувати різноманітні завдання, не обов'язково пов'язані з генерацією Web-страниц. При вирішенні неординарних завдань можна впертись у обмеження, встановлені в налаштуваннях. Ці налаштування містяться у файлі php.ini (c:\Server\bin\PHP\php.ini) Розглянемо деякі з них:

Memory_limit = 128M

встановлює максимальну кількість пам'яті, яка може використовувати скрипт

Post_max_size = 8M

встановлює максимальну кількість даних, які будуть прийняті під час надсилання методом POST

;default_charset = "UTF-8"

встановлює кодування (за замовчуванням, рядок закоментований)

Upload_max_filesize = 2M

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

Max_file_uploads = 20

максимальна кількість файлів для завантаження за один раз

Max_execution_time = 30

максимальний час виконання одного скрипту

Змінювати ці налаштування абсолютно необов'язково, але корисно про них знати.

9. Додаткове налаштування phpMyAdmin

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

Новими можливостями є:

  • показ зв'язків між (пов'язаними) таблицями;
  • додавання інформації про таблиці (починаючи з версії 2.3.0 ви можете описувати в спеціальній таблиці 'table_info' яка колонка буде показана у підказці під час руху курсором над пов'язаним ключем);
  • створення PDF-схеми (починаючи з версії 2.3.0, ви можете в phpMyAdmin створювати PDF сторінки, що показують зв'язки між вашими таблицями);
  • відображати коментарі стовпців (починаючи з версії 2.3.0 ви можете робити коментар з описом кожного стовпця для кожної таблиці. І вони будуть видні у «попередньому перегляді для друку». Починаючи з версії 2.5.0, коментарі використовуються на власних сторінках таблиць та в режимі перегляду, показуючись як підказки над колонками (таблиці властивостей) або вбудовані в заголовок таблиці в режимі перегляду. Вони також можуть бути показані в дампі таблиці);
  • створювати закладки (починаючи з версії 2.2.0, phpMyAdmin дозволяє користувачам робити закладки на запити. Це може бути корисно для запитів, що часто використовуються);
  • історія SQL-запитів (починаючи з версії 2.5.0, ви можете зберігати вашу історію всіх SQL запитів, які були зроблені через інтерфейс phpMyAdmin);
  • дизайнер (починаючи з версії 2.10.0, доступний інструмент Дизайнер; він дозволяє візуально керувати зв'язками між таблицями);
  • інформація про недавно використані таблиці;
  • налаштування інтерфейсу часто використовуваних таблиць;
  • стеження (починаючи з версії 3.3.x доступний механізм стеження. Він допомагає вам простежити кожну SQL команду, яка була виконана phpMyAdmin'ом. Підтримується запис роботи з даними та запис команд. Після включення, ви зможете робити версії таблиць);
  • налаштування користувача (починаючи з версії 3.4.x, phpMyAdmin дозволяє користувачам задавати більшість налаштувань і зберігати їх у базі даних);
  • меню, що настроюються (починаючи з версії 4.1.0 ви можете створювати групи користувачів, яким будуть доступні тільки призначені пункти меню. Користувач може бути визначений до групи і бачитиме лише пункти меню, доступні для його групи);
  • сховати/показати пункти навігації (починаючи з версії 4.1.0, ви можете сховати/показати пункти в навігаційному дереві).
  • та інші

Зараз ми налаштуємо ці додаткові повні можливості. Перейдіть за посиланням http://localhost/phpmyadmin/chk_rel.php та клацніть "Створити базу даних". Після цього всі нові функції будуть активовані.

Декілька скріншотів нових функцій:

1) Дизайнер

2) Стеження

10. Встановлення поштової заглушки

У каталозі C:\Server\bin\ створіть новий каталог під назвою Sendmail. Тепер у цьому каталозі створіть файл sendmail.php з таким вмістом:

#!/usr/bin/env php

Відкрийте конфігураційний файл PHP, він розміщений тут C:\Server\bin\PHP\php.ini. І додайте туди один рядок:

Sendmail_path = "C:\Server\bin\PHP\php.exe C:\Server\bin\Sendmail\sendmail.php --dir C:\Server\bin\Sendmail\emails"

Збережіть файл та перезапустіть сервер. Відмінно, тепер усі надіслані листи зберігатимуться в каталозі C:\Server\bin\Sendmail\emails\

Листи матимуть розширення .emlі їх можна відкривати, наприклад, програмою Thunderbird. Або звичайним текстовим редактором.

11. Додавання PHP директорії до PATH на Windows

Якщо цього не зробити, то можуть бути проблеми з деякими модулями PHP, у тому числі з php_curl.dll, php_intl.dll, php_ldap.dll, php_pdo_pgsql.dll та php_pgsql.dll. Принаймні при запуску сервера щоразу в логах з'являється таке:

PHP Warning: PHP Startup: Змінюйте load dynamic library "C:\Server\bin\PHP\ext\php_curl.dll" - \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\ xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\ xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\ xbf\xbd\xef\xbf\xbd.\n\n in Unknown on line 0 PHP Warning: PHP Startup: Безкоштовно load dynamic library "C:\Server\bin\PHP\ext\php_intl.dll " - \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef \xbf \xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd. C:\Server\bin\PHP\ext\php_ldap.dll" - \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\ xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\ xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r \n in Unknown on line 0 PHP Warning: PHP Startup: Безкоштовно load dynamic library "C:\Server\bin \xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef \xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\n\n\n\n\n\n\n\n\n\n\n\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" \ext\php_pgsql.dll" - \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\ xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\ xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r\n in Unknown on line 0

Щоб уникнути цих попереджень, потрібно додати до системного змінного середовища шлях до PHP.

Натисніть кнопку Пуск (або як там вона називається Windows 10?), почніть набирати « Зміна системних змінних середовища» та відкрийте відповідне вікно налаштувань.

Там натисніть « Змінні середовища»:

У вікні " Системні змінні» знайдіть та клацніть на Path, потім натисніть « Змінити»:

Підніміть запис у самий вгору:

Закрийте всі вікна із збереженням змін.

Перезапустіть сервер.

12. Зависання, уповільнення трафіку та/або помилка сервера Asynchronous AcceptEx failed

Якщо сервер навіть без навантаження «зависає» - не показує веб-сторінки до перезапуску, а в логах сервера помилки Asynchronous AcceptEx failed:

AH00455: Apache/2.4.9 (Win64) PHP/5.5.13 configured -- resuming normal operations AH00456: Apache Lounge VC11 Server built: Mar 16 2014 12:42:59 AH00094: Command line: " bin\Apache24\bin\httpd.exe -d C:/Server/bin/Apache24" AH00418: Parent: Created child process 4952 AH00354: Child: Starting 64 worker threads. (OS 64)Вказане ім'я мережі більше недоступне. : AH00341: winnt_accept: Asynchronous AcceptEx failed. (OS 64)Вказане ім'я мережі більше недоступне. : AH00341: winnt_accept: Asynchronous AcceptEx failed. (OS 64)Вказане ім'я мережі більше недоступне. : AH00341: winnt_accept: Asynchronous AcceptEx failed. (OS 64)Вказане ім'я мережі більше недоступне. : AH00341: winnt_accept: Asynchronous AcceptEx failed. (OS 64)Вказане ім'я мережі більше недоступне. : AH00341: winnt_accept: Asynchronous AcceptEx failed. (OS 64)Вказане ім'я мережі більше недоступне. : AH00341: winnt_accept: Asynchronous AcceptEx failed.

То до конфігураційного файлу Apache додайте:

AcceptFilter http none AcceptFilter https none EnableSendfile off EnableMMAP off

13. Налаштування cURL на веб-сервері Apache на Windows

Якщо ви не знаєте, що таке cURL, це вам не потрібно. Тобто. сміливо пропускайте цей крок.

cURL - це консольна утиліта, яка дозволяє обмінюватись даними з віддаленими серверами, використовуючи дуже велику кількість протоколів. cURL може використовувати кукіз та підтримує автентифікацію. Якщо веб-програма потребує cURL, то це має бути зазначено в залежностях. Для багатьох популярних програм cURL не потрібно, наприклад, для phpMyAdmin і WordPress немає необхідності налаштовувати cURL.

Якщо cURL налаштована неправильно, ви отримуватимете помилки:

Fatal error: Call для undefined function curl_multi_init() in …

Помилка curl: SSL certificate problem: unable to get local issuer certificate

Щоб cURL працювала в Apache на Windows, вам потрібно:

1) Обов'язково додати PHP директорію до PATH (системні змінні середовища). Як це зробити сказано трохи вище:

2) У файлі C:\Server\bin\PHP\php.iniмає бути розкоментований рядок extension=curl

Зазвичай це не потрібно, але за бажання ви можете зробити резервну копію бінарних файлів сервера. Всі ці файли знаходяться у папці C:\Server\bin\. Це Apache, MySQL та PHP - тобто. програми, які відповідають за роботу сервера, але які ми будь-якої миті можемо завантажити з офіційних сайтів і знову налаштувати.

Якщо ви бажаєте зробити їх резервну копію (наприклад, перед оновленням сервера), то зупиніть служби:

C:\Server\bin\Apache24\bin\httpd.exe -k stop net stop mysql

І скопіюйте в безпечне місце папку C:\Server\bin\.

До речі, можна скопіювати весь сервер цілком, тобто. папку C:\Server\- у разі одночасно вийти резервна копія і виконуваних файлів, і даних (бази даних, сайти).

Після завершення копіювання знову запустіть служби:

C:\Server\bin\Apache24\bin\httpd.exe -k start net start mysql

15. Оновлення сервера

Усі компоненти, що становлять веб-сервер, активно розвиваються і регулярно виходять нові версії. При виході нової версії ви можете оновити один компонент (наприклад, PHP), або відразу кілька.

Видалення сервера

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

C:\Server\bin\Apache24\bin\httpd.exe -k stop c:\Server\bin\Apache24\bin\httpd.exe -k uninstall net stop mysql c:\Server\bin\mysql-8.0\bin\ mysqld --remove

Видаліть файли сервера, для цього видаліть папку C:\Server\. Увага, це видаляє всі бази даних та ваші сайти.

Як захистити веб-сервер Apache від злому у Windows

З PHP (з вибором версій), з MySQL та phpMyAdmin. Даний сайт розміщений саме на ньому: чуйна та кваліфікована технічна підтримка, встановлення WordPress та інших веб-застосунків в одні клік,