За да администрирате сайта си на локален сървър, трябва да инсталирате много допълнителни компоненти, които организират една система, която функционира гладко и без никакви грешки. Един от основните компоненти на такава структура може да се счита за уеб сървър. Потребителите най-често предпочитат да използват Apache поради неговата простота и гъвкавост, както и възможността за свързване на външни модули. Инсталацията и основната конфигурация обаче не е бърз процес, а за някои дори е труден, затова бихме искали да поговорим за това по-подробно, като вземем за пример разпространението на CentOS 7

Инсталирайте Apache на CentOS 7

Структурата на днешната статия ще бъде поетапна, така че дори и най-начинаещият потребител да разбере как точно се извършва инсталирането и подготовката на въпросния уеб сървър. Нека изясним веднага, че не предоставяме ръководства за подробна конфигурация на Apache, тъй като това зависи от личните предпочитания на потребителя и останалите важни налични компоненти. За тази информация винаги препоръчваме да се обърнете към официалната документация.

Стъпка 1: подготовка и монтаж

Нека започнем веднага, като инсталираме компонентите на Apache и добавим всички поддържащи услуги. Препоръчваме да използвате хранилището за разпространение за това, тъй като там винаги се качва последната стабилна версия на софтуера, а самият процес на инсталиране не отнема много време.

  1. Бягай "Терминал"например чрез иконата в раздела Любими.
  2. Отидете до терминала, за да инсталирате по-нататък уеб сървъра Apache на CentOS 7

  3. Ако преди това сте инсталирали Apache на вашия компютър или случайно сте премахнали един от неговите компоненти, просто използвайте командата sudo yum актуализация httpdкато го активирате с натискане на клавиша Въведете.
  4. Команда за проверка за актуализации на текущата версия на Apache на CentOS 7

  5. Това действие се извършва от името на суперпотребителя, което означава, че ще трябва да го потвърдите, като посочите паролата за този акаунт.
  6. Потвърждаване на проверката за актуализации на Apache на CentOS 7 чрез въвеждане на парола за суперпотребител

  7. Ако са инсталирани актуализации, ще бъдете уведомени за това и ако пакетът липсва, ще се появи друго съобщение от съответния характер.
  8. Информация за текущото състояние на уеб сървъра на Apache на CentOS 7

  9. Сега нека поговорим за инсталирането на Apache от нулата. Както вече казахме, ще използваме официалните хранилища за това, следователно трябва да въведете командата sudo yum инсталирате httpd.
  10. Команда за стартиране на инсталирането на уеб сървър Apache на CentOS 7 чрез терминал

  11. Когато се появи известие за инсталиране на пакета, потвърдете го, като изберете опцията у.
  12. Потвърждаваща команда за инсталиране на уеб сървър Apache на CentOS 7

  13. Изчакайте инсталацията да завърши, по време на това не затваряйте текущата сесия на терминала, за да не прекъснете процеса.
  14. Изчаква се изтеглянето на пакета Apache да завърши на CentOS 7

  15. Когато приключите, веднага се препоръчва да стартирате уеб сървъра, което може да стане чрез sudo systemctl стартира httpd.
  16. Команда за стартиране на услугата на инсталирания уеб сървър Apache на CentOS 7

  17. Проверете текущото състояние чрез sudo systemctl статус httpd.
  18. Команда за проверка на текущото състояние на уеб сървъра на Apache на CentOS 7

  19. уведомление „Активен: активен (работещ)“ означава, че сега Apache функционира правилно и можете да продължите към по-нататъшната му конфигурация.
  20. Информация за текущото състояние на инсталирания уеб сървър Apache на CentOS 7

Това беше всичко, което трябваше да знаем за основната процедура за инсталиране на уеб сървър. Както можете да видите, няма нищо сложно в това. След това искаме да поговорим за взаимодействие с основните услуги и настройка на основната конфигурация и остава да решите дали да изучавате тези инструкции или вече имате познания за конфигуриране и управление.

Стъпка 2: Управление на услугата Apache

