admin / 18.05.2018

Настройка VPS с нуля с бесплатной панелью управления хостингом VESTA на FirstVDS.

.

Бесплатная панель управления

Vesta Control Panel (VestaCP) представляет собой свободную открытую панель для управления сайтами. Она имеет встроенные инструменты для баз данных, почты, а также DNS. Наша статья поможет вам поставить и запустить панель на ОС Ubuntu версии 14.04. Кроме того, мы покажем как настраивать ваш сайт, а также учетку электронной почты.Для этого вам потребуется домен и хост.

Устанавливаем Vesta CP и файловый менеджер SPRUT

Мы будем использовать условный адрес example.com. У вас должен быть заранее настроенный FTP-клиент вроде Filezilla. Кроме того, нужен будет не рутированный пользователь, у которого есть доступ с sudo. Нам также потребуются 4 А-записи. Первая перенаправляет наш домен на IP сервера. Вторая — направляет ns1.example.com на айпишник сервера. Третья делает тоже самое, только с ns2.example.com. Четвертая нужна для того, чтобы перенаправить panel.example.com на IP-сервера. Кроме того, требуется запись CNAME, направляющая www.example.com на example.com.

Мы начнем с установки панели VestaCP

Прежде всего потребуется загрузка установочного скрипта панели. Root-доступ нужен для корректной его работы. Запускайте скрипт в root-сессии. Данная команда поможет вам загрузить его:

curl -O http://vestacp.com/pub/vst-install.sh

После этого, скрипт нужно запустить в root-сессии:

bash vst-install.sh

Для продолжения нужно будет нажать символ Y. Программа сразу попросит вас ввести корректный адрес почты. Напишите его и нажмите Enter для подтверждения. После этого требуется написать имя хоста. Вы можете применять любое имя, но по умолчанию используется домен — panel.example.com. Домен, прописанный во время установки, будет служить адресом панели управления. В нашем случае он будет выглядеть так: https://panel.example.com:8083. Для сайта с доменным именем example.com нужна панель panel.example.com. С ее помощью вам удастся настроить желаемый домен example.com. Весь этап установки занимает около 15 мин.Наш скрипт загрузит панель управления Vesta, а также необходимые сервисы для ее работы, такие как:

  • Сервер Apache для back-end;
  • Веб-сервер Nginx;
  • Сервер почты Exim;
  • Сервак для DNS Blind;
  • Базы данных MySQL;
  • Dovercot – сервер POP3/IMAP;
  • Iptables + Fail2Ban;
  • Сервер FTP Vsftpd;
  • Почтовый клиент Roundcube.

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

=======================================================
Congratulations, you have just successfully installed Vesta Control Panel
https://panel.example.com:8083 username: admin
password: ********

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

su – user name

Cледующий шаг — настройка Vesta

После завершения инсталляции панели, вы увидите ссылку, которую нужно открыть. В нашем примере — это https://panel.example.com:8083/. Вы увидите предупреждение SSL на своем дисплее:

Your connection is not private

Не удивляйтесь, ведь сервер применяет самоподписанный сертификат. Вы можете не беспокоиться и продолжать. Далее вы увидите форму входа. В нее нужно внести идентификационные данные, которые у вас теперь есть после этапа установки. Они также будут у вас на почте, которую вы задали на начальном этапе. Обязательно поменяйте пароль администратора панели. Ссылка на Admin находится в правом верхнем углу панели управления. В поле Password напишите новый пароль. Его можно также сгенерировать посредством кнопки Generate. Вы также сможете поменять в случае необходимости язык и имя. Внизу требуется указать сервера имен. Это ваши поддомены. В нашем примере это ns1.example.com, а также ns2.example.com. Когда настройки закончены, нужно нажать сохранить с помощью кнопки Save.

Как настроить сайт?

