Samba работает на всех популярных ОС — Windows, MacOS и Linux, полностью бесплатна и с открытым исходным кодом. В данной статье будет рассмотрена установка Samba в Debian 11, его настройка, а также подключение из операционной системы Windows 10.
- Подключение к серверу Samba
- Выводы
Перед установкой Samba необходимо обновить список доступных пакетов в системе. Сделать это можно при помощи команды:
sudo apt update

Далее необходимо установить программу при помощи команды:
sudo apt -y install samba

На этом этапе установка Samba Debian 11 завершена.
- Настройка Samba в Debian 11
- Настройка общих параметров
- Настройка общей шары
- Настройка защищённой шары
- Подключение к серверу Samba
- Выводы
- Вам понадобится
- Установка OpenVPN
- Создание сертификата сервера, ключа и файлов шифрования
- Генерация клиентского сертификата и пары ключей
- Настройка OpenVPN
- Отправка изменений DNS для перенаправления трафика через VPN (необязательно)
- Настройка порта и протокола
- Учетные данные не по умолчанию
- Настройка сетевой конфигурации сервера
- Запуск и включение службы OpenVPN
- Коротко о главном
- Steps To Install Nginx Web Server on Debian 11
- Requirements
- Adjust the firewall for Nginx
- Check Nginx Status web server
- Manage Nginx process on Debian 11
- Set up Nginx server blocks on Debian 11
- Test Nginx Server Blocks
- Подготовка
- Установка Nginx из репозитория
- Установка Postgresql 14 из репозитория
- Установка Zabbix 6. 2 из репозитория
- Настройка Postgresql 14
- Настройка PHP-FPM
- Настройка Nginx
- Настройка PostgreSQL для Zabbix
- Установка TimescaleDB
- Установка Zabbix Agent 2 на хостах
- Клиент синхронизации времени на SystemD
- Настройка клиентских серверов
- Итог
- All about Debian 11 (Bullseye)
- How to Upgrade Debian
- How to Create a Sudo User on Debian 11
- How to Configure System’s Hostname
- How to secure SSH on Debian
- How to Configure Firewall (Firewalld) on Debian 11
- Conclusion
- Установка и настройка PHP-FPM 7
- Подготовка к установке DokuWiki
Настройка Samba в Debian 11
Перед правкой конфигурационного файла Samba — smb.conf необходимо сделать его резервную копию чтобы в случае проблем можно было использовать конфигурационный файл по умолчанию. Для этого необходимо выполнить команду:
Вместо .backup можно написать любое другое слово. Главное, чтобы вам было понятно, что данный файл будет использоваться при восстановлении. Чтобы использовать оригинальный файл для «отката» при выявлении проблем необходимо вернуть ему оригинальное имя — smb.conf а второй файл удалить.
Настройка общих параметров



Символ ; — точки с запятой установленный перед параметром означает что он закомментирован и не используется. Для использования необходимо удалить символ. Разберем основные параметры.
workgroup = WORKGROUP
Определяет рабочую группу, в которой сервер будет отображаться при запросе клиентов. Группа по умолчанию – WORKGROUP (для Windows), можно изменить её на другое имя при условии, что данная группа уже присутствует на необходимом компьютере.
interfaces = 127.0.0.0/8 eth0
Задаёт IP адрес и имя интерфейса, на котором будет работать Samba.
bind interfaces only = yes
Позволяет ограничивать интерфейсы на машине, обслуживающие запросы Samba. Работает вместе с параметром interfaces. Если выставлен yes то Samba будет принимать трафик только с интерфейса заданного в параметре interfaces.
log file = /var/log/samba/log.%m
Задаёт путь до лог файла, в который будут записываться все события Samba.
Задаёт максимальный размер лог файла в мегабайтах, указанного в параметре log file.
Опция предназначена для разработчиков. Позволяет запустить системную команду, когда Samba завершается с ошибками. Используется, в основном для того, чтобы привлечь внимание к возникшей проблеме.
server role = standalone server
Этот параметр определяет основной режим работы сервера Samba. По умолчанию выставлен как автономный сервер (т.е. сервер не относящийся к какому-либо контроллеру домена и не входящему в какой-либо домен).
obey pam restrictions = yes
Если Samba была сконфигурирована с поддержкой PAM данный параметр сообщает о том следует ли Samba использовать учетные записи модуля PAM. Поведение по умолчанию подразумевает использование PAM только для нешифрованной аутентификации и игнорирует директивы учетных записей и управление сессиями.
unix password sync = yes
Параметр позволяющий использовать встроенную утилиту smbpasswd. Если опция включена (yes), то Samba будет изменять пароли с помощью smbpasswd.
Настройка общей шары
Для предоставления доступа к общим ресурсам в Samba есть 2 способа разграничения прав доступа — предоставление анонимного доступа (доступа не требующего прохождения аутентификации, т.е. всем пользователям) и предоставление доступа только конкретным пользователям. Рассмотрим оба способа.
Для начала необходимо создать директорию, к которой необходимо предоставить доступ:
sudo mkdir -p /anonymous/files

