DevOps Basics: как запустить сайт на своем сервере
DevOps (development + operations) — это направление, находящееся на рубеже разработки ПО и системного администрирования. Примерами DevOps-задач могут быть размещение проекта на сервере, автоматизация деплоя и обеспечение бесперебойной работы сервиса в условиях высокой нагрузки.
Понимать принципы DevOps полезно любым разработчикам. В этой статье мы начнем с основ — настроим сервер и запустим на нем сайт.
Наш гайд будет состоять из нескольких этапов:
- Покупка домена
- Аренда сервера
- Настройка DNS-записей
- Настройка nginx, как обработчика запросов
Покупка домена
Это можно сделать на любом сервисе-регистраторе: (например, reg.ru, godaddy, namecheap, gandi.net). Вам нужно подобрать свободное имя, заполнить регистрационные данные и внести оплату.

Аренда сервера
Следующим шагом нужно выбрать vps-хостинг (virtual private server) и арендовать сервер. Это может быть Selectel, Timeweb или любой другой.
Мы не будем рассматривать работу с виртуальным хостингом (shared hosting), а настроим всё сами. А сейчас небольшое отступление — чем виртуальный хостинг отличается от vps.
| Виртуальный (shared) хостинг | VPS-хостинг |
|---|---|
| Много сайтов разных владельцев находятся на одном сервере. | Вы арендуете виртуальный выделенный сервер и размещаете на нем свои проекты. |
| У вас нет root-прав. Вы не можете влиять на установленную на сервере ОС и набор ПО. | У вас есть root-права. Можно настроить окружение под свои потребности. |
| Есть предустановленная панель управления с графическим интерфейсом. | Панели управления в комплекте нет. Для работы понадобятся навыки администрирования Linux. |
| Подходит для сервисов с небольшой посещаемостью. При большом количестве посетителей может начать тормозить из-за «сайтов-соседей». | Подходит для проектов с высокой нагрузкой. |
Как разместить готовый сайт в Интернете
В этой статье мы расскажем о том, как разместить свой сайт в Интернете. Инструкция подойдет тем, у кого уже есть готовый сайт (архив с файлами сайта).
Если у вас нет готового архива, вы можете создать сайт с нуля на WordPress или в Конструкторе сайтов Рег.ру.
Быстрый старт
Получите все необходимые инструменты для быстрого запуска бизнеса в Интернете. В пакет «Быстрый старт» входят домен в зоне .ru, производительный хостинг и SSL-сертификат.

Как разместить свой сайт в Интернете?
Сайт — это по факту совокупность файлов (текст, программные скрипты, база данных, изображения и др.).
Простейший сайт (например, сайт-визитку) можно создать на HTML в блокноте самостоятельно. Для построения более сложного сайта (например, интернет-магазина) нужно иметь навык программирования. Поэтому многие доверяют это дело профессионалам и заказывают создание сайта в веб-студии. После обсуждения проекта, создания эскиза, верстки и наполнения сайта контентом, разработчик предоставляет клиенту готовый архив с файлами сайта.
Пока этот архив хранится только на вашем компьютере, о существовании сайта никто не знает. Чтобы сайт появился в Интернете и его увидели другие пользователи, нужно разместить эти файлы в сети. Для этого нужно:
- Зарегистрировать домен.
- Заказать хостинг.
- Привязать домен к хостингу.
- Разместить сайт на хостинге.
Рассмотрим каждый шаг подробнее.
Шаг 1. Зарегистрируйте домен
Домен — это имя сайта в сети. Слова «домен» и «сайт» часто употребляют как синонимы, хотя это разные понятия. Сайт — это веб-страницы, которые отображаются в Интернете. Домен — это уникальный «адрес» сайта в сети. Если у сайта не будет домена, пользователи не найдут к нему путь и не увидят содержимое.
Чтобы выбрать домен, нужно определиться с доменной зоной и придумать доменное имя. Подбор домена и зоны зависит от целей и направленности сайта. В Рег.ру можно выбрать домен в более чем 750 доменных зонах: международных, национальных и тематических. Определиться с выбором помогут инструкции: Как выбрать домен? и Как придумать доменное имя для сайта?
После выбора домена его нужно зарегистрировать. На странице заказа вы указываете контактные данные и выбираете срок регистрации домена — он зависит от доменной зоны. Например, для доменов .ru, .su и .рф максимальный срок регистрации — один год. А в международных зонах домен можно зарегистрировать на год, пять или десять лет.
Таким образом, зарегистрировать домен — значит арендовать его на определенный срок. Арендуя домен, вы становитесь его администратором. По истечении срока регистрации домен нужно будет продлить.
После регистрации ваш домен будет отображаться в личном кабинете Рег.ру. Через личный кабинет вы сможете управлять доменом и менять его настройки.

Если вы зарегистрировали домен, переходите к выбору и заказу хостинга.
Шаг 2. Закажите хостинг
Хостинг — это площадка для размещения файлов сайта. Файлы размещаются на специальных компьютерах — серверах. Серверы постоянно находятся в сети и подключены к бесперебойному электропитанию. Благодаря этому размещенные на них сайты доступны круглосуточно. Таким образом, хостинг — это аренда места и мощностей.
В Рег.ру вы можете заказать хостинг под свой проект: виртуальный хостинг, VPS или Dedicated. Самый популярный и простой в работе — виртуальный хостинг. На таком хостинге можно разместить любой сайт: от простого сайта-визитки до интернет-магазина.

- тариф: выбор зависит от количества сайтов, которые можно добавить в рамках одной услуги (от 1 до 70). Определиться с выбором поможет статья: Советы по выбору тарифа хостинга.
- срок заказа (от 1 месяца). Чем больше срок заказа, тем ниже цена за месяц.
- панель управления хостингом: ispmanager, Plesk или cPanel. Через панель можно управлять настройками хостинга и размещёнными на нём сайтами. Как выбрать панель управления хостингом?Как разместить сайт, написанный в HTML
После заказа хостинга нужно связать домен и хостинг между собой.
Шаг 3. Привяжите домен к хостингу
Привязать домен к хостингу — значит прописать для домена DNS-серверы. DNS-серверы устанавливают связь между именем сайта и IP-адресом сервера, на котором размещен этот сайт.
Домены состоят из букв и символов. Но «машины» понимают только язык цифр. При вводе доменного имени в поисковую строку DNS-серверы преобразуют его в IP-адрес. Затем по IP они находят нужный сервер, а на нём — искомый сайт, и отправляют эту информацию браузеру. Благодаря DNS-серверам в поисковиках отображается нужный сайт и пользователи посещают его.
Чтобы привязать домен к хостингу, нужно прописать хостинговые DNS-серверы (ns1.hosting.reg.ru, ns2.hosting.reg.ru) автоматически или вручную по инструкции: Как привязать домен к хостингу?

Как завести сайт в интернете
Если вы прописали DNS-серверы для домена, приступайте к размещению сайта в Интернете.
Шаг 4. Разместите сайт на хостинге
Есть несколько вариантов, как можно разместить свой сайт на хостинге. Например, это можно сделать через SSH и по FTP. Однако самый простой путь — размещение сайта через панель управления хостингом.
Чтобы разместить сайт через панель управления, нужно загрузить архив с файлами сайта в корневой каталог и импортировать базу данных (если она есть). В зависимости от выбранной панели это можно сделать по одной из инструкций: Как разместить сайт в ispmanager?, Как разместить сайт в Plesk? или Как разместить сайт в cPanel?
После размещения архива с файлами сайт может быть доступен не сразу. Если ранее вы прописали или сменили DNS-серверы, дождитесь их обновления в течение 24 часов. DNS-серверы обновятся и сайт появится в Интернете.
Теперь вы знаете, как зарегистрировать свой сайт в интернете, и без труда сможете разместить свой сайт.
Помогла ли вам статья?
Спасибо за оценку. Рады помочь
Код Икс Пи ☆ Центр автоматизации, сопровождения и поддержки
Для кого предназначена эта статья: новичкам сайтостроителям посвящается, статья познакомит с основами настройки веб-сервера, на примере сервиса Apache, также мы установим на локальной машине PHP, что в связке с Apache представляет мощный и современный комплекс для разработки сайтов любой сложности.
Сначала небольшое вступление. Замечу что, в свое время, отсутствие простой и понятной новичкам информации, по казалось бы элементарным вещам, частенько ставило меня в тупик, будь то изучение языков программирования или администрирование серверов. Дам простой совет, никогда не начинайте изучать детали, пока не уложили в голове общую картину предмета. Например, не старайтесь изучить особенности поведения какого нибудь тега в HTML, пока не уясните что такое «HTML» в принципе (теперь без запинки произнесите расшифровку аббревиатуры и вдумайтесь в каждое слово).
И так, что такое web-server. В общем все просто, это может быть обычный компьютер, имеющий сетевую карту и подключенный к сети интернет. Единственное отличие «сервера» от вашего компьютера (уверен он у вас подключен к интернету), это то что на этом компьютере установлена специальная программа, которая посылает ответы всем другим компьютерам «клиентам», каждый раз когда клиенты запрашивают с него данные специальным образом.
Что значить «запросить данные» = «запрос». Рассмотрим на примере работы одного из сайтов, например, «ya.ru». Для начала разберемся что физически представляет из себя этот «ya.ru». Для начала запустим командную строку — пуск — выполнить — «cmd» и пропингуем сайт (ввести «ping ya.ru»), на что мы получим ответ от одного из серверов Яндекс вида:
Ответ от 213.180.204.3: число байт=32 время=71мс TTL=51 Ответ от 213.180.204.3: число байт=32 время=71мс TTL=51.
Ясно что в каком-то населенном пункте (который, к слову, можно выяснить по IP через какой-нибудь открытый сервис), стоит абсолютно материальная машина, имеющая как минимум одну сетевую карту, карта имеет IP-адрес 213.180.204.3. С нашего компьютера был послан «запрос» программой «ping.exe» к этому серверу, через 71 миллисекунду программа ping получила ответ от сервера Яндекс, о чем и сообщила нам на экране.
Двигаемся дальше, «пинговать» можно любой компьютер находящийся в сети, конечно если на нем нет запрета на подобные запросы. Отличие web-сервера от обычного компьютера — он может отвечать на так называемые «HTTP-запросы». Как сделать HTTP-запрос к серверу Яндекс? Открываем браузер, я например, Firefox, в строке «адрес» вверху пишем «http://ya.ru», жмем Enter — в этот момент браузер установил сеанс связи с сервером ya.ru по общепринятому для протокола http порту 80, полученный ответ был выведен браузером на экран. Надо заметить, что http перед именем сайта писать в наше время уже необязательно, браузер сам подставит спереди эти четыре буквы перед именем сайта, т.к. подавляющее число web-серверов общается с клиентами именно по протоколу HTTP.
Думаю вы знакомы и с другим протоколом, который сейчас не очень активно используется рядовыми пользователями, это протокол FTP. Этот протокол предназначен для обмена файлами м\у клиентом и сервером. С помощью браузера можно задействовать и его. Например, введя в строку адреса ftp://mirror.yandex.ru/ мы получим список файлов хранящихся на указанном сайте именно по протоколу ftp.
По этому протоколу могут работать и многие файловые менеджеры, например открыв FAR можно добавить этот же ресурс и видеть похожую картинку.
Это я к тому, чтобы вы поняли, что браузер не единственная программа которая может использовать интернет-протоколы.
Разбираемся с аббревиатурой HTTP — HyperText Transfer Protocol — «протокол передачи гипертекста». «Протокол» — некий общепринятый механизм передачи данных, который, как и все другие протоколы, к тому же зафиксирован документально. Читать пока не обязательно, да и в будущем вряд ли понадобится полное описание спецификации, скорей всего какого-нибудь FAQ будет достаточно. Главное уяснить себе, что когда то, несколько лет назад, группа людей (весьма продвинутых в компьютерах и сетях) решила что неплохо было бы всем компьютерам в сети обмениваться информацией по единому стандарту, что облегчит жизнь и разработчикам сайтов и пользователям. Решили что обмен этот будет идти по принципу клиент-сервер, «клиент» (ПК пользователя) создает текстовый «запрос» и направляет его на определенный порт «сервера», назад клиент получает «ответ» в виде текста.
Разберем что такое «запрос» подробней. Запрос в http это одна или несколько строк текста, например, «GET http://www.ya.ru HTTP/1.0» это один из запросов по протоколу http (кстати в т.ч. его и отправляет браузер серверу когда в адресе вы пишите «ya.ru» в строке браузера). Теперь надо как то отправить этот запрос на сервер. Воспользуемся программой которая умеет общаться с серверами telnet.exe, запускается так пуск — выполнить — cmd —> пишем строчку «telnet ya.ru 80» —> enter, чтобы установить сеанс связи с сервером.
Далее вписываем запрос и два раза жмем Enter, в ответ сервер ya.ru передает нам полный текст главной страницы сайта www.ya.ru:
Если запрос вписать не удалось не расстраивайтесь, у меня так же, почему то буквы не прорисовывались в telnet, текст надо или вписывать вслепую или «скопировать — правой в telnet — вставить», и не забываем про двойной enter после того как вставили команду. Замечание: к сожалению описанный пример с сайтом ya.ru теперь не работает, по причине того что сайт как и многие другие теперь работает по протоколу https (последняя буква «s» значит защищенный), поэтому найдите любой другой сайт который еще не на https или поверьте скринам.

Если вы только знакомитесь с принципами работы WEB, то у вас может возникнуть вопрос, как полученные кракозябры в telnet связан с сайтом который мы видим в браузере. Все очень просто, это «внутренность» главной страницы ya.ru, которую браузер представляет нам уже во вполне понятном виде. Убедимся в этом — откроем в браузере сайт ya.ru — правой — «исходный код страницы» — видим что это действительно так:
Теперь мы имеем представление о работе механизма клиент-сервер по протоколу HTTP и подошли вплотную к нашей цели. Наш компьютер должен уметь отвечать на запросы, которые шлют ему клиенты по сети, по протоколу HTTP, на порт 80. Для этого необходимо установить на нашем ПК программу, которая умеет это делать, мы будем ставить программу (она же web-сервер) «Apache». Замечу что это не единственный веб-сервер, есть поклонники windows IIS или nginx и т.п.
Краткое описание компонент
- Apache — собственно сам web-server, программа, которая устанавливается как «служба» windows, контролирует общепринятый для web порт 80, при поступлении запроса (обычно от браузера) — выдает клиенту исходный текст страницы.
- PHP (Hypertext Preprocessor — препроцессор гипертекста) — набор библиотек, позволяющий существенно расширить возможности обычного сайта на HTML. С помощью него реализуются такие важные вещи как авторизация, работа с базами данных, динамическое наполнение страниц информацией, интерфейс администратора сайта. Суть подхода заключается во включении в «исходный код» страницы специальных конструкций, на языке PHP. Web-server перед выдачей «исходного кода» клиенту передает текст на обработку PHP модулю, тот в свою очередь выполняет свои скрипты и отдает обратно уже готовую страничку, которая притерпела изменения согласно этих скриптов. Например, модуль может разместить на страничке последние новости или свежий анекдот.
- MySQL — СУБД (система управления базами данных), специальная программа для хранения различных таблиц с моментальным доступом на чтение и запись. PHP может задействовать эту программу для хранения логинов\паролей, новостей, сообщений с форума и т.д., вплоть до хранения исходного кода страниц и картинок. Можно конечно хранить сообщения с форума в обычном текстовом файле, но когда сообщений будет не 20-30 а 2-3 тысячи — ваш сайт может просто зависнуть. Тут то и приходят на помощь скоростные и отлаженные механизмы доступа к данным, такие как MySQL.
Для простого сайта без авторизации, достаточно поставить только Apache, если же надо реализовать авторизацию — без PHP уже не обойтись. Установку производим в обратном порядке — MySQL, затем PHP, затем Apache, затем запускаем web-server, делаем тестовую страничку и проверяем работу сервера «извне».
Установка MySQL
- Приступаем к установке. Нажмите в данном окне выборочную установку компонентов «Custom».

- Здесь вы можете выбрать дополнительные компоненты и сменить установочную директорию программы.

- Теперь приступим к настройке MySQL сервера.

- Выбираем детализированную настройку — «Detailed Configuration».

- Отмечаем пункт «Developer Machine».

- Выбрав пункт «Multifunctional Database», вы сможете работать как с таблицами типа InnoDB (с возможностью использования транзакций), так и с высокоскоростной MyISAM (как правило для веб-разработок используется именно этот тип таблиц).

- Выбор диска и директории для хранения таблиц типа InnoDB.

- В данном диалоговом окне выбирается максимально возможное количество подключений к серверу MySQL. При выборе «Decision Support (DSS)/OLAP», максимальное количество подключений будет ограничено двадцатью, чего более чем достаточно при установке сервера на домашнем компьютере и отсутствии большого количества одновременных подключений.

- Отметив «Enable TCP/IP Networking» мы включаем поддержку TCP/IP соединений и выбираем порт, через который они будут осуществляться. Стандартным для сервера MySQL является порт 3306. Отметив «Enable Strict Mode», мы задаем режим строгого соответствия стандарту SQL (данную опцию рекомендуется оставлять включенной).

- Обратите внимание на выставление настроек данного окна. Отметив «Manual Selected Default Character Set / Collation» и выбрав из ниспадающего меню «cp1251» определяем, что изначально для таблиц будет использоваться кодировка Cyrillic Windows (cp1251), что означает корректную работу с русским языком в данной кодировке.

- Если отметить «Install As Windows Service», сервер будет запускаться в виде сервиса, что является рекомендуемым способом запуска. Ниже, в ниспадающем списке, задается имя сервиса. Далее, уберите галочку рядом с «Launch the MySQL Server automatically» — мы будем запускать сервер вручную. Также поставьте галочку рядом с «Include Bin Directory in Windows PATH» — это позволит установить видимость директории «bin», для командной строки.

- Установите пароль пользователя «root». Советую сделать это. Поставьте хотя бы какой-нибудь простенький пароль, только не оставляйте поле пустым, это убережёт вас от возможных неприятностей в дальнейшем.

- В данном окне обратите внимание на строку «Write configuration file», которая указывает на месторасположение конфигурационного файла MySQL — «my.ini», далее, его необходимо будет немного отредактировать.

