Как установить debian 8 на vds

Обновлено: 03.07.2024

Это список достаточных и опциональных вещей, которые помогут поставить сервер для работы с 1С-Битрикс. Сразу скажу, что если возникнут вопросы — вы можете писать их в комментарии.

Здравствуйте, меня зовут.

Доброго времени суток, меня зовут Дмитрий, я являюсь техническим специалистом студии Клондайк. Не так давно мы подняли новый сервер и, пока поднимали, поняли, что есть вещи, описанные Виктором в цикле статей, которые являются либо устаревшими, либо просто не подходят для решения поставленной задачи (вы же смотрели «требования к серверу»?). Поэтому было принято решение законспектировать всё, что мы делаем и устанавливаем, для того, чтобы в конечном итоге создать не только базу для будущих серверов, но также помочь разобраться с этим вопросом техническим специалистам других студий и, разумеется, выслушать конструктивную критику.

Немного о принципах Клондайк

На данный момент хостинг является вспомогательной услугой студии, но всё большее количество жалоб клиентов на их хостинг, который не соответствует требованиям 1C-Битрикс, а также некоторая недобросовестность в поведении хостеров заставляет нас всё больше работать в эту сторону. И за многолетний опыт работы мы выработали несколько правил, которых придерживаемся.

1. Нет ограничений добросовестным клиентам. Это первый и основной принцип. Если клиент работает с нами и хочет продвигать свой бизнес, то мы не имеем права ограничивать его и себя. Мы выполняем качественную работу в рамках КИМ, а потому всячески помогаем дополнительными ресурсами. Этот безлимит предоставляется на доверии, так как видим клиента в лицо. Есть лишь одно ограничение — если обнаружена подозрительная активность, а клиент не отреагировал, мы отключаем его для проведения быстрой проверки на вредоносный код. Безопасность важнее. 2. Бэкапы делаются вне зависимости от пожеланий клиента. Нет ничего хуже, чем потерять сайт из-за глупой ошибки. Бэкапирование ведётся с повышенным интервалом, а также задаётся персонально для некоторых сайтов. Бэкапы хранятся на нескольких серверах, что даёт возможность быстро развернуть сайт на машине, на которой он уже стоял, либо быстро перенести на один из рабочих серверов из хранилища (бывает всякое).

Пожалуй, это два основных принципа. «Мы зарабатываем деньги за то, что даём клиенту зарабатывать деньги».

Выбираем щенка

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

В нашем случае требовалась схема для постоянных клиентов, потому наш выбор остановился в пользу твёрдотельных накопителей (примерно 10-кратная скорость работы с диском) и достаточно большое количество ОЗУ (так как туда требовалось большое количество серверных клиентов и выгрузка многих файлов в оперативную память).

Первые шаги

Итак, у нас на руках имеется логин, пароль и адрес нашего сервера. Используем консоль, заходим, первое, что видим — Rescue. Это облегчённая версия установщика системы, потому ей воспользоваться будет рациональнее всего.

Появляется окно установщика.

Установщик debian

Выбираем то, что вам больше нравится, с чем вы привыкли работать. Мой выбор за debian 8 Jessie; debian имеет огромные репозитории с пакетами и показывает себя как крайне стабильная система. Debian 8 — это последний релиз системы, был протестирован и провалов замечено не было.

После этого выпадает окно настройки дисков.

Установка debian. Окно настройки дисков

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

  • Raid 0 — два и более дисков соединены последовательно. N*100% скорость чтения, N*100% скорость записи, 100% — «полезная цена», при выходе из строя любого диска становится недееспособным.
  • Raid 1 — два и более чётное количество дисков соединены параллельно. 100%*N скорость чтения, N/2 * 100% скорость записи, 1/N — «полезная цена», при выходе из строя (N-1) дисков будет работать.
  • Raid 0
  • Raid 1
  • Raid 5 — три и более дисков используются последовательно, один из них содержит контрольную информацию. (N-1)*100% скорость чтения, >(N-1)*100% скорость записи, (N-1)*100% — полезная цена, способен работать
  • Raid 10 — четыре диска ставятся как параллельный массив из двух последовательных. 400% скорость чтения, 200% скорость записи, 50% — полезная цена, отказоустойчивость: 1 (33%)- 2 (67%) диска
  • Raid 6 — два диска содержат контрольную информацию, несколько невыгодно на варианте 4 диска, так как при той же полезной цене увеличивает надёжность только на 1\3, теряя половину скорости чтения и чуть менее половины — скорости записи.

