Часто задаваемые вопросы - VPS хостинг

Что такое VPS хостинг?

VPS (Virtual Private Server) хостинг - услуга в рамках которой пользователю предоставляется так называемый Виртуальный выделенный сервер.  Виртуальный выделенный сервер - это современная технология хостинга, сочетающая в себе мощность выделенного сервера и гибкость и простоту управления. Это отличная полноценная альтернатива физическому серверу при более низкой цене.

Для кого подойдет VPS хостинг?

VPS хостинг нужен тем, кому нужны возможности выделенного сервера за доступную цену. Для тех кто серьёзно относится к своему онлайн-бизнесу и стремится к бесперебойному и стабильному присутствия в Интернет. VPS хостинг гарантирует более низкие затраты, максимальную стабильность сайта, время и скорость. Используя лучший в отрасли VPS хостинг, ваш сайт станет более стабильным для ваших потенциальных клиентов или посетителей благодаря облачной инфраструктуре, обеспечивающей производительность и постоянную доступность.

Какими преимуществами обладает VPS хостинг?

Основными преимуществами VPS Hosting являются:
Полная изоляция: Ваш пакет VPS и его приложения остаются незатронутыми независимо от того, что делают другие пользователи на сервере.
Полный доступ без ограничений: Позволяет установить любое совместимое приложение по вашему выбору.
Гарантированный объем ресурсов: Независимо от ситуации, процессор, объем оперативной памяти и жесткого диска, а так же пропускная способность, которые были выделены для вашего пакета, всегда будут доступны для ваших приложений.
Масштабируемость: Позволяет в любой момент изменить характеристики виртуального сервера, при этом все сохраненные данные и установленные приложения не будут затронуты.

Какое программное обеспечение можно устанавливать при VPS хостинге?

VPS хостинг обладает всеми преимуществами выделенного физического сервера, что в свою очередь позволяет устанавливать вам любое программное обеспечение на него, которое соответствует Операционной Системе, установленной на VPS сервер.

Можно ли сменить тариф VPS хостинга?

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

Как часто делается резервное копирование виртуального сервера?

Стандартно резервное копирование данных для VPS серверов делается один раз в неделю. Но по желанию заказчика мы можем производить резервирование на ежедневной основе. Все дополнительные условия, не входящие в стандартные пакеты услуги VPS хостинга, оговариваются отдельно.

Что такое защита от DDoS-атак, для кого она нужна?

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

Что входит в техническую поддержку VPS сервера?

Мы предоставляем полную помощь в вопросах, связанных с загрузкой, сетью, оборудованием, входом и повторной установкой виртуальной машины. Это также включает базовую настройку брандмауэра, а также выявление и устранение любых системных ошибок виртуальных серверов в рамках тарифов VPS хостинга.

Сколько требуется времени для активации VPS хостинга?

Заказанный Вами тарифный план VPS хостинга будет активирован мгновенно, как только будет произведена оплату по заказу. Однако необходимо учесть, что в зависимости от выбранного тарифного плана для полной установки и обновления операционной системы может потребоваться до 1-2 часа.

Конфигурация серверов виртуализации

Наши VPS серверы создаются и управляются на блейд шасси HP c7000. Каждое шасси оснащено 15 серверами блейд BL460c g9, а также одним блейдом - ленточным стриммером для создания и управления бэкапами. Каждый блейд виртуализации оснащен 2 x 10-ядерными процессорами E5-2670v2 с 25 МБ L3-кэша, частотой 2.5 ГГц (3.3 ГГц в турбо-режиме), 96 ГБ ECC RAM. Между собой блейды соединены сетью Virtual Connect Flex-10 на скорости 10Гбит/с. Общая пропускная способность сети блейд шасси составляет 3 Тбит/с. Все блейды управляются панелью управления VM Manager, которая мигрирует виртуальные машины между блейдами - нодами в зависимости от загруженности машины. Также миграция происходит при физической недоступности блейда в случае технического обслуживания оборудования. Таким образом, минимизируется время недоступности клиентского VPS сервера. Дисковая подсистема организована на основе СХД HP MSA 2040, которая соединена с блейд-шасси посредством 4 x 1 Гбит/с Ethernet и 4 x 8 Гбит/с оптических портов, посредством 12 Гигабитных портов с дисковыми полками. В хранилищах используются 25 х жесткие диски SAS объемом 1.8 ТБ 12G форм-фактора 2.5" (RAID 10), общая производительность дисковой подсистемы составляет 176 000 IOPS в режиме случайного чтения и записи. В SSD хранилищах используются корпоративные SATA SSD диски Samsung 860 PRO.

