Доскоро не бях много Linux човек. Всичко, което правех, беше на машина с Windows, независимо дали беше персонален компютър или сървър, защото исках да направя всичко по силите си, за да избегна нещо, включващо инструменти на командния ред.
Тези дни вече са зад гърба ми и поради причини, които не мога да обясня, Linux просто има повече смисъл за мен. Има по-малко за управление, по-малко режийни разходи и като цяло просто работи. И аз съм в това.
И така, с казаното (вече сте изключително убедени, нали?), нека започнем с основите и обяснението на уеб сървърите на Apache и как да ги настроите за ваша употреба в реалния свят. След това ще разгледаме инсталиране и настройка на Apache с виртуални хостове.
HTTP сървърът Apache, наричан също само Apache, е безплатен HTTP уеб сървър с отворен код, разработен и поддържан от отворена общност от разработчици на Apache Software Foundation.
Apache се използва в над 30% от всички активни уебсайтове в интернет днес. Всеки домейн или отделен уебсайт в Apache се нарича виртуален хост, който съдържа информация за всеки от вашите уебсайтове, насочвайки потребителите към правилните приложения във вашия сървър.
Едно от страхотните неща за Apache е, че е междуплатформен, което означава, че може да се инсталира на различни системи. На този етап съм работил с Apache както на Linux, така и на Windows и те работят чудесно. Можете също да настроите безплатен уеб сървър Apache на Mac. В този случай ще се съсредоточим върху инсталацията на Ubuntu сървър.
Да започнем с инсталационния процес.
Ако вашият Ubuntu сървър е бил настроен за известно време, възможно е вече да имате инсталиран Apache и готов за работа. Ако не, бързо и лесно можете да започнете. Просто използвайте следните две команди, за да актуализирате вашия сървър и да инсталирате Apache:
sudo apt updatesudo apt install apache2Първият ред гарантира, че всички компоненти на сървъра на Ubuntu са актуални и гарантира, че системата ви ще вземе най-новата версия на Apache за инсталиране. Вторият ред инсталира Apache.
Всички уебсайтове на Apache се съдържат в директорията /var/www на вашия Ubuntu сървър. Ако за първи път започвате, вероятно ще видите примерен уебсайт, инсталиран на /var/www/html. За целите на този урок, нека игнорираме това и да настроим свой собствен.
Уверете се, че сте в правилната директория, като използвате следната команда:
cd /var/wwwТази команда ще навигира до /var/www директорията на вашия сървър.
Сега нека създадем нова примерна директория, където ще съхраняваме кода за нашия нов уебсайт на Apache:
пример за mkdirНакрая, нека променим разрешенията за нашата нова директория, за да гарантираме, че достъпът за четене е разрешен на всички потребители в общата мрежа:
sudo chmod -R 755 /var/www/exampleСлед това отидете в новата директория за следващата стъпка:
cd примерСега, когато нашата структура на директория е изградена, трябва да създадем файл index.html, който Apache да обслужва. Можем да го направим със следната команда:
nano index.htmlКомандата nano стартира текстов редактор във вашия екземпляр на Ubuntu, като отваря файла, ако съществува, или създава нов. Просто се уверете, че сте в правилната директория, преди да създадете нови файлове, в противен случай ще създадете нов файл на грешното място и конфигурацията ще се провали!
Въведете следния примерен код за нашата примерна HTML страница:
Моят примерен уебсайтЗдравейте
Стигнахте до моя примерен уебсайт.
След това запазете файла. Ctrl+O, за да запазите файла, след което натиснете Enter, за да презапишете всяко старо съдържание, ако бъдете подканени. Ctrl+X, за да затворите текстовия редактор.
Трябва да имате съществуващ виртуален хост файл на Apache, който вече е инсталиран с вашата нова инсталация на уеб сървър на Apache. Отидете в следната директория:
cd /etc/apache2/sites-availableСлед това отворете конфигурационния файл на виртуалния хост:
nano 000-default.conf
Възможно е вече да има настроена проба в този конфигурационен файл. Нека игнорираме това и се преместим в дъното на файла. Можете бързо да превъртите надолу с Ctrl+PgDn.
Сега нека създадем виртуален хост Apache за нашата новосъздадена примерна страница. Ще прегледам всеки от елементите в тази конфигурация след малко.
ServerAdmin webmaster@localhostServerName example.comServerAlias www.example.comDocumentRoot /var/www/exampleErrorLog ${APACHE_LOG_DIR}/error.logCustomLog ${APACHE_LOG_DIR}/access.log комбинираноВсеки запис на виртуален хост започва с VirtualHost таг. *:80 до него насочва Apache да обслужва всякакви и всички заявки, които са направени на порт 80. Ако съдържанието в този маркер VirtualHost съвпада с това, което потребителят иска, това е съдържанието, което ще му бъде предоставено.
Сега нека да разгледаме другите директиви в тази конфигурация на VirtualHost:
ServerAdmin: Имейл адрес, през който администраторът на уебсайта може да получава имейли.ServerName: Базовият домейн, използван за съответствие с дефиницията на виртуалния хост. Обикновено пропускам www тук за яснота. Псевдоним на сървъра: Други имена, които могат да се използват за определяне на вашия основен домейн. Обикновено оставям www тук, така че както www, така и не-www заявките да се съпоставят в този единствен виртуален хост. DocumentRoot: Местоположението на директорията на сървъра, съдържащо кода на нашия уебсайт. В този случай /var/www/example, където създадохме нашия файл index.html. ErrorLog и CustomLog: Местоположението на грешката и персонализираните журнали за вашия домейн на сървъра. {APACHE_LOG_DIR} е местоположението по подразбиране, дефинирано от вашата конфигурация на Apache, която е /var/log/apache2 по подразбиране.Сега, когато вашият виртуален хост е настроен във вашия конфигурационен файл на Apache, трябва да рестартираме Apache, за да вземем промените:
sudo systemctl restart apache2Ако всичко е било успешно, няма да видите никакви съобщения, докладвани в командния ред. Командният ред просто ще покаже, че е готов да въведете следващата си команда.
Можете също така да проверите състоянието на вашия уеб сървър Apache и да прегледате всички грешки, ако рестартирането е било неуспешно:
sudo systemctl status apache2Ако всичко е минало добре, сега трябва да можете да разглеждате вашия нов примерен уебсайт от всяко място, от което е достъпен вашият Ubuntu сървър.
Всеки път, когато се прави актуализация на конфигурацията на уеб сървъра на Apache, ще трябва да рестартирате Apache, за да активирате новите промени. Това ще доведе до кратък престой на всеки уебсайт, управляван във вашата конфигурация на Apache, докато Apache не се рестартира успешно, така че опитайте да рестартирате пестеливо.За да обясните тази стъпка накратко, вие Ще трябва да се уверите, че вашите DNS настройки са актуализирани правилно чрез вашия регистратор на домейни, услугата, през която сте регистрирали своя домейн. Популярните регистратори включват GoDaddy, Amazon Web Services и др.
Ако не знаете кой е вашият регистратор на домейни, можете също така да изпълните whois заявка и да въведете името на вашия домейн, за да намерите информацията, от която се нуждаете.
Когато актуализирате вашата DNS информация, просто променете записа A, за да сочи публичния IP адрес на вашия сървър, и изчакайте няколко минути промените да се разпространят в мрежата.
Скоростите на разпространение на DNS се подобриха през годините, но мнозина все пак ще ви кажат, че може да отнеме 72 часа, докато промените ви се разпространят напълно в мрежата. Изпратете промените си, след което проверете отново след няколко минути. Можете също така да проверите текущия IP адрес на даден уебсайт, като извършите DNS търсене.Управлението на уебсайт на Apache на Ubuntu сървър, работещ с Apache, е доста лесен процес. Все едно караш колело. След като го направите няколко пъти, това ще бъде втора природа.
Можете да разширите това, за което говорихме по-горе, за да създадете множество виртуални хостове в един и същ конфигурационен файл на Apache, като настроите множество възли на VirtualHost и използвате различни стойности за директивите на вашия домейн.
След като търсачките силно препоръчват (до голяма степен изискват) използването на HTTPS протокола за всеки уебсайт, продължете да четете, за да конфигурирате виртуални хостове с SSL.
Все още няма коментари. Започнете разговора!
PREV: „Грешка при установяване на връзка с база данни“ MySQL/MariaDB ...
NEXT: Как да разрешим