Сейчас я ставлю сервер с двумя дисками и практически уверен, что Raid 0 рассматриваться даже не должен. Сервер — это не место для лотереи. Все получают деньги тогда, когда всё работает.

Некоторые нюансы: я отключил журналирование и добавил несколько опций, характерных для SSD, чтобы чуть дольше продлить его жизнь и убрать лишнее ожидание ответа файловой системы. Учитывая системы защиты от перебоев и обесточивания Hetzner, считаю это разумным решением.

Выставляем поддержку TRIM для SSD (если у вас не SSD — пропускаем).

Заходим в /etc/fstab и прописываем /dev/md1 последней опцией discard .

Если очень хочется, можно собрать другое ядро, но этот процесс необязателен.

Чистое сознание вычислительной машины

Итак, для начала необходимо установить инструменты, которые нам понадобятся для установки и мониторинга, а также забэкапить необходимые конфиги.

Сделаем подсветку синтаксиса в vim — отныне это делается в файле /etc/vim/vimrc

Включение подсветки синтаксиса в vim

Раскомменчиваем строку syntax on , удаляя кавычки. Начинаем творить ужас.

Так как файл будет генерироваться полностью, ровно, как и все конфигурационные файлы, затрагиваемые ispconfig3, мы сделаем бэкап.

В файле /etc/hosts вы можете настроить отображение сервера. Рядом с IP адресом, который вам выдал провайдер, вы можете найти ваш технический адрес.

Я приобрёл отдельно домен для данного сервера и у меня не было технического адреса в файле, потому смело оставлю его первым.

Настройка отображения сервера в файле hosts

Если вы совершали изменения этого файла, то необходимо перезагрузить службу networking: Если требуется, изменяем имя сервера на имя домена: Проверяем: Должно получиться следующее: Теперь поставим слежение за состоянием дисков:

Ставим в список enable_smart те винты, за которыми необходимо следить. В моём случае это два винта с RAID 0, SSD, потому будут /dev/sda и /dev/sdb . Если вы не уверены, какие адреса используются у вас - fdisk -l вам в помощь.

smartmontools

После этого смело: Для синхронизации часового пояса установим Network Time Protocol и свежую версию tzdata, сконфигурированную под наши нужды:

Выбираем необходимый часовой пояс. Для меня это — Europe/Moscow

Далее мы комментируем строку, которая привязывает mysql к определённому адресу.

Предварительно сохраняем файл

Для чего это делается? Для того, чтобы потом можно было добавить разрешённый адрес, чтобы работать с БД напрямую.

Проверяем, поменялось ли Должны получить вот такой ответ Далее перезапускаем MySQL Проверяем, висит ли служба на одном из портов Получаем что-то подобное:

Создание почтовых сертификатов

Нам необходимо создать почтовые сертификаты, которые создаются от имени домена, а не localhost.

Для этого меняем файлы vi /etc/courier/imapd.cnf , vi /etc/courier/pop3d.cnf .
В них достаточно поменять запись CN=localhost на CN=вашдомен , но вы можете поменять и всю информацию.

Настройки при создании почтовых сертификатов

Такие настройки стоят у меня: А далее удаляем старые сертификаты, создаём новые и перезапускаем службу:

Установка антивируса, Apache, PHP, FTP и BIND

Установка антивируса и антиспама Далее останавливаем службу spamassasin, если место в ОЗУ критично: Установка Apache и PHP

Некоторые библиотеки могут к этому времени устареть, потому либо найдите необходимые с помощью apt-cache search , либо допишите в самом конце этой длинной строчки --fix-missing через пробел.

  • Какой сервер установить? — Apache2
  • Нужно ли создавать базу для PHPMyAdmin? — нет

Теперь мы делаем наше FTP-соединение защищённым.

Для этого включаем его в настройки: Создаём папку для сертификатов, а далее — сертификат, ответив на несколько вопросов

Ответы на вопросы при создании SSL-сертификата

Далее ставим Bind9 — днс-сервер. Его огромный плюс в том, что он крайне стабилен, и настройка используется «коробочная».

Установка Jailkit

Если мы планируем давать своим пользователям ssh доступ, то нам понадобится jailkit.

Установка fail2ban

Есть два варианта:

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

Наконец-то ISP

Устанавливаем панель

Достаточно сложно её установить не сохраняя локальную копию где-то, чтобы потом залить на сервер. Но мы скопировали одну из сборок ISP на наш сервер, можете им воспользоваться

Далее отвечаем на вопросы

Ответы на вопросы при установке ISP

В моём случае это было 5 раз Enter , пароль от ДБ, дважды Enter .

Дальше при создании SSL будут, в общем-то, вопросы, которые уже задавались. Пример тут.

интерфейс ISP

Создадим правило для фаервола:

Убираем из списка по умолчанию порт 3306

Финишная прямая: Проверяем, на каком порту висит:

Таким образом, мы устанавливаем apache2 на 82й порт, а 80й будет слушать NginX.

Далее ставим NginX:

Последняя строка добавляет правильный IP в модуль для Apache

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

Установка Debian на VPS

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

Многие хостинговые компании предлагают услугу по установке и настройке всех необходимых компонентов и приложений для Debian 6, 8, 9 или других версий. Также установку Debian можно произвести и самостоятельно.

Самостоятельная установка VPS на Debian

Те, кто желают установить VPS на Debian 7 или другую версию смогут сделать это своими силами. Потребуется лишь заранее подготовленный образ дистрибутива, а также использовать панель управления.

Рассмотрим порядок действий на примере VNC:

  1. Выполняем авторизацию в панели и переходим в раздел именуемый «Подключение по VNC»;
  2. Теперь нажимаем на кнопку «Активировать» и перезапускаем;
  3. После этого необходимо нажать на клавишу ESC, чтобы выполнить загрузку;
  4. В новом окне нужно выбрать опцию «iPXE», чтобы загрузить меню сетевой загрузки;
  5. Теперь нужно запустить функцию «Linux installers» и выбрать «Debian Linux installer»;
  6. После чего откроется перечень доступных для инсталляции дистрибутивов, из них следует выбрать необходимый.

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

Установка VDS на Debian специалистами хостинга

Наш рейтинг

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

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

На чем основан наш рейтинг?

Хостинг

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

  • Тарифы . Ценовая политика должна соответствовать качеству услуг.
  • Надёжность . Использование передового оборудования и технологий, а также наличие штаба квалифицированных специалистов обеспечивает стабильность работы.
  • Удобство . Оценка клиентоориентированности компании и того, насколько она стремится облегчить пользователям управление своими вебресурсами.
  • Техническая поддержка . Уровень квалифицированности и оперативность работы саппорта.

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

Как выбрать подходящий вариант?

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

  • Продолжительность работы . Лидерами рынка, как правило, являются компании, работающие многие годы.
  • Мнение клиентов и экспертов . Ознакомиться с отзывами можно как на сайте хостера, так и на специализированных порталах.
  • Охват рынка . Некоторые русскоязычные хостинги фокусируются только на клиентах из одной страны, другие готовы обслуживать пользователей из СНГ в целом.
  • Уровень Uptime. Чем выше данный показатель, тем более бесперебойной будет работа подключенных сайтов и проектов.

Таким образом, правильно подобрать и оценить провайдеров не составляет сложностей, если оперировать основополагающими и объективными критериями.

Описан процесс подготовки сервера Debian Jessie (с Apache2, BIND, Dovecot) для установки ISPConfig 3 и непосредственно установка ISPConfig 3. Это надёжная проверенная статья, но начиная с 2019 года лучше использовать новую версию Debian 9.

ISPConfig 3 представляет собой интерфейс, с помощью которого можно настраивать следующие службы из браузера: веб-сервер, почтовый сервер Postfix, Courier или Dovecot серверов IMAP/POP3, MySQL, сервера доменных имён BIND или MyDNS, PureFTPd, SpamAssassin, ClamAV и многое другое. В процессе установки мы сделаем выбор в пользу Apache (вместо nginx), BIND (вместо MyDNS) и Dovecot (вместо Courier).

Будем считать, что необходимо получить веб-окружение на базе Apache .

1. Предварительные замечания

В данной статье будем использовать имя хоста server1.drach.pro, IP адрес 192.168.0.100 и шлюз 192.168.0.1. В конкретном случае эти параметры могут отличаться, вам необходимо будет заменить их на свои там, где это требуется.

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

2 Установка SSH server

Если OpenSSH server не был установлен во время установки системы, введём следующее:

Теперь можно использовать клиент SSH, например PuTTY и подключаться с рабочей машины к серверу Debian Jessie.

Этот шаг не является обязательным.

3 Установка текстового редактора оболочки (Необязательно)