Установка MariaDB в CentOS 7

Введение

MariaDB - это СУБД с открытым исходным кодом, устанавливаемая в качестве компонента популярного набора LEMP (Linux, Nginx, MySQL/MariaDB, PHP/Python/Perl). Она использует реляционные базы данных и язык SQL (структурированный язык запросов) для управления данными. MariaDB является ответвлением СУБД MySQL, разрабатывается разработчиками оригинальной MySQL. Разработана в качестве замены для MySQL, использует некоторые команды, которые ссылаются на mysql, и является пакетом по умолчанию в ОС CentOS 7. В данном руководстве объясняется каким образом можно установить последнюю версию СУБД MariaDB на виртуальный сервер под управлением CentOS 7.

Перед тем как начать

Для выполнения данного руководства, вам понадобится:
  • Операционная система CentOS 7 с пользователем с привилегиями sudo.

Шаг 1 - установка

Для установки пакета MariaDB мы будем использовать установщик Yum, при запросах установщика нажимаем y для продолжения установки:
sudo yum install mariadb-server
После завершения установки, запустим службу при помощи такой команды:
sudo systemctl start mariadb
systemctl не отображает полного вывода всех сервисных команд, чтобы убедиться в правильной установке, мы запустим следующую команду:
sudo systemctl status mariadb
В случае успешной установки, вывод команды будет содержать "Active: active (running)` а последняя строка будет выглядеть следующим образом:
systemd{1}: Started MariaDB database server.
Далее, чтобы установленная СУБД запускалась при старте системы, используйте команды systemctl enable, которая создает необходимые ссылки.
sudo systemctl enable mariadb
Вывод
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
На следующем этапе необходимо уделить внимание вопросам безопасности.

Шаг 2 - безопасность сервера

СУБД MariaDB имеет в составе скрипт безопасности для изменения некоторых небезопасных настроек, например тестовые учетные записи и удаленный вход с правами супер администратора. Для запуска скрипта безопасности наберите в консоли:
sudo mysql_secure_installation
При запуске этого скрипта выдаются все необходимые пояснения для каждого шага. Вначале он запросит пароль для root, так как он не устанавливался, то мы пропустим этот шаг нажав ENTER. Затем, скрипт попросит установить пароль для root, установите его на данном шаге. После этого нужно принять все рекомендации по безопасности нажимая Y и далее ENTER, после чего скрипт удалит анонимные учетные записи, отключит удаленный вход для root, удалит тестовую базу данных и перезагрузит таблицу привилегий. В конце, после завершения работы скрипта, нам нужно проверить что СУБД работает.  

Шаг 3 — Проверка

Мы можем проверить установленную СУБД и получить информацию о ней, соединившись при помощи mysqladmin, клиентской программы которая запускает административные команды. Для соединения с MariaDB в качестве root (-u root), ввода пароля (-p), и отображения версии.
mysqladmin -u root -p version
Вы получите вывод в следующем виде:
Вывод
mysqladmin  Ver 9.0 Distrib 5.5.50-MariaDB, for Linux on x86_64
Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.


Server version          5.5.50-MariaDB
Protocol version        10
Connection              Localhost via UNIX socket
UNIX socket             /var/lib/mysql/mysql.sock
Uptime:                 4 min 4 sec