Уеб сървърът на CentOS, подобно на други дистрибуции, работи във фонов режим като услуга. По подразбиране се добавя към стартиране и вече говорихме за активиране и проверка на състоянието по-рано. Ако имате желание да управлявате този инструмент, това се прави по следния начин:

  1. Въведете sudo systemctl спиране httpd за да спре напълно Apache.
  2. Команда за спиране на услугата Apache за уеб сървър на CentOS 7

  3. Тази и всички следващи команди ще бъдат изпълнени от името на суперпотребителя, така че ще трябва да я потвърдите, като въведете съответната парола.
  4. Потвърждаване на командата за спиране на Apache на CentOS 7 чрез въвеждане на парола

  5. Рестартирането става чрез командата sudo systemctl рестартирайте httpd... Тази команда е подходяща в ситуации, когато сървърът се срива или трябва да бъде рестартиран поради особеностите на взаимодействието с други компоненти.
  6. Команда за рестартиране на уеб сървъра на Apache на CentOS 7

  7. Използвайте sudo systemctl презареди httpdако искате всички промени, направени след конфигуриране, да влязат в сила, без да прекъсвате някоя от връзките.
  8. Команда за рестартиране на уеб сървъра на Apache на CentOS 7 без прекъсване на връзките

  9. Команда sudo systemctl деактивира httpd премахва Apache от стартиране и sudo systemctl разреши httpd връща стандартното състояние. Освен това, когато тази опция е активирана, ще бъдете уведомени за създаването на нова символична връзка, отговорна за този параметър.
  10. Команди за добавяне или изключване на Apache на CentOS 7 от стартиране

Както можете да видите, най-стандартните команди контролират състоянието на услугата. Ще бъде лесно да ги запомните, ако често се налага да прибягвате до такива мерки по време на администрирането на мрежа, отделен сайт или някакви приложения.

Стъпка 3: основна конфигурация

Основната конфигурация включва настройка на виртуален хост, което е полезно за изолиране на настройки и хостинг на различни домейни на един и същ сървър. Един стандартен виртуален хост е достатъчен, ако имате работа само с един сайт, но когато регистрирате други домейни, ще трябва да прибегнете до създаване на допълнителни параметри. Сега ще вземем за пример стандартен виртуален хост и вие ще промените адреса му, ако е необходимо.

  1. Нека започнем със създаването на директория, в която ще се съхраняват всички дъщерни файлове на виртуалния хост. Това става чрез командата sudo mkdir -p /var/www/example.com/html.
  2. Създаване на папка за съхраняване на файлове за нов виртуален хост на Apache на CentOS 7

  3. Изисква се и допълнителна папка, където дневниците на събитията ще се запазват автоматично. За да го добавите, въведете sudo mkdir -p /var/www/example.com/log.
  4. Създаване на папка за съхраняване на регистрите на събитията на новия виртуален хост на Apache на CentOS 7

  5. Задайте разрешенията по подразбиране за директорията чрез sudo chown -R $ ПОТРЕБИТЕЛ: $ ПОТРЕБИТЕЛ /var/www/example.com/html.
  6. Задаване на стандартно ниво на достъп за създадени папки Apache на CentOS 7

  7. Допълнително задайте и привилегии за всеки потребител чрез вмъкване sudo chmod -R 755 / var / www.
  8. Втора команда за задаване на стандартно ниво на достъп за създадени папки Apache на CentOS 7

  9. Нека започнем да създаваме примерна основна страница, която ще се показва при проверка на състоянието на хоста. Създайте нов текстов файл чрез удобен редактор, например, като използвате nano, трябва да въведете sudo nano /var/www/example.com/html/index.html.
  10. Стартиране на текстов редактор за съдържанието на виртуалната хост страница на Apache на CentOS 7

  11. Когато отворите текстов редактор, ще бъдете уведомени, че това е нов файл. Не се притеснявайте, така трябва да бъде. Създаваме го нарочно, като задаваме подходящата конфигурация.
  12. Информация за създаване на нов файл с виртуална хост страница на Apache на CentOS 7

  13. Поставете кода отдолу там, замествайки стандартния поздрав с произволен текст. Ако искате, можете напълно да препроектирате структурата, като създадете страница, която ви подхожда.


    <html>
    <head>
    <title>Welcome to Example.com!</title>
    </head>
    <body>
    <h1>Success! The example.com virtual host is working!</h1>
    </body>
    </html></code>

  14. Създаване на структура на виртуална хост страница на Apache на CentOS 7

  15. Запазете промените, като кликнете върху Ctrl + Oи след това оставете текстовия редактор чрез Ctrl + X.
  16. Излизане от текстовия редактор след създаване на файла с виртуална хост страница на Apache на CentOS 7

  17. Това бяха само предварителни настройки. Сега нека да стигнем до самия виртуален хост: първо трябва да посочите папките за неговото съхранение. За да направите това, въведете sudo mkdir / etc / httpd / sites-available / etc / httpd / sites-enabled.
  18. Създаване на папка за съхраняване на информация за сайтове на Apache на CentOS 7

  19. След това кажете на уеб сървъра, че трябва да комуникира с други компоненти сега. Тази задача се извършва чрез редактиране на основния конфигурационен файл. Стартирайте го чрез текстов редактор, като посочите sudo nano /etc/httpd/conf/httpd.conf.
  20. Отидете до глобални настройки, за да посочите нов виртуален хост в Apache на CentOS 7

  21. Отидете в най-долната част на списъка и вмъкнете реда IncludeOption сайтове с активиран / *. Conf.
  22. Промяна на глобалния конфигурационен файл на Apache на CentOS 7

  23. Не забравяйте да запазите всички промени, преди да излезете от текстовия редактор.
  24. Запазване на промените след глобални промени в конфигурационния файл на Apache в CentOS 7

  25. За да създадете самия виртуален хост, имате нужда от още един конфигурационен файл. Създайте го чрез sudo nano /etc/httpd/sites-available/example.com.conf.
  26. Стартиране на текстов редактор за създаване на нов виртуален хост на Apache на CentOS 7

  27. Поставете следното съдържание там, замествайки необходимите редове с вашия собствен.


    Име на сървъра www.example.com
    ServerAlias ​​example.com
    DocumentRoot /var/www/example.com/html
    ErrorLog /var/www/example.com/log/error.log
    Комбиниран CustomLog /var/www/example.com/log/requests.log

  28. Въвеждане на стандартно съдържание за нов виртуален хост на Apache на CentOS 7

  29. Остава само да активирате файла чрез създаване на символна връзка чрез sudo ln -s /etc/httpd/sites-available/example.com.conf /etc/httpd/sites-enabled/example.com.conf.
  30. Създаване на нова символна връзка, за да поддържа виртуалния хост на Apache работещ и работещ на CentOS 7

Стъпка 4: Конфигуриране на контрола на достъпа

Ако говорим за конфигуриране на глобални параметри, тогава е необходимо да се осигури контрол на достъпа, като се посочи брой потребители, които ще могат да правят промени в разгледаните по-рано директории. Тази процедура се извършва с помощта на стандартния инструмент SELinux, отговорен за управление на нивата на достъп.

  1. Задайте глобалната настройка за сигурност чрез sudo setsebool -P httpd_unified 1... Той ще гарантира, че всички видове процеси се обработват като едно цяло.
  2. Създаване на правила за ниво на виртуален файл на хост Apache на CentOS 7

  3. След това се препоръчва да проверите текущите опции на SELinux, които са предоставени автоматично. За да направите това, пишете sudo ls -dZ /var/www/example.com/log/.
  4. Извършване на проверка на текущото състояние на достъп до виртуалния хост на Apache на CentOS 7

  5. В резултат на това ще видите съдържанието drwxr-xr-x. root root unconfined_u: object_r: httpd_sys_content_t: s0 /var/www/example.com/log/... Това означава, че сега Apache може да чете само тези файлове, които са създадени в инсталираната папка, съответно ще трябва да промените конфигурацията.
  6. Проверка на информацията за достъп на виртуален хост на Apache на CentOS 7

  7. Тази задача се изпълнява чрез sudo semanage fcontext -a -t httpd_log_t "/var/www/example.com/log(/.*)?".
  8. Промяна на контекстните правила за достъп до виртуалния хост на Apache на CentOS 7

  9. Запазете промените си и ги накарайте да влязат в сила след рестартиране на сървъра, като въведете sudo restorecon -R -v /var/www/example.com/log.
  10. Актуализиране на параметрите за достъп за виртуален хост на Apache на CentOS 7

  11. Сега проверете промените си отново чрез sudo ls -dZ /var/www/example.com/log/.
  12. Извеждане на информация след актуализиране на данните за виртуален хост на Apache в CentOS 7

  13. Както можете да видите, полученият резултат е от формата drwxr-xr-x. root root unconfined_u: object_r: httpd_log_t: s0 /var/www/example.com/logследователно всичко е вярно.
  14. Преглед на информация за достъп до виртуален хост след надстройка на Apache на CentOS 7

  15. Остава само да се тестват всички промени. За да направите това, въведете sudo systemctl рестартирайте httpd и кликнете върху Въведете.
  16. Рестартиране на услугите на Apache на CentOS 7 след извършване на всички промени

  17. Потвърдете действието с парола за суперпотребител.
  18. Потвърждение на паролата за рестартиране на услугите Apache на CentOS 7

  19. Създайте заявка за каталог отново, като въведете ls -lZ /var/www/example.com/log... Ако съдържанието, което се показва, е във формата -rw-r - r--. 1 root root грешка.log -rw-r - r--. 1 корен корен 0 заявки.лог, това означава, че всички предишни настройки са направени правилно.
  20. Проверка на състоянието на нивата на достъп на Apache в CentOS 7 след рестартиране на услуги

Вие бяхте запознати с процедурата за инсталиране и общата конфигурация на уеб сървъра на Apache на CentOS 7. Както можете да видите, самата инсталация не отнема много време и всички трудности са свързани само с конфигурацията. Ако представеното ръководство за промяна на параметри и управление на Apache не ви е било достатъчно, съветваме ви да проучите официалната документация, като използвате връзката по-долу.

Отидете на официалния сайт за документация на Apache