- Откройте для редактирования файл «my.ini».
- В раздел [client], после строки:
port=3306
Добавьте строку определяющую каталог содержащий файлы описания кодировок:
character-sets-dir=»C:/Program Files/MySQL/MySQL Server 5.5/share/charsets» - В раздел [mysqld], после строки:
port=3306
Добавьте следующие две строки, первая из которых вам уже известна, вторая – устанавливает кодировку в которой данные передаются MySQL:
character-sets-dir=»C:/Program Files/MySQL/MySQL Server 5.5/share/charsets»
init-connect=»SET NAMES cp1251″ - Далее, найдите строку:
default-storage-engine=INNODB
Замените изначально устанавливаемый тип таблиц на MYISAM:
default-storage-engine=MYISAM
- В раздел [client], после строки:
- Сохраните изменения и закройте файл «my.ini».
Установка и настройка сервера MySQL завершена. - Найдите строку:
post_max_size = 8M
Увеличьте до 16 Мбайт максимальный размер данных принимаемых методом POST, изменив ее на:
post_max_size = 16M - Найдите строку:
;include_path = «.;c:\php\includes»
Раскомментируйте ее, убрав перед строкой символ точки с запятой.
(Внимание исключение! Обратные косые черты при указании пути):
include_path = «.;c:\php\includes»
Создайте пустой каталог «C:\php\includes», для хранения подключаемых классов. - Найдите строку:
extension_dir = «./»
Установите значением данной директивы путь к папке с расширениями:
extension_dir = «C:/php/ext» - Найдите строку:
;upload_tmp_dir =
Раскомментируйте ее и укажите в значении следующий путь:
upload_tmp_dir = «C:/php/upload»
Создайте пустую папку «C:\php\upload», для хранения временных файлов загружаемых через HTTP. - Найдите строку:
upload_max_filesize = 2M
Увеличьте максимально допустимый размер загружаемых файлов до 16 Мбайт:
upload_max_filesize = 16M - Подключите, расскомментировав, данные библиотеки расширений:
extension=php_bz2.dll
extension=php_curl.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mysql.dll
extension=php_mysqli.dll - Найдите строку:
;date.timezone =
Раскомментируйте и установите значением часовой пояс вашего местоположения (список часовых поясов можно найти в документации):
date.timezone = «Europe/Moscow» - Найдите строку:
;session.save_path = «/tmp»
Раскомментируйте и установите значением данной директивы такой путь:
session.save_path = «C:/php/tmp»
Создайте пустую папку «C:\php\tmp» для хранения временных файлов сессий. - Сохраните изменения и закройте файл php.ini.
- Распакуйте архив дистрибутива в каталог C:\Apache2.
- Откройте в текстовом редакторе файл «C:\Apache2\conf\httpd.conf», являющийся основным конфигурационным файлом сервера Apache.
- Правка файла httpd.conf:
- Для загрузки модуля mod_rewrite найдите и раскомментируйте (уберите в начале строки символ «#») данную строку:
LoadModule rewrite_module modules/mod_rewrite.so - Для загрузки PHP интерпретатора, в конец блока загрузки модулей необходимо добавить строку:
LoadModule php5_module «C:/php/php5apache2_4.dll» - Определите каталог содержащий конфигурационный файл PHP, добавив ниже следующую строку:
PHPIniDir «C:/php» - Найдите и раскомментируйте строку:
ServerName www.example.com:80
Отредактируйте ее следующим образом установив изначальное имя сервера:
ServerName localhost:80 - Найдите строку:
DocumentRoot «c:/Apache2/htdocs»
Назначьте корневую директорию управления сайтами (немного позже мы ее создадим):
DocumentRoot «C:/apache» - Найдите данный блок:
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
И замените его на нижеследующий:
Options Includes Indexes FollowSymLinks
AllowOverride All
Allow from all - Удалите или закомментируйте первоначальный блок управления директориями (он нам не понадобится), который без комментариев выглядит примерно так:
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all - Найдите блок:
DirectoryIndex index.html
Замените его на:
DirectoryIndex index.html index.htm index.shtml index.php - Найдите строку:
ErrorLog «logs/error.log»
Замените на нижеследующую (в этом случае просматривать глобальный файл ошибок сервера будет удобнее):
ErrorLog «C:/apache/error.log» - Найдите строку:
CustomLog «logs/access.log» common
Замените на:
CustomLog «C:/apache/access.log» common - Для работы SSI (включения на стороне сервера) следующие строки, находящийся в блоке
, необходимо найти и раскомментировать:
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml - Добавьте ниже, в тот же блок
, две строки:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps - И, наконец, найдите и раскомментируйте строки:
Include conf/extra/httpd-mpm.conf
Include conf/extra/httpd-autoindex.conf
Include conf/extra/httpd-vhosts.conf
Include conf/extra/httpd-manual.conf
Include conf/extra/httpd-default.conf - Сохраните изменения и закройте файл «httpd.conf»
- Существующие блоки примеров виртуальных хостов необходимо удалить, и вставить только нижеследующее:
DocumentRoot «C:/apache/localhost/www»
ServerName localhost
ErrorLog «C:/apache/localhost/error.log»
CustomLog «C:/apache/localhost/access.log» common - Сохраните изменения и закройте файл «httpd-vhosts.conf»
- Для загрузки модуля mod_rewrite найдите и раскомментируйте (уберите в начале строки символ «#») данную строку:
- Запускаем командную строку и вводим в ней «C:\Apache2\bin\httpd.exe -k install»

- Вот что мы должны увидеть при успешной установке сервиса Apache.

- Переименуйте index.txt в index.php (обратите внимание на расширение!).
- Проверьте страничку запросив ее с сервера по адресу localhost.
- Создание структуры каталогов виртуальных хостов В корне диска необходимо создать каталог «apache» — в нем будут лежать ваши виртуальные хосты (домены), глобальный файл журнала ошибок «error.log» (создается программой при первом запуске, автоматически), глобальный файл доступа «access.log» (создается автоматически). В каталоге «apache» создаем еще одну пустую папку — «localhost», в которой, в свою очередь, создаем папку «www», именно в последней и надо будет держать наше добро в виде локальных скриптов. Такая, казалось бы странная структура каталогов, продиктована схожей схемой построения каталогов в системах Unix, и призвана упростить в дальнейшем ее понимание и использование.
- Шаг 0. Cтруктура каталогов для размещения сайтов
- Шаг 1. Создание директории сайта и файлов логов
- Шаг 2. Создание конфигурационного файла — Virtual Host
- Шаг 3. Создание базы данных
- Шаг 4. Установка CMS и проверка работы сайта
- Загрузка готового сайта
- Установка CMS
- Как установить WordPress на виртуальный сервер
- Как установить Drupal на виртуальный сервер
- Как установить Joomla! на виртуальный сервер
-
Скачиваем пакет по ссылке
-
, скачивайте последнюю версию.
Установка PHP
-
Скачиваем пакет по ссылке
-
, обратите внимание что нам нужен ‘VC9 x86 Thread Safe’ вариант.
-
Распакуйте архив в желаемый каталог (изначально предлагается «C:\php»). Откройте конфигурационный файл содержащий рекомендуемые настройки — «php.ini-development» (находящийся в корне дистрибутива), переименуйте его в php.ini и произведите следующие изменения.
php_bz2.dll – С помощью данного расширения PHP сможет создавать и распаковывать архивы в формате bzip2.
php_curl.dll – Очень важная и нужная библиотека, позволяющая соединяться и работать с серверами, с помощью огромного количества интернет-протоколов.
php_gd2.dll – Ещё одна незаменимая библиотека, позволяющая работать с графикой. Вы думали на PHP можно только HTML странички генерировать? А вот и нет! С помощью PHP можно почти всё, в том числе и рисовать.
php_mbstring.dll – Библиотека содержит функции для работы с много-байтными кодировками, к которым относятся кодировки восточных языков (японский, китайский, корейский), Юникод (UTF-8) и другие.
php_mysql.dll – Имя библиотеки говорит само за себя — она необходима для работы с сервером MySQL.
php_mysqli.dll – Данная библиотека является расширением предыдущей и содержит дополнительные функции PHP для работы с сервером MySQL версии 4.1.3 и выше.
Установка Apache
-
Скачиваем пакет по ссылке
-
, обратите внимание что нам нужен ‘Apache 2.4 win32 binaries’.
Проверка работы сервера
В файле httpd-vhosts.conf мы задали каталог DocumentRoot, который и будет являться хранилищем для нашего первого сайта. Наш сайт, для начала, будет состоять всего из одной страницы. Делаем страничку: создайте в каталоге www текстовый файл ‘index.txt’, в файл скопируйте код HTML:
Моя первая страничка Это моя страничка! Apache work!!
Сохраните и закройте файл, затем смените ему расширение, чтобы получилось ‘index.html’.

Пришло время проверить работоспособность нашего web-сервера. Заходим в браузер и делаем HTTP запрос на свой ПК, а именно, в поле «адрес» пишем вместо названия сайта свой локальный IP адрес (например у вас он может быть 192.168.0.1), а можно просто написать «localhost».
Наш web-сервер ответил на запрос и выдал нам нашу первую страничку.
Проверка работы PHP
Для проверки php необходимо сделать следующее:
-
Во первых удалите index.html, вместо него создайте текстовый файл index.txt следующего содержания:
Моя первая страничка Это моя страничка! Apache work!!

Дополнительные настройки
Пример создания виртуального хоста
При необходимости установки собственных виртуальных хостов сделайте следующее:
Откройте файл «httpd-vhosts.conf», и создайте в нём блок, примерно, следующего содержания:
# Папка, в которой будет корень вашего хоста.
DocumentRoot «C:/apache/test.ru/www»
# Домен по которому вы сможете обращаться к виртуальному хосту.
ServerName test.ru
# Алиас (добавочное имя) домена.
ServerAlias www.test.ru
# Файл, в который будут записываться ошибки.
ErrorLog «C:/apache/test.ru/error.log»
# Файл журнала доступа к хосту.
CustomLog «C:/apache/test.ru/access.log» common
Затем в каталоге «apache», создайте папку «test.ru» (прямо так, с точкой), в которой, в свою очередь, создайте папку «www».
Следующий шаг создания виртуального хоста – это изменение файла C:\WINDOWS\system32\drivers\etc\hosts операционной системы. Откройте данный файл и добавьте в него две строки:
127.0.0.1 test.ru
127.0.0.1 www.test.ru
Теперь запустите сервер Apache выполнив в командной строке «C:\Apache2\bin\httpd.exe -k start», откройте браузер, введите в адресной строке «test.ru» или «www.test.ru» и вы окажетесь в своем виртуальном хосте. Только будьте внимательны, теперь вы сможете попасть на оригинальный сайт с именем виртуального хоста («www.test.ru», если таковой существует), только закомментировав либо удалив строку: «127.0.0.1 www.test.ru», в вышеупомянутом файле «hosts».
Документация Apache, при запущенном сервере, доступна по адресу http://localhost/manual/
Остановить работу Apache можно выполнив в командной строке «C:\Apache2\bin\httpd.exe -k stop». При необходимости перезагрузить Apache, выполните в командной строке «C:\Apache2\bin\httpd.exe -k restart».
Согласитесь, что вручную редактировать файл «hosts» при каждом запуске сервисов – это не удобно, поэтому для более удобного, одновременного запуска сервисов Apache, MySQL, и изменения файла «hosts» мы создадим два пакетных файла: на запуск и остановку, которые будут выполнять всю рутинную работу автоматически.
При использовании виртуальных хостов необходимо создать в директории C:\apache два файла: vhosts-off.txt – содержащий изначальное содержимое файла «hosts» и vhosts-on.txt – содержащий все виртуальные хосты. Обратите внимание, что при создании новых виртуальных хостов вам необходимо будет добавлять их в файл vhosts-on.txt, а не в C:\WINDOWS\system32\drivers\etc\hosts. Посмотрите на примеры ниже.
Файл vhosts-off.txt (может содержать одну единственную строку):
127.0.0.1 localhost
Пример файла vhosts-on.txt с виртуальными хостами www.test.ru и test.ru:
127.0.0.1 localhost 127.0.0.1 www.test.ru 127.0.0.1 test.ru
В той же директории C:\apache, создайте два пакетных файла: start-webserver.bat – для запуска сервисов и подмены файла «hosts», и stop-webserver.bat – для остановки сервисов и очистки файла «hosts».
Файл запуска start-webserver.bat:
@echo off echo. if not exist C:\apache\vhosts-on.txt goto no_vhosts echo Create virtual hosts: copy /v /y C:\apache\vhosts-on.txt C:\WINDOWS\system32\drivers\etc\hosts echo. :no_vhosts NET start Apache2.2 NET start MySQL
Файл остановки stop-webserver.bat:
@echo off echo. if not exist C:\apache\vhosts-off.txt goto no_vhosts echo Restore hosts file: copy /v /y C:\apache\vhosts-off.txt C:\WINDOWS\system32\drivers\etc\hosts echo. :no_vhosts NET stop Apache2.2 NET stop MySQL
В случае если вы не используете виртуальные хосты или хотите запустить сервисы без подмены файла «hosts», просто уберите из директории C:\apache файлы vhosts-on.txt и vhosts-off.txt.
Одновременно с сервисами удобно запускать программу Apache Monitor, отображающую в системном лотке состояние сервера Apache, для чего можно создать еще один пакетный файл «start-webserver-monitor.bat», содержание которого аналогично файлу «start-webserver.bat» с добавлением в самый конец следующей строки:
start "" "C:\Apache2\bin\ApacheMonitor.exe"
На этом все, успехов в покорении HTML и PHP!
Как разместить сайт на сервере с LAMP
![]()
В качестве примера будем использовать тестовый домен example.com . Не забудьте изменить его на свой.
Шаг 0. Структура каталогов для размещения сайтов
Чтобы в будущем мы могли просто и непринуждённо добавлять новые сайты, настраивать FTP или sFTP-доступ для отдельных директорий, не помешает заранее определиться, как оптимально расположить их на сервере.
Самая простая структура выглядит так:
Директория веб-сервера для размещения сайтов
Она будет использоваться в качестве примера ниже.
Тем не менее, если вы планируете разместить на сервере только один сайт, можно не тратить время на настройки и просто загрузить файлы сайта в папку /var/www/html — сайт будет работать и так. Но в будущем это может привести к необходимости в перенастройке, например, когда потребуется разместить новый сайт.
Шаг 1. Создание директории сайта и файлов логов
На этом шаге нам нужно создать папки, где будут размещены файлы сайтов, а также файлы логов, куда веб-сервер будет записывать информацию о работе сайта. Введите в терминале последовательно:
mkdir /var/www/example.com /var/www/httpd-logs touch /var/www/httpd-logs/example.com.access.log /var/www/httpd-logs/example.com.error.log
Осталось настроить права доступа. Чтобы все функции сайта работали корректно, все его файлы должны быть доступны для обработки веб-серверу. Поэтому указываем в качестве владельца системного пользователя веб-сервера:
chown -R www-data:www-data /var/www/example.com
chown -R apache:apache /var/www/example.com
Недостаток такого подход в том, что работать с файлами сайта будет не очень удобно. Формально при каждой загрузке новых файлов потребуется редактировать их владельца — с пользователя, под которым файлы загружены, на системного пользователя и группу веб-сервера.
Шаг 2. Создание конфигурационного файла сайта — VirtualHost
Чтобы веб-сервер стал принимать запросы к нашему сайту, в первую очередь нужно добавить его конфигурационный файл — так называемый VirtualHost . Он нужен, чтобы указать веб-серверу, как обрабатывать запросы к сайту, где лежат его файлы, куда записывать сообщения об ошибках и др. Если на сервере планируется разместить несколько сайтов, будет удобнее добавить VirtualHost для каждого отдельно.
На CentOS требуется выполнить предварительную настройку.
Создадим папку для размещения конфигурационных файлов сайтов:
mkdir /etc/httpd/sites-enabled/
Откроем конфигурационный файл веб-сервера:
vim /etc/httpd/conf/httpd.conf
Добавим новую строку в конец списка параметров:
Include sites-enabled/*.conf
Сохраним и закроем файл.
-
Добавляем новый файл c именем example.com.conf (где example.com — ваш домен):
Ubuntu и Debian:
touch /etc/apache2/sites-available/example.com.conf
touch /etc/httpd/sites-enabled/example.com.conf
nano /etc/apache2/sites-available/example.com.conf
В качестве примера приведён редактор nano . Для сохранения файла нажмите сочетание Ctrl + O , проверьте имя файла и нажмите Enter . Для выхода из файла нажмите сочетание Ctrl + X .
vim /etc/httpd/sites-enabled/example.com.conf
В качестве примера приведён консольный редактор vim . Для входа в режим редактирования на клавиатуре нажмите I . Для выхода из режима редактирования нажмите Esc . Для сохранения и выхода из файла введите сочетание :wq Для выхода без сохранения введите :q!
Вставляем в файл следующий текст:
123.123.123.123:80 > ServerName example.com ServerAlias www.example.com DocumentRoot /var/www/example.com CustomLog /var/www/httpd-logs/example.com.access.log combined ErrorLog /var/www/httpd-logs/example.com.error.log AddType application/x-httpd-php .php
Измените выделенный текст на ваши данные ( 123.123.123.123 — IP-адрес сервера и example.com — имя домена).
После завершения редактирования сохраните и закройте файл.
Для Ubuntu и Debian осталось активировать VirtualHost нового сайта и отключить текущий, включенный по умолчанию:
a2dissite 000-default.conf a2ensite example.com.conf
Перезапустим веб-сервер для применения изменений:
systemctl reload apache2
systemctl reload httpd
Шаг 3. Создание базы данных
База данных — обязательный компонент для работы любого современного сайта. Одним из этапов установки большинства CMS всегда является настройка базы данных.
Чтобы создать базу для нового сайта, подключитесь к серверу баз данных:
mysql -u root -p
После ввода пароля создадим новую базу данных exampleDB :
create database exampleDB;
Далее добавим нового пользователя сервера баз данных ( exampleDB-user ) и предоставим ему доступы для работы с базой сайта. Важно: не забудьте сохранить название базы данных, имя пользователя и пароль — они потребуются для настройки сайта.
grant all privileges on exampleDB.* to 'exampleDB-user'@'localhost' identified by 'p@ssw0rd' with grant option;
Выходим из консоли сервера баз данных:
exit;

Шаг 4. Загрузка файлов и проверка работы сайта
Осталось самое простое — загрузить файлы сайта.
Загрузка готового сайта
Если у вас уже есть готовый сайт, загрузить его файлы можно по sFTP.
В итоге в папке сайта example.com должен оказаться архив вашего сайта (в примере example.com.tar.gz ) и дамп базы данных (в примере dump.sql ):

tar -xzf example.com.tar.gz
На CentOS tar по умолчанию не установлен. Для установки воспользуйтесь командой:
yum -y install tar
Разворачиваем дамп базы данных:
mysql -u exampleDB-user -p exampleDB < dump.sql
После этого нужно изменить данные для подключения к новой базе данных в конфигурационных файлах вашего сайта.
Установка CMS
Если вы хотите развернуть новый сайт — например, в целях разработки или тестирования, воспользуйтесь следующими инструкциями по установке CMS:
