Архив метки: сервер

Установка FTP на Ubuntu 20.04

FTP или File Transfer Protocol — это достаточно древний, но в то же время надёжный и проверенный протокол выгрузки файлов на удалённый сервер или их скачивания. Также иногда этот протокол применяется веб-мастерами для управления файлами или организации хранилища данных.

В этой статье мы рассмотрим, как выполняется установка FTP на Ubuntu 20.04, как настроить все необходимые компоненты, в том числе и защищённое соединение. Мы будем использовать FTP-сервер VSFTPD или Very Secure FTP Daemon, который обеспечивает самую надёжную защиту от уязвимостей.

Читать

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

Ни для кого не секрет, что в наше время большинство сайтов интернета работают на основе веб-сервера Apache, абазы данных MySQL и серверного языка программирования — PHP. Эту группу программного обеспечения принято называть аббревиатурой LAMP (Linux Apache, MySQL, PHP).

CentOS — это серверная операционная система, поэтому она устанавливается на множество VPS, поддерживающих сайты, поэтому часто бывает необходимость установить LAMP CentOS. Это совсем не сложно, но требует определенных знаний. В этой статье мы очень подробно рассмотрим как выполняется установка Lamp CentOS 7, а также как выполнить минимальную настройку сервера для работы.

Читать

Авторизация по ключу SSH

SSH или Secure Shell — это зашифрованный протокол, который часто используется для взаимодействия и удаленного управления серверами. Если вы захотите что-либо сделать на удаленном сервере, скорее всего, вам придется воспользоваться SSH и работать через терминал.

В SSH существует несколько способов авторизации. Вы можете каждый раз вводить пароль пользователя или использовать более безопасный и надежный способ — ключи SSH. Что самое интересное, он более удобен для применения, вам даже не нужно будет вводить пароль. В этой статье мы рассмотрим как настраивается авторизация по ключу SSH.

Как работают ключи SSH?

SSH сервер может выполнять аутентификацию пользователей с помощью различных алгоритмов. Самый популярный — это аутентификация по паролю. Он достаточно прост, но не очень безопасный. Пароли передаются по безопасному каналу, но они недостаточно сложны для противостояния попыткам перебора. Вычислительная мощность современных систем в сочетании со специальными скриптами делают перебор очень простым. Конечно, существуют другие способы дополнительной безопасности, например, fail2ban, но аутентификация по ключу SSH более надежна.

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

Открытый ключ используется для шифрования сообщений, которые можно расшифровать только закрытым ключом. Это свойство и используется для аутентификации с помощью пары ключей. Открытый ключ загружается на удаленный сервер, к которому необходимо получить доступ. Его нужно добавить в специальный файл ~/.ssh/authorized_keys.

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

Как создать ключи SSH?

Сначала необходимо создать ключи ssh для аутентификации на локальном сервере. Для этого существует специальная утилита ssh-keygen, которая входит в набор утилит OpenSSH. По умолчанию она создает пару 2048 битных RSA ключей, которая подойдет не только для SSH, но и для большинства других ситуаций.

Итак, генерация ключей ssh выполняется командой:

ssh-keygen

Утилита предложит вам выбрать расположение ключей. По умолчанию ключи располагаются в папке ~/.ssh/. Лучше ничего не менять, чтобы все работало по умолчанию и ключи автоматически подхватывались. Секретный ключ будет называться id_rsa, а публичный id_rsa.pub.

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

  • Пароль никогда не попадет в сеть, он используется только на локальной машине для расшифровки ключа. Это значит что перебор по паролю больше невозможен.
  • Секретный ключ хранится в закрытом каталоге и у клиента ssh нет к нему доступа пока вы не введете пароль;
  • Если злоумышленник хочет взломать аутентификацию по ключу SSH, ему понадобится доступ к вашей системе. И даже тогда ключевая фраза может стать серьезной помехой на его пути.

Но все же, это необязательное дополнение и если не хотите, то вы можете просто нажать Enter. Тогда доступ по ключу ssh будет выполняться автоматически и вам не нужно будет что-либо вводить.

Теперь у вас есть открытый и закрытый ключи SSH и вы можете использовать их для проверки подлинности. Дальше нам осталось разместить открытый ключ на удаленном сервере.

Загрузка ключа на сервер

Когда генерация ключей завершена, нам осталось только загрузить ключ на сервер. Для загрузки ключа можно использовать несколько способов. В некоторых случаях вы можете указать ключ в панели управления сервером, например, сPanel или любой другой. Но мы такой способ рассматривать не будем. Мы рассмотрим ручные способы.

Самый простой способ скопировать ключ на удаленный сервер — это использовать утилиту ssh-copy-id. Она тоже входит в пакет программ OpenSSH. Но для работы этого метода вам нужно иметь пароль доступа к серверу по SSH. Синтаксис команды:

ssh-copy-id username@remote_host

При первом подключении к серверу система может его не распознать, поэтому вам нужно ввести yes. Затем введите ваш пароль пользователя на удаленном сервере. Утилита подключится к удаленному серверу, а затем использует содержимое ключа id.rsa.pub для загрузки его на сервер в файл ~/.ssh/authorized_keys. Дальше вы можете выполнять аутентификацию с помощью этого ключа.

Если такой способ по какой-либо причине для вас не работает, вы можете скопировать ключ по ssh вручную. Мы создадим каталог ~/.ssh, а затем поместим наш ключ в файл authorized_keys с помощью символа >>, это позволит не перезаписывать существующие ключи:

cat ~/.ssh/id_rsa.pub | ssh username@remote_host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

Здесь вам тоже нужно набрать yes, если вы подключаетесь к новому серверу, а затем ввести пароль. Теперь вы можете использовать созданный ключ для аутентификации на сервере:

 ssh username@remote_host

Если вы не захотели создать ssh ключ с доступом по паролю, то вы сразу же будете авторизованы, что очень удобно. Иначе, сначала вам придется ввести фразу-пароль для расшифровки ключа.

Отключение проверки пароля

Если пароль больше не будет использоваться, то для увеличения безопасности системы лучше его вовсе отключить. Но убедитесь, что ключ надежно сохранен и вы его не потеряете, потому что по паролю вы больше не войдете. Авторизуйтесь на сервере, затем откройте конфигурационный файл /etc/ssh/sshd_config и найдите там директиву PasswordAuthenticatin. Нужно установить ее значение в No:

sudo vi /etc/ssh/sshd_config

PasswordAuthentication no

Теперь сохраните файл и перезапустите службу ssh:

sudo service ssh restart

Дальше будет возможно только подключение по ключу ssh, пароль не будет приниматься.

Выводы

В этой статье мы рассмотрели как выполняется авторизация по ключу ssh, настройка ключей ssh и добавить ssh ключ. Теперь вы можете войти на сервер без ввода пароля. Если у вас остались вопросы, спрашивайте в комментариях!



2017-02-08T17:59:19
Сервер

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

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

Но из официальных репозиториев MySQL была удалена. Поэтому вам придется искать другие источники. В этой статье мы рассмотрим как выполняется установка MySQL CentOS 7. Причем в версии от Oracle, а не MariaDB.

Подготовка системы

Перед тем как перейти к установке MySQL в CentOS нужно выполнить несколько настроек и проверить все ли правильно в вашей системе. Сначала убедитесь, что у вас установлено имя хоста. Для этого выполните команду:

hostname

$ hostname -f

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

sudo yum update

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

Как я уже сказал, в официальных репозиториях пакета нет, поэтому вам придется добавить репозиторий сообщества. Вам нужно открыть сайт repo.mysql.com и скачать самую последнюю версию файла репозитория. Например, на данный момент это mysql57-community-release-el7.rpm.

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

wget http://repo.mysql.com/mysql57-community-release-el7.rpm

sudo rpm -ivh mysql57-community-release-el7.rpm

Дальше обновите список репозиториев:

sudo yum update

Теперь вам осталось осталась установка mysql centos 7 и запуск самой службы:

sudo yum install mysql-server

$ sudo systemctl start mysqld

Настройка MySQL CentOS 7

По умолчанию MySQL будет слушать локальный хост 127.0.0.1. Если вы хотите, чтобы сервер был доступен из интернета, необходимо изменить несколько настроек в файле /etc/my.cnf. Однако, не рекомендуется делать сервер баз данных доступным через интернет. Чтобы указать внешний ip адрес, который нужно прослушивать используется опция bind_address:

sudo vi /etc/my.cnf

bind_address = 192.168.1.58

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

mysql_secure_installation

Сначала нужно ввести пароль суперпользователя. По умолчанию система генерирует случайный пароль во время установки. Чтобы его посмотреть откройте еще один терминал и выполните:

grep 'temporary password' /var/log/mysqld.log

Затем система сообщит, что ваш пароль устарел и нужно его поменять, введите два раза новый пароль:

Затем укажите что пароль менять не нужно. Отключите анонимных пользователей. Запретите удаленный вход от имени пользователя root:

Удалите тестовые таблицы:

И обновите таблицы привелегий:

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

 mysql -u root -p

Утилита, запросит пароль, введите пароль root, который задали на предыдущем этапе, дальше вы сможете выполнять команды mysql:

mysql>

Давайте создадим пользователя dbuser для базы данных dbase, с паролем password. Вам нужно заменить эти значения на свои. Сначала создаем базу данных:

mysql> create database dbase;

mysql> create user 'dbuser'@'localhost' identified by 'password';

mysql> grant all on dbase.* to dbuser' identified by 'password';

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

mysql -u testuser -p

Переключите на новую базу данных:

mysql> use dbase

Затем создайте таблицу:

create table customers (customer_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, first_name TEXT, last_name TEXT);

Готово. Теперь вы знаете как выполняется установка MySQL CentOS 7. Давайте еще рассмотрим как сбросить пароль в MySQL.

Сброс пароля пользователя root в MySQL

Иногда может случиться что вы забудете пароль пользователя root. Его можно очень просто сбросить. Сначала остановите запущенный экземпляр программы:

sudo systemctl stop mysqld

Затем запустите сервис в безопасном режиме, для этого нужно установить специальную опцию запуска:

systemctl set-environment MYSQLD_OPTS="--skip-grant-tables"

В этом режиме программа не будет запрашивать пароль для подключения. Подключитесь от имени суперпользователя и измените пароль:

mysql -u root

mysql> use mysql;

mysql> update user SET PASSWORD=PASSWORD("пароль") WHERE USER='root';

mysql> flush privileges;

Затем удалите эту переменную:

sudo systemctl unset-environment MYSQLD_OPTS

Осталось снова запустить сервер в обычном режиме:

sudo systemctl start mysqld

Улучшение производительности mysql

Настройка mysql по умолчанию не всегда оптимальна. Учитывая ваши особенности использования баз данных, можно улучшить ее производительность. Скрипт MySQL Tuner написанный на Perl и предоставляет рекомендации по настройке MySQL в зависимости от вашей нагрузки. Перед тем как запускать скрипт, дайте серверу поработать не менее чем 24 часа. Чем дольше будет время работы, тем точнее инструкции.

Скачайте скрипт:

wget https://raw.githubusercontent.com/major/MySQLTuner-perl/master/mysqltuner.pl

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

perl ./mysqltuner.pl

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

Удаление mysql

Если вы хотите удалить MySQL CentOS 7, достаточно выполнить такую команду:

sudo yum remove mysql-server

Выводы

В этой статье мы рассмотрели как установить mysql centos 7. Теперь вы можете установить эту программу на своем сервере или домашнем компьютере. Также мы поговорили как выполняется базовая настройка mysql centos 7, поэтому теперь вы сможете получить полностью рабочую систему. Если у вас остались вопросы, спрашивайте в комментариях!



2017-02-01T13:25:57
Сервер

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

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

В этой статье мы рассмотрим как выполняется начальная настройка и установка VestaCP на Ubuntu. Панель позволяет в автоматическом режиме установить все программное обеспечение и подготовить его к работе. Но сначала давайте разберем системные требования программы.

Читать

Установка ispmanager 5 на Ubuntu Server

ISPManager — это одна из самых популярных панелей управления хостингом среди коммерческих решений. Она позволяет устанавливать и автоматически настраивать такие популярные программные продукты, как Apache/Nginx, сервера баз данных MySQL или Postgresql, почтовые сервера Sendmail,Exim,Postfix и другое серверное программное обеспечение.

Все это можно полностью настраивать, а все действия выполняются через графический интерфейс. Кроме того, панель позволяет обновлять программное обеспечение, и поддерживает даже получение сертификатов SSL от Lets Encrypt. В этой статье мы рассмотрим как выполняется установка ispmanager 5 на Ubuntu Server. Хотя эта инструкция подойдет и для других дистрибутивов Linux.

Установка ISPManager 5

Обратите внимание, что установка ispmanager ubuntu должна быть выполнена на полностью чистую систему. Панель установит все необходимое программное обеспечение сама, а то что уже было установлено на сервере может только мешать. На данный момент поддерживаются версии Ubuntu 14.04 и 16.04. Нас будет интересовать последняя.

Шаг 1. Загрузка установщика

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

 wget "http://download.ispsystem.com/install.sh"

Чтобы разрешить выполнение скрипта нужно установить для него флаг исполняемый:

chmod +x install.sh

Шаг 2. Начало установки

Запустите скрипт установки:

sudo ./install.sh

Шаг 3. Проверка системы

Установщик ispmanager проверит, подходит ли ваша система для установки, достаточно ли места на диске и другие параметры:

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

Шаг 4. Версия программы

Выберите какую версию вы хотите использовать, стабильную или бета:

Шаг 5. Продукт

Выберите продукт, который нужно установить, нам нужна установка ispmanager lite:

Шаг 6. Редакция

Выберите редакцию программы, которую будете устанавливать, вам доступно Lite, Lite с основным программным обеспечением и Bussines. Мы будем устанавливать версию Lite со всем программным обеспечением:

Шаг 7. Установка панели

Дождитесь завершения установки панели больше вашего вмешательства не потребуется:

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

Установка программы завершена, теперь не менее интересная задача — настройка ispmanager 5.

Шаг 8. Настройка IP и порта

Вы можете изменить IP адрес и порт на котором будет ожидать подключения ispmanager. Программа работает на своем веб-сервере ihttpd и его настройки находятся в папке /usr/local/mgr5/etc/. Откройте конфигурационный файл и задайте нужные параметры:

sudo vi /usr/local/mgr5/etc/ihttpd.conf

Host 192.168.1.2

Port 1700

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

killall core

Шаг 9. Запуск панели

Откройте в браузере указанный программой или настроенный адрес. Утилита будет пытаться работать по https. Но если она не смогла получить сертификат от Lets Encrypt, то создаст свой, которому браузер не доверяет:

Но мы знаем, что он надежный, поэтому нажмите Дополнительно, затем Перейти на сайт.

Шаг 10. Вход в панель

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

Шаг 11. Лицензия

При первом входе нужно принять лицензионное соглашение:

Шаг 12. Первоначальная настройка

Дальше вам предстоит выполнить первоначальную настройку, просто проверьте все ли параметры указаны правильно:

Шаг 13. Главная страница

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

Шаг 14. Создание домена

Теперь нужно настроить домен вашего сайта. Перейдите на вкладку WWW-домены на панели слева и выберите Добавить:

Шаг 15. Настройка домена

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

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

Шаг 16. Настройка DNS

На стороне нашего сервера домен настроен. Но осталось сделать правильные DNS записи у вашего DNS провайдера. Откройте вкладку Доменные имена, выберите ваш домен в списке и нажмите кнопку Записи:

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

Шаг 17. Готово

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

 

Выводы

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

В одной из следующих статей мы рассмотрим как выполняется панели с открытым исходным кодом — Vesta CP. Если у вас остались вопросы, спрашивайте в комментариях.



2017-01-04T15:40:37
Сервер