Для адміністравання свайго сайта на лакальным серверы патрабуецца ўстаноўка мноства дадатковых кампанентаў, якія і арганізуюць адзіную сістэму, якая функцыянуе зладжана і без якіх-небудзь памылак. Адной з галоўных складнікаў такой структуры можна лічыць вэб-сервер. Карыстальнікі часцей за ўсё аддаюць перавагу задзейнічаць менавіта Apache з-за яго прастаты і гнуткасці налады, а таксама магчымасці падлучэння вонкавых модуляў. Аднак інсталяцыя і асноўная канфігурацыя - працэс не хуткі і для некаторых нават складаны, таму мы б хацелі расказаць пра гэта больш дэталёва, узяўшы за прыклад дыстрыбутыў CentOS 7.
Усталёўваем Apache ў CentOS 7
Структура сённяшняга артыкула будзе паэтапнай, каб нават самы пачатковец юзэр зразумеў, як менавіта ажыццяўляецца ўстаноўка і падрыхтоўка разгляданага вэб-сервера. Адразу ўдакладнім, што мы не даем кіраўніцтваў па дэталёвай наладзе Apache, паколькі гэта залежыць ад асабістых пераваг карыстача і наяўных астатніх важных кампанентаў. За дадзенай інфармацыяй заўсёды раім звяртацца да афіцыйнай дакументацыі.Крок 1: Падрыхтоўка і інсталяцыя
Пачнем адразу ж з ўстаноўкі кампанентаў, якія адказваюць за карэктнасць працы Apache і даданне ўсіх дапаможных службаў. Задзейнічаць для гэтага прапануем рэпазітар дыстрыбутыва, паколькі там заўсёды выкладваецца апошняя стабільная версія софту, а сам працэс інсталяцыі не зойме шмат часу.
- Запусціце «Тэрмінал», напрыклад, праз значок у раздзеле «Выбранае».
- Калі раней на кампутары ўжо быў усталяваны Apache ці ж вы выпадкова выдалілі адзін з яго кампанентаў, проста выкарыстоўвайце каманду sudo yum update httpd, актываваўшы яе націскам на клавішу Enter.
- Гэта дзеянне выконваецца ад імя суперпользователя, а значыць, прыйдзецца пацвердзіць яго, паказаўшы пароль ад гэтага рахунка.
- У выпадку ўстаноўкі абнаўленняў вы будзеце апавешчаныя пра гэта, а калі пакет адсутнічае, то з'явіцца іншае паведамленне адпаведнага характару.
- Зараз пагаворым аб інсталяцыі Apache з нуля. Як мы ўжо сказалі, выкарыстоўваць для гэтага будзем афіцыйныя сховішчы, такім чынам, трэба ўвесці каманду sudo yum install httpd.
- Пры з'яўленні паведамлення аб інсталяцыі пакета пацвердзіце яго, выбраўшы варыянт y.
- Чакайце заканчэння ўстаноўкі, падчас гэтага не зачыняйце бягучую тэрмінальную сесію, каб не перапыніць працэс.
- Па заканчэнні адразу ж рэкамендуецца запусціць вэб-сервер, што можна зрабіць праз sudo systemctl start httpd.
- Праверце бягучы стан праз sudo systemctl status httpd.
- Апавяшчэнне «Active: active (running)» мае на ўвазе, што цяпер Apache карэктна функцыянуе і можна пераходзіць да яго далейшай наладзе.
Гэта было ўсё, што неабходна ведаць аб асноўнай працэдуры ўстаноўкі вэб-сервера. Як бачыце, нічога складанага ў ёй няма. Далей мы хочам расказаць аб узаемадзеянні з галоўнымі службамі і ўстаноўцы асноўны канфігурацыі, а вам застаецца вырашыць, ці варта вывучыць дадзеныя інструкцыі або веды па наладзе і кіраванні ўжо маюцца.
Крок 2: Упраўленне службай Apache
Вэб-сервер у CentOS, як і ў іншых дыстрыбутывах, функцыянуе ў фонавым рэжыме ў выглядзе службы. Па змаўчанні яна дадаецца ў аўтазагрузку, а аб актывацыі і праверцы стану мы ўжо расказалі раней. Калі ў вас паўстала жаданне кіраваць гэтым інструментам, то ажыццяўляецца гэта так:
- Увядзіце sudo systemctl stop httpd для поўнага прыпынку Apache.
- Гэтая і ўсе наступныя каманды будуць выконвацца ад імя суперпользователя, таму спатрэбіцца пацвердзіць яе, увёўшы адпаведны пароль.
- Перазапуск адбываецца праз каманду sudo systemctl restart httpd. Актуальная гэтая каманда ў тых сітуацыях, калі сервер дае збоі або патрабуецца перазапусціць яго з-за асаблівасцяў ўзаемадзеяння з астатнімі кампанентамі.
- Выкарыстоўвайце sudo systemctl reload httpd, калі неабходна, каб усе змены пасля налады ўступілі ў сілу, але пры гэтым ні адно з злучэнняў не было разарвана.
- Каманда sudo systemctl disable httpd прыбірае Apache з аўтазагрузкі, а sudo systemctl enable httpd вяртае стандартнае стан. Дадаткова пры ўключэнні гэтай опцыі вы будзеце апавешчаныя аб стварэнні новай сімвалічнай спасылкі, што адказвае за дадзены параметр.
Як бачна, кіруюць станам службы самыя стандартныя каманды. Іх будзе няцяжка запомніць, калі вы часта змушаныя звяртацца да такіх мер падчас адміністравання сеткі, асобнага сайта або якіх-небудзь прыкладанняў.
Крок 3: Базавая канфігурацыя
Да базавай канфігурацыі ставіцца налада віртуальнага хаста, які спатрэбіцца для ізаляцыі налад і размяшчэння розных даменаў на адным сэрвэры. Аднаго стандартнага віртуальнага хаста цалкам дастаткова, калі вы маеце справу толькі з адным сайтам, аднак пры рэгістрацыі іншых даменаў прыйдзецца звярнуцца да стварэння дадатковых параметраў. Зараз за прыклад мы возьмем стандартны віртуальны хост, а вы зменіце яго адрас, калі гэта патрабуецца.
- Пачнем з стварэння каталога, дзе будуць захоўвацца ўсе даччыныя файлы віртуальнага хаста. Робіцца гэта праз каманду sudo mkdir -p /var/www/example.com/html.
- Неабходная і дадатковая папка, куды будуць аўтаматычна захоўвацца часопісы падзей. Для яе дадання увядзіце sudo mkdir -p /var/www/example.com/log.
- Задайце стандартныя правы на дырэкторыю праз sudo chown -R $ USER: $ USER /var/www/example.com/html.
- Дадаткова ўсталюеце і прывілеі для кожнага карыстальніка, уставіўшы sudo chmod -R 755 / var / www.
- Прыступім да стварэння ўзору галоўнай старонкі, якая будзе выводзіцца на экран пры праверцы працаздольнасці хаста. Стварыце новы тэкставы файл праз зручны рэдактар, напрыклад, выкарыстоўваючы nano, варта ўвесці sudo nano /var/www/example.com/html/index.html.
- Пры адкрыцці тэкставага рэдактара з'явіцца апавяшчэнне пра тое, што гэта новы файл. Не хвалюйцеся, бо так і павінна быць. Мы спецыяльна ствараем яго, выстаўляючы адпаведную канфігурацыю.
- Устаўце туды прыведзены ніжэй код, замяніўшы стандартнае прывітанне на адвольны тэкст. Калі хочаце, можаце цалкам перарабіць структуру, стварыўшы прыдатную для сябе старонку.
Welcome to Example.com!
Success! The example.com virtual host is working!
- Захавайце змены, націснуўшы на Ctrl + O, а затым пакіньце тэкставы рэдактар праз Ctrl + X.
- Гэта былі толькі папярэднія налады. Цяпер прыступім да самога віртуальнай хасту: спачатку трэба паказаць тэчкі яго захоўвання. Для гэтага увядзіце sudo mkdir / etc / httpd / sites-available / etc / httpd / sites-enabled.
- Пасля гэтага пакажыце вэб-серверу, што цяпер яму трэба ўзаемадзейнічаць і з іншымі кампанентамі. Ажыццяўляецца гэтая задача праз рэдагаванне галоўнага канфігурацыйнага файла. Запусціце яго праз тэкставы рэдактар, паказаўшы sudo nano /etc/httpd/conf/httpd.conf.
- Апусціцеся ў самы ніз па спісе і ўстаўце радок IncludeOptional sites-enabled / *. Conf.
- Перад выхадам з тэкставага рэдактара не забудзьцеся захаваць ўсе змены.
- Для стварэння самага віртуальнага хаста спатрэбіцца яшчэ адзін канфігурацыйны файл. Стварыце яго праз sudo nano /etc/httpd/sites-available/example.com.conf.
- Устаўце туды азначанае далей змесціва, замяніўшы неабходныя радкі на свае.
ServerName 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 combined
- Застаецца толькі актываваць файл, стварыўшы сімвалічную спасылку праз 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 restart httpd і націсніце на Enter.
- Пацвердзіце дзеянне, паказаўшы пароль суперпользователя.
- Зноў стварыце запыт для каталога, увёўшы ls -lZ /var/www/example.com/log. Калі якое з'явілася змесціва мае фармат -rw-r - r--. 1 root root error.log -rw-r - r--. 1 root root 0 requests.log, значыць, усе папярэднія налады былі выкананы правільна.
Вы былі азнаёмленыя з працэдурай інсталяцыі і агульнай налады вэб-сервера Apache ў CentOS 7. Як бачыце, сама ўстаноўка не зойме шмат часу, а ўсе складанасці звязаны толькі з канфігурацыяй. Калі прадстаўленага кіраўніцтва па змене параметраў і кіраванні Apache вам апынулася мала, раім вывучыць афіцыйную дакументацыю, скарыстаўшыся спасылкай ніжэй.
Перайсці на афіцыйны сайт дакументацыі Apache