Используя домашнюю страницу, нужно выбрать параметр Web. Чтобы добавить сайт, нажмите кнопку плюс на клавиатуре. Затем добавьте URL в поле Domain либо используйте наш адрес сервера example.com.Выпадающее меню IP Adress может предлагать несколько вариантов адресов если включена частная сеть. В списке выберите IP вашего сервера.Advanced Options – это расширенные настройки. Поле Aliases необходимо для ввода поддоменов. Присутствует также раздел Web Statistics. Вы можете выбрать опцию webalizer, чтобы была возможность просматривать статистику по сайту.Для быстрой загрузки файлов на сайт используйте опцию Additional FTP. Здесь обязательно придется заполнить поля имени и пароля. Username должен иметь приставку admin_. Имейте ввиду, что все ваши данные не будут шифроваться при передаче по FTP соединению, поэтому конфиденциальную инфу отправлять не стоит. Вот и все, настройка завершена. Теперь нужно нажать кнопку Add.
После этого, подключитесь к серверу FTP:

ftp ip_адрес_сервера

Либо используйте программу Filezilla для этой цели. Файлы сайта должны храниться в папке public_html. Вы сможете также подгрузить новый index.html либо внести правки в уже существующий. После загрузки файлы сразу станут доступны на вашем ресурсе. Если какие-то имена будут совпадать, файлы будут замещены. Перейдите на ваш сайт http://example.com, чтобы увидеть изменения. Если по какой-то причине вам нужно будет поменять домен, делайте это через пункт Web. При клике на дисплее высветится адрес сайта и панели управления Vesta.

Как настроить учетку электронной почты?

Мы будем использовать условный адрес почты username@example.com. Зайдите в панель управления и выберите опцию Mail. Вам нужно будет навести курсор на доменное имя, выбрав опцию Add Account. Следующий экран даст вам информацию о пароле и имени пользователя. Для добавления аккаунта нажмите кнопку Add. В поле Advanced Options вы увидите такие опции:

  • Поле Aliases необходимо для подключения дополнительных адресов почты;
  • Опция Quota нужна для задания лимита объема почтового ящика;
  • Параметр Forward пригодится в случае необходимости перенаправить письма на другой ящик. Если поставить галочку на опции Do not store forwarded email, то пересланные сообщения будут удалены.

Чтобы увидеть созданный аккаунт, перейдите на: http://panel.example.com/webmail/. Для входа используйте учетные данные, созданные ранее. Напишите свое доменное имя в поле Username. Оно будет выглядеть так: some_name@example.com для аккаунта some_name.Вот и все, панель управления Vesta настроена и полностью готова к использованию.

Опубликовано: Апрель 3, 2017

Одним из главных моментов в настройке и конфигурации VPS или VDS сервера становится вопрос о выборе панели управления сервером. Тут борьба разворачивается между хорошо(чуть ли не отлично) функциональными платными версиями панелей управления и между бесплатными аналогами, функционал которых довольно небольшой, однако в них есть практически все необходимые инструменты.

Среди платных версий панелей управления сервером особое и чуть ли не единственное место прочно занимает панель управления ISPManager. Чаще можно встретить его Lite версию, весь функционал которого вряд ли понадобиться когда нибудь среднестатистическому клиенту VPS/VDS хостинга. Однако даже эта Lite версия ISPManager будет стоить вам от 200 и выше рублей за месяц пользования. Вообще можно сказать, что у панели-то одна единственная стоимость, установленная производителем, да только тут вмешивает хостинг, который либо вносит эту услугу в основной прайс-лист, никак не выделяя его, либо делает какие-то  «скидки», мол у нас эта панель дешевле и так далее. Лично на моем VDS хостинге ISPManager Lite предлагают за 240 рублей в месяц, и это при условии что за сам хостинг я плачу 400 рублей(используется отнюдь не минимальная комплектация сервера, а это значит что можно найти и за дешевле). Так зачем платить столько же за панель, сколько и за хостинг, если эта панель может вам понадобиться лишь 1-2 раза в месяц, а то и меньше?

Устанавливаем бесплатную панель VestaCP

Посему и было решено освоить какую-то бесплатную панель управления. Почитав что пишут на эту тему, было решено остановить выбор на VestaCP. Единственный минус(лично для меня) этой панели — отсутствие файлового менеджера, которую я решил с помощью программы WinSCP, которая работает по протоколу SFTP(SSH File Transfer Protocol), внутри которого затерялся еще один протокол — SSH — протокол для удаленной работы с операционной системой(консолька, другими словами), которая, кстати, очень даже понадобиться нам для установки панели Vesta Control Panel.