В качестве текстового редактора будем использовать nano. Некоторые пользователи предпочитают классический редактор vi, поэтому установим оба текстовых редактора. Стандартный редактор vi отличается странным поведением на Debian и Ubuntu; исправим это, установив vim-nox:

Если Вы предпочитаете vi, замените nano на vi в командах редактирования фалов.

4 Настройка имени хоста

Имя хоста для сервера должно представлять собой поддомен типа "server1.drach.pro". Не используйте имя домена без поддомена - "drach.pro" в качестве имени хоста, это может вызвать сложности при установки почты. В начале нужно проверить имя хоста в /etc/hosts и при необходимости изменить его. Строка должна быть следующего вида: "IP Address - space - full hostname incl. domain - space - subdomain part". Для имени хоста server1.drach.pro, это будем выглядеть следующим образом:

Затем отредактируем файл /etc/hostname:

Здесь должен находится только поддомен, в нашем случае:

Затем перезапустим сервер для сохранения изменений:

Авторизуемся и проверим, верно ли имя хоста, для этого воспользуемся следующими командами:

Выходные данные должны выглядеть следующим образом:

5 Обновление установки Debian

Для начала убедимся, что /etc/apt/sources.list содержит репозиторий jessie/updates (это значит, что Вы всегда будете получать свежие обновления безопасности) и что вкладываемые и несвободные репозитории разрешены (некоторые пакеты, например, libapache2-mod-fastcgi не находятся в главной репозитории).

Для обновления баз данных пакета apt

и для установки последних обновлений (если они есть).

6 Изменение стандартной оболочки

/bin/sh является символьной ссылкой на /bin/dash, однако нам потребуется /bin/bash, а не /bin/dash. Выполним следующее:

Если этого не сделать, далее невозможно будет установить ISPConfig.

7 Синхронизация времени системы

Системное время можно синхронизировать по NTP (network time protocol) через интернет:

8 Установка Postfix, Dovecot, MySQL, phpMyAdmin, rkhunter, binutils

Установка Postfix, Dovecot, MySQL, rkhunter и binutils производится при помощи одной лишь команды:

Если вы предпочитаете MySQL вместо MariaDB, замените пакеты "mariadb-client mariadb-server" в команде сверху, на"mysql-client mysql-server".

Затем потребуется ответить на следующие вопросы:

Затем откроем TLS/SSL и порты подчинения в Postfix:

Удалим секции подчинения и smtps и добавим строки таким образом, чтобы секции в файле master.cf выглядели следующим образом:

Нам необходимо, чтобы MariaDB работал со всеми интерфейсами, а не только с локальным хостом, для этого отредактируем файл /etc/mysql/my.cnf и удалим строку bind-address = 127.0.0.1:

Затем перезапустим MySQL:

Теперь проверим, разрешена ли работа в интернете:

Выходные данные должны выглядеть следующим образом:

9 Установка Amavisd-new, SpamAssassin и Clamav

Для установки amavisd-new, SpamAssassin и ClamAV, выполним следующее:

Отредактируем файл настройки Clamd, находящийся по адресу/etc/clamav/clamd.conf

и изменим значение and AllowSupplementaryGroups с false на true:

Установка ISPConfig 3 использует amavisd, который загружает библиотеку фильтров SpamAssassin, поэтому остановим SpamAssassin, для того, чтобы освободить оперативную память:

10 Установка Apache2, PHP5, phpMyAdmin, FCGI, suExec, Pear и mcrypt

Apache2, PHP5, phpMyAdmin, FCGI, suExec, Pear и mcrypt устанавливаются следующим образом:

Далее потребуется ответить на следующие вопросы:

Затем нам потребуется включить модули Apache suexec, rewrite, ssl, actions и include (дополнительно dav, dav_fs, and auth_digest, если вам требуется WebDAV):

и разрешим работу moduley, выполнив:

11 Установка SuPHP

Уточнение!
Необязательно, не рекомендуется.

SuPHP больше недоступен для Debian Jessie. Режим suphp больше не должен использоваться в ISPConfig, так как существуют лучшие режимы PHP, такие как:php-fpm и php-fcgi. Если Вы хотите использовать suphp, необходимо выполнить следующее вручную:

Создадим директорию настройки suphp и файл suphp.conf:

Далее добавим файл config для загрузки модуля suphp в apache:

Затем откроем /etc/apache2/mods-available/suphp.conf.

. и добавим следующее:

Включим модуль suphp в apache:

И перезапустим Apache:

12 XCache и PHP-FPM

Xcache представляет собой бесплатный PHP opcode кэшер, предназначенный для кэширования и оптимизации промежуточного кода PHP. Он схож с другими opcode кэшерами, например, eAccelerator или APC. Настоятельно рекомендуется установить один из этих кэшеров, если вы хотите ускорить страницу PHP.

Xcache устанавливается следующим образом:

12.2 PHP-FPM

Начиная с ISPConfig 3.0.5, дополнительным режим PHP, который можно выбрать для использования совместно с Apache: PHP-FPM.

Для использования PHP-FPM совместно Apache, нам потребуется mode_fastcgi модуля Apache(не путать с mod_fcgid). Установим PHP-FPM и mode_fastcgi следующим образом:

Убедимся, что модуль включен и перезапустим Apache:

13 Install Mailman

Начиная с версии 3.0.4, ISPConfig также позволяет управлять (создавать/редактировать/удалять) список адресатов Mailman. Если вы хотите пользоваться данной возможностью, потребуется установить Mailman следующим образом:

Выберем по крайне мере один язык:

Перед запуском Mailman необходимо создать первый список адресатов под названием mailman:

Откроем файл /etc/aliases

. и добавим следующие строки:

и затем перезапустим Postfix:

В конце активируем конфигурацию Mailman Apache:

и затем запустим Mailman:

14 УстановкаPureFTPd и Quota

PureFTPd и quota устанавливаются следующим образом:

Затем отредактируем файл /etc/default/pure-ftpd-common.

. и убедимся, что режимом запуска установлена автономная установка и значение VIRTUALCHROOT=true:

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

Для разрешения сессий FTP иTLS введём следующее:

Для использования TLS необходимо создать сертификат SSL. Создадим директорию /etc/ssl/private/, в которой будет находится данный сертификат:

Далее сгенерируем сертификат SSL следующим образом:

Изменим права доступа сертификата SSL:

Затем перезапустим PureFTPd:

Для включения quota выполним следующее:

15. Установка сервера BIND DNS

BIND устанавливается следующим образом:

16 Установка Vlogger, Webalizer и AWStats

Vlogger, Webalizer и AWStats устанавливаются следующим образом:

. и превратим в комментарий всё в этом файле:

17 Установка Jailkit

Jailkit потребуется, если вы хотите сделать chroot для пользователей SSH. Установка производится следующим образом: (важно: Jailkit может быть установлен только перед установкой ISPConfig –после его уже не получится установить!):

Устанавливаем пакетYou Jailkit. deb следующим образом:

18 Установка fail2ban

Установка fail2ban необязательна, но рекомендована, так как монитор ISPConfig попытается показать запись событий:

Для создания монитора fail2ban PureFTPd и Dovecot, создадим файл /etc/fail2ban/jail.local:

Затем создадим 2 файла фильтра:

Добавим строку ignoreregex в файл postfix-sasl:

Установщик автоматически настроит все сервисы.

Теперь система готова к использованию.

Приложение ISPConfig Monitor для Android

С помощью ISPConfig Monitor можно проверять состояние сервера и запущенные службы. Также можно проверять порты TCP иUDP и пинговать сервера. Приложение можно использоваться для запроса подробностей серверов, на который установлен ISPConfig (минимальная версия ISPConfig 3, которая поддерживается приложением - 3.0.3.3!); вся эти подробности включают в себя всю информацию с модуля мониторинга ISPConfig Control Panel (например службы, почтовые и системные журналы событий, очередь почты, информацию о ЦП и памяти, использование диска, детали ОС, журнал событий RKHunter и т.д.) и так как ISPConfig поддерживает несколько серверов, можно проверить, все ли сервера упраывляются главным сервером ISPConfig.

Для загрузки приложения и прочтения инструкций перейдите на официальный сайт.

Использование OpenVZ

Если сервер на базе Debian, который Вы только что установили, является виртуальной машиной (например, OpenVZ ), в хост-системе необходимо прописать следующее:

Предполагается, что ID в OpenVZ это 101 – замените на корректный VPS ID для вашей системы.

Если вы не знаете, что такое VPS (VDS), то посмотрите здесь. Если вы знаете о VPS, но по какой-то причине у вас его ещё нет, то перейдите сюда.

