Как настроить VPS сервер на Linux Debian для хостинга сайта

by Veesp 21 June 2016 Comments
Как настроить VPS сервер на Linux Debian для хостинга сайта

Не устраивают возможности виртуального хостинга? Развивающийся веб-проект требует больше ресурсов? Оптимальное решение для молодых, но весьма перспективных сайтов, набирающих популярность в сети – переход с обычного хостинга на VPS.

VPS/VDS (англ. Virtual Private/Dedicated Server) – виртуальный сервер. Как правило, в рамках подобной услуги в распоряжение клиент получает часть аппаратных ресурсов физического сервера (конфигурация и производительность зависит от выбранного тарифа). Это качественный скачок в развитии онлайн ресурса.

VPS/VDS хостинг сочетает гибкую настройку выделенного сервера. Отдельный IP-адрес, порты, возможность самостоятельно выбирать программное обеспечение, средства разработки. Все это предоставляется по доступной цене, немногим большей, чем стоимость виртуального хостинга.

Однако, аренда виртуального сервера – это и самостоятельная настройка, и оптимизация программного обеспечения. Не стоит пугаться, не так страшен черт, как его малюют. В этой статье вы узнаете, как правильно установить нужное ПО и обеспечить стабильную работу веб-сервера. Все настройки приведены для платформы Linux Debian - одной из самых надежных операционных систем, способной обеспечивать высокую производительность при минимальном потреблении ресурсов.

Оптимальная конфигурация VPS сервера для сайта

Основная проблема виртуальных хостингов заключается в том, что на одном физическом сервере может располагаться сразу до 50-100 сайтов. Расчет делается на то, пользователи посещают веб-сайты в разное время, и нагрузка равномерно распределяется на протяжении дня. Теоретический каждый сайт должен успешно справляться с несколькими тысячами пользователей в день, однако, достаточно часто на практике дела обстоят иначе.

Популярные ресурсы занимают оперативную память, а некоторые веб-приложения могут отобрать существенную часть вычислительных ресурсов, в результате существенно увеличивается время загрузки малоактивных проектов. Когда же наступает час-пик, сервер попросту не справляется с резко возросшей нагрузкой и, в лучшем случае, большинство, а в худшем – все сайты и веб-приложения, расположенные на данном сервере, оказываются недоступны.

Аренда виртуального сервера решает данную проблему. Вы получаете часть ресурсов оборудования, на которые не может претендовать никто кроме вас, а значит даже в час пик сайт будет стабильно работать, а во время простоя оперативную память или процессорное время не займет другое приложение. Но какую конфигурацию выбрать?

Небольшой развивающийся проект

Если вы переходите с виртуального хостинга или только запускает проект, к которому выдвигаются высокие требования в плане надежности, достаточно минимальных характеристик:

  • 512 Мб оперативной памяти;
  • 5 - 10 Гб свободного дискового пространства;
  • 1,5 - 2 ГГц вычислительной мощности.

Ресурсов достаточно для эффективной обработки до 10 000 пользователей в сутки. Впрочем, при грамотной оптимизации многим вебмастерам удается добиться результата в 20-25 тысяч посетителей. В дальнейшем с ростом числа пользователей можно перейти на более дорогой тариф, существенно расширив возможности системы.

Активно развивающийся портал, форум, небольшой интернет-магазин

  • 1-2 Гб оперативной памяти;
  • 20 - 30 Гб HDD; - 2 ядра по 2
  • 25 ГГц.

Решение для популярных сайтов, новостных порталов, блогов с количеством посетителей до 20-30 тысяч пользователей в сутки.

Успешный сайт, небольшой игровой сервер (Minecraft, Mu, Lineage и др.)

  • от 4 Гб RAM;
  • 30-50 ГБ HDD;
  • 2-3 ядра по 3 – 3,5 ГГц.

Оптимальное решение для успешных веб-проектов с количеством посетителей, достигшим 50 тысяч пользователей. Аппаратной части достаточно для обработки мультимедиа контента, создания серверов для онлайн-игр.

Характеристики приведены для дистрибутивов Linux Ubuntu и Debian. Они отличаются стабильной работой, обеспечивают высокую производительность при минимальном потреблении ресурсов.

Подключение к серверу по SSH

Для подключения к VPS-серверу используется протокол SSH. Это защищенный протокол (Secure Shell – защищенная оболочка), предназначенный для удаленного управления операционной системой, программным обеспечением и передачи файлов. SSH использует надежные алгоритмы шифрования данных, обеспечивая безопасное соединения с сервером.

Для работы протокола SSH необходим сервер, устанавливаемый на управляемой машине, и клиент. Управление VPS/VDS сервером осуществляется посредством командной строки.

Существует достаточно много клиентских программ для различных операционных систем. Самые простые, надежные и популярные: Bitvise SSH Client и PuTTY. На примере последней мы и разъясним процесс подключения.

Для начала нужно скачать на свой компьютер клиент (в нашем случае PuTTY). Русскоязычная версия доступна здесь. Приложение имеет приблизительно такой вид:

В соответствующем поле («Host Name» или «Имя хоста») вводим предоставленный IP-адрес виртуального сервера, устанавливаем переключатель «connection type» возле SSH, «PORT» оставляем 22, «Saved Sessions» - произвольное название сессии. Теперь нужно нажать внизу окна кнопку «OPEN» (или «Соединиться»).

Открывается консоль, напоминающая командную строку Windows. Система просит ввести логин, по умолчанию – root.

Обратите внимание! Root – это суперпользователь с наивысшими правами доступа в Linux, аналог администратора в Windows. В дальнейшем для каждого сайта можно создать отдельного пользователя с ограниченными правами.

Теперь вводим пароль (можно вставить заранее скопированный (в PuTTY – щелчок правой кнопкой мыши), нажимаем Enter .

Соединение установлено!

В целях безопасности, создаем нового пользователя с ограниченными правами, с которым и будем работать дальше. Для этого вводим команду:

adduser polzovatel

Где polzovatel – имя, которое можно задать произвольно.

В открывшемся диалоге вводим новый пароль, чем сложнее, тем лучше, главное, чтобы вы его не забыли. По желанию можно ввести дополнительную информацию о пользователе, заполнив соответствующие поля.

Теперь нужно разрешить новому пользователю выполнять команды с правами суперпользователя с помощью утилиты sudo, однако, сначала данную утилиту необходимо установить.

Обратите внимание! sudo – утилита, позволяющая обычному пользователю заниматься администрированием системы с правами суперпользователя (root). Вводится sudo в начале команды.

Установка любого программного обеспечения в Linux-операционных системах начинается с обновления индекса пакетов. В процессе обновления индекса пакетов ваша операционная система связывается с репозиторием (хранилищем большинства программного обеспечения для вашего дистрибьютива) и «узнает» о последних версиях программного обеспечения и взаимозависимостях различных программных пакетов.

Вводим команду:

apt-get update

После обновления индекса устанавливаем утилиту sudo:

apt-get install sudo

Теперь непосредственно наделяем polzovatel правом применять команду sudo:

usermod -a -G sudo polzovatel

Теперь можем войти и продолжить настройку системы под новым пользователем. Вводим команду:

ssh polzovatel@хх.ххх.xx.xx

Где хх.ххх.xx.xx – IP адрес сервера.

Нас спрашивают, желаем ли мы соединиться. Набираем в консоли yes , жмем Enter .

Полезные команды, которые пригодятся в работе с командной консолью:

  • ls –lha – показать список имеющихся файлов, загруженных на сервере, включительно с данными о размере и правах доступа;
  • cd [имя каталог] – перейти к указанному каталогу;
  • mv – изменить имя/переместить;
  • rm – удалить;
  • cp – копировать;
  • chmod – установить права доступа к фалу или каталогу;
  • cat – показать содержимое файла;
  • mc – запустить встроенный менеджер файлов, напоминающий Нортон.
  • mkdir [произвольное_имя] – создать новый каталог.

Теперь можно приступать к установке необходимого программного обеспечения.

Установка и настройка LAMP

Чтобы запустить и настроить веб-сервер необходимо установить базовый набор программного обеспечения: LAMP (Linux+Apache+MySQL+PHP). Запускаем инсталляцию пакета LAMP и панели phpMyAdmin:

sudo apt-get install apache2 apache2-doc mysql-server mysql-client php5 php5-mysql libapache2-mod-php5 phpmyadmin

Откроется диалог, в котором нам попросят подтвердить начало установки указанных пакетов, подтверждаем – жмем клавиши Y и Enter .

В очередном диалоге задаем пароль для базы данных MySQL (в дальнейшем его можно изменить):

Для подтверждения вводим повторно пароль:

Дальше система запрашивает тип веб-сервера для автоматической настройки phpMyAdmin – выбираем apache2:

При открытии очередного диалога соглашаетесь ( Y и Enter ) с применением стандартных настроек phpMyAdmin и автоматическим созданием служебной базы данных:

Задаете пароль для phpMyAdmin и повторяете ввод:

Теперь нужно откорректировать конфигурацию Apache. Открываем файл с настройками:

sudo nano /etc/apache2/apache2.conf

После открытия на новой строке в конце документа вводим:

ServerName localhost:80

Теперь для выхода из редактора нажимаем Ctrl+X , потом соглашаемся сохранить изменения - Y и Enter .

Добавляем сайты на VPS сервер: настройка Apache и DNS

Apache позволяет создать бесконечное количество виртуальных хостов, вследствие к одному IP можно привязать множество сайтов. Но не стоит забывать об аппаратных ограничениях. Процесс размещения нескольких сайтов на одном VPS/VDS сервере разделяется на несколько этапов.

Первый этап: создаем отдельные каталоги для сайтов

Создаем каталоги, к которым будет обращаться Apache. В них будут храниться файлы ваших сайтов и веб-приложений. Вводим в командной консоли:

sudo mkdir -p /var/www/mysitename1.org/public_html
sudo mkdir -p /var/www/mysitename2.org/public_html

mkdir – команда «создать каталог (папку), параметр «-p» задается для рекурсивного создания папок: сначала появляется каталог «mysitename1.org», потом каталог «public» – в нем и будет храниться контент веб-ресурсов, которые вы планируете разместить. «/var/www/» - путь, по которому будут создаваться новые директории. Название папок можно задать произвольное.

Обратите внимание, Apache имеет доступ только к каталогу /var/www, а также ко всем вложенным в него папкам и файлам.

Второй этап: устанавливаем права

По умолчанию права на директории принадлежат root-пользователю. В целях безопасности, а также если сайт создается для сторонних лиц, нужно обозначить владельцев. Для этого вводим команды:

sudo chown -R polzovatel:polzovatel /var/www/mysitename1.org/public_html
sudo chown -R polzovatel:polzovatel /var/www/mysitename2.org/public_html

polzovatel – это имя пользователя, которому присваиваются права доступа к каталогам public_html, содержащим файлы сайта.

Редактируем права доступа:

sudo chmod -R 755 /var/www

Обратите внимание! В Linux-системах права доступа задаются цифрами для всех типов пользователей: создателя файла/директории, пользователей группы владельца, других пользователей.

Например, 755 означает:

ВладелецГруппаОстальные

7 5 5
Все права: чтение, выполнение и запись Чтение и выполнение Чтение и выполнение

В таблицы приведены варианты присвоения прав:

ЗначениеПрава доступа к файлуПрава доступа к каталогу

0 Нет Нет
1 Выполнение Чтение файлов, просмотр свойств
2 Запись Нет
3 Запись, выполнение Все, за исключение просмотра списка файлов
4 Чтение Просмотр имен файлов
5 Чтение, выполнение Доступ, чтение
6 Чтение, запись Доступ, чтение
7 Полные права Полные права

Третий этап: создаем проверочные страницы

Чтобы проверить правильность конфигурации сервера, создаем демонстрационные страницы. Приведем пример для первого сайта. Процедура аналогична для всех устанавливаемых на сервере веб-ресурсов.

Формируем index.html:

nano /var/www/mysitename1.org/public_html/index.html

В файле создаем простой html-документ:

<html>
  <head>
	<title>Приветствуем на mysitename1.org!</title>
  </head>
  <body>
	<h1>Виртуальный хостинг работает!</h1>
  </body>
</html>

Сохраняем файл.

Повторяем процедуру для других сайтов. Можно ускорить процесс, скопировав содержимое первого документа в каталог второго сайта:

cp /var/www/mysitename1.org/public_html/index.html /var/www/mysitename2.org/public_html/index.html

Четвертый этап: настройка виртуальных хостов Apache

В поставке веб-сервера Apache уже есть стандартный файл default с конфигурацией виртуального хостинга. Нам нужно немного отредактировать исходный документ.

Копируем файл:

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/mysitename1.org.conf

Редактируем файл с root-правами:

sudo nano /etc/apache2/sites-available/mysitename1.org.conf

Заменяем содержимое файла следующей минимальной конфигурацией:


    ServerAdmin feedback@mysitename1.org
    ServerName mysitename1.org
    ServerAlias www.mysitename1.org
    DocumentRoot /var/www/mysitename1.org/public_html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

Сохраняемся, аналогичные операции выполняем для последующих доменов.

Пятый этап: включаем хосты

Чтобы подключить домены, в консоли задаем:

sudo a2ensite mysitename1_org.conf
sudo a2ensite mysitename2_org.conf

Перезапускаем сервер для активизации внесенных правок:

sudo service apache2 restart

Шестой этап: настраиваем NS записи доменов

Не забудьте сменить NS записи для ваших доменов. Наиболее простой способ – привязать доменное имя к IP-адресу VPS-сервера у регистратора имен. Для этого необходимо прикрепить домен к серверу регистратора, а затем в разделе «Управление DNS-зоной» (или аналогичном) создать три записи типа А с именами: *, @ и www. В поле IP указать выделенный адрес VPS-сервера. Обратите внимание! Изменение NS записей может занять до 24 часов.

Если вы используете тестовый, незарегистрированный домен, то для проверки работоспособности только что настроенного веб-сервера нужно внести изменение в файл hosts на локальном компьютере. В Windows он расположен в папке C:\Windows\System32\Drivers\etc.

Открываем файл в блокноте с правами Администратора. В конце файла прописываем IP адрес сервера и «тестовые» домены ваших сайтов:

хх.ххх.хх.ххх mysitename1.org
хх.ххх.хх.ххх mysitename2.org

Сохраняем документ. хх.ххх.хх.ххх – IP-адрес VPS-сервера.

Веб-сервер настроен!

При вводе адреса mysitename1.org в строку адреса вашего браузера на экране появится надпись: Виртуальный хостинг работает.

Все готово для загрузки и установки работающего проекта.

Подпишитесь на нашу рассылку
чтобы получать последние новости и статьи!
Visa
Mastercard
Paypal
Bitcoin
American Express
JCB
Diners Club
WebMoney
Qiwi
Yandex Money