Далее необходимо задать права и владельца на ранее созданную директорию для предоставления доступа. Сначала задаём права при помощи команды:
sudo chmod -R 0755 /anonymous/files

Потом задаём владельца и группу при помощи команды:
sudo chown -R nobody:nogroup /anonymous/files

После этого в файле конфигурации smb.conf необходимо вписать или привести к следующему виду блоки:
sudo nano /etc/samba/smb.conf

Сохраните изменения и закройте файл. Далее необходимо проверить конфигурационный файл на наличие ошибок при помощи команды:

Если в выводе напротив параметра Loaded services file будет написано ОК это означает что конфигурационный файл успешно прошел проверку и не содержит ошибок.
Настройка защищённой шары
Чтобы предоставить доступа к файлам и папкам определенным пользователям необходимо также создать директорию:
sudo mkdir -p /files/samba/security

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


Далее необходимо задать права и владельца на ранее созданную директорию при помощи команд:

Теперь необходимо добавить ранее созданного пользователя в базу данных Samba и задать ему пароль при помощи встроенной утилиты Samba под названием smbpasswd:
sudo smbpasswd -a sec1

Далее необходимо добавить следующие строки в конфигурационный файл smb.conf:

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

Если в выводе напротив параметра Loaded services file будет написано ОК это означает что конфигурационный файл успешно прошел проверку и не содержит ошибок. Для выхода из режима теста нажмите на клавишу Enter. Теперь настройка samba debian 11 завершена.
Подключение к серверу Samba
После проверки файла конфигурации на ошибки необходимо запустить сервисы Samba и включить их в автозагрузку при помощи следующих команд:
sudo systemctl start smbd.service
sudo systemctl enable smbd.service
sudo systemctl start nmbd.service
sudo systemctl enable nmbd.service

Где 192.168.189.147 — IP адрес компьютера, на котором запущена Samba:

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

После перехода отобразится содержимое данной директории:



Если при подключении из Windows система «не видит» адрес Samba сервера, то необходимо установить программу Avahi-daemon — систему, обеспечивающую обнаружение сервисов в локальной сети. Более подробное о данной системе можно прочитать в статье Ubuntu не видит сеть в Windows
Выводы
В данной статье вы узнали как выполняется установка и настройка Samba Debian 11. Samba обладает богатым функционалом который позволяет реализовать сетевой доступ до разных ресурсов — сетевых директорий, компьютеров, принтеров. Настройка реализуется через единственный конфигурационный файл что облегчает настойку программы. Если у вас остались вопросы задавайте их в комментариях!
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Когда вы настраиваете удалённый доступ, важно не только предоставить всем сотрудникам подключение к нужным сервисам, но и позаботиться о безопасности. В этом помогает VPN — виртуальная частная сеть. VPN‑сервер действует как единая точка входа: он аутентифицирует пользователей и создаёт зашифрованный туннель между их устройствами и частной сетью. А ещё он считается более гибким решением, чем, например, SSH Jump Server.

Вам понадобится
- два сервера Debian 11: один — для размещения OpenVPN, второй — для центра сертификации (Certificate Authority или CA);
- пользователь с привилегиями sudo на обоих серверах;
- Easy‑RSA на обоих серверах (это утилита, которую мы будем использовать для управления сертификатами VPN).
Хотя технически можно запустить CA с вашего OpenVPN‑сервера или локального компьютера, безопаснее хранить CA на отдельном сервере, который не подключен к интернету постоянно. Так у злоумышленников меньше шансов получить доступ к закрытому ключу и использовать его для подписания новых сертификатов.
Также обращаем внимание, что если вы отключите аутентификацию по паролю при настройке серверов, в дальнейшем можете столкнуться с трудностями при передаче файлов между ними. Чтобы решить эту проблему, вы можете повторно включить аутентификацию по паролю на каждом сервере. Или в качестве альтернативы — сгенерировать пару SSH‑ключей для каждого сервера, а затем добавить открытый SSH‑ключ OpenVPN‑сервера в файл authorized_keys и наоборот. Здесь подробнее о том, как настроить SSH‑ключи в Debian 11 для любого из этих решений.

Установка OpenVPN
Для начала обновите индекс пакета VPN‑сервера и установите OpenVPN. OpenVPN доступен в репозиториях Debian по умолчанию, поэтому вы можете использовать apt для установки:
sudo apt update
sudo apt install openvpn
Поскольку мы уже установили Easy‑RSA на оба сервера в качестве предварительного условия и инициализировали CA, мы готовы сгенерировать сертификат VPN‑сервера.
Создание сертификата сервера, ключа и файлов шифрования
На сервере OpenVPN перейдите в каталог /easy-rsa и запустите сценарий easyrsa с параметром gen-req , за которым идёт общее имя компьютера. Хорошо, если вы сделаете это описательно. В рамках этой статьи общее имя OpenVPN‑сервера — «server». Не забудьте включить опцию nopass. В противном случае файл запроса будет защищен паролем, что впоследствии приведёт к проблемам с правами доступа:
Примечание: если выберете имя, отличное от «server», вам придётся изменить некоторые из приведенных ниже инструкций. Например, при копировании сгенерированных файлов в каталог /etc/openvpn придётся заменить имена. Позже также придётся изменить файл /etc/openvpn/server.conf, чтобы указать правильные .crt и .key.
cd ~/easyrsa
./easyrsa gen-req server nopass
Скрипт предложит ввести общее имя, которое вы хотите отобразить в запросе на подписание сертификата (CSR). По умолчанию в нём будет отображаться любое имя, которое вы передали в ./easyrsa gen-req. Введите ENTER, чтобы принять имя по умолчанию, или укажите другое.
Это создаст закрытый ключ для сервера и файл запроса сертификата с именем server.req. Скопируйте ключ сервера в каталог /etc/openvpn/:
sudo cp ~/easy-rsa/pki/private/server.key /etc/openvpn/
Используя безопасный метод (например, SCP), перенесите файл server.req на свою машину CA:
Затем на машине CA перейдите в каталог ~/easy-rsa:
Используя скрипт easyrsa, импортируйте файл server.req, следуя пути к файлу с общим именем, которое вы ввели при создании CSR:
./easyrsa import-req /tmp/server.req server
Затем подпишите запрос, запустив параметр easyrsa с помощью sign-req. Тип запроса может быть либо client , либо server. Для запроса сертификата OpenVPN-сервера обязательно используйте тип запроса server:
./easyrsa sign-req server server
В выходных данных вам предложат подтвердить, что запрос исходит из надёжного источника. Введите yes и нажмите ENTER, чтобы подтвердить это:

Если вы зашифровали ключ CA, следуя перечисленным в начале статьи инструкциям, на этом этапе вам будет предложено ввести пароль.
Далее нужно передать подписанный сертификат обратно на VPN-сервер с помощью безопасного метода:
Также нужно перенести на VPN-сервер файл ca.crt:
ca.crt нужен, чтобы OpenVPN знал, что может доверять сущности, подписавшей server.crt.
Затем на OpenVPN-сервере скопируйте файлы server.crt и ca.crt в каталог /etc/openvpn/:
Оттуда создайте надёжный ключ Diffie-Hellman, набрав:
Это может занять несколько минут. Далее сгенерируйте подпись HMAC, чтобы усилить возможности проверки TLS-сервера:
sudo openvpn —genkey secret ta.key
Когда команда завершится, скопируйте два новых файла в каталог /etc/openvpn/:
sudo cp ~/easy-rsa/ta.key /etc/openvpn/
sudo cp ~/easy-rsa/pki/dh.pem /etc/openvpn/
Все файлы сертификатов и ключей, необходимые серверу, сгенерированы. Теперь можем переходить к созданию сертификатов и ключей, которые клиентский компьютер будет использовать для доступа к OpenVPN-серверу.
Генерация клиентского сертификата и пары ключей
Вы можете сгенерировать закрытый ключ и запрос сертификата на клиентской машине, а затем отправить его в CA для подписи, но в этой статье разберём процесс генерации запроса сертификата на VPN-сервере. Преимущество данного способа в том, что мы можем создать серверный скрипт, который автоматически сгенерирует файлы конфигурации клиента, содержащие все необходимые ключи, сертификаты и параметры в одном файле.
На этом шаге сначала сгенерируем пару клиентского ключа и сертификата. Если у вас более одного клиента, можете повторить этот процесс для каждого из них. Но, обратите внимание, что вам нужно будет передать скрипту уникальное значение имени для каждого клиента. На протяжении всей статьи первая пара сертификат/ключ упоминается как client1.
На VPN-сервере начните с создания структуры каталогов в домашнем каталоге для хранения клиентского сертификата и файлов ключей:
mkdir -p ~/client-configs/keys
Поскольку вы будете хранить пары сертификатов/ключей ваших клиентов и файлы конфигурации в этом каталоге, следует заблокировать его разрешения в качестве меры безопасности:
chmod -R 700 ~/client-configs
Затем нужно вернуться в каталог ~/easy-rsa и запустить скрипт easyrsa с параметрами gen-req и nopass , а также общим именем для клиента:
cd ~/easy-rsa
./easyrsa gen-req client1 nopass
Нажмите ENTER, чтобы подтвердить общее имя. Затем скопируйте файл client1.key в каталог /client-configs/keys/, который создали ранее:
cp pki/private/client1.key ~/client-configs/keys/
Перенесите файл client1.req на машину CA, используя безопасный метод:
На машине CA перейдите в каталог ~/easy-rsa и импортируйте запрос сертификата:
cd ~/easy-rsa
./easyrsa import-req /tmp/client1.req client1
Затем подпишите запрос, как делали это на предыдущем шаге. Но на этот раз обязательно укажите тип запроса client:
./easyrsa sign-req client client1
В командной строке введите yes, чтобы подтвердить, что вы готовы подписать запрос на сертификат и что он поступил из надёжного источника:

Если вы зашифровали свой ключ CA, вам будет снова предложено ввести пароль.
Это создаст файл сертификата клиента с именем client1.crt. Перенесите этот файл обратно на сервер:
На OpenVPN-сервере скопируйте сертификат клиента в каталог /client-configs/keys/:
cp /tmp/client1.crt ~/client-configs/keys/
Файлы ca.crt и ta.key также скопируйте в каталог /client-configs/keys/:
sudo cp ~/easy-rsa/ta.key ~/client-configs/keys/
sudo cp /etc/openvpn/ca.crt ~/client-configs/keys/
Все сертификаты и ключи сгенерированы и хранятся в соответствующих каталогах. Есть ещё несколько действий, которые необходимо выполнить с этими файлами, но они появятся в следующих шагах. А пока перейдём к настройке OpenVPN на сервере.
Настройка OpenVPN
Начните с копирования образца файла конфигурации OpenVPN в каталог конфигурации, который будет использоваться в качестве основы для вашей настройки:
Откройте файл конфигурации сервера в текстовом редакторе:
sudo nano /etc/openvpn/server.conf
Найдите раздел HMAC, выполнив поиск по директиве tls-auth. Эта строка уже должна быть раскомментирована, но если это не так, то удалите «;»:

Далее найдите раздел о криптографических шифрах, выполнив поиск закомментированных строк шифра. Шифр AES-256-CBC предлагает хороший уровень шифрования и хорошо поддерживается. Опять же, эта строка уже должна быть раскомментирована, но если это не так, просто удалите «;»:

Добавьте директиву auth для выбора алгоритма обработки сообщений HMAC. Неплохой выбор — SHA256:

Найдите строку, содержащую директиву dh, которая определяет параметры Diffie-Hellman. Из-за изменений, внесенных в Easy-RSA, имя файла для ключа Diffie-Hellmanможет отличаться от того, что указано в примере файла конфигурации сервер. При необходимости измените указанное здесь имя файла, удалив 2048, чтобы оно соответствовало ключу, сгенерированному на предыдущем шаге:


Изменения, которые вы внесли в образец файла server.conf до этого момента, необходимы для работы OpenVPN. Изменения, описанные ниже, являются необязательными, хотя они также необходимы для многих распространенных случаев использования.
Отправка изменений DNS для перенаправления трафика через VPN (необязательно)
Приведенные выше настройки создадут VPN-соединение между двумя машинами, но не заставят их использовать туннель. Чтобы применить VPN для маршрутизации всего трафика, нужно передать настройки DNS на клиентские компьютеры.
В файле server.conf есть несколько директив, которые нужно изменить, чтобы включить эту функциональность. Найдите раздел redirect-gateway и удалите точку с запятой «;» из начала строки redirect-gateway:

Найдите раздел dhcp-option. Снова уберите «;» перед обеими строками, чтобы раскомментировать их:

Это поможет клиентам перенастроить конфигурацию DNS, чтобы использовать VPN-туннель в качестве шлюза по умолчанию.
Настройка порта и протокола
По умолчанию сервер OpenVPN использует порт 1194 и протокол UDP для приема клиентских подключений. Если вам нужно использовать другой порт из-за ограниченных сетевых сред, вы можете изменить параметр port. Если вы не размещаете веб-контент на сервере OpenVPN, порт 443— оптимальный выбор, поскольку обычно он разрешён правилами брандмауэра.

Часто протокол также ограничен этим портом. Если это так, измените proto с UDP на TCP:

Если вы все-таки переключите протокол на TCP, нужно изменить значение директивы explicit-exit-notify с 1 на 0, поскольку эта директива используется только UDP. Невыполнение этого требования при использовании TCP приведёт к ошибкам при запуске службы OpenVPN:

Если у вас нет необходимости использовать другой порт и протокол, лучше всего оставить эти настройки по умолчанию.
Учетные данные не по умолчанию
Если во время команды ./easyrsa gen-req вы выбрали другое имя для сертификата сервера на шаге 2, измените строки cert и key, чтобы они указывали на соответствующие файлы .crt и .key. Если вы использовали имя по умолчанию, оно уже задано правильно:

Когда закончите, сохраните и закройте файл.
Настройка сетевой конфигурации сервера
Есть некоторые аспекты сетевой конфигурации сервера, которые нужно настроить, чтобы OpenVPN мог правильно направлять трафик через VPN. Первым из них является IP-переадресация — метод определения, куда следует направлять IP-трафик.
Настройте параметры переадресации IP вашего сервера по умолчанию, изменив файл /etc/sysctl.conf:
sudo nano /etc/sysctl.conf
Внутри найдите строку с комментариями, которая устанавливает net.ipv4.ip_forward. Удалите символ «#» из начала строки, чтобы раскомментировать этот параметр:

Сохраните и закройте файл, когда закончите.
Чтобы прочитать файл и скорректировать значения для текущего сеанса, введите:
sudo sysctl -p
Output
net.ipv4.ip_forward = 1
Если вы следовали инструкции по настройке сервера Debian 11, у вас должен быть установлен брандмауэр UFW. В рамках этой статьи нам понадобится брандмауэр для управления частью трафика, поступающего на сервер. Некоторые правила брандмауэра должны быть изменены, чтобы включить masquerading и концепцию iptables, обеспечивающую динамическую трансляцию сетевых адресов для правильной маршрутизации клиентских подключений.
Прежде чем открывать файл конфигурации брандмауэра для добавления правил masquerading, нужно найти общедоступный сетевой интерфейс компьютера. Для этого введите:
Ваш публичный интерфейс — это строка, следующая за «dev» в выходных данных команды. Например, приведенный ниже вывод показывает интерфейс с именем eth0:

Когда у вас есть интерфейс, связанный с вашим маршрутом по умолчанию, откройте файл /etc/ufw/before.rules, чтобы добавить соответствующую конфигурацию:
sudo nano /etc/ufw/before.rules
Правила UFW обычно добавляются с помощью команды ufw. Однако правила, перечисленные в файле before.rules, считываются и применяются до загрузки обычных правил UFW. Ближе к началу файла добавьте выделенные ниже строки. Это установит политику по умолчанию для цепочки POSTROUTING в таблице nat и замаскирует любой трафик, поступающий из VPN. Не забудьте заменить eth0 в строке -A POSTROUTING:
Затем укажите UFW, чтобы он также разрешал переадресацию пакетов по умолчанию. Для этого откройте файл /etc/default/ufw:
sudo nano /etc/default/ufw
Внутри найдите директиву DEFAULT_FORWARD_POLICY и измените значение с DROP на ACCEPT:
Затем настройте брандмауэр так, чтобы он пропускал трафик через OpenVPN. Если вы не изменили порт и протокол в файле /etc/openvpn/server.conf, нужно открыть UDP-трафик на порт 1194. Если вы изменили порт и/или протокол, замените выбранные значения.
Если вы не добавили SSH-порт, добавьте его также здесь:
sudo ufw allow 1194/udp
sudo ufw allow OpenSSH
После добавления этих правил отключите и снова включите UFW, чтобы перезапустить его и загрузить изменения из всех файлов, которые вы изменили:
sudo ufw disable
sudo ufw enable
Теперь ваш сервер настроен на корректную обработку трафика OpenVPN.
Запуск и включение службы OpenVPN
Наконец-то вы готовы запустить службу OpenVPN на своем сервере. Делается это с помощью утилиты systemctl:
Команда запустит службу openvpn, используя /etc/openvpn/server.conf в качестве файла конфигурации.
Дважды проверьте, что служба успешно запущена, введя:
Если все прошло хорошо, ваш результат будет выглядеть примерно так:
Вы также можете проверить, доступен ли интерфейс OpenVPN tun0, набрав:
ip addr show tun0
Это выведет сконфигурированный интерфейс:

После запуска сервиса включите его, чтобы он автоматически запускался при загрузке:
Коротко о главном
Теперь ваш сервис OpenVPN запущен и работает. Однако, прежде чем вы сможете начать его использовать, вы должны сначала создать файл конфигурации для клиентской машины. В этой части мы разобрали, как создавать пары сертификат/ключ для клиентов, а в следующей расскажем, как создать инфраструктуру, которая будет генерировать файлы конфигурации клиента. Также отдельно рассмотрим, как установить клиентский VPN-профиль на Windows, macOS, Linux, iOS и Android.
NGINX is open-source software for web serving, reverse proxying, caching, load balancing, media streaming, and more.
Steps To Install Nginx Web Server on Debian 11
To install Nginx on Debian 11 you need some requirements first. Let’s see what we need.
Requirements
Before installing Nginx on Debian 11 you need to update the apt packages because Nginx is available in the Debian default repository.
sudo apt update
sudo apt upgrade
sudo apt install nginx
When your installation is completed you need to adjust the firewall.
Adjust the firewall for Nginx
The firewall software needs to be adjusted to allow access to the service.
We assume that you have installed the UFW firewall on Debian 11 which we mentioned at the beginning of the article.
sudo ufw app list
In your output, you will see:
sudo ufw allow ‘Nginx HTTP’
You should see this in your output:
Status: active
To Action From
— —— —-
OpenSSH ALLOW Anywhere
Nginx HTTP ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Nginx HTTP (v6) ALLOW Anywhere (v6)
At this point, you can check your web server that is up and running.
Check Nginx Status web server
At the end of the installation process, Debian 11 starts Nginx.
systemctl status nginx
nginx.service — A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: () since Thu 2021-09-02 06:39:26 EDT; 2s ago
Docs: man:nginx(8)
Process: 5838 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Process: 5839 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Main PID: 5840 (nginx)
Tasks: 3 (limit: 2340)
Memory: 7.0M
CPU: 59ms
CGroup: /system.slice/nginx.service
├─5840 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
├─5841 nginx: worker process
└─5842 nginx: worker process
Now you can access your Nginx Debian 11 default page. you need your server’s IP address for this.
You can get your IP address with the command below:
sudo apt install curl
Then run the command below:
curl -4 icanhazip.com
At this point, enter your server’s IP address into your web browser:
Now you should see the default Nginx page on Debian 11:

Manage Nginx process on Debian 11
Now you have your Nginx web server up and running. Let’s see some basic management commands for it.
sudo systemctl stop nginx
When it is stopped, you can start your web server again with:
sudo systemctl start nginx
sudo systemctl restart nginx
sudo systemctl reload nginx
sudo systemctl disable nginx
sudo systemctl enable nginx
Set up Nginx server blocks on Debian 11
Here you need your domain name to replace it with ours in the commands. our domain name is nginx.orcacore.net.
sudo mkdir -p /var/www//html
sudo chmod -R 755 /var/www/
Now you need to create a sample index.html page with your favorite text editor. here we use the Vi text editor:
Save and close the file when you are finished.
sudo vi /etc/nginx/sites-available/
sudo ln -s /etc/nginx/sites-available/ /etc/nginx/sites-enabled/
To avoid a possible hash bucket memory problem that can arise from adding additional server names to your configuration, it is necessary to adjust a single value in the /etc/nginx/nginx.conf file. Open the file:
sudo vi /etc/nginx/nginx.conf
Then find the “server_names_hash_bucket_size” line and uncomment it by removing the “#” symbol:
When you are done. save and close the file.
Here, you can test for configuration errors for Nginx on Debian 11. if you see the syntax ok in your output means it’s ok.
sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Test Nginx Server Blocks
Nginx should now be serving your domain name. You can test this by typing your domain name into your web browser.
You will see something like this:

May this article about How to Install Apache on Debian 11 be useful for you, too.
Hope you enjoy it.

Zabbix 6.2 + Nginx + PostgreSQL 14 + TimescaleDB
Zabbix — свободная система мониторинга и отслеживания статусов разнообразных сервисов компьютерной сети, серверов и сетевого оборудования, написанная Алексеем Владышевым. Для хранения данных используется MySQL, PostgreSQL, SQLite или Oracle Database, веб-интерфейс написан на PHP.
Подготовка
Обновляем ОС, устанавливаем софт
$ sudo apt update
$ sudo apt -y upgrade
$ sudo apt -y install nano curl bind9-utils telnet wget net-tools traceroute git tcpdump rsync open-vm-tools mlocate htop tar zip unzip cloud-guest-utils
$ sudo apt -y install gnupg2
Установка Nginx из репозитория
Добавляем ключ репозитория
Добавляем репозиторий Nginx
$ sudo nano /etc/apt/sources.list.d/nginx.list
# NGINX repo
deb https://nginx.org/packages/mainline/debian/ bullseye nginx
deb-src https://nginx.org/packages/mainline/debian bullseye nginx
$ sudo apt update
$ sudo apt install -y nginx
Установка Postgresql 14 из репозитория
Добавляем репозиторий PostgreSQL
Устанавливаем Postgresql 14
$ sudo apt update
$ sudo apt -y install postgresql-14
Установка Zabbix 6. 2 из репозитория
$ wget https://repo.zabbix.com/zabbix/6.2/debian/pool/main/z/zabbix-release/zabbix-release_6.2-1+debian11_all.deb
$ sudo dpkg -i zabbix-release_6.2-1+debian11_all.deb
Устанавливаем Zabbix для Nginx и Postgresql
$ sudo apt update
$ sudo apt -y install zabbix-server-pgsql zabbix-frontend-php php7.4-pgsql zabbix-nginx-conf zabbix-sql-scripts zabbix-agent2
Почему то в процессе установки обнаружил, что установился apache2, удаляем его
$ sudo apt -y remove apache2
$ sudo apt -y autoremove
Настройка Postgresql 14
Редактируем конфиг pg_hba.conf, включаем авторизацию по паролю для локальных соединений
$ sudo systemctl restart postgresql
Настройка PHP-FPM
Меняем Timezone и listen.mode
$ sudo systemctl restart php7.4-fpm
Настройка Nginx
Редактируем конфиг zabbix.conf
Отключаем дефолтный конфиг
$ sudo mv /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.disabled
$ sudo systemctl restart nginx
Настройка PostgreSQL для Zabbix
$ sudo -u postgres createdb -O zabbix zabbix
Правим конфиг zabbix_server.conf, добавляем пароль пользователя
Перезапускаем сервисы, добавляем их в автозагрузку
$ sudo systemctl restart zabbix-server zabbix-agent2 nginx php7.4-fpm
$ sudo systemctl enable zabbix-server zabbix-agent2 nginx php7.4-fpm
Zabbix server установлен, заходим в web-интерфейс, завершаем установка
Установка TimescaleDB
$ sudo apt -y install gnupg postgresql-common apt-transport-https lsb-release
Добавляем репозиторий timescaledb
$ sudo apt update
$ sudo apt -y install timescaledb-2-postgresql-14
Тюним конфиг PostgreSQL
$ sudo timescaledb-tune —quiet —yes
Добавляем расширение в базу
Скачиваем дистрибутив zabbix-6.2.1 и распаковываем его
$ wget https://cdn.zabbix.com/zabbix/sources/stable/6.2/zabbix-6.2.1.tar.gz
$ tar -zxvf zabbix-6.2.1.tar.gz
Добавляем данные в базу
Что б zabbix server не ругался на версию TimescaleDB, добавляем в самом конце конфига zabbix_server.conf
Иначе в логах zabbix server будет ошибка:
Unsupported DB! timescaledb version is 20702 which is higher than maximum of 20699Recommended version should not be higher than TimescaleDB Community Edition 2.6.
$ sudo systemctl restart postgresql zabbix-server
Установка Zabbix Agent 2 на хостах
Добавляем репозиторий Zabbix
$ sudo apt update
$ sudo apt -y install zabbix-agent2
Правим конфиг zabbix_agent2.conf
$ sudo nano /etc/zabbix/zabbix_agent2.conf
Перезапускаем сервис и добавляем его в автозагрузку
$ sudo systemctl restart zabbix-agent2
$ sudo systemctl enable zabbix-agent2
У блога появился хостинг, его любезно предоставила компания Облакотека. Облакотека — облачные сервисы для создания и управления виртуальной ИТ-инфраструктурой.
Если вам понравился мой блог и вы хотели бы видеть на нем еще больше полезных статей, большая просьба поддержать этот ресурс.
Если вы размещаете материалы этого сайта в своем блоге, соц. сетях, и т.д., убедительная просьба публиковать обратную ссылку на оригинал
В этой статье я покажу вам как установить сервер точного времени Chrony на Debian 11, а также как настроить и использовать его.
Клиент синхронизации времени на SystemD
В системах базирующихся на SystemD клиентом синхронизации времени, по умолчанию, выступает служба systemd-timesyncd.
$ sudo systemctl status systemd-timesyncd
● systemd-timesyncd.service — Network Time Synchronization
Loaded: loaded (/lib/systemd/system/systemd-timesyncd.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2022-05-05 12:05:00 MSK; 2s ago
Docs: man:systemd-timesyncd.service(8)
Main PID: 60424 (systemd-timesyn)
Status: «Initial synchronization to time server 91.189.94.4:123 (ntp.ubuntu.com).»
Tasks: 2 (limit: 2274)
Memory: 1.4M
CGroup: /system.slice/systemd-timesyncd.service
└─60424 /lib/systemd/systemd-timesyncd
Эта служба использует конфиг /etc/systemd/timesyncd.conf, именно в нём прописаны NTP сервера с которыми сервер синхронизирует своё время.

Процесс синхронизации времени на серверах
Сервера времени называют NTP серверами, так как они используют NTP протокол. Для Linux таких серверов несколько, например chrony, ntp, openntpd. Я покажу вам первый, так как это самый современный NTP сервер.
В Ubuntu и Debian – chrony устанавливается из стандартных репозиториев:
# apt install chrony
При установке этого пакета будет создана одноименная служба, которая будет запущена и помещена в автозапуск. А служба systemd-timesyncd будет выключена.
Конфигом для службы является файл /etc/chrony/chrony.conf. В нем нужно закомментировать используемый пул и добавить свои NTP сервера. А также можно указать разрешённую сеть для клиентов:
# nano /etc/chrony/chrony.conf
server 0.ru.pool.ntp.org iburst
server 1.ru.pool.ntp.org iburst
server 2.ru.pool.ntp.org iburst
server 3.ru.pool.ntp.org iburst
allow 192.168.0.0/24
После настройки сервера нужно перезапустить службу:
# systemctl restart chrony
Проверим источники времени. Опция -N указывает что нужно вывести оригинальные имена источников времени:
В выводе, сервер обозначенный звездочкой (в моём случае 3.ru.pool.ntp.org) является наилучшим и текущем сервером для синхронизации времени.
Сервер времени chrony, также как и другие NTP сервера слушает порт udp 123:
Вдобавок к порту 123 вы можете заметить ещё один порт – udp 323. Он используется для того чтобы утилита chronyc подключалась к процессу chronyd. А именно с помощью этой утилиты мы смотрели источники времени.
Настройку фаервола nftables для Debian 11 я описывал здесь.
Кроме этого, вы можете посмотреть количество активных и не активных источников:
# chronyc activity
200 OK
4 sources online
0 sources offline
0 sources doing burst (return to online)
0 sources doing burst (return to offline)
0 sources with unknown address
Заметьте, если Chrony не сможет получить время из интернета, то клиенты перестанут синхронизировать своё время с этим сервером. Поэтому нужно следить, чтобы у сервера Chrony всегда были рабочие источники времени.
Настройка клиентских серверов
Теперь нужно, на остальных серверах, прописать наш сервер Chrony в качестве источника синхронизации времени. Для этого укажем его адрес в /etc/systemd/timesyncd.conf на остальных серверах. А затем перезапустим службу синхронизации времени, и проверим работу:
Для большей информации вы можете использовать следующие команды:
# systemctl status systemd-timesyncd.service
# timedatectl show-timesync
# timedatectl timesync-status
Также, на сервере времени вы можете посмотреть клиентов, которые к нему подключились:
# chronyc clients
Hostname NTP Drop Int IntL Last Cmd Drop Int Last
===============================================================================
192.168.0.2 4 0 5 — 5 0 0 — —
- Hostname – имя или адрес клиента;
- NTP – количество NTP-пакетов, полученных от клиентов;
- Drop – сколько NTP-пакетов было отброшено из-за ограничения скорости отклика;
- Int – средний интервал между NTP-пакетами;
- Last – время с момента получения последнего NTP-пакета;
- Остальные поля я не рассматриваю, так как обычно этих достаточно.
Итог
Теперь вы знакомы с сервером времени Chrony. Он позволяет запустить свой локальный NTP сервер и синхронизировать время с другими NTP серверами. То-есть может работать и в качестве клиента и в качестве сервера.
- Служба этого приложения – chrony.
- Конфигурационный файл – /etc/chrony/chrony.conf.
- Серверный процесс – chronyd.
- Утилита для получения информации – chronyc.


Debian is a free operating system developed by thousands of volunteers from around the world who work online. The main strengths of the Debian project are its voluntary base, its dedication to the Debian social contract and free software, and its commitment to providing the best possible operating system. Debian version 11 is another important step in this direction. In this article, we are going to teach you Initial Server Setup On Debian 11 (Bullseye). You can see the packages available in Eldernode if you want to buy a Linux VPS server.
- Initial Server Setup On Debian 11 (Bullseye) step by step
- Conclusion
All about Debian 11 (Bullseye)
_ Gnome 3.38
_ LXQt 0.16
Chinese, Japanese, Korean, and many other languages now have a new Fcitx 5 input method, which is the successor of the popular Fcitx4 in buster; this new version has a much better Wayland (default display manager) addon support.
Debian 11 bullseye includes several updated software packages including:
– Emacs 27.1
– Inkscape 1.0.2
– LibreOffice 7.0
– Linux kernel 5.10 series
– OpenSSH 8.4p1
– Perl 5.32
– PostgreSQL 13
– Python 3, 3.9.1
– Rustc 1.48
1. Desktop systems and netbooks
2. Development servers and cluster systems
4. Web and storage servers
How to Upgrade Debian
sudo apt dist-upgrade
Note: After executing the above commands, you must press “Y” to confirm the request to complete the installation of the packages.
sudo apt autoremove
How to Create a Sudo User on Debian 11
sudo su — eldernode
How to Configure System’s Hostname
sudo hostnamectl set-hostname debian11
Now that you have successfully updated the Systems hostname, you must now switch to a new shell to activate the current session. After doing the above, the shell notification will be renamed to the new host.
How to secure SSH on Debian
In this section, we are going to teach you How to secure SSH on Debian. Open the OpenSSH/etc/ssh/sshd_config configuration file for editing and modification.
After making the above changes, save the configuration file and restart the OpenSSH service:
sudo systemctl restart ssh
How to Configure Firewall (Firewalld) on Debian 11
sudo apt install firewalld -y
sudo firewall-cmd —permanent —add-port=2232/tcp
sudo firewall-cmd —permanent —add-service=http
sudo firewall-cmd —permanent —add-service=https
You should now upload the changes you made:
sudo firewall-cmd —reload
Conclusion

DokuWiki + Nginx + php-fpm
DokuWiki — простой, но достаточно мощный вики-движок, который может быть использован для создания любой документации. Она ориентирована на команды разработчиков, рабочие группы и небольшие компании. Все данные хранятся в простых текстовых файлах, поэтому для работы не требуется СУБД
$ sudo apt update && sudo apt -y upgrade
Устанавливаем софт (мой стандартный набор)
Скачиваем ключ подписи для репозитория Nginx
$ sudo wget https://nginx.org/keys/nginx_signing.key
Устанавливаем утилиту gnupg2
Добавляем загруженный ключ в список программных ключей
$ sudo apt-key add nginx_signing.key
$ sudo apt update
$ sudo apt -y install nginx
Запускаем web-сервер и добавляем его в автозагрузку
$ sudo systemctl start nginx
$ sudo systemctl enable nginx
Добавим пользователя nginx в группу www-data
Если не добавить пользователя nginx в группу www-data, то в дальнейшем у пользователя nginx не будет хватать прав доступа к файлу /run/php/php7.4-fpm.sock, из-за чего не запустится установка DukuWiki (в логах Nginx будет появляться ошибка)
Установка и настройка PHP-FPM 7
Устанавливаем php-fpm 7.4 и модули php
$ sudo apt install php7.4 php7.4-cli php7.4-fpm php7.4-curl php7.4-opcache php7.4-gd php7.4-xml php7.4-zip php7.4-json php7.4-mbstring php7.4-intl php7.4-imagick
Немного отредактируем конфиг php
Также отредактируем конфиг пула www для php-fpm
На этом установка и настройка php-fpm завершена
Подготовка к установке DokuWiki
Скачиваем релиз DokuWiki
$ cd
$ wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz
Создаем каталог, куда будет установлен DokuWiki
$ sudo mkdir -p /var/www/dokuwiki
Распаковываем архив с дистрибутивом в созданный каталог
Назначаем владельца директорий и файлов
$ sudo chown -R www-data:www-data /var/www/dokuwiki/
Создаем конфиг для DokuWiki
Проверяем конфиг Nginx на ошибки
$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
ssl-сертификат у меня уже был
$ sudo systemctl restart php7.4-fpm nginx
Устанавливаем и настраиваем DokuWiki. Для это переходим на наш сайт
После установки DokuWiki удаляем файл install.php
$ sudo rm -f /var/www/dokuwiki/install.php
На этом установка DokuWiki в Debian 11 завершена