Настройка VPS (VDS) для тех, кто никогда этим не занимался — довольно непростая вещь. Для тех, кто знает, что вся установка осуществляется несколькими командами, это может показаться достаточно простой задачей. Тем не менее, эта простота иногда бывает обманчива. «Голый» Apache уязвим к DoS, «голый» SSH уязвим к брутфорсингу и т. д. Панели управления, phpMyAdmin уязвимы к сниффингу трафика, обычный FTP просто категорически не рекомендован.

На VPS хостингах предусмотрена «пакетная» установка (предустановка) сервера и компонентов — там устанавливаются такие же «голые» программы. Можно заказать услугу специалиста по настройке (примерно 700 рублей в час, покупать нужно минимум час, в стандартную цену входит те же самые Apache, PHP, MySQL и т. п. вещи, для всего другого нужно договариваться отдельно и отдельная цена…

Обеспечение безопасности сервера — это целая наука и профессия. Нельзя в инструкциях описать все необходимые действия и правила настройки. Тем не менее, для предотвращения «детских» атак, вполне возможно и самому настроить сервер правильно.

В данной серии инструкций в качестве операционной системы выбран Debian. Аналогичная серия готовится и для CentOS.

Приступим к настройке VPS

Везде далее я выполняю команды из-под рута, если вы залогинены как обычный пользователь, то перед командами добавляйте sudo.

После настройке FQDN для вашей системы, проверьте его следующей командой, которая должна вернуть FQDN:

Шаг 1: Установка Apache

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

Для установки Apache на вашу систему наберите следующую команду:

Вас должны встретить дефолтная страница браузера:

28550

Шаг 2: Установка MySQL

Для любого маломальски сложно веб-приложения или сервиса нужна база данных. Чаще всего для этого используется MySQL. Последнее время, некоторые предпочитают MariaDB. При установке MariaDB все ваши сайты, которые работают на MySQL, будут работать точно также. Все команды и запросы к базе данных имеют один и тот же синтаксис. Установите любую (но только одну!) из этих систем управления базами данных.

Для установки MySQL

Во время установки у вас дважды спросят пароль для рута базы данных. Обязательно задайте достаточно сложный пароль.

28551

28552

Следующим шагом бы обезопасим сервер MySQL (MariaDB) отключив некоторые функции, такие как удалим анонимных пользователей, заблокируем удалённых вход рута, удалим тестовую базу данных. Всё это можно сделать запуском одного сркипта. Ответьте "Y" на все вопросы, кроме первого, когда спрашивают о смене пароля рута, он у нас уже есть.

28553

Чтобы проверить аккаунт рута сервера MySQL (MariaDB) наберите следующую команду. Проверьте, можете ли вы войти с вашим паролем рута.

Для выхода используйте exit.

Шаг 3: Установка PHP

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

Перед установкой PHP проверьте, какие библиотеки и модули доступны:

Чтобы посмотреть детальную информацию по конкретному PHP модулю используйте команду apt-cache.
Когда вы определились какой(какие) PHP модули будете устанавливать, установить их можно следующей командой:
Далее приведена команда для установки обязательных PHP модулей, без которых наш сервер не будет нормально работать. php5-mysql нужен для взаимодействия с базой данных и php5-mcrypt обеспечивает функции шифрования в PHP. php5-gd нужен для использования в веб-панеле phpMyAdmin.

Шаг 4: Настройка PHP

Перед тестированием конфигурации PHP вам нужно настроить временную зону для PHP, поскольку в дефолтном файле php.ini не установлена временная зона для функции даты, используемой во многих веб-приложениях. Для настройки временной зоаны timezone, отредактируйте /etc/php5/apache2/php.ini и задайте значение date.timezone в соответствии с физической временной зоной вашего сервера.

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

Например, я открываю так

28554

28555

Шаг 5: Установка phpMyAdmin

phpMyAdmin — это инструмент для управления базами данных MySQL/MariaDB через веб интерфейс.

Для установки phpMyAdmin на вашем сервере Linux наберите следующую команду:

Во время установки у вас спросят про настройку phpMyAdmin. Когда попросят выбрать веб сервер, выберете apache2, а когда попросят настроить базы данных через dbconfig-common, ответьте нет, поскольку мы уже настроили MySQL/MariaDB ранее.

28556

Это основное программное обеспечение для сервера. Сервер уже полностью рабочий, после перезагрузки все необходимые службы будут запускаться сами, теперь вы можете разместить ваш сайт и любые системы управления сайтами (CMS) WordPress, Drupal, Joomla, Opencart, Prestashop.

Читайте также: