root доступ через ssh
Если вы хотите получить root доступ к серверу, то вы можете попробовать войти так:
ssh [email protected]
Но root доступ в большинстве операционных систем отключен по умолчанию. Это также относится и к Debian. Существует обходной путь без изменения конфигурации, просто войдите в систему как обычный пользователь и смените пользователя на root:
su -
Введите свой пароль от root, и вы должны войти в систему как root, как показано на скриншоте ниже.
Вы можете изменить конфигурацию вашего SSH-сервера, чтобы разрешить прямой вход в систему как root.
Для этого откройте файл конфигурации «/etc/ssh/sshd_config» с помощью «nano»:
sudo nano /etc/ssh/sshd_config
Содержимое файла.
Промотаем немного вниз. Вы должны увидеть строку, которая помечена на скриншоте.
Удалите # перед PermitRootLogin и измените «prohibit-password» на «yes». Как только вы закончите, нажмите Ctrl + X, нажмите «y», а затем нажмите <Enter>, чтобы сохранить файл.
Перезапустим ssh-сервер, чтобы изменения вступили в силу.
sudo systemctl restart ssh
Теперь вы сможете напрямую подключиться как пользователь root, как показано на скриншоте ниже.
Создание файла системного блока
Вернитесь к своему пользователю sudo, набрав команду .
Откройте ваш текстовый редактор и создайте файл с именем в :
Вставьте следующую конфигурацию:
Измените флаги и соответствии с ресурсами вашего сервера. Флаг определяет максимальный пул выделения памяти для виртуальной машины Java (JVM), в то время как определяет начальный пул выделения памяти. Также убедитесь, что вы используете правильный порт и пароль.
Сохраните и закройте файл и сообщите systemd, что мы создали новый файл модуля:
Запустите и включите сервер Minecraft, выполнив:
При первом запуске сервиса он сгенерирует несколько файлов конфигурации и каталогов, включая мир Minecraft.
Проверьте статус службы с помощью следующей команды:
Разметка жесткого диска
Тема разметки диска раньше была достаточно спорной и вызывала много дискуссий и споров. Делали отдельно разделы под корень /, домашнюю директорию /home, под логи /var/logs и т.д. Мне кажется, что сейчас все это стало неактуально. Сервера общего назначения переехали в виртуальные среды, а там можно и дополнительный диск выделить под образовавшиеся нужды, либо увеличить текущий. Нет необходимости заранее продумывать на много шагов вперед, можно без проблем потом добавить дисковое пространство.
Если же вы настраиваете железный сервер, то скорее всего четко знаете для чего он нужен и разбиваете уже в зависимости от его прямого назначения. Я сам лично, если нет каких-то особых требований к серверу, создаю только один общий раздел / на lvm.
Далее нужно выбрать жесткий диск, на который будет установлена система. Если у вас он только один, как у меня, то выбирать не из чего. Дальше выбираем схему разбивки диска. Как я уже сказал ранее, все будет храниться в одном корневом разделе, так что выбираем All files in one partition.
Затем вас спросят, записать ли изменения — соглашайтесь. Далее надо указать размер группы томов LVM. По-умолчанию указан весь размер диска, можно с этим согласиться. Далее увидите окончательный вариант разбивки диска.
В принципе, можно с ним согласиться. Но лично мне не нравится swap на отдельном lvm томе. Я люблю хранить swap в файле прямо на файловой системе
Теоретически, это чуть медленнее, чем отдельный раздел, но практически это не важно. В современных серверах swap редко используется, нужен больше для стабильности работы системы, нежели для скорости
Со swap в отдельном разделе не получится гибко работать, как с обычным файлом. Я на серверах ставлю минимальный размер свопа в 1 Гб, увеличиваю по мере необходимости. Когда своп это обычный файл, с этим нет проблем.
Так что изменения не записываем, выбираем No. Вы попадаете в раздел управления разметкой диска. Необходимо удалить LV раздел под swap, затем удалить LV раздел root и создать его заново максимального размера. Потом на нем же еще раз создать корневую систему в точке монтирования /. Должно получиться вот так.
В принципе, раздел /boot тоже можно было бы разместить в корне, но в целом можно оставить и так. Я сталкивался с неожиданными проблемами, когда /boot раздел был на lvm. Так что не буду вам рекомендовать его куда-то переносить.
Когда будете соглашаться с новой разметкой, получите предупреждение, что забыли про swap
Не обращайте на него внимание. Дальше пойдет непосредственно установка Debian 10 в виде копирования системных файлов на диск
На следующем этапе установки системы, вам будет задан вопрос по поводу дополнительного диска с пакетами. Вам будет предложено проверить другой диск для установки дополнительных пакетов. Отказываемся и идем дальше. Теперь нужно выбрать зеркало, с которым будет работать пакетный менеджер apt. Выбираем свою страну и подходящее зеркало. Я выбираю Russian Federation и зеркало mirror.corbina.net. Раньше всегда выбирал зеркало Яндекса, но в Debian 10 его почему-то нет для выбора.
Далее нас просят указать прокси. Скорее всего вы им не пользуетесь, поэтому строку можно оставить пустой. Если это не так, то укажите адрес proxy сервера. На следующем этапе установки debian 10 вопрос о том, хотим ли мы делиться анонимной статистической информацией об использовании различного ПО на сервере. Я обычно не делюсь.
Дальше выбираем набор дополнительного ПО, которое будет установлено на сервер debian 10 вместе с основной системой. Я никогда не ставлю ничего, кроме ssh сервера и системных утилит.
Все остальное можно установить потом. На последнем этапе установки нас спрашивают про загрузчик grub — установить ли нам его. В подавляющем большинстве случаев это нужно сделать. Если вы не знаете, нужно или нет, значит 100% нужно. Без загрузчика можно обойтись в очень специфических ситуациях, которые мы рассматривать не будем в этой инструкции по установке debian. Так что устанавливаем grub на единственных жесткий диск.
Перезагружаем сервер. Установка завершена, он полностью готов к работе. Не забывайте, что по-умолчанию, на сервер нужно подключаться под учетной записью обычного пользователя, не root. После установки системы, предлагаю выполнить предварительную настройку сервера.
Установка Debian 10 на raid
Рассмотрим вариант установки debian на софтовый рейд mdadm. Эта актуальная ситуация, когда вы разворачиваете систему на железе, а не виртуальной машине. К примеру, такая конфигурация будет полезна для установки proxmox. В этой статье я уже рассматривал установку debian на raid1. Но там более старая версия Debian. Так что рассмотрю еще раз эту тему уже на примере Debian 10.
Итак, начинаем установку системы по приведенной ранее инструкции. Доходим до этапа разбивки диска и выбираем режим Manual.
Выбираем любой из дисков и перемещаемся в раздел конфигурации дисков. Нам нужно, чтобы получилась следующая картина:
- Массив raid1, объединяющий оба диска.
- /boot раздел прямо на mdadm рейде.
- Поверх массива LVM том на всем остальном пространстве, кроме /boot.
- Корневой раздел по всему lvm.
В конечном итоге, в конфигураторе это выглядит так:
Последовательность действий для этой конфигурации следующая:
- На каждом диске создаете по 2 раздела — один под /boot 500 Мб и второй все остальное пространство.
- Объединяете эти разделы в 2 raid1 mdadm. Один массив под /boot, второй под остальную систему.
- На массиве под /boot сразу же делаете раздел /boot и файловую систему ext2.
- Создаете volume group на весь второй массив, потом в этой группе создаете logical volume под корневой раздел.
- В logical volume создаете корневой раздел / и файловую систему ext4.
В итоге у вас должно получиться то же, что и у меня на картинке. Дальше ставите debian 10 как обычно. После установки на raid нужно выполнить несколько важных действий.
- Зайти в систему и создать swap.
- Установить загрузчик на оба диска. Во время установки он был установлен только на один диск.
- Протестировать отказ одного из дисков.
# dpkg-reconfigure grub-pc
Выскочат пару запросов на указание дополнительных параметров. Можно ничего не указывать, оставлять все значения по-умолчанию. А в конце выбрать оба жестких диска для установки загрузчика.
Смотрим теперь, что с дисками.
Картина такая, как и было задумано. Выключим сервер, отсоединим один диск и включим снова. При запуске, нормально отработал grub, дальше посыпались ошибки в консоль.
Тем не менее, сервер через некоторое время загрузился. Смотрим, в каком состоянии диски.
В целом, все в порядке, система полностью работает. Просто не хватает одного диска. Теперь снова выключим сервер и воткнем в него чистый диск такого же объема. То есть имитируем замену сломанного диска на новый. Запускаем сервер и проверяем список дисков в системе.
# fdisk -l | grep /dev Disk /dev/sda: 10 GiB, 10737418240 bytes, 20971520 sectors /dev/sda1 * 2048 999423 997376 487M fd Linux raid autodetect /dev/sda2 999424 20969471 19970048 9.5G fd Linux raid autodetect Disk /dev/sdb: 10 GiB, 10737418240 bytes, 20971520 sectors Disk /dev/md1: 9.5 GiB, 10215227392 bytes, 19951616 sectors Disk /dev/md0: 475 MiB, 498073600 bytes, 972800 sectors Disk /dev/mapper/vg00-root: 9.5 GiB, 10213130240 bytes, 19947520 sectors
Старый диск sda c двумя разделами и новый диск sdb без разделов. Нам нужно на новый диск скопировать структуру диска sda. Делаем это следующей командой.
# sfdisk -d /dev/sda | sfdisk /dev/sdb
Проверяем результат:
# fdisk -l | grep /dev Disk /dev/sda: 10 GiB, 10737418240 bytes, 20971520 sectors /dev/sda1 * 2048 999423 997376 487M fd Linux raid autodetect /dev/sda2 999424 20969471 19970048 9.5G fd Linux raid autodetect Disk /dev/sdb: 10 GiB, 10737418240 bytes, 20971520 sectors /dev/sdb1 * 2048 999423 997376 487M fd Linux raid autodetect /dev/sdb2 999424 20969471 19970048 9.5G fd Linux raid autodetect Disk /dev/md1: 9.5 GiB, 10215227392 bytes, 19951616 sectors Disk /dev/md0: 475 MiB, 498073600 bytes, 972800 sectors Disk /dev/mapper/vg00-root: 9.5 GiB, 10213130240 bytes, 19947520 sectors
То, что надо. Теперь добавляем новый диск в деградированные массивы mdadm.
# mdadm --add /dev/md0 /dev/sdb1
Дожидаемся окончания ребилда массива под boot. Это будет быстро. И возвращаем диск в корневой раздел.
# mdadm --add /dev/md1 /dev/sdb2
Не забываем добавить загрузчик на новый диск.
# dpkg-reconfigure grub-pc
После окончания ребилда можно перезагрузить сервер, чтобы убедиться, что все порядке. Я рекомендую всегда делать подобные проверки при настройке серверов
Не важно, какой у вас рейд контроллер. Надо имитировать поломку диска и выполнить его замену
При необходимости, процесс восстановления можно записать, чтобы при поломке диска точно знать, как действовать.
На этом иснтрукция по установке Debian 10 на софтовый рейд массив закончена. По-моему, получился очень функциональный вариант. Дальше на этот сервер можно установить proxmox и получить устойчивый к отказу дисков гпервизор. Причем по надежности он будет не хуже, чем железный рейд, а возможно и лучше.
Запуск Apache 2.4 с модулем 1С внутри Docker контейнера
Про Apache и про Linux слышали, наверное, все. А вот про Docker пока нет, но он сильно набирает популярность последнее время и не зря. Поделюсь своим опытом и дам пошаговую инструкцию настройки веб-сервера Apache с модулем 1С внутри Docker контейнера на Linux хосте. При этом сам сервер 1С может находиться совсем на другой машине и на другой операционной системе
Это не важно, главное чтобы Apache смог достучаться до сервера 1С по TCP. В статье дам подробное пояснение по каждой используемой команде со ссылками на документацию по Docker, чтобы не создавалось ощущение непонятной магии
Также прилагаю git репозиторий с описанием всей конфигурации, можете попробовать развернуть у себя буквально за 10 минут.
Скачайте и установите Observium
У Observium есть две версии: версия с открытым исходным кодом и версия по подписке. Версия с открытым исходным кодом может быть загружена бесплатно, с меньшим количеством функций и меньшими исправлениями безопасности, в то время как версия с подпиской поставляется с дополнительными функциями и поддержкой оборудования. Вы можете загрузить версию Observium с открытым исходным кодом с официального сайта, используя следующую команду:
wget http//www.observium.org/observium-community-latest.tar.gz
После загрузки используйте следующую команду для извлечения загруженного архива:
tar -xvzf observium-community-latest.tar.gz
Затем скопируйте извлеченный каталог в корневой веб-каталог Apache:
cp -ar observium varwwwhtml
Затем переименуйте образец файла конфигурации и внесите некоторые изменения:
cd varwwwhtmlobservium cp config.php.default config.php nano config.php
Измените файл следующим образом:
// Database config --- This MUST be configured $config'db_extension'='mysqli'; $config'db_host'='localhost'; $config'db_user'='observium'; $config'db_pass'='password'; $config'db_name'='observiumdb';
Сохраните файл, а затем используйте следующую команду, чтобы установить режим по умолчанию для базы данных MySQL:
discovery.php -u
Если все в порядке, вы должны увидеть следующий результат:
___ _ _ _ \ ||__ ___ ___ _ __ __ __(_) _ _ _ __ ___ |||||'_ \ / __| / _ \| '__|\ \ / /|||||||'_ ` _ \ | |_| || |_) |\__ \| __/|| \ V ||||_|||||||| \___|_.__|___ \___||_| \_|_| \__,_||_||_||_|ObserviumCommunityEdition17.9. http//www.observium.orgInstall initial database schema ...done.--Updating databasefile schema 310->311# (db) . Done (0s).311->312# (db) .... Done (0s).312->313# (db) Done (0s).313->314# (db) Done (0s).314->315# (php) . Done (0s).315->316# (db) . Done (0s).316->317# (db) .. Done (0s).317->318# (db) . Done (0s).318->319# (db) ....... Done (2s).319->320# (db) . Done (0s).320->321# (db) . Done (0s).321->322# (db) . Done (0s).322->323# (db) ... Done (1s).323->324# (db) ... Done (0s).324->325# (db) .... Done (1s).325->326# (db) . Done (0s).326->327# (db) . Done (0s).327->328# (db) . Done (0s).328->329# (db) . Done (0s).329->330# (db) . Done (0s).330->331# (db) . Done (0s).331->332# (db) ... Done (1s).332->333# (php) Done (0s).333->334# (db) . Done (0s).334->335# (php) Done (0s).335->336# (db) . Done (0s).336->337# (db) . Done (1s).337->338# (db) . Done (0s).338->339# (db) ... Done (0s).339->340# (db) ... Done (0s).340->341# (db) ........ Done (1s).341->342# (db) ............... Done (0s).342->343# (db) ... Done (0s).343->344# (db) .... Done (1s).344->345# (db) .. Done (0s).345->346# (db) . Done (0s).346->347# (db) . Done (0s).347->348# (db) F Done (0s, 1 errors).348->349# (db) .. Done (0s).349->350# (php) Done (0s).350->351# (db) ..... Done (1s).351->352# (db) .. Done (0s).--Done.
Далее вам нужно будет создать каталог для хранения RRD и журналов:
mkdir rrd logs
Используйте следующую команду, чтобы изменить владельца каталога observium:
chown -R www-datawww-data varwwwhtmlobservium
Затем вам нужно будет создать файл виртуального хоста Apache для Observium. Для этого создайте новый файл конфигурации observium.conf:
nano etcapache2sites-availableobservium.conf
Добавьте следующую строку:
ServerAdmin .com ServerName example.com DocumentRootvarwwwhtmlobserviumhtml OptionsFollowSymLinksAllowOverrideNoneOptionsIndexesFollowSymLinksMultiViewsAllowOverrideAllRequire all granted ErrorLogvarlogapache2error.log LogLevel warn CustomLogvarlogapache2access.log combined ServerSignatureOn
Сохраните файл, затем включите файл виртуального хоста observium и используйте следующую команду, чтобы отключить файл виртуального хоста по умолчанию:
a2ensite observium a2dissite 000-default
Затем вам также необходимо включить модуль перезаписи Apache и модуль PHP mcrypt. Вы можете сделать это, выполнив следующую команду:
a2enmod rewrite phpenmod mcrypt
Наконец, перезапустите веб-сервер Apache, используя следующую команду:
systemctl restart apache2
Затем используйте следующую команду, чтобы создать своего первого пользователя-администратора:
/var/wwwhtmlobserviumadduser.php admin yourpassword 10
Если все в порядке, вы должны увидеть следующий результат:
Observium CE 0.17.7.8697AddUserUser admin added successfully.
Установка и настройка sudo
Если вы хоть в какой-то степени знакомы с Linux, вы наверняка знаете, что в нем довольно строгая система разграничения прав пользователей. Так, для большинства действий связанных с установкой/удалением ПО, настройкой ОС и т.д вам нужно обладать правами суперпользователя. В предыдущем шаге, чтобы обновить систему мы заходили под учетную запись рута, но это не самый лучший и безопасный вариант. Обычному пользователю будет гораздо удобнее воспользоваться утилитой sudo, которая позволяет выполнять действия, требующие прав администратора обычному пользователю.
В Debian по-умолчанию sudo не всегда есть, поэтому устанавливаем его (снова залогинившись под рутом):
Но это еще не все. Чтобы пользоваться sudo, вам нужно дать себе права на это. Для этого необходимо либо вносить изменения в файл «sudoers» либо, что проще, добавить себя в группу sudo:
После пререзайдите в систему.
С этого момента, если вам, например, нужно установить какую-либо программу или выполнить обновление системы, не нужно заходить в учетную запись рута, просто перед нужной командой добавьте sudo, например: apt-get update под рутом, будет sudo apt-get update под обычным пользователем.
Подытожим
Вот такой вот «ТОП 6» у меня получился. Еще раз замечу, что это не «стандартные» или «обязательные» шаги, которые нужно выполнить после установки Debian, но большинству, я уверен, они помогут.
Я не затрагивал здесь темы, настроек внешнего вида поскольку это уже дело вкуса. Кроме того не говорил об установке драйверов, что для многих довольно больной и актуальный вопрос. Сделано это по причине того, что об этом невозможно написать в двух словах, а требуется отдельная статья.
После выполнения вышеописанных 6 шагов вы получите рабочий, готовый к навешиванию плюшек Debian, который надолго приживется у вас на компьютере.
Если у вас остались еще вопросы, попробуйте воспользоваться поиском по нашему сайту — у нас много интересного, или пишите в комментарии.
Настройка параметров сетевых интерфейсов
Давайте разберем некоторые аспекты данных команд. Начнем с аналога команды ifconfig — команда ip с параметром link управляет свойствами сетевого интерфейса:
# ip link show 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000 link/ether 00:1d:72:01:ab:93 brd ff:ff:ff:ff:ff:ff 3: irda0: <NOARP> mtu 2048 qdisc noop state DOWN qlen 8 link/irda 00:00:00:00 brd ff:ff:ff:ff 4: vboxnet0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000 link/ether 0a:00:27:00:00:00 brd ff:ff:ff:ff:ff:ff 5: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1400 qdisc pfifo_fast state UNKNOWN qlen 3 link/ppp
Вывод данной команды содержит пронумерованный список интерфейсов, присутствующих в системе. Информация об интерфейсе содержит две строки: в первой указывается имя интерфейса (lo, eth0 и др.), установленные флаги состояния (в фигурных скобках < и >), MTU (Maximum Transmission Unit, максимально допустимый размер фрейма в байтах), тип и размер очереди фреймов; во второй строке — тип соединения, MAC-адрес, широковещательный адрес и т. п.
Некоторые флаги состояния:
- UP — устройство подключено и готово принимать и отправлять фреймы;
- LOOPBACK — интерфейс является локальным и не может взаимодействовать с другими узлами в сети;
- BROADCAST — устройство способно отправлять широковещательные фреймы;
- POINTTOPOINT — соединение типа «точка-точка»
- PROMISC — устройство находится в режиме «прослушивания» и принимает все фреймы.
- NOARP — отключена поддержка разрешения имен сетевого уровня.
- ALLMULTI — устройство принимает все групповые пакеты.
- NO-CARRIER — нет связи (не подключен кабель).
- DOWN — устройство отключено.
Можно также вывести информацию о выбранном интерфейсе, задав его имя в параметре dev:
# ip link show dev eth0
или просто:
# ip link show eth0
Команда ip link также позволяет изменять свойства сетевого интерфейса. Для этого используется параметр set:
iproute:~# ip link show dev eth2 3: eth2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000 link/ether 08:00:27:c9:00:f0 brd ff:ff:ff:ff:ff:ff iproute:~# # установка значения MTU iproute:~# ip link set mtu 1400 eth2 iproute:~# # установка MAC адреса iproute:~# ip link set address 00:11:11:12:FE:09 eth2 iproute:~# # "поднятие" интерфейса iproute:~# ip link set up eth2 iproute:~# ip link show dev eth2 3: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1400 qdisc pfifo_fast state UP qlen 1000 link/ether 00:11:11:12:fe:09 brd ff:ff:ff:ff:ff:ff iproute:~# # отключение интерфейса iproute:~# ip link set down eth2 iproute:~# ip link show dev eth2 3: eth2: <BROADCAST,MULTICAST> mtu 1400 qdisc pfifo_fast state DOWN qlen 1000 link/ether 00:11:11:12:fe:09 brd ff:ff:ff:ff:ff:ff
Указанные тут команды являются аналогами «классических» команд из пакета net-tools:
# ifconfig eth2 mtu 1400 # ifconfig eth2 hw ether 00:11:12:13:14:15 # ifconfig eth2 up # ifconfig eth2 down
Установка ОС Debian
Целевая аудитория мана – новички в Linux, вроде меня, поэтому опишу установку, даже пошагово. В ней мало принципиально важных настроек, поэтому можете действовать по принципу «Далее»-«Далее», только не забудьте включить в компонентах сервер SSH, если планируете управлять этим сервером удалённо. Графический интерфейс может понадобиться, если все настройки планируете выполнять с этой машины, т.к. на этапе «настройка Mediawiki» понадобится браузер.
Под спойлерами много скриншотов.
Установка и настройка LAMP Stack
Предполагается, что мы всё ещё подключены по SSH и выполнили команду su. Выполняем описанную в руководстве команду для установки, не пропуская мимо ушей то, что mysql не поддерживается начиная с Debian “buster” (10.3):
Настройка PHP
Тоже не обязательный пункт, и в моей конфигурации менять пришлось не всё, но тем не менее:
- откройте в текстовом редакторе /etc/php/7.3/apache2/php.ini (например nano /etc/php/7.3/apache2/php.ini), не забудьте, что он должен запускаться из-под рута (выполните su, если это новый сеанс консоли)
- Увеличьте до необходимых значения
- upload_max_fileseze = 2M #я для себя поставил 50. Для документов и изображений должно быть достаточно, а делать больше – стрёмно, человеческий фактор никто не отменял, кто-то может по невнимательности загрузить файлы, для которых этот портал не предназначен.
- memory_limit = 128M #в руководстве рекомендуется минимум до 128, у меня так и было – не стал менять
- Сохраните изменения и выйдите из редактора
- Ctrl+O, Ctrl+X для nano
- :wq для vi
Контрольная точка «Установлен LAMP»
Без неё всё будет работать, и перед запуском в прод все контрольные точки (по крайней мере на Hyper-V) стоит удалить, но сейчас я настоятельно рекомендую этот снапшот сделать.
Изменить hostname (имя хоста)
Во время установки debian вы указывали имя хоста. Посмотреть его текущее значение можно в консоли:
# hostname debian
Это значение записано в файле /etc/hostname. Есть 2 способа изменить hostname в debian:
- Простой и быстрый с помощью консольной команды. Результат работает только до перезагрузки компьютера. Потом вернется старое имя.
- С помощью изменения конфигурационного файла результат сохраняется и после перезагрузки. Чтобы сразу применить изменение, потребуется выполнить системный скрипт.
Для первого способа достаточно в консоли ввести команду:
# hostname debian8
Теперь проверим, что получилось:
# hostname debian8
Имя хоста изменилось, но в файле /etc/hostname по-прежнему указано прошлое значение. После перезагрузки hostname снова примет старое значение debian. Чтобы сделать постоянное изменение, необходимо ввести новое значение в файл вручную:
# mcedit /etc/hostname debian8
Для применения изменения без перезагрузки сервера, выполните системный скрипт:
/etc/init.d/hostname.sh
Теперь проверьте текущее значение имени хоста. Оно изменится на то, что записано в файле.
Установка Debian 9
Теперь рассмотрим более подробно как выполняется установка Debian 9
Важно сказать, что установщик немного изменился в плане интерфейса, но рабочий процесс остался тем же
Шаг 4. Способ установки
Сразу же после перезагрузки запустится установочный образ, на первом шаге нам предстоит выбрать способ установки:
Я буду рассматривать графическую установку «Graphical».
На следующем шаге выберите язык, на котором хотите использовать Debian:
Далее укажите страну, в которой находитесь, это необходимо для правильной настройки часового пояса:
Выберите вторую раскладку клавиатуры, а затем клавишу для смены раскладок:
Шаг 8. Имя компьютера
Дождитесь завершения операций настройки пакетного менеджера и сети, а затем укажите имя вашего компьютера:
Далее, домен, если компьютер не имеет сетевого домена, то можно оставить пустым:
Введите два раза пароль для суперпользователя:
Шаг 10. Настройка обычного пользователя
Введите полное имя пользователя, которое будет отображаться на панели и в меню входа:
Введите логин пользователя:
Последний шаг, создание пароля:
Шаг 11. Разметка диска
Если у вас есть чистый диск, вы можете выбрать разметку автоматически и система создаст такие разделы, как нужно для максимально правильной работы. Но в этой статье мы рассмотрим ручную разметку диска. Поэтому в вопросе мастера про разметку, выбираем «Вручную»:
Шаг 12. Таблица разделов
Выберите устройство, на которое хотите установить Debian 9:
Если диск чистый, утилита предложит создать новую таблицу разделов:
Шаг 13. Раздел загрузчика
Пришло время создать первый раздел, мы сделаем раздел для загрузчика. Этот раздел рекомендуется создавать, если у вас несколько Linux дистрибутивов на компьютере, а также если вы используете LVM, в остальных случаях раздел не нужен.
Выберите «Свободное место» и нажмите «Продолжить». В открывшемся меню выберите «Создать новый раздел». Далее, укажите файловую систему «Ext2», метку «Boot», резервирование — 0%. Точка монтирования — /boot
Самый важный параметр — точка монтирования, все остальное не так важно. Также нужно установить пункт «Метка загрузочный» в положение «Вкл»
Когда завершите, нажмите пункт «Настройка раздела закончена».
Шаг 14. Корневой раздел
Создается аналогично предыдущему разделу, только нужно использовать более 10 Гб места на диске и точку монтирования «/».
Файловую систему можно брать любую подходящую для корня, например, ext4, btrfs, xfs, но не ntfs или fat.
Шаг 15. Раздел подкачки
Все аналогично, только файловая система — «Пространство подкачки», а размер должен равняться количеству оперативной памяти в том случае, если вы хотите использовать режим гибернации.
Шаг 16. Домашний раздел
Под домашний раздел можно выделить все место, которое осталось от предыдущих разделов. Здесь будут храниться ваши файлы, видео, музыка. Точка монтирования — /home/. Файловая система на ваш выбор, но не NFTS или FAT.
Шаг 17. Завершение разметки
После того как все будет готово, выберите «Настройка диска завершена»:
В следующем окне нажмите «Да», для подтверждения записи изменений.
Дождитесь пока завершиться установка базовых компонентов дистрибутива, это может занять до десяти минут:
Шаг 19. Дополнительное ПО
Что касается нескольких дисков, которые мы записывали, то на это этапе их можно просканировать и потом вставлять, если это будет нужно:
Далее, система спросит какое дополнительное программное обеспечение нужно установить. Сюда относятся различные сервисы и окружение рабочего стола:
На установку и загрузку пакетов из интернета может понадобиться достаточно много времени.
Подтвердите, что нужно установить загрузчик:
Затем выберите для него раздел:
Еще через несколько секунд программа сообщит, что установка Debian завершена и вы можете перезагрузить компьютер:
В меню Grub выберите первый пункт:
Выберите пользователя, которого создали во время установки и введите его пароль:
Шаг 24. Готово
Вот и рабочий стол. Теперь система полностью готова к использованию и вы можете перейти к ее персонализации и настройке.
Настройка маршрутизации, firewall и nat
Первым делом включим маршрутизацию пакетов между сетевыми интерфейсами. Для этого редактируем конфиг /etc/sysctl.conf:
# mcedit /etc/sysctl.conf net.ipv4.ip_forward=1
Либо раскомментируйте эту строку, либо добавьте, если ее нет. Но она по-умолчанию быть должна, закомментированная со значением 1. Применяем эту настройку:
# sysctl -p
На выходе работы команды в консоли будет выведен измененный параметр со значением 1.
Теперь приступаем к самому главному — настройке фаервола iptables и nat в нем для обеспечения выхода в интернет из локальной сети. Я очень подробно рассмотрел эту тему в отдельной статье. Хотя там речь идет о другом дистрибутиве, сами правила iptables абсолютно одинаковые с точностью до строчки, за исключением маленького нюанса, связанного с тем, что правила нужно сохранять в другой файл для применения их после перезагрузки.
Я приведу здесь сразу готовый вариант файла с правилами iptables, необходимых для работы интернет шлюза в debian. В файле даны подробные комментарии ко всем значениям, так что вы без проблем разберетесь и закомментируете или наоборот раскомментируете необходимые вам значения. Качаем скрипт правил iptables — iptables-debian.sh
Копируем содержимое файла и создаем скрипт с правилами на сервере:
# mcedit /etc/iptables.sh
Вставляем в редактор правила. Редактируем их под свои нужды, обязательно заменяя переменные WAN и LAN на свои. Сохраняем файл.
Прежде чем двигаться дальше предупреждаю, что все работы по настройке фаервола должны производиться только если у вас есть доступ к консоли сервера, чтобы в случае ошибки и потери удаленного доступа вы смогли откатить изменения. Даже если вы абсолютно уверены в своих знаниях, вас может подвести банальная ошибка или опечатка. Я сам, к сожалению, сталкивался с такими ситуациями, поэтому считаю необходимым предупредить об этом вас.
Делаем файл с правилами исполняемым:
# chmod 0740 /etc/iptables.sh
Прежде чем применить новые правила, посмотрим на текущие:
# iptables -L -v -n
Видим, что на настраиваемом роутере firewall полностью открыт. Теперь применим новые правила и посмотрим на результат:
# /etc/iptables.sh
Все в порядке, правила применились, доступ к серверу я не потерял. Теперь сделаем так, чтобы новые правила применялись после перезагрузки. В последней строчке скрипта есть команда:
/sbin/iptables-save > /etc/iptables.rules
С ее помощью готовый набор правил iptables выгружаются в файл. Нам нужно сделать так, чтобы эти правила применялись при включении сетевого интерфейса во время загрузки сервера. Для этого открываем файл interfaces на редактирование и добавляем в самый конец строчку:
# mcedit /etc/network/interfaces post-up iptables-restore < /etc/iptables.rules
Для проверки перезагружаем шлюз и проверяем, все ли в порядке. По сути основная настройка программного роутера на debian завершена. Осталось сделать небольшое дополнение и настроить dhcp и dns сервер в локальной сети. Я для этих целей использую простой и легкий в настройке dnsmasq.
Выводы
В этом руководстве мы показали вам, как установить и защитить сервер MySQL на сервере Debian 9. Мы также показали вам, как подключиться к оболочке MySQL и как создать новую базу данных и таблицу.
Теперь, когда ваш сервер MySQL запущен и работает, и вы знаете, как подключиться к серверу MySQL из командной строки, вы можете проверить следующие руководства:
- Как управлять учетными записями пользователей и базами данных MySQL
- Как сбросить пароль root MySQL
- Как создать базу данных MySQL
- Как создать учетные записи пользователей MySQL и предоставить привилегии
- Как показать пользователей MySQL
- Как сделать резервную копию и восстановить базы данных MySQL с помощью Mysqldump