Threads: 1  Questions: 42  Slow queries: 0  Opens: 1  Flush tables: 2  Open tables: 27  Queries per second avg: 0.172
Это значит, что установка MariaDB на ваш сервер VPS хостинга прошла успешно.

Как установить Linux, Nginx, MySQL, PHP (LEMP) в ОС Centos 7 на VPS хостинге

Введение

Набор приложений LEMP представляет собой группу программного обеспечения с открытым исходным кодом, которая обычно устанавливается вместе, чтобы размещать на сервере VPS хостинга динамические веб сайты и веб приложения. Данный термин LEMP является акронимом, который представляет набор из операционной систему Linux, с установленным веб сервером ENginx (который является заменой веб сервера Apache в наборе LAMP). Данные сайта хранятся в базе данных MySQL (либо MariaDB), а динамический контент обрабатывается процессором PHP. В данном руководстве мы установим набор LEMP в операционную систему CentOS 7, установленную на виртуальный сервер VPS. Операционная система CentOS удовлетворяет первому требованию: операционная система на основе Linux.  

Перед тем как начать

Перед тем как вы начнете следовать данному руководству, вы должны создать на сервере отдельную учетную запись без прав root. Примечание касательно SELinux: Если у вас проблемы с запуском веб сервера Nginx, убедитесь в правильной настройке контекста SELinux для конфигурационных файлов Nginx либо измените режим работы SELinux в permissive либо disabled.  

Шаг первый — установка Nginx

Для того чтобы показывать посетителям вашего сайта веб страницы, мы установим Nginx, современный высокоэффективный веб сервер. Для добавления репозитория CentOS 7 EPEL, откройте командную строку и наберите следующую команду:
sudo yum install epel-release
Так как мы используем команду sudo, эти операции выполняются с привилегиями супер администратора. При выполнении система запросит у вас пароль root для проверки что вы обладаете полномочиями супер администратора. Теперь, после того как репозиторий Nginx установлен в вашу систему, можно установить веб сервер Nginx при помощи команды yum:
sudo yum install nginx
В результате выполнения ваш веб сервер будет установлен. После установки можно запустить Nginx на вашем виртуальном сервере VPS:
sudo systemctl start nginx
Вы сразу же можете проверить что все прошло по плану набрав в адресной строке браузера публичный IP адрес вашего сервера (смотрите примечание в следующем разделе как определить свой публичный IP адрес, если вы его не знаете):
Откройте в адресной строке браузера:
http://server_domain_name_or_IP/
Вы увидите начальную страницу веб сервера Nginx по умолчанию для ОС CentOS 7, которая предназначена для отображения информации и для тестовых целей. Она должна выглядеть приблизительно следующим образом: Если вы видите подобную страницу, значит вы правильно установили ваш веб сервер. Перед тем как продолжить далее, вам будет необходимо включить автоматический запуск веб сервера Nginx при загрузке системы. Для этого наберите в командной строке следующую команду:
sudo systemctl enable nginx

Как определить публичный IP адрес своего VPS сервера

Если Вы не знаете какой у вашего VPS сервера публичный IP адрес, есть множество способов его определения. Обычно, это адрес, который вы используете для соединения с сервером через SSH. Из командной строки вы можете определить его несколькими способами. Для начала, мы можете воспользоваться пакетом iproute2 чтобы определить свой адрес, наберите команду:
ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'
В результате система выдаст одну или две строки. Обе содержать корректные адреса, но ваш сервер может использовать лишь один из них, так что попробуйте оба. В качестве альтернативного метода можно использовать внешний веб сайт, чтобы узнать под каким IP адресом он видит ваш сервер. Вы можете сделать это запрашивая у определенного сервера информацию о вашем IP адресе:
curl http://icanhazip.com
После того как вы определили свой IP адрес, вы можете набрать его в адресной строке вашего веб браузера чтобы открыть веб страницы на вашем веб сервере.  

Шаг второй — установка базы данных MySQL (либо MariaDB)

После того как мы запустили наш веб сервер, самое время установить систему управления базами данных MariaDB, замену для СУБД MySQL. СУБД MariaDB является ответвлением от MySQL, разрабатываемым сообществом. В общем, эта СУБД организует и предоставляет доступ к базам данных, где может храниться информация с наших веб сайтов. Опять, мы можем использовать команду yum для получения и установки необходимого программного обеспечения. В этот раз, мы также установим некоторые вспомогательные пакеты, с помощью которых настроим компоненты для связи друг с другом:
sudo yum install mariadb-server mariadb
После завершения установки, нам нужно запустить СУБД MariaDB при помощи следующей команды:
sudo systemctl start mariadb
Теперь, после того как наш сервер базы данных MySQL запущен, нам нужно запустить простой скрипт безопасности, который устранит некоторые уязвимости, установленные по умолчанию и обезопасит доступ к серверу базы данных. Запустите скрипт в командной строке при помощи команды:
sudo mysql_secure_installation
Скрипт запросит у вас текущий пароль root. Так как вы только что установили MySQL, скорее всего у вас его нет, так что оставьте его пустым, нажав на Enter. Затем скрипт запросит у вас хотите ли установить пароль для root. Нажмите Y, и следуйте дальнейшим инструкциям:
Enter current password for root (enter for none):
OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MariaDB root user without the proper authorisation.

New password: password
Re-enter new password: password
Password updated successfully!
Reloading privilege tables..
... Success!
На остальные запросы скрипта просто нажимайте Enter чтобы принять значения по умолчанию. В результате будут удалены тестовые учетные записи и базы данных, отключен удаленный вход для root, и загрузятся новые правила, которые сразу же будут использоваться сервером баз данных MySQL после внесенных нами изменений. Последним шагом будет загрузка сервера баз данных MariaDB при запуске системы. Для этого наберите в командной строке следующую команду:
sudo systemctl enable mariadb
На данном этапе ваша система управления базами данных установлена и можно приступить к следующим действиям.  

Шаг третий — установка PHP

PHP это компонента нашей установки, которая обрабатывает код для отображения динамического контента. Он может запускать скрипты, соединяться с базами данных MySQL для получения и обработки информации и передавать обработанный контент в веб сервер для отображения посетителям веб сайта. Для установки необходимых компонентов нам нужно еще раз воспользоваться командой yum. Заодно мы установим пакеты php-mysql и php-fpm:
sudo yum install php php-mysql php-fpm

Конфигурация PHP

Теперь, после того как компоненты PHP установлены, нам необходимо внести небольшие изменения в конфигурацию для безопасной работы. Откройте главный файл конфигурации с привилегиями root:
sudo vi /etc/php.ini
В данном файле нам нужно найти параметр cgi.fix_pathinfo. Он будет закомментирован символом (;) и по умолчанию имеет значение "1". Это крайне ненадежный параметр, т.к. он просит PHP изменить путь и попытаться запустить ближайший PHP-файл, который будет найден, если указанный файл не имеет точного соответствия.  В основном данный параметр позволит пользователям создавать PHP-запросы таким образом, что бы они могли запускать скрипты, исполнение которых было ограничено. Что бы изменить оба этих условия необходимо раскомментировать данный параметр и установить ему значение "0" следующим образом:
/etc/php.ini excerpt
cgi.fix_pathinfo=0
Сохраните и закройте файл по завершении. Затем откройте конфигурационный файл php-fpm, который называется www.conf:
sudo vi /etc/php-fpm.d/www.conf
Найдите параметр listen и измените его значение следующим образом:
listen = /var/run/php-fpm/php-fpm.sock
Затем, найдите строки с параметрами listen.owner и listen.group, раскомментируйте их.Они должны выглядеть следующим образом:
listen.owner = nobody
listen.group = nobody
И наконец, найдите строки с параметрами user и group, измените их значение и "apache" на "nginx":
user = nginx
group = nginx
По завершении всех изменений сохраните файл и выйдите с редактора. Теперь осталось лишь запустить PHP, набрав следующую команду:
sudo systemctl start php-fpm
Тем самым мы активируем все изменения, произведенные выше. Следующим шагом активируем автоматический запуск php-fpm при загрузке системы:
sudo systemctl enable php-fpm

Шаг четвертый — Настройка Nginx для обработки PHP страниц

На данном этапе у нас установлены все необходимые компоненты. Единственное изменение конфигурации, которое необходимо сделать, — это сказать Nginx, чтобы использовал PHP для динамического контента. Чтобы это сделать, откроем конфигурационный файл серверного блока Nginx по умолчанию, набрав команду:
sudo vi /etc/nginx/conf.d/default.conf
В данный момент, раскомментированный серверный блок Nginx по умолчанию выглядит следующим образом:
server {
    listen       80;
    server_name  localhost;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}
Нам необходимо внести небольшие изменения в данный конфигурационный файл.
  • Во первых - необходимо указать первым значением директивы index параметр index.php, это позволит первично обрабатывать индексные файлы PHP при запросе каталога
  • Также необходимо изменить директиву server_name, указав доменное имя или IP адрес нашего сервера
  • Изменяемый конфигурационный файл содержит некоторые закомментированные строки, которые определяют процедуры обработки ошибок. Необходимо раскомментировать их, что бы активировать их функциональность.
  • Для непосредственной обработки PHP необходимо так же раскомментировать часть другого раздела. Также необходимо добавить директиву try_files, чтобы веб-сервер Nginx не пропускает подозрительные запросы на PHP.
Все изменения, которые необходимо внести в конфигурационный файл default.conf, отмечены красным цветом. Для упрощения вы можете просто скопировать и вставить весь нижеописанный код, а после заменить в нем параметр server_name на соответствующее доменное имя или IP адрес.
server {
    listen       80;
    server_name  server_domain_name_or_IP;

    # note that these lines are originally from the "location /" block
    root   /usr/share/nginx/html;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }
    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /usr/share/nginx/html;
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}
После завершения указанных изменений не забудьте сохранить конфигурационный файл и закройте его. Перезапустите Nginx следующей командой, чтобы измененные параметры вступили в силу.
sudo systemctl restart nginx

Шаг пятый — проверка PHP на вашем веб-сервере

Для того, чтобы проверить правильную настройку PHP, мы можем воспользоваться базовым PHP скриптом. Для этого назовем скрипт info.php. Для того, чтобы Nginx смог найти данный файл и правильно его обработать, он должен быть сохранен в определенный каталог, который называется "web root". В ОС Centos 7 данная директория расположена в /usr/share/nginx/html/. Создадим необходимый нам файл в указанной директории следующей командой:
sudo vi /usr/share/nginx/html/info.php
В созданный пустой файл info.php поместим следующий PHP код:

Сохраните внесенный изменения и закройте файл.

Теперь можно проверить, может ли наш веб-сервер правильно отображать контент, сгенерированный PHP скриптом. Для этого надо просто открыть эту страницу на веб-браузере. Для данной операции понадобиться общественный IP адрес вашего сервера:
http://IP_адрес_вашего_сервера/info.php
В результате веб-браузер должен отобразить страницу, которая выглядит примерно так: Данная страница в основном отображает информацию о вашем сервере с точки зрения PHP. Данная процедура полезна для отладки и проверки применения настроек. Если ваша веб-страница отображает схожую информацию - ваш PHP работает должным образом. После проверки PHP желательно удалить созданный файл, поскольку он отображает информацию о вашем сервере неавторизованным пользователям. Для этого вы можете воспользоваться следующей командой:
sudo rm /usr/share/nginx/html/info.php
При необходимости вы всегда можете создать этот файл для получения необходимой информации.