Подключаемся к нашему серверу по SSH(для Windows можете использовать программу PuTTY). Выполняете команду:

curl -O //vestacp.com/pub/vst-install.sh

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

  1. Веб-сервер Apache(как бэкенд)
  2. Веб-сервер Nginx(как фронтенд)
  3. PHP
  4. MySQL
  5. PhpMyAdmin(веб-интерфейс для работы с базами данных MySQL)
  6. VSFTPD(для работы по FTP-протоколу)
  7. Iptables и fail2ban(файервол)
  8. Exim+Dovecot+spamassasin+clamav(все необходимое для работы с почтой, а так же средства защиты от спама и проверки писем на наличие вирусов)
  9. Кроме этого будет установлены многие другие мелкие сошки, которые необходимы для нормального функционирования всего вышеперечисленного ПО.

Как видите, одна лишь установка панели управления VestaCP решит все другие вопросы по настройке сервера. И для этого нужно выполнить лишь одну команду, НО можно подумать, а действительно ли нужна нам именно такая конфигурация сервера?

Установка VestaCP на Ubuntu 16.04

Если конфигурация устраивает, выполняйте команду:

bash vst-install.sh

Если же хотите подумать, смело идите на страницу

//vestacp.com/#install

которая сразу же перекинет вас на подменю Advanced Install Settings, в котором вам с помощью выбора из выпадающих списков необходимо собрать подходящую конфигурации сервера.

Когда выбор будет закончен, нажмите кнопку Generate Install Command(вводите адрес почты и прочую ересь вовсе необязательно). На что у вас появиться вышеуказанная команда с параметрами сразу после слов

# Run it

Например, вот такую конфигурация я выбрал для своего сервера:

Эту самую команду вам необходимо будет скопировать и ввести в окно Putty, где и выполнить. Установка панели VestaCP и прочего софта(или LAMP`а) может длиться до 15 минут, о чем панель сообщить сама. Перед началом установки нужно будет ввести действующий адрес электронной почты, на которую придет письма с параметрами для входа в панель управления.

На этом установка панели Vesta завершиться.

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

Официальный сайт: vestacp.com

  • Бесплатная
  • Поддержка SSL (let’s encrypt из коробки)
  • Автоматическая установка
  • Open Source
  • Опциональная установка (выбор только необходимого функционала)
  • Мультиязычная

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

Поддержка операционных систем:

  • RHEL / CentOS 5,6,7
  • Debian 6,7,8
  • Ubuntu 12.04-16.10

Таблица версий PHP и MySQL в зависимости от системы, на которую будет произведена установка

Ubuntu 14.04.4 PHP 5.5.9 mysql 5.5.54
Ubuntu 16.04.1 PHP 5.5.9 mysql 5.7.17
CentOS 6.8 PHP 5.3.3 mysql 5.1.73
CentOS 7 PHP 5.4.16 mysql 5.5.50-MariaDB

Мне нужна была старая версия PHP, поэтому пришлось поискать информацию.

Нашел пару гайдов по установке нескольких версий, но нормально устанавливается только до версии 5.4 — ниже (например 5.3.x) сталкиваешся с конфликтом пакетов или отсутствие нужных версий в репозиториях.

Vesta Control Panel — Forum

Инструкция по настройке мультиверсионности php на vestacp

Если вы тоже собираетесь попробовать установить несколько версий PHP на vestacp — вам может пригодиться phpbrew и гайд по установке его на Весту.

Установка

Для начала вам нужно заказать себе VPS (обзор vscale), получить [IP] [логин] и [пароль] или загрузить свой публичный ключ для авторизации.

Итак мы подключились по ssh, для верности делаем apt-get update или yum update если у вас RHEL. Устанавливаем curl и загружаем скрипт установки панели управления. Можно просто скопировать команду ниже внезависимости от операционной системы.

yum install curl ; apt-get install curl ; curl -O http://vestacp.com/pub/vst-install.sh

Определимся с опциями которые нам могут пригодится. На сайте разработчика есть конфигуратор, который отдаст нужную команду для запуска установки. (Зеленая кнопка Generate..)

Для минимальной установки мне хватитило apache, nginx, ftp и базы данных. Копируем строку полученную от генератора в терминал и отвечаем на вопросы о email адресе, на который прислать пароли и адрес для подключения к панели управления. Пример конфигурации ниже.

bash vst-install.sh —nginx yes —apache yes —phpfpm no —vsftpd yes —proftpd no —exim no —dovecot no —spamassassin no —clamav no —named no —iptables yes —fail2ban no —mysql yes —postgresql no —remi no —quota no

После завершения установки

Позаботимся о безопасности и сменим порт по умолчанию для доступа в панель управления. Для этого нужно залогиниться по ssh на сервер и исправить файл конфигурации.

# Изменяем порт по-умолчанию на.. допустим 8380 <заменить на свой> sed -i ‘s/8083/8380/g’ /usr/local/vesta/nginx/conf/nginx.conf

Изменяем правило в iptables и перезагружаем vestacp

# 8083 старый порт / 8380 новый порт <изменить на свой> v-change-firewall-rule $(v-list-firewall|grep 8083|cut -d » » -f1) ACCEPT 0.0.0.0/0 8380 TCP

Резервное копирование на Яндекс

Для резервного копирования можно использовать уже готовый клиент Яндекс.Диска — отличный выбор на мой взгял это ydcmd. Документация по клиенту доступна на gihtub в репозитории разработчика, ссылка ниже.

ydcmd — Консольный клиент Linux/FreeBSD для работы с облачным хранилищем Яндекс.Диск (Yandex.Disk) посредством REST API

Выполним установку клиента на сервер.

git clone https://github.com/abbat/ydcmd.git cp ydcmd/ydcmd.py /usr/local/bin/ydcmd chmod +x /usr/local/bin/ydcmd

Для работы клиента необходимо получить OAuth токен. Для его получения используйте команду ydcmd token, или зарегистрируйте приложение на Яндексе самостоятельно:

Название — ydcmd (может быть любым) Права — Яндекс.Диск REST API Клиент для разработки — установить флажок

После регистрации приложения скопируйте id приложения и перейдите по ссылке: https://oauth.yandex.ru/authorize?re….

После разрешения доступа сервис перенаправит вас по ссылке вида: https://oauth.yandex.ru/verifi..

После установки клиента, создаем скрипт, который будет копировать резервные копии за 30 дней и удалять старые(позже 30 дней). Ниже команда, которая создает файл /usr/local/vesta/bin/sync-yandex-disk с содержанием скрипта.

cat << EOF > /usr/local/vesta/bin/sync-yandex-disk #!/bin/bash for r in $(find /backup/ -name «*$(date «+%Y-%m-%d»)*.tar»);do /usr/local/bin/ydcmd put $r disk:/bkpVPS/$(date «+%Y-%m-%d»)/;done /usr/local/bin/ydcmd rm disk:/bkpVPS/$(date «+%Y-%m-%d» -d «30 days ago») EOF

Добавляем задание в cron

PhpMyAdmin

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

sed -i ‘s/phpmyadmin/phpmy4dm1nz/g’ /etc/httpd/conf.d/phpMyAdmin.conf sed -i ‘s/phpmyadmin/phpmy4dm1nz/g’ /usr/local/vesta/web/templates/admin/list_db.html sed -i ‘s/phpmyadmin/phpmy4dm1nz/g’ /usr/local/vesta/web/templates/user/list_db.html service vesta restart

HTTPS/SSL

Перед выполнением нужно зарегестрировать служебный домен у пользователя admin и сгенерировать для него бесплатный сертификат let’s encrypt. Потом мы просто делаем символическую ссылку на эти сертификаты. После этого при заходе в панель — шифрование https становится валидным и не выдает ошибку.

mkdir /usr/local/vesta/ssl/bak/ mv /usr/local/vesta/ssl/* /usr/local/vesta/ssl/bak/ ln -s /home/admin/conf/web/ssl.<домен>.crt certificate.crt ln -s /home/admin/conf/web/ssl.<домен>.key certificate.key

FILED UNDER : IT

Submit a Comment

Must be required * marked fields.

:*
:*