За да администрирате сайта си на локален сървър, трябва да инсталирате много допълнителни компоненти, които организират една система, която функционира гладко и без никакви грешки. Един от основните компоненти на такава структура може да се счита за уеб сървър. Потребителите най-често предпочитат да използват Apache поради неговата простота и гъвкавост, както и възможността за свързване на външни модули. Инсталацията и основната конфигурация обаче не е бърз процес, а за някои дори е труден, затова бихме искали да поговорим за това по-подробно, като вземем за пример разпространението на CentOS 7
Инсталирайте Apache на CentOS 7
Структурата на днешната статия ще бъде поетапна, така че дори и най-начинаещият потребител да разбере как точно се извършва инсталирането и подготовката на въпросния уеб сървър. Нека изясним веднага, че не предоставяме ръководства за подробна конфигурация на Apache, тъй като това зависи от личните предпочитания на потребителя и останалите важни налични компоненти. За тази информация винаги препоръчваме да се обърнете към официалната документация.
Стъпка 1: подготовка и монтаж
Нека започнем веднага, като инсталираме компонентите на Apache и добавим всички поддържащи услуги. Препоръчваме да използвате хранилището за разпространение за това, тъй като там винаги се качва последната стабилна версия на софтуера, а самият процес на инсталиране не отнема много време.
- Бягай "Терминал"например чрез иконата в раздела Любими.
- Ако преди това сте инсталирали Apache на вашия компютър или случайно сте премахнали един от неговите компоненти, просто използвайте командата
sudo yum актуализация httpd
като го активирате с натискане на клавиша Въведете. - Това действие се извършва от името на суперпотребителя, което означава, че ще трябва да го потвърдите, като посочите паролата за този акаунт.
- Ако са инсталирани актуализации, ще бъдете уведомени за това и ако пакетът липсва, ще се появи друго съобщение от съответния характер.
- Сега нека поговорим за инсталирането на Apache от нулата. Както вече казахме, ще използваме официалните хранилища за това, следователно трябва да въведете командата
sudo yum инсталирате httpd
. - Когато се появи известие за инсталиране на пакета, потвърдете го, като изберете опцията у.
- Изчакайте инсталацията да завърши, по време на това не затваряйте текущата сесия на терминала, за да не прекъснете процеса.
- Когато приключите, веднага се препоръчва да стартирате уеб сървъра, което може да стане чрез
sudo systemctl стартира httpd
. - Проверете текущото състояние чрез
sudo systemctl статус httpd
. - уведомление „Активен: активен (работещ)“ означава, че сега Apache функционира правилно и можете да продължите към по-нататъшната му конфигурация.
Това беше всичко, което трябваше да знаем за основната процедура за инсталиране на уеб сървър. Както можете да видите, няма нищо сложно в това. След това искаме да поговорим за взаимодействие с основните услуги и настройка на основната конфигурация и остава да решите дали да изучавате тези инструкции или вече имате познания за конфигуриране и управление.
Стъпка 2: Управление на услугата Apache
Уеб сървърът на CentOS, подобно на други дистрибуции, работи във фонов режим като услуга. По подразбиране се добавя към стартиране и вече говорихме за активиране и проверка на състоянието по-рано. Ако имате желание да управлявате този инструмент, това се прави по следния начин:
- Въведете
sudo systemctl спиране httpd
за да спре напълно Apache. - Тази и всички следващи команди ще бъдат изпълнени от името на суперпотребителя, така че ще трябва да я потвърдите, като въведете съответната парола.
- Рестартирането става чрез командата
sudo systemctl рестартирайте httpd
... Тази команда е подходяща в ситуации, когато сървърът се срива или трябва да бъде рестартиран поради особеностите на взаимодействието с други компоненти. - Използвайте
sudo systemctl презареди httpd
ако искате всички промени, направени след конфигуриране, да влязат в сила, без да прекъсвате някоя от връзките. - Команда
sudo systemctl деактивира httpd
премахва Apache от стартиране иsudo systemctl разреши httpd
връща стандартното състояние. Освен това, когато тази опция е активирана, ще бъдете уведомени за създаването на нова символична връзка, отговорна за този параметър.
Както можете да видите, най-стандартните команди контролират състоянието на услугата. Ще бъде лесно да ги запомните, ако често се налага да прибягвате до такива мерки по време на администрирането на мрежа, отделен сайт или някакви приложения.
Стъпка 3: основна конфигурация
Основната конфигурация включва настройка на виртуален хост, което е полезно за изолиране на настройки и хостинг на различни домейни на един и същ сървър. Един стандартен виртуален хост е достатъчен, ако имате работа само с един сайт, но когато регистрирате други домейни, ще трябва да прибегнете до създаване на допълнителни параметри. Сега ще вземем за пример стандартен виртуален хост и вие ще промените адреса му, ако е необходимо.
- Нека започнем със създаването на директория, в която ще се съхраняват всички дъщерни файлове на виртуалния хост. Това става чрез командата
sudo mkdir -p /var/www/example.com/html
. - Изисква се и допълнителна папка, където дневниците на събитията ще се запазват автоматично. За да го добавите, въведете
sudo mkdir -p /var/www/example.com/log
. - Задайте разрешенията по подразбиране за директорията чрез
sudo chown -R $ ПОТРЕБИТЕЛ: $ ПОТРЕБИТЕЛ /var/www/example.com/html
. - Допълнително задайте и привилегии за всеки потребител чрез вмъкване
sudo chmod -R 755 / var / www
. - Нека започнем да създаваме примерна основна страница, която ще се показва при проверка на състоянието на хоста. Създайте нов текстов файл чрез удобен редактор, например, като използвате nano, трябва да въведете
sudo nano /var/www/example.com/html/index.html
. - Когато отворите текстов редактор, ще бъдете уведомени, че това е нов файл. Не се притеснявайте, така трябва да бъде. Създаваме го нарочно, като задаваме подходящата конфигурация.
- Поставете кода отдолу там, замествайки стандартния поздрав с произволен текст. Ако искате, можете напълно да препроектирате структурата, като създадете страница, която ви подхожда.
<html>
<head>
<title>Welcome to Example.com!</title>
</head>
<body>
<h1>Success! The example.com virtual host is working!</h1>
</body>
</html></code>
- Запазете промените, като кликнете върху Ctrl + Oи след това оставете текстовия редактор чрез Ctrl + X.
- Това бяха само предварителни настройки. Сега нека да стигнем до самия виртуален хост: първо трябва да посочите папките за неговото съхранение. За да направите това, въведете
sudo mkdir / etc / httpd / sites-available / etc / httpd / sites-enabled
. - След това кажете на уеб сървъра, че трябва да комуникира с други компоненти сега. Тази задача се извършва чрез редактиране на основния конфигурационен файл. Стартирайте го чрез текстов редактор, като посочите
sudo nano /etc/httpd/conf/httpd.conf
. - Отидете в най-долната част на списъка и вмъкнете реда
IncludeOption сайтове с активиран / *. Conf
. - Не забравяйте да запазите всички промени, преди да излезете от текстовия редактор.
- За да създадете самия виртуален хост, имате нужда от още един конфигурационен файл. Създайте го чрез
sudo nano /etc/httpd/sites-available/example.com.conf
. - Поставете следното съдържание там, замествайки необходимите редове с вашия собствен.
Име на сървъра 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
- Остава само да активирате файла чрез създаване на символна връзка чрез
sudo ln -s /etc/httpd/sites-available/example.com.conf /etc/httpd/sites-enabled/example.com.conf
.
Стъпка 4: Конфигуриране на контрола на достъпа
Ако говорим за конфигуриране на глобални параметри, тогава е необходимо да се осигури контрол на достъпа, като се посочи брой потребители, които ще могат да правят промени в разгледаните по-рано директории. Тази процедура се извършва с помощта на стандартния инструмент SELinux, отговорен за управление на нивата на достъп.
- Задайте глобалната настройка за сигурност чрез
sudo setsebool -P httpd_unified 1
... Той ще гарантира, че всички видове процеси се обработват като едно цяло. - След това се препоръчва да проверите текущите опции на SELinux, които са предоставени автоматично. За да направите това, пишете
sudo ls -dZ /var/www/example.com/log/
. - В резултат на това ще видите съдържанието drwxr-xr-x. root root unconfined_u: object_r: httpd_sys_content_t: s0 /var/www/example.com/log/... Това означава, че сега Apache може да чете само тези файлове, които са създадени в инсталираната папка, съответно ще трябва да промените конфигурацията.
- Тази задача се изпълнява чрез
sudo semanage fcontext -a -t httpd_log_t "/var/www/example.com/log(/.*)?"
. - Запазете промените си и ги накарайте да влязат в сила след рестартиране на сървъра, като въведете
sudo restorecon -R -v /var/www/example.com/log
. - Сега проверете промените си отново чрез
sudo ls -dZ /var/www/example.com/log/
. - Както можете да видите, полученият резултат е от формата drwxr-xr-x. root root unconfined_u: object_r: httpd_log_t: s0 /var/www/example.com/logследователно всичко е вярно.
- Остава само да се тестват всички промени. За да направите това, въведете
sudo systemctl рестартирайте httpd
и кликнете върху Въведете. - Потвърдете действието с парола за суперпотребител.
- Създайте заявка за каталог отново, като въведете
ls -lZ /var/www/example.com/log
... Ако съдържанието, което се показва, е във формата-rw-r - r--. 1 root root грешка.log -rw-r - r--. 1 корен корен 0 заявки.лог
, това означава, че всички предишни настройки са направени правилно.
Вие бяхте запознати с процедурата за инсталиране и общата конфигурация на уеб сървъра на Apache на CentOS 7. Както можете да видите, самата инсталация не отнема много време и всички трудности са свързани само с конфигурацията. Ако представеното ръководство за промяна на параметри и управление на Apache не ви е било достатъчно, съветваме ви да проучите официалната документация, като използвате връзката по-долу.