<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Wiki | PWODEV</title>
	<atom:link href="https://wiki.pwodev.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://wiki.pwodev.com/</link>
	<description>Help for developers</description>
	<lastBuildDate>Mon, 16 Feb 2026 21:06:14 +0000</lastBuildDate>
	<language>ru-RU</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.1</generator>
	<item>
		<title>Что такое WireGuard &#8212; полное, подробное описание и настройка</title>
		<link>https://wiki.pwodev.com/%d1%87%d1%82%d0%be-%d1%82%d0%b0%d0%ba%d0%be%d0%b5-wireguard-%d0%bf%d0%be%d0%bb%d0%bd%d0%be%d0%b5-%d0%b8-%d0%bf%d0%be%d0%b4%d1%80%d0%be%d0%b1%d0%bd%d0%be%d0%b5-%d0%be%d0%bf%d0%b8%d1%81%d0%b0%d0%bd/</link>
					<comments>https://wiki.pwodev.com/%d1%87%d1%82%d0%be-%d1%82%d0%b0%d0%ba%d0%be%d0%b5-wireguard-%d0%bf%d0%be%d0%bb%d0%bd%d0%be%d0%b5-%d0%b8-%d0%bf%d0%be%d0%b4%d1%80%d0%be%d0%b1%d0%bd%d0%be%d0%b5-%d0%be%d0%bf%d0%b8%d1%81%d0%b0%d0%bd/#respond</comments>
		
		<dc:creator><![CDATA[Paul Osmachko]]></dc:creator>
		<pubDate>Wed, 04 Jun 2025 12:12:52 +0000</pubDate>
				<category><![CDATA[Server]]></category>
		<category><![CDATA[VPN]]></category>
		<category><![CDATA[WireGuard]]></category>
		<guid isPermaLink="false">https://wiki.pwodev.com/?p=1827</guid>

					<description><![CDATA[<p>Сегодня я тебе объясню, как настраивать VPN — и не просто настраивать, а понимать, что ты делаешь! Есть куча разных протоколов, OpenVPN считается самым популярным, но мы же не идём слепо за массой — нам важны скорость, качество и современность. Мы не ищем лёгких путей, потому что нет ничего невозможного, ну и мы не такие [&#8230;]</p>
<p>Сообщение <a href="https://wiki.pwodev.com/%d1%87%d1%82%d0%be-%d1%82%d0%b0%d0%ba%d0%be%d0%b5-wireguard-%d0%bf%d0%be%d0%bb%d0%bd%d0%be%d0%b5-%d0%b8-%d0%bf%d0%be%d0%b4%d1%80%d0%be%d0%b1%d0%bd%d0%be%d0%b5-%d0%be%d0%bf%d0%b8%d1%81%d0%b0%d0%bd/">Что такое WireGuard &#8212; полное, подробное описание и настройка</a> появились сначала на <a href="https://wiki.pwodev.com">Wiki | PWODEV</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Сегодня я тебе объясню, как настраивать VPN — и не просто настраивать, а <strong>понимать, что ты делаешь</strong>!</p>



<p>Есть куча разных протоколов, OpenVPN считается самым популярным, но <strong>мы же не идём слепо за массой</strong> — нам важны <strong>скорость</strong>, <strong>качество</strong> и <strong>современность</strong>. Мы не ищем лёгких путей, потому что <strong>нет ничего невозможного</strong>, ну и мы <strong>не такие как все</strong>, чтобы юзать то, что юзает большинство.</p>



<p>Поэтому самый лучший и современный VPN — это <strong>WireGuard</strong>. Он супер быстрый, не режет скорость, и при этом максимально простой в настройке.</p>



<p>В этой статье я покажу, как настроить WireGuard с нуля, объясню каждый термин, чтобы ты не просто бездумно копипастил, а понимал каждую строчку.</p>



<p>Поехали!</p>



<h2 class="wp-block-heading">Что такое WireGuard простыми словами</h2>



<p>WireGuard — это <strong>peer-to-peer</strong> VPN, работает просто, быстро и стабильно. Он встроен в ядро Linux, использует самую новую криптографию, и запускается за секунды. В WireGuard нет клиента и сервера в классическом смысле — все равны.&nbsp;Каждое устройство может быть как клиентом так и сервером, отличает кто есть кто только файл конфигурации. В настройках сервер это <strong>Peer</strong> и клиент это <strong>Interface</strong>.</p>



<p>WireGuard работает через ключи, у каждого участника есть <strong>Private Key</strong> и <strong>Public Key</strong> и конфиге указываются ключи друг друга.</p>



<p>Основные фишки WireGuard:</p>



<ul class="wp-block-list">
<li><strong>Максимум скорости</strong> — в 2–3 раза быстрее OpenVPN, нет лишней нагрузки, всё работает на уровне ядра</li>



<li><strong>Никаких сложных настроек</strong> — всё максимально прозрачно 1 конфиг = 1 файл</li>



<li><strong>Безопасность на уровне</strong> — всё шифруется по-современному, и без старья вроде TLS, как у OpenVPN</li>
</ul>



<h2 class="wp-block-heading">Настройки WireGuard?</h2>



<p>Структура работы VPN WireGuard делится всего на 2 типа секций <strong>Interface</strong> и <strong>Peer</strong>.</p>



<ul class="wp-block-list">
<li><strong>Interface</strong> &#8212; это всегда своя сторона, текущее устройство на котором заполняется файл.</li>



<li><strong>Peer</strong> &#8212; а это всегда удаленная сторона.</li>
</ul>



<p>Тоесть в файле на сервере <strong>Interface</strong> это сам сервер а <strong>Peer</strong> это удаленные клиенты которые будут подсоеденяться к серверу. А у клиента <strong>Interface</strong> это сам клиент, а <strong>Peer</strong> это будет удаленный сервер к которому клиент хочет подсоедениться.</p>



<h3 class="wp-block-heading">[interface] имеет следующие параметры:</h3>



<ul class="wp-block-list">
<li><strong>PrivateKey</strong> &#8212; <em>(сервер* и клиент*)</em> &#8212; Приватный ключ текущего устройства. НИКОГДА не шарится, всегда пишется в настройках <strong>interface</strong>, только на твоем текущем устройстве.</li>



<li><strong>Address</strong> &#8212; <em>(сервер* и клиент*)</em> &#8212; IP-адрес по которому устройство будет отзываться в VPN сети. Да WireGuard не имеет DHCP для VPN все IP нужно прописывать всегда для сервера и каждого клиента вручную, конечно каждое устройство должно иметь уникальный IP. Пример 10.0.1.1/24 или 10.0.1.2/24 или без подсети.</li>



<li><strong>ListenPort</strong> &#8212; <em>(сервер*)</em> &#8212; Обычно WireGuard слушает UDP 51820 порт, но можно любой написать.</li>



<li><strong>DNS</strong> &#8212; <em>(только на клиентах)</em> &#8212; DNS-сервер, который будет использовать клиент при подключении к интернету. Например 1.1.1.1, 10.0.0.1 или 8.8.8.8, 8.8.4.4. Но имеет смысл только в связке с AllowedIPs = 0.0.0.0/0 или в AllowedIPs должен быть IP этого DNS.</li>



<li><strong>MTU</strong> &#8212; <em>(сервер и клиент)</em> &#8212; Максимальный размер пакета (обычно 1420)</li>



<li><strong>PreUp / PostUp</strong> &#8212; <em>(сервер и клиент)</em> &#8212; Команда, которая выполнится при старте интерфейса, например, iptables или ip route</li>



<li><strong>PreDown / PostDown</strong> &#8212; <em>(сервер и клиент)</em> &#8212; Команда, которая выполнится при остановке. Чистка iptables, маршрутов и т.п.</li>



<li><strong>Table</strong> &#8212; <em>(сервер и клиент)</em> &#8212; Номер таблицы маршрутизации или off — если не хочешь, чтобы WireGuard сам добавлял маршруты.</li>
</ul>



<h3 class="wp-block-heading">[peer] имеет следующие параметры:</h3>



<ul class="wp-block-list">
<li><strong>PublicKey</strong> &#8212; <em>(сервер* и клиент*)</em> &#8212; Публичный ключ сгенерированный второй стороной будь то клиент или сервер.</li>



<li><strong>PresharedKey</strong> &#8212; Это один дополнительный ключ для повышения безопасности, пишется для каждой пары (сервер+клиент) свой. Это не обязательно, но если используем, то писать надо один и тот же ключ и на клиенте и на сервере для каждого пира свой. Тут нет публичного или приватного. Команда для генерации ключа &#8212; wg genpsk</li>



<li><strong>AllowedIPs</strong> &#8212; <em>(сервер* и клиент*)</em> &#8212; Очень важный параметр. Тут пишем IP-адреса, через запятую если несколько, которые разрешены от/до этого пира. Имеет разное поведение в настройках сервера и клиента.
<ul class="wp-block-list">
<li><strong>На сервере</strong> &#8212; говорит какие IP-адреса считаются принадлежащими этому клиенту. <br>Обычно указывают IP клиента из VPN-сети (например, 10.0.1.10/32), тот же IP что и в его interface-&gt;Address, только подсеть не 24 а 32 чтобы чтобы указать что клиент получатель трафика только один.<br>Но если клиент это роутер и дальше у него много клиентов, то в таком случае допускается подсеть, например 10.0.1.0/24.</li>



<li><strong>На клиенте</strong> &#8212; говорит, какой трафик нужно направлять в VPN туннель к серверу.
<ul class="wp-block-list">
<li><strong>0.0.0.0/0</strong> &#8212; говорит что весь трафик клиента будет отправляться через VPN сеть WireGuard. (<strong>Full Tunnel</strong>). Если хочешь полноценный VPN то используй именно этот параметр + DNS в <strong>Interface</strong>, чтобы интернет работал.</li>



<li><strong>10.0.1.0/24</strong>, <strong>192.168.1.0/24, 10.0.0.0/24</strong> &#8212; если написать подсети, то VPN будет использоваться только для доступа к другим устройствам подключенным к этим сетям. А остальной трафик будет идти через обычный интернет.</li>
</ul>
</li>
</ul>
</li>



<li><strong>Endpoint</strong> &#8212; <em>(клиент*)</em>  &#8212; [IP-адрес или домен]:порт, куда подключаться. Пример vpn.domain.com:51820.</li>



<li><strong>PersistentKeepalive</strong> &#8212; <em>(клиент*)</em> &#8212; клиент будет периодически “стучаться”, чтобы не терять соединение за NAT. Обычно &#8212; 25</li>
</ul>



<h2 class="wp-block-heading">Примеры конфигурации WireGuard сервера и клиентов.</h2>



<p>wg0.conf&nbsp;&#8212; конфиг&nbsp;WireGuard-сервера:</p>



<pre class="wp-block-code"><code>&#91;Interface]
PrivateKey = SERVER_PRIVATE_KEY
Address = 10.0.1.1/24
ListenPort = 51820
MTU = 1420
# Разрешаем маршрутизацию для систем с iptables:
PostUp = sysctl -w net.ipv4.ip_forward=1; \
         iptables -A FORWARD -i wg0 -j ACCEPT; \
         iptables -A FORWARD -o wg0 -j ACCEPT; \
         iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

PostDown = sysctl -w net.ipv4.ip_forward=0; \
           iptables -D FORWARD -i wg0 -j ACCEPT; \
           iptables -D FORWARD -o wg0 -j ACCEPT; \
           iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

# Альтернатива для систем с nftables:
# PostUp = sysctl -w net.ipv4.ip_forward=1; \
#          sysctl -w net.ipv6.conf.all.forwarding=1; \
#          nft add table inet wireguard-wg0; \
#          nft add chain inet wireguard-wg0 PREROUTING { type nat hook prerouting priority 0\; }; \
#          nft add chain inet wireguard-wg0 POSTROUTING { type nat hook postrouting priority 100\; }; \
#          nft add rule inet wireguard-wg0 POSTROUTING ip saddr 10.0.1.0/24 oifname eth0 masquerade; \
#          nft add rule inet wireguard-wg0 POSTROUTING ip6 saddr fd00::/8 oifname eth0 masquerade

# PostDown = sysctl -w net.ipv4.ip_forward=0; \
#            sysctl -w net.ipv6.conf.all.forwarding=0; \
#            nft delete table inet wireguard-wg0

&#91;Peer]
# Клиент A
PublicKey = CLIENT_A_PUBLIC_KEY
PresharedKey = CLIENT_A_PRESHARED_KEY
AllowedIPs = 10.0.1.10/32

&#91;Peer]
# Клиент B
PublicKey = CLIENT_B_PUBLIC_KEY
PresharedKey = CLIENT_B_PRESHARED_KEY
AllowedIPs = 10.0.1.11/32</code></pre>



<p>Конфигурация клиента A (client-a.conf)</p>



<pre class="wp-block-code"><code>&#91;Interface]
PrivateKey = CLIENT_A_PRIVATE_KEY
Address = 10.0.1.10/24
DNS = 8.8.8.8, 8.8.4.4
MTU = 1420

&#91;Peer]
PublicKey = SERVER_PUBLIC_KEY
PresharedKey = CLIENT_A_PRESHARED_KEY
Endpoint = vpn.domain.com:51820 
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25</code></pre>



<p>Конфигурация клиента B (client-b.conf)</p>



<pre class="wp-block-code"><code>&#91;Interface]
PrivateKey = CLIENT_B_PRIVATE_KEY
Address = 10.0.1.11/24
DNS = 8.8.8.8, 8.8.4.4
MTU = 1420

&#91;Peer]
PublicKey = SERVER_PUBLIC_KEY
PresharedKey = CLIENT_B_PRESHARED_KEY
Endpoint = vpn.domain.com:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25</code></pre>



<h2 class="wp-block-heading">Команды для быстрой установки WireGuard сервера</h2>



<p>Установка WireGuard на сервер:</p>



<pre class="wp-block-code"><code>sudo apt install -y wireguard wireguard-tools</code></pre>



<p>Создание ключей на сервере:</p>



<pre class="wp-block-code"><code>umask 077
wg genkey | tee /etc/wireguard/server.key | wg pubkey &gt; /etc/wireguard/server.pub</code></pre>



<p>Дальше проверяем на сервере какой у нас интерфейс для доступа к интернету обычно eth0, но нужно проверить. </p>



<pre class="wp-block-code"><code>ip route | grep default
ip -br a</code></pre>



<p>дальше сохраняем значение чтобы потом вставить ниже в файл</p>



<pre class="wp-block-code"><code>cat /etc/wireguard/server.key</code></pre>



<p>Создание конфигурации сервера:</p>



<pre class="wp-block-code"><code>sudo nano /etc/wireguard/wg0.conf</code></pre>



<p>внутрь файла положи настройки сервера, где нужно поменять правильные IP где 10.0.1.0/24 это сеть VPN а 192.168.0.0/24 локальная сеть сервера, PrivateKey и &lt;WAN_IF&gt; &#8212; заменить на что-то типа ens18, eth0</p>



<pre class="wp-block-code"><code>&#91;Interface]
Address = 10.0.1.1/24
ListenPort = 51820
PrivateKey = &lt;вставь что вернет - cat /etc/wireguard/server.key&gt;

PostUp   = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -s 10.0.1.0/24 -o ens18 -j MASQUERADE; iptables -t nat -A POSTROUTING -s 10.0.1.0/24 -d 192.168.0.0/24 -o ens19 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -s 10.0.1.0/24 -o ens18 -j MASQUERADE; iptables -t nat -D POSTROUTING -s 10.0.1.0/24 -d 192.168.0.0/24 -o ens19 -j MASQUERADE
</code></pre>



<p>не забудь поменять IP, PrivateKey и eth0 на твой интерфейс &lt;WAN_IF&gt; для выхода в интернет</p>



<p>Включить IP-форвардинг</p>



<pre class="wp-block-code"><code>echo 'net.ipv4.ip_forward=1' | sudo tee /etc/sysctl.d/99-wireguard.conf
sudo sysctl --system</code></pre>



<p>Если есть firewall то нужно еще порт открыть:</p>



<pre class="wp-block-code"><code>sudo sed -i 's/DEFAULT_FORWARD_POLICY="DROP"/DEFAULT_FORWARD_POLICY="ACCEPT"/' /etc/default/ufw
sudo ufw reload
cat /etc/default/ufw | grep DEFAULT_FORWARD_POLICY
sudo ufw allow 51820/udp
ufw status</code></pre>



<p>Запуск и автозагрузка</p>



<pre class="wp-block-code"><code>sudo systemctl enable --now wg-quick@wg0</code></pre>



<p>Проверка:</p>



<pre class="wp-block-code"><code>sudo wg</code></pre>



<p>Приложения wireguard клинеты скачиваются с официального сайта, в них нужно сгенерировать ключи. Приватный ключ положить в конфигурацию на клиенте, а публичный ключ добавить в конфигурацию на сервере. Генерировать ключи и конфиг файл можно конечно и на сервере, и потом отправить приватный ключ на клиент, но тогда сервер будет знать сразу и приватный и публичный ключ клиента, что не очень хорошо. Но если хотим сгенерировать ключь на сервере то делаем так:</p>



<pre class="wp-block-code"><code>sudo mkdir -p /etc/wireguard/clients<br>sudo chmod 700 /etc/wireguard/clients<br>umask 077<br>wg genkey | tee /etc/wireguard/clients/client1.key | wg pubkey &gt; /etc/wireguard/clients/client1.pub<br>wg genpsk &gt; /etc/wireguard/clients/client1.psk</code></pre>



<p>Итак, у нас есть уже ключи, мы их либо сгенерировали на сервере или в самом клиенте, теперь составим файл конфигурации клиента для подключения к нашему серверу:</p>



<pre class="wp-block-code"><code>&#91;Interface]
PrivateKey = &lt;вставь что вернет - cat /etc/wireguard/clients/client1.key&gt;
Address = 10.0.1.10/24
DNS = 1.1.1.1
MTU = 1420PostUp   = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -s 10.10.251.0/24 -o ens18 -j MASQUERADE; iptables -t nat -A POSTROUTING -s 10.10.251.0/24 -d 192.168.0.0/24 -o ens19 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -s 10.10.251.0/24 -o ens18 -j MASQUERADE; iptables -t nat -D POSTROUTING -s 10.10.251.0/24 -d 192.168.0.0/24 -o ens19 -j MASQUERADE

&#91;Peer]
PublicKey = &lt;вставь что вернет - cat /etc/wireguard/server.pub&gt;
PresharedKey = &lt;вставь что вернет - cat /etc/wireguard/clients/client1.psk&gt;
AllowedIPs = 0.0.0.0/0
Endpoint = vpn.example.com:51820
PersistentKeepalive = 25</code></pre>



<p>Это настройки именно на стороне клиента, теперь надо сделать так чтобы сервер знал что этот клиент будет подключаться, для этого снова открываем файл wg0.conf и добавляем устройство которое может подключаться:</p>



<pre class="wp-block-code"><code>sudo nano /etc/wireguard/wg0.conf</code></pre>



<pre class="wp-block-code"><code>&#91;Peer]
PublicKey = &lt;вставь что вернет - cat /etc/wireguard/client1.pub&gt;
PresharedKey = &lt;вставь что вернет - cat /etc/wireguard/client1.psk&gt;
AllowedIPs = 10.0.1.10/32</code></pre>



<p>Дальше чтобы применить изменения надо перезагрузить сервер WireGuard:</p>



<pre class="wp-block-code"><code>sudo systemctl restart wg-quick@wg0</code></pre>



<p>Можно это же сделать и не вручную а с помощью специальной команды, она позволяет добавить в конфиг сервера еще один Peer.</p>



<pre class="wp-block-code"><code>sudo wg set wg0 \
  peer &lt;КЛИЕНТ_PUBKEY&gt; \
  preshared-key &lt;(cat client1.psk) \
  allowed-ips 10.0.1.10/32</code></pre>



<p>Для простоты есть генератор QR кода для клиента:</p>



<pre class="wp-block-code"><code>sudo apt install qrencode<br>qrencode -t ansiutf8 &lt; client1.conf</code></pre>



<p><a href="https://wiki.pwodev.com/%d1%83%d1%81%d1%82%d0%b0%d0%bd%d0%b0%d0%b2%d0%bb%d0%b8%d0%b2%d0%b0%d0%b5%d0%bc-%d1%81%d0%b0%d0%bc%d1%8b%d0%b9-%d0%b1%d1%8b%d1%81%d1%82%d1%80%d1%8b%d0%b9-wireguard-vpn-server/" target="_blank" rel="noreferrer noopener">Быстрый автоматический способ установки WireGuard</a> я писал в другой статье. </p>
<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fwiki.pwodev.com%2F%25d1%2587%25d1%2582%25d0%25be-%25d1%2582%25d0%25b0%25d0%25ba%25d0%25be%25d0%25b5-wireguard-%25d0%25bf%25d0%25be%25d0%25bb%25d0%25bd%25d0%25be%25d0%25b5-%25d0%25b8-%25d0%25bf%25d0%25be%25d0%25b4%25d1%2580%25d0%25be%25d0%25b1%25d0%25bd%25d0%25be%25d0%25b5-%25d0%25be%25d0%25bf%25d0%25b8%25d1%2581%25d0%25b0%25d0%25bd%2F&amp;linkname=%D0%A7%D1%82%D0%BE%20%D1%82%D0%B0%D0%BA%D0%BE%D0%B5%20WireGuard%20%E2%80%94%20%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D0%B5%2C%20%D0%BF%D0%BE%D0%B4%D1%80%D0%BE%D0%B1%D0%BD%D0%BE%D0%B5%20%D0%BE%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%B8%20%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_vk" href="https://www.addtoany.com/add_to/vk?linkurl=https%3A%2F%2Fwiki.pwodev.com%2F%25d1%2587%25d1%2582%25d0%25be-%25d1%2582%25d0%25b0%25d0%25ba%25d0%25be%25d0%25b5-wireguard-%25d0%25bf%25d0%25be%25d0%25bb%25d0%25bd%25d0%25be%25d0%25b5-%25d0%25b8-%25d0%25bf%25d0%25be%25d0%25b4%25d1%2580%25d0%25be%25d0%25b1%25d0%25bd%25d0%25be%25d0%25b5-%25d0%25be%25d0%25bf%25d0%25b8%25d1%2581%25d0%25b0%25d0%25bd%2F&amp;linkname=%D0%A7%D1%82%D0%BE%20%D1%82%D0%B0%D0%BA%D0%BE%D0%B5%20WireGuard%20%E2%80%94%20%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D0%B5%2C%20%D0%BF%D0%BE%D0%B4%D1%80%D0%BE%D0%B1%D0%BD%D0%BE%D0%B5%20%D0%BE%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%B8%20%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0" title="VK" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=https%3A%2F%2Fwiki.pwodev.com%2F%25d1%2587%25d1%2582%25d0%25be-%25d1%2582%25d0%25b0%25d0%25ba%25d0%25be%25d0%25b5-wireguard-%25d0%25bf%25d0%25be%25d0%25bb%25d0%25bd%25d0%25be%25d0%25b5-%25d0%25b8-%25d0%25bf%25d0%25be%25d0%25b4%25d1%2580%25d0%25be%25d0%25b1%25d0%25bd%25d0%25be%25d0%25b5-%25d0%25be%25d0%25bf%25d0%25b8%25d1%2581%25d0%25b0%25d0%25bd%2F&amp;linkname=%D0%A7%D1%82%D0%BE%20%D1%82%D0%B0%D0%BA%D0%BE%D0%B5%20WireGuard%20%E2%80%94%20%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D0%B5%2C%20%D0%BF%D0%BE%D0%B4%D1%80%D0%BE%D0%B1%D0%BD%D0%BE%D0%B5%20%D0%BE%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%B8%20%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Fwiki.pwodev.com%2F%25d1%2587%25d1%2582%25d0%25be-%25d1%2582%25d0%25b0%25d0%25ba%25d0%25be%25d0%25b5-wireguard-%25d0%25bf%25d0%25be%25d0%25bb%25d0%25bd%25d0%25be%25d0%25b5-%25d0%25b8-%25d0%25bf%25d0%25be%25d0%25b4%25d1%2580%25d0%25be%25d0%25b1%25d0%25bd%25d0%25be%25d0%25b5-%25d0%25be%25d0%25bf%25d0%25b8%25d1%2581%25d0%25b0%25d0%25bd%2F&amp;linkname=%D0%A7%D1%82%D0%BE%20%D1%82%D0%B0%D0%BA%D0%BE%D0%B5%20WireGuard%20%E2%80%94%20%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D0%B5%2C%20%D0%BF%D0%BE%D0%B4%D1%80%D0%BE%D0%B1%D0%BD%D0%BE%D0%B5%20%D0%BE%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%B8%20%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_skype" href="https://www.addtoany.com/add_to/skype?linkurl=https%3A%2F%2Fwiki.pwodev.com%2F%25d1%2587%25d1%2582%25d0%25be-%25d1%2582%25d0%25b0%25d0%25ba%25d0%25be%25d0%25b5-wireguard-%25d0%25bf%25d0%25be%25d0%25bb%25d0%25bd%25d0%25be%25d0%25b5-%25d0%25b8-%25d0%25bf%25d0%25be%25d0%25b4%25d1%2580%25d0%25be%25d0%25b1%25d0%25bd%25d0%25be%25d0%25b5-%25d0%25be%25d0%25bf%25d0%25b8%25d1%2581%25d0%25b0%25d0%25bd%2F&amp;linkname=%D0%A7%D1%82%D0%BE%20%D1%82%D0%B0%D0%BA%D0%BE%D0%B5%20WireGuard%20%E2%80%94%20%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D0%B5%2C%20%D0%BF%D0%BE%D0%B4%D1%80%D0%BE%D0%B1%D0%BD%D0%BE%D0%B5%20%D0%BE%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%B8%20%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0" title="Skype" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_whatsapp" href="https://www.addtoany.com/add_to/whatsapp?linkurl=https%3A%2F%2Fwiki.pwodev.com%2F%25d1%2587%25d1%2582%25d0%25be-%25d1%2582%25d0%25b0%25d0%25ba%25d0%25be%25d0%25b5-wireguard-%25d0%25bf%25d0%25be%25d0%25bb%25d0%25bd%25d0%25be%25d0%25b5-%25d0%25b8-%25d0%25bf%25d0%25be%25d0%25b4%25d1%2580%25d0%25be%25d0%25b1%25d0%25bd%25d0%25be%25d0%25b5-%25d0%25be%25d0%25bf%25d0%25b8%25d1%2581%25d0%25b0%25d0%25bd%2F&amp;linkname=%D0%A7%D1%82%D0%BE%20%D1%82%D0%B0%D0%BA%D0%BE%D0%B5%20WireGuard%20%E2%80%94%20%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D0%B5%2C%20%D0%BF%D0%BE%D0%B4%D1%80%D0%BE%D0%B1%D0%BD%D0%BE%D0%B5%20%D0%BE%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%B8%20%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0" title="WhatsApp" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwiki.pwodev.com%2F%25d1%2587%25d1%2582%25d0%25be-%25d1%2582%25d0%25b0%25d0%25ba%25d0%25be%25d0%25b5-wireguard-%25d0%25bf%25d0%25be%25d0%25bb%25d0%25bd%25d0%25be%25d0%25b5-%25d0%25b8-%25d0%25bf%25d0%25be%25d0%25b4%25d1%2580%25d0%25be%25d0%25b1%25d0%25bd%25d0%25be%25d0%25b5-%25d0%25be%25d0%25bf%25d0%25b8%25d1%2581%25d0%25b0%25d0%25bd%2F&#038;title=%D0%A7%D1%82%D0%BE%20%D1%82%D0%B0%D0%BA%D0%BE%D0%B5%20WireGuard%20%E2%80%94%20%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D0%B5%2C%20%D0%BF%D0%BE%D0%B4%D1%80%D0%BE%D0%B1%D0%BD%D0%BE%D0%B5%20%D0%BE%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%B8%20%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0" data-a2a-url="https://wiki.pwodev.com/%d1%87%d1%82%d0%be-%d1%82%d0%b0%d0%ba%d0%be%d0%b5-wireguard-%d0%bf%d0%be%d0%bb%d0%bd%d0%be%d0%b5-%d0%b8-%d0%bf%d0%be%d0%b4%d1%80%d0%be%d0%b1%d0%bd%d0%be%d0%b5-%d0%be%d0%bf%d0%b8%d1%81%d0%b0%d0%bd/" data-a2a-title="Что такое WireGuard — полное, подробное описание и настройка"></a></p><p>Сообщение <a href="https://wiki.pwodev.com/%d1%87%d1%82%d0%be-%d1%82%d0%b0%d0%ba%d0%be%d0%b5-wireguard-%d0%bf%d0%be%d0%bb%d0%bd%d0%be%d0%b5-%d0%b8-%d0%bf%d0%be%d0%b4%d1%80%d0%be%d0%b1%d0%bd%d0%be%d0%b5-%d0%be%d0%bf%d0%b8%d1%81%d0%b0%d0%bd/">Что такое WireGuard &#8212; полное, подробное описание и настройка</a> появились сначала на <a href="https://wiki.pwodev.com">Wiki | PWODEV</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://wiki.pwodev.com/%d1%87%d1%82%d0%be-%d1%82%d0%b0%d0%ba%d0%be%d0%b5-wireguard-%d0%bf%d0%be%d0%bb%d0%bd%d0%be%d0%b5-%d0%b8-%d0%bf%d0%be%d0%b4%d1%80%d0%be%d0%b1%d0%bd%d0%be%d0%b5-%d0%be%d0%bf%d0%b8%d1%81%d0%b0%d0%bd/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Устанавливаем самый быстрый WireGuard VPN Server</title>
		<link>https://wiki.pwodev.com/%d1%83%d1%81%d1%82%d0%b0%d0%bd%d0%b0%d0%b2%d0%bb%d0%b8%d0%b2%d0%b0%d0%b5%d0%bc-%d1%81%d0%b0%d0%bc%d1%8b%d0%b9-%d0%b1%d1%8b%d1%81%d1%82%d1%80%d1%8b%d0%b9-wireguard-vpn-server/</link>
					<comments>https://wiki.pwodev.com/%d1%83%d1%81%d1%82%d0%b0%d0%bd%d0%b0%d0%b2%d0%bb%d0%b8%d0%b2%d0%b0%d0%b5%d0%bc-%d1%81%d0%b0%d0%bc%d1%8b%d0%b9-%d0%b1%d1%8b%d1%81%d1%82%d1%80%d1%8b%d0%b9-wireguard-vpn-server/#respond</comments>
		
		<dc:creator><![CDATA[Paul Osmachko]]></dc:creator>
		<pubDate>Wed, 08 Jan 2025 21:01:54 +0000</pubDate>
				<category><![CDATA[Server]]></category>
		<guid isPermaLink="false">https://wiki.pwodev.com/?p=1806</guid>

					<description><![CDATA[<p>Существует много разных вариантов VPN серверов, один из самых популярных это OpenVPN, но проблема в том что он к сожалению медленный, и делает существенную задержку, зато очень надежный и поддерживает большее количество разных устройств. Я тебе сейчас скажу что есть возможность иметь достаточно надежный VPN да еще и с минимальной задержкой и с минимальной потерей [&#8230;]</p>
<p>Сообщение <a href="https://wiki.pwodev.com/%d1%83%d1%81%d1%82%d0%b0%d0%bd%d0%b0%d0%b2%d0%bb%d0%b8%d0%b2%d0%b0%d0%b5%d0%bc-%d1%81%d0%b0%d0%bc%d1%8b%d0%b9-%d0%b1%d1%8b%d1%81%d1%82%d1%80%d1%8b%d0%b9-wireguard-vpn-server/">Устанавливаем самый быстрый WireGuard VPN Server</a> появились сначала на <a href="https://wiki.pwodev.com">Wiki | PWODEV</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Существует много разных вариантов VPN серверов, один из самых популярных это OpenVPN, но проблема в том что он к сожалению медленный, и делает существенную задержку, зато очень надежный и поддерживает большее количество разных устройств. Я тебе сейчас скажу что есть возможность иметь достаточно надежный VPN да еще и с минимальной задержкой и с минимальной потерей скорости. Называется этот VPN &#8212; WireGuard.</p>



<p>Сегодня мы установим WireGuard сервер на Ubuntu. Есть способ установки нативно, но там прийдется заморочиться с настройками, поэтому сразу перейду к более простому способу через WireGuard Manager:</p>



<pre class="wp-block-code"><code>curl -O https://raw.githubusercontent.com/complexorganizations/wireguard-manager/main/wireguard-manager.sh
chmod +x wireguard-manager.sh
sudo ./wireguard-manager.sh</code></pre>



<p>Тут соглашаемся с настройками по умолчанию, кроме DNS. Как только вы увидите это сообщение, выбирайте 2) Custom (Advanced)</p>



<pre class="wp-block-code"><code>Which DNS provider would you like to use?
  1) Unbound (Recommended)
  2) Custom (Advanced)
</code></pre>



<p>А дальше выбираем DNS какие больше всего нравятся, например Cloudflare или Google</p>



<pre class="wp-block-code"><code>Select the DNS provider you wish to use with your WireGuard connection:
  1) Cloudflare (Recommended)
  2) AdGuard
  3) NextDNS
  4) OpenDNS
  5) Google
  6) Verisign
  7) Quad9
  8) FDN
  9) Custom (Advanced)</code></pre>



<p>Дальше все по умолчанию. В самом конце появится QR код и настройки клиента. Теперь осталось скачать и установить клиент на ваше устройство с официального сайта <a href="https://www.wireguard.com/install/">https://www.wireguard.com/install/</a></p>



<p>На этом все, можно наслаждаться своим собственным, супер быстрым VPN.</p>
<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fwiki.pwodev.com%2F%25d1%2583%25d1%2581%25d1%2582%25d0%25b0%25d0%25bd%25d0%25b0%25d0%25b2%25d0%25bb%25d0%25b8%25d0%25b2%25d0%25b0%25d0%25b5%25d0%25bc-%25d1%2581%25d0%25b0%25d0%25bc%25d1%258b%25d0%25b9-%25d0%25b1%25d1%258b%25d1%2581%25d1%2582%25d1%2580%25d1%258b%25d0%25b9-wireguard-vpn-server%2F&amp;linkname=%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%B0%D0%B2%D0%BB%D0%B8%D0%B2%D0%B0%D0%B5%D0%BC%20%D1%81%D0%B0%D0%BC%D1%8B%D0%B9%20%D0%B1%D1%8B%D1%81%D1%82%D1%80%D1%8B%D0%B9%20WireGuard%20VPN%20Server" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_vk" href="https://www.addtoany.com/add_to/vk?linkurl=https%3A%2F%2Fwiki.pwodev.com%2F%25d1%2583%25d1%2581%25d1%2582%25d0%25b0%25d0%25bd%25d0%25b0%25d0%25b2%25d0%25bb%25d0%25b8%25d0%25b2%25d0%25b0%25d0%25b5%25d0%25bc-%25d1%2581%25d0%25b0%25d0%25bc%25d1%258b%25d0%25b9-%25d0%25b1%25d1%258b%25d1%2581%25d1%2582%25d1%2580%25d1%258b%25d0%25b9-wireguard-vpn-server%2F&amp;linkname=%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%B0%D0%B2%D0%BB%D0%B8%D0%B2%D0%B0%D0%B5%D0%BC%20%D1%81%D0%B0%D0%BC%D1%8B%D0%B9%20%D0%B1%D1%8B%D1%81%D1%82%D1%80%D1%8B%D0%B9%20WireGuard%20VPN%20Server" title="VK" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=https%3A%2F%2Fwiki.pwodev.com%2F%25d1%2583%25d1%2581%25d1%2582%25d0%25b0%25d0%25bd%25d0%25b0%25d0%25b2%25d0%25bb%25d0%25b8%25d0%25b2%25d0%25b0%25d0%25b5%25d0%25bc-%25d1%2581%25d0%25b0%25d0%25bc%25d1%258b%25d0%25b9-%25d0%25b1%25d1%258b%25d1%2581%25d1%2582%25d1%2580%25d1%258b%25d0%25b9-wireguard-vpn-server%2F&amp;linkname=%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%B0%D0%B2%D0%BB%D0%B8%D0%B2%D0%B0%D0%B5%D0%BC%20%D1%81%D0%B0%D0%BC%D1%8B%D0%B9%20%D0%B1%D1%8B%D1%81%D1%82%D1%80%D1%8B%D0%B9%20WireGuard%20VPN%20Server" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Fwiki.pwodev.com%2F%25d1%2583%25d1%2581%25d1%2582%25d0%25b0%25d0%25bd%25d0%25b0%25d0%25b2%25d0%25bb%25d0%25b8%25d0%25b2%25d0%25b0%25d0%25b5%25d0%25bc-%25d1%2581%25d0%25b0%25d0%25bc%25d1%258b%25d0%25b9-%25d0%25b1%25d1%258b%25d1%2581%25d1%2582%25d1%2580%25d1%258b%25d0%25b9-wireguard-vpn-server%2F&amp;linkname=%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%B0%D0%B2%D0%BB%D0%B8%D0%B2%D0%B0%D0%B5%D0%BC%20%D1%81%D0%B0%D0%BC%D1%8B%D0%B9%20%D0%B1%D1%8B%D1%81%D1%82%D1%80%D1%8B%D0%B9%20WireGuard%20VPN%20Server" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_skype" href="https://www.addtoany.com/add_to/skype?linkurl=https%3A%2F%2Fwiki.pwodev.com%2F%25d1%2583%25d1%2581%25d1%2582%25d0%25b0%25d0%25bd%25d0%25b0%25d0%25b2%25d0%25bb%25d0%25b8%25d0%25b2%25d0%25b0%25d0%25b5%25d0%25bc-%25d1%2581%25d0%25b0%25d0%25bc%25d1%258b%25d0%25b9-%25d0%25b1%25d1%258b%25d1%2581%25d1%2582%25d1%2580%25d1%258b%25d0%25b9-wireguard-vpn-server%2F&amp;linkname=%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%B0%D0%B2%D0%BB%D0%B8%D0%B2%D0%B0%D0%B5%D0%BC%20%D1%81%D0%B0%D0%BC%D1%8B%D0%B9%20%D0%B1%D1%8B%D1%81%D1%82%D1%80%D1%8B%D0%B9%20WireGuard%20VPN%20Server" title="Skype" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_whatsapp" href="https://www.addtoany.com/add_to/whatsapp?linkurl=https%3A%2F%2Fwiki.pwodev.com%2F%25d1%2583%25d1%2581%25d1%2582%25d0%25b0%25d0%25bd%25d0%25b0%25d0%25b2%25d0%25bb%25d0%25b8%25d0%25b2%25d0%25b0%25d0%25b5%25d0%25bc-%25d1%2581%25d0%25b0%25d0%25bc%25d1%258b%25d0%25b9-%25d0%25b1%25d1%258b%25d1%2581%25d1%2582%25d1%2580%25d1%258b%25d0%25b9-wireguard-vpn-server%2F&amp;linkname=%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%B0%D0%B2%D0%BB%D0%B8%D0%B2%D0%B0%D0%B5%D0%BC%20%D1%81%D0%B0%D0%BC%D1%8B%D0%B9%20%D0%B1%D1%8B%D1%81%D1%82%D1%80%D1%8B%D0%B9%20WireGuard%20VPN%20Server" title="WhatsApp" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwiki.pwodev.com%2F%25d1%2583%25d1%2581%25d1%2582%25d0%25b0%25d0%25bd%25d0%25b0%25d0%25b2%25d0%25bb%25d0%25b8%25d0%25b2%25d0%25b0%25d0%25b5%25d0%25bc-%25d1%2581%25d0%25b0%25d0%25bc%25d1%258b%25d0%25b9-%25d0%25b1%25d1%258b%25d1%2581%25d1%2582%25d1%2580%25d1%258b%25d0%25b9-wireguard-vpn-server%2F&#038;title=%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%B0%D0%B2%D0%BB%D0%B8%D0%B2%D0%B0%D0%B5%D0%BC%20%D1%81%D0%B0%D0%BC%D1%8B%D0%B9%20%D0%B1%D1%8B%D1%81%D1%82%D1%80%D1%8B%D0%B9%20WireGuard%20VPN%20Server" data-a2a-url="https://wiki.pwodev.com/%d1%83%d1%81%d1%82%d0%b0%d0%bd%d0%b0%d0%b2%d0%bb%d0%b8%d0%b2%d0%b0%d0%b5%d0%bc-%d1%81%d0%b0%d0%bc%d1%8b%d0%b9-%d0%b1%d1%8b%d1%81%d1%82%d1%80%d1%8b%d0%b9-wireguard-vpn-server/" data-a2a-title="Устанавливаем самый быстрый WireGuard VPN Server"></a></p><p>Сообщение <a href="https://wiki.pwodev.com/%d1%83%d1%81%d1%82%d0%b0%d0%bd%d0%b0%d0%b2%d0%bb%d0%b8%d0%b2%d0%b0%d0%b5%d0%bc-%d1%81%d0%b0%d0%bc%d1%8b%d0%b9-%d0%b1%d1%8b%d1%81%d1%82%d1%80%d1%8b%d0%b9-wireguard-vpn-server/">Устанавливаем самый быстрый WireGuard VPN Server</a> появились сначала на <a href="https://wiki.pwodev.com">Wiki | PWODEV</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://wiki.pwodev.com/%d1%83%d1%81%d1%82%d0%b0%d0%bd%d0%b0%d0%b2%d0%bb%d0%b8%d0%b2%d0%b0%d0%b5%d0%bc-%d1%81%d0%b0%d0%bc%d1%8b%d0%b9-%d0%b1%d1%8b%d1%81%d1%82%d1%80%d1%8b%d0%b9-wireguard-vpn-server/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>PiKVM &#8212; Делаем KVM на основе Raspberry Pi 4</title>
		<link>https://wiki.pwodev.com/pikvm-%d0%b4%d0%b5%d0%bb%d0%b0%d0%b5%d0%bc-kvm-%d0%bd%d0%b0-%d0%be%d1%81%d0%bd%d0%be%d0%b2%d0%b5-raspberry-pi-4/</link>
					<comments>https://wiki.pwodev.com/pikvm-%d0%b4%d0%b5%d0%bb%d0%b0%d0%b5%d0%bc-kvm-%d0%bd%d0%b0-%d0%be%d1%81%d0%bd%d0%be%d0%b2%d0%b5-raspberry-pi-4/#respond</comments>
		
		<dc:creator><![CDATA[Paul Osmachko]]></dc:creator>
		<pubDate>Wed, 20 Mar 2024 21:42:21 +0000</pubDate>
				<category><![CDATA[Server]]></category>
		<category><![CDATA[KVM]]></category>
		<category><![CDATA[PiKVM]]></category>
		<category><![CDATA[Raspberry]]></category>
		<category><![CDATA[Remote Desktop]]></category>
		<guid isPermaLink="false">https://wiki.pwodev.com/?p=1741</guid>

					<description><![CDATA[<p>На серверах HP есть такая замечательная штука как iLO, на серверах Dell есть своя система удаленного администрирования сервера, но на обычных компьютерах такой штуки нет, приходится придумывать костыли. Ило или КВМ нужно нам для того чтобы удаленно запустить, перезагрузить, выключить компьютер. Вы скажете для этого же можно использовать TeamViewer? С одной стороны да, с другой [&#8230;]</p>
<p>Сообщение <a href="https://wiki.pwodev.com/pikvm-%d0%b4%d0%b5%d0%bb%d0%b0%d0%b5%d0%bc-kvm-%d0%bd%d0%b0-%d0%be%d1%81%d0%bd%d0%be%d0%b2%d0%b5-raspberry-pi-4/">PiKVM &#8212; Делаем KVM на основе Raspberry Pi 4</a> появились сначала на <a href="https://wiki.pwodev.com">Wiki | PWODEV</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>На серверах HP есть такая замечательная штука как iLO, на серверах Dell есть своя система удаленного администрирования сервера, но на обычных компьютерах такой штуки нет, приходится придумывать костыли. Ило или КВМ нужно нам для того чтобы удаленно запустить, перезагрузить, выключить компьютер. Вы скажете для этого же можно использовать TeamViewer? С одной стороны да, с другой же если вам например нужно удаленно переустановить систему или просто зайти в биос, сделать этого с помощью TeamViewer или его аналогов &#8212; невозможно. Для решения этих задач и предназначен так называемый KVM. Сегодня я вам расскажу как собрать свой KVM который будет работать на любом компьютере на основе Raspberry Pi.</p>



<p>Для начала нам необходимо купить следующее оборудование:</p>



<ul class="wp-block-list">
<li>Geekworm KVM-A3</li>



<li>Raspberry Pi 4 (4GB)</li>



<li>Power supply USB-C 5.1V, 3A</li>



<li>microSDHC SanDisk Extreme 32 GB</li>



<li>HDMI Cable</li>
</ul>



<p>Оборудование купили теперь можно собирать.</p>



<p>Полную сборку можно посмотреть в этом видео:</p>



<p></p>



<h2 class="wp-block-heading">Сборка Geekworm KVM-A3 с Raspberry Pi 4</h2>



<p>Официальный сайт этой замечательной коробочки со всей нужной информацией: <a href="https://wiki.geekworm.com/PiKVM-A3" target="_blank" rel="noreferrer noopener">https://wiki.geekworm.com/PiKVM-A3</a></p>



<figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" width="1024" height="768" src="https://wiki.pwodev.com/wp-content/uploads/2024/03/IMG_7885.HEIC_compressed-1024x768.jpeg" alt="" class="wp-image-1742" srcset="https://wiki.pwodev.com/wp-content/uploads/2024/03/IMG_7885.HEIC_compressed-1024x768.jpeg 1024w, https://wiki.pwodev.com/wp-content/uploads/2024/03/IMG_7885.HEIC_compressed-300x225.jpeg 300w, https://wiki.pwodev.com/wp-content/uploads/2024/03/IMG_7885.HEIC_compressed-768x576.jpeg 768w, https://wiki.pwodev.com/wp-content/uploads/2024/03/IMG_7885.HEIC_compressed-1536x1152.jpeg 1536w, https://wiki.pwodev.com/wp-content/uploads/2024/03/IMG_7885.HEIC_compressed-400x300.jpeg 400w, https://wiki.pwodev.com/wp-content/uploads/2024/03/IMG_7885.HEIC_compressed.jpeg 1707w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>Собираем PiKVM в следующем порядке:</p>



<ol class="wp-block-list">
<li>Раскручиваем корпус (8 болтов) и вытаскиваем из него пакетик с болтиками и наклейками</li>



<li>Приклеиваем рамочку на крышку</li>



<li>Приклеиваем 4 резиновые ножки к корпусу</li>



<li>Распаковываем Raspberry Pi 4</li>



<li>Приклеиваем 3 охлаждения к Raspberry Pi 4</li>



<li>Берем пакет с платой HDMI IN и вытаскиваем шлейф и черный кабель с белыми разъемами это аудио кабель.</li>



<li>Подключаем аудио кабель в разъем на плате HDMI IN</li>



<li>Подключаем шлейф к Raspberry Pi 4 надписями вверх и синей наклейкой к разъему</li>



<li>Берем пакет в платой KVM вытаскиваем из него болты, нам нужны 4 столбика золотого цвета</li>



<li>Дальше берем 4 болтика золотого цвета (из пакета от корпуса) и ставим на них Raspberry Pi 4, с другой стороны прикручиваем 4 столбика.</li>



<li>Берем плату KVM и одеваем ее на Raspberry Pi 4. Шлейф должен пройти в отверстие в плате.</li>



<li>Прикручиваем 4 черными болтами плату KVM к золотым столбикам на Raspberry Pi.</li>



<li>Берем плату HDMI IN и вставляем торчащий из KVM шлейф в плату (синей наклейкой вверх).</li>



<li>Берем 3 черных болта и прикручиваем HDMI IN плату к KVM плате, шлейф должен аккуратно ложиться.</li>



<li>Подключаем аудио разъем из платы HDMI IN в KVM плату</li>



<li>Берем коробочку с дисплеем</li>



<li>Вставляем дисплей в разъем на плате KVM и прикручиваем 2 длинными болтами (шли в коробке с дисплеем), </li>



<li>Отклеиваем пленку на дисплее</li>



<li>Вставляем все в корпус, 4 ножки что на Raspberry Pi должны совпасть с дырками на корпусе</li>



<li>Прикручиваем корпус и ножки Raspberry Pi 4 черными болтами из пакета с корпусом</li>



<li>Одеваем крышку корпуса и прикручиваем его 8 черными болтами из первого пункта.</li>
</ol>



<p>Корпус собран, теперь идем к компьютеру устанавливать PiKVM OS на MicroSD карточку.</p>



<ol class="wp-block-list">
<li>Вставляем MicroSD в компьютер</li>



<li>Идем на <a href="https://pikvm.org/download/" target="_blank" rel="noreferrer noopener">сайт PiKVM</a> и скачиваем последнюю версию PiKVM OS (<a href="https://files.pikvm.org/images/v3-hdmi-rpi4-box-latest.img.xz" target="_blank" rel="noreferrer noopener">V3 Pre-Assembled</a>)</li>



<li>Скачиваем и устанавливаем установщик <a href="https://www.raspberrypi.com/software/" target="_blank" rel="noreferrer noopener">Raspberry Pi OS</a></li>



<li>Запускаем установщик Raspberry Pi OS</li>



<li>Выбираем девайс &#8212; Raspberry Pi 4</li>



<li>Выбираем OS &#8212; Use custom в самом низу списка, и выбираем скаченный нами образ PiKVM OS из пункта 2</li>



<li>Выбираем MicroSD который мы вставили в пункте 1</li>



<li>Жмем далее</li>



<li>потом NO (мы не хотим кастомные настройки сохранять)</li>



<li>потом YES (да мы понимаем что с MicroSD все удалится)</li>



<li>Процесс установки пошел, ждем.</li>



<li>После того как процесс закончился, вытаскиваем MicroSD из компьютера и вставляем еще раз, чтобы записать по умолчанию настройки WIFI.</li>



<li>Заходим на MicroSD ищем файл pikvm.txt открываем его и дописываем настройки WIFI:</li>
</ol>



<pre class="wp-block-code"><code>WIFI_ESSID='mynet' 
WIFI_PASSWD='p@s$$w0rd'</code></pre>



<p>при этом FIRST_BOOT=1 должно остаться.</p>



<ol start="14" class="wp-block-list">
<li>Сохраняем файл и отключаем MicroSD </li>



<li>Готовый MicroSD подключаем в Raspberry Pi 4 через соответствующее отверстие в корпусе KVM</li>



<li>Подключаем LAN кабель к KVM</li>



<li>Затем подключаем KVM к питанию и ждем пока на дисплее появится IP адрес KVM.</li>
</ol>



<p>Готово, если мы видим IP адрес то система работает правильно. </p>



<p>Теперь нужно поменять пароли. По умолчанию пароли для web интерфейса:<br>Юзер: <strong>admin</strong><br>Пароль: <strong>admin</strong><br>И для ssh:<br>Юзер: <strong>root</strong><br>Пароль: <strong>root</strong><br>Заходим в браузере по IP который мы видим на дисплее КВМ, вводим юзер и пароль по умолчанию admin, admin. Дальше выбираем Терминал по очереди и пишем следующие команды:</p>



<p>залогинеться как root:</p>



<pre class="wp-block-code"><code>su</code></pre>



<p>открыть систему для записи:</p>



<pre class="wp-block-code"><code>rw</code></pre>



<p>поменять пароль root:</p>



<pre class="wp-block-code"><code>passwd root</code></pre>



<p>поменять пароль веб интерфейса:</p>



<pre class="wp-block-code"><code>kvmd-htpasswd set admin</code></pre>



<p>сделать по умолчанию Full HD:</p>



<pre class="wp-block-code"><code>kvmd-edidconf --import-preset=v3.1080p-by-default</code></pre>



<p>закрыть систему для записи:</p>



<pre class="wp-block-code"><code>ro</code></pre>



<p>запустить обновление:</p>



<pre class="wp-block-code"><code>pikvm-update</code></pre>



<p>После этого система перезагрузиться, и мы получим обновленный pikvm с новыми паролями. Дальше выключаем питание и переходим к подключению, через плату переходник, пинов кнопок питания, ресета и LED на материнской плате компьютера куда будем ставить KVM.</p>



<p>После установки платы в компьютер можно делать финальное подключение KVM к компьютеру. Берем наш собранный KVM и подключаем следующие разъемы:</p>



<ol class="wp-block-list">
<li>ATX &#8212; подключаем желтым LAN кабелем из комплекта в плату что мы установили в компьютер (управляет кнопками питания и ресета компютера)</li>



<li>HDMI IN &#8212; подключаем HDMI кабелем (не входит в комплект) к любому HDMI разъему компьютера, лучше к видео карте если имеется.</li>



<li>Ethernet &#8212; подключаем LAN кабелем к роутеру или свичу локальной сети где есть DHCP. Нужно для доступа к KVM. Можно также настроить и фиксированный IP, если нет DHCP или KVM должен быть доступен на прямую в интернет (что не рекомендую из соображений безопасности и не нужного использовании публичного IP адреса)</li>



<li>OTG &#8212; подключаем USB-C to USB-A кабель (входящий в комплект) в любой USB разъем компьютера. Для имитации клавиатуры, мышки, и внешней флешки</li>



<li>PWR IN &#8212; подключаем в самую последнюю очередь блок питания USB-C 5.1V, 3A.</li>
</ol>



<p>Готово! Система загрузится, мы увидим IP адрес, и теперь мы можем через веб интерфейс пользоваться компьютером удаленно.</p>



<h2 class="wp-block-heading">WIFI</h2>



<p>Если мы не записали настройки WIFI при загрузки или нам надо поменять настройки вайфай подключаемся к PiKVM через ssh или веб интерфейс заходим в терминал и делаем следующие команды:</p>



<pre class="wp-block-code"><code>su</code></pre>



<p>чтобы наверняка выполнять команды от администратора</p>



<pre class="wp-block-code"><code>rw</code></pre>



<p>чтобы включить режим записи настроек</p>



<pre class="wp-block-code"><code>nano /etc/systemd/network/wlan0.network</code></pre>



<p>открываем файл или создаем если не существует и заполняем его следующими настройками:</p>



<pre class="wp-block-code"><code>&#91;Match]
Name=wlan0

&#91;Network]
DHCP=yes
DNSSEC=no

&#91;DHCP]
ClientIdentifier=mac
RouteMetric=50</code></pre>



<p>сохраняем и делаем настройки самой сети WIFI не забудьте поменять <strong>mynet</strong> и <strong>password</strong> на свои от своего WIFI:</p>



<pre class="wp-block-code"><code>wpa_passphrase 'mynet' 'p@s$$w0rd' &gt; /etc/wpa_supplicant/wpa_supplicant-wlan0.conf</code></pre>



<p>дальше делаем правильные права на файл:</p>



<pre class="wp-block-code"><code>chmod 640 /etc/wpa_supplicant/wpa_supplicant-wlan0.conf</code></pre>



<p>активируем настройки</p>



<pre class="wp-block-code"><code>systemctl enable wpa_supplicant@wlan0.service</code></pre>



<p>выходим из режима записи</p>



<pre class="wp-block-code"><code>ro</code></pre>



<p>теперь можно перезагрузить и после перезагрузки wifi должен подсоедениться, если нет попробуй повторить.</p>



<h2 class="wp-block-heading">Static IP</h2>



<p>чтобы сделать для LAN статический IP это же применимо и для WIFI нам надо поменять настройки. Для начала переходим в режим записи</p>



<pre class="wp-block-code"><code>rw</code></pre>



<p>потом открываем файл eth0.network или для WIFI wlan0.network</p>



<pre class="wp-block-code"><code>nano /etc/systemd/network/eth0.network</code></pre>



<p>меняем тут DHCP=yes на DHCP=no и добавляем статические данные IP выглядит оно примерно так:</p>



<pre class="wp-block-code"><code>&#91;Network]
DHCP=no
DNSSEC=no
Address=192.168.178.20/24
Gateway=192.168.178.1
DNS=192.168.178.1
DNS=8.8.8.8</code></pre>



<p>сохраняем и выходим из режима записи:</p>



<pre class="wp-block-code"><code>ro</code></pre>



<p>теперь надо перезагрузиться и настройки применятся. Готово</p>
<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fwiki.pwodev.com%2Fpikvm-%25d0%25b4%25d0%25b5%25d0%25bb%25d0%25b0%25d0%25b5%25d0%25bc-kvm-%25d0%25bd%25d0%25b0-%25d0%25be%25d1%2581%25d0%25bd%25d0%25be%25d0%25b2%25d0%25b5-raspberry-pi-4%2F&amp;linkname=PiKVM%20%E2%80%94%20%D0%94%D0%B5%D0%BB%D0%B0%D0%B5%D0%BC%20KVM%20%D0%BD%D0%B0%20%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%B5%20Raspberry%20Pi%204" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_vk" href="https://www.addtoany.com/add_to/vk?linkurl=https%3A%2F%2Fwiki.pwodev.com%2Fpikvm-%25d0%25b4%25d0%25b5%25d0%25bb%25d0%25b0%25d0%25b5%25d0%25bc-kvm-%25d0%25bd%25d0%25b0-%25d0%25be%25d1%2581%25d0%25bd%25d0%25be%25d0%25b2%25d0%25b5-raspberry-pi-4%2F&amp;linkname=PiKVM%20%E2%80%94%20%D0%94%D0%B5%D0%BB%D0%B0%D0%B5%D0%BC%20KVM%20%D0%BD%D0%B0%20%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%B5%20Raspberry%20Pi%204" title="VK" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=https%3A%2F%2Fwiki.pwodev.com%2Fpikvm-%25d0%25b4%25d0%25b5%25d0%25bb%25d0%25b0%25d0%25b5%25d0%25bc-kvm-%25d0%25bd%25d0%25b0-%25d0%25be%25d1%2581%25d0%25bd%25d0%25be%25d0%25b2%25d0%25b5-raspberry-pi-4%2F&amp;linkname=PiKVM%20%E2%80%94%20%D0%94%D0%B5%D0%BB%D0%B0%D0%B5%D0%BC%20KVM%20%D0%BD%D0%B0%20%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%B5%20Raspberry%20Pi%204" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Fwiki.pwodev.com%2Fpikvm-%25d0%25b4%25d0%25b5%25d0%25bb%25d0%25b0%25d0%25b5%25d0%25bc-kvm-%25d0%25bd%25d0%25b0-%25d0%25be%25d1%2581%25d0%25bd%25d0%25be%25d0%25b2%25d0%25b5-raspberry-pi-4%2F&amp;linkname=PiKVM%20%E2%80%94%20%D0%94%D0%B5%D0%BB%D0%B0%D0%B5%D0%BC%20KVM%20%D0%BD%D0%B0%20%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%B5%20Raspberry%20Pi%204" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_skype" href="https://www.addtoany.com/add_to/skype?linkurl=https%3A%2F%2Fwiki.pwodev.com%2Fpikvm-%25d0%25b4%25d0%25b5%25d0%25bb%25d0%25b0%25d0%25b5%25d0%25bc-kvm-%25d0%25bd%25d0%25b0-%25d0%25be%25d1%2581%25d0%25bd%25d0%25be%25d0%25b2%25d0%25b5-raspberry-pi-4%2F&amp;linkname=PiKVM%20%E2%80%94%20%D0%94%D0%B5%D0%BB%D0%B0%D0%B5%D0%BC%20KVM%20%D0%BD%D0%B0%20%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%B5%20Raspberry%20Pi%204" title="Skype" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_whatsapp" href="https://www.addtoany.com/add_to/whatsapp?linkurl=https%3A%2F%2Fwiki.pwodev.com%2Fpikvm-%25d0%25b4%25d0%25b5%25d0%25bb%25d0%25b0%25d0%25b5%25d0%25bc-kvm-%25d0%25bd%25d0%25b0-%25d0%25be%25d1%2581%25d0%25bd%25d0%25be%25d0%25b2%25d0%25b5-raspberry-pi-4%2F&amp;linkname=PiKVM%20%E2%80%94%20%D0%94%D0%B5%D0%BB%D0%B0%D0%B5%D0%BC%20KVM%20%D0%BD%D0%B0%20%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%B5%20Raspberry%20Pi%204" title="WhatsApp" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwiki.pwodev.com%2Fpikvm-%25d0%25b4%25d0%25b5%25d0%25bb%25d0%25b0%25d0%25b5%25d0%25bc-kvm-%25d0%25bd%25d0%25b0-%25d0%25be%25d1%2581%25d0%25bd%25d0%25be%25d0%25b2%25d0%25b5-raspberry-pi-4%2F&#038;title=PiKVM%20%E2%80%94%20%D0%94%D0%B5%D0%BB%D0%B0%D0%B5%D0%BC%20KVM%20%D0%BD%D0%B0%20%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%B5%20Raspberry%20Pi%204" data-a2a-url="https://wiki.pwodev.com/pikvm-%d0%b4%d0%b5%d0%bb%d0%b0%d0%b5%d0%bc-kvm-%d0%bd%d0%b0-%d0%be%d1%81%d0%bd%d0%be%d0%b2%d0%b5-raspberry-pi-4/" data-a2a-title="PiKVM — Делаем KVM на основе Raspberry Pi 4"></a></p><p>Сообщение <a href="https://wiki.pwodev.com/pikvm-%d0%b4%d0%b5%d0%bb%d0%b0%d0%b5%d0%bc-kvm-%d0%bd%d0%b0-%d0%be%d1%81%d0%bd%d0%be%d0%b2%d0%b5-raspberry-pi-4/">PiKVM &#8212; Делаем KVM на основе Raspberry Pi 4</a> появились сначала на <a href="https://wiki.pwodev.com">Wiki | PWODEV</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://wiki.pwodev.com/pikvm-%d0%b4%d0%b5%d0%bb%d0%b0%d0%b5%d0%bc-kvm-%d0%bd%d0%b0-%d0%be%d1%81%d0%bd%d0%be%d0%b2%d0%b5-raspberry-pi-4/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Поднимаем Mailcow на Centos 9</title>
		<link>https://wiki.pwodev.com/%d0%bf%d0%be%d0%b4%d0%bd%d0%b8%d0%bc%d0%b0%d0%b5%d0%bc-mailcow-%d0%bd%d0%b0-centos-9/</link>
					<comments>https://wiki.pwodev.com/%d0%bf%d0%be%d0%b4%d0%bd%d0%b8%d0%bc%d0%b0%d0%b5%d0%bc-mailcow-%d0%bd%d0%b0-centos-9/#respond</comments>
		
		<dc:creator><![CDATA[Paul Osmachko]]></dc:creator>
		<pubDate>Sun, 05 Nov 2023 23:36:41 +0000</pubDate>
				<category><![CDATA[Docker]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[mailcow]]></category>
		<guid isPermaLink="false">https://wiki.pwodev.com/?p=1719</guid>

					<description><![CDATA[<p>Параметры сервера:&#8212; CPU: 2&#215;8&#8212; RAM: 16384 Устанавливаем Centos 9, при установке не забываем подправить диск так чтобы root занимала все пространство. После установки заходим по временному паролю через ssh и меняем пароль: обновляем centos до последней версии и устанавливаем нужные нам приложения: перепроверяем что никакие порты не заняты, должно вывести пустоту Если нет, стопаем сервисы [&#8230;]</p>
<p>Сообщение <a href="https://wiki.pwodev.com/%d0%bf%d0%be%d0%b4%d0%bd%d0%b8%d0%bc%d0%b0%d0%b5%d0%bc-mailcow-%d0%bd%d0%b0-centos-9/">Поднимаем Mailcow на Centos 9</a> появились сначала на <a href="https://wiki.pwodev.com">Wiki | PWODEV</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Параметры сервера:<br>&#8212; CPU: 2&#215;8<br>&#8212; RAM: 16384</p>



<p>Устанавливаем Centos 9, при установке не забываем подправить диск так чтобы root занимала все пространство.</p>



<p>После установки заходим по временному паролю через ssh и меняем пароль:</p>



<pre class="wp-block-code"><code>passwd</code></pre>



<p>обновляем centos до последней версии и устанавливаем нужные нам приложения:</p>



<pre class="wp-block-code"><code>yum update -y &amp;&amp; yum upgrade -y &amp;&amp; yum makecache
yum -y install epel-release
yum -y install nano htop mc wget git chrony
</code></pre>



<p>перепроверяем что никакие порты не заняты, должно вывести пустоту</p>



<pre class="wp-block-code"><code>ss -tlpn | grep -E -w '25|80|110|143|443|465|587|993|995|4190'</code></pre>



<p>Если нет, стопаем сервисы что юзают эти порты. Скорее всего это порт 25 и это postfix.</p>



<pre class="wp-block-code"><code>systemctl stop postfix
yum remove postfix -y</code></pre>



<p>дальше проверяем чтобы часы правильно работали и синхронизировались:</p>



<pre class="wp-block-code"><code>timedatectl status</code></pre>



<p>обрати внимание чтобы было время правильное и включена синхронизация.</p>



<h2 class="wp-block-heading">Установка докер:</h2>



<p>сначала ставим докер:</p>



<pre class="wp-block-code"><code>curl -sSL https://get.docker.com/ | CHANNEL=stable sh
systemctl enable --now docker</code></pre>



<p>Проверяем установлен ли Selinux.</p>



<pre class="wp-block-code"><code>rpm -qa | grep container-selinux</code></pre>



<p>Эта команда должна что-то вывести, если выводит — идем дальше, если нет, то нужно установить Selinux. Теперь проверяем включен ли Selinux в докере:</p>



<pre class="wp-block-code"><code>docker info | grep selinux</code></pre>



<p>Если выключен, а он обычно выключен то открываем файл:</p>



<pre class="wp-block-code"><code>nano /etc/docker/daemon.json</code></pre>



<p>и добавляем текст:</p>



<pre class="wp-block-code"><code>{
  "selinux-enabled": true
}</code></pre>



<p>после этого сохраняем и перезапускаем докер:</p>



<pre class="wp-block-code"><code>systemctl restart docker</code></pre>



<p>теперь еще рас проверим докер на наличие selinux</p>



<pre class="wp-block-code"><code>docker info | grep selinux</code></pre>



<p>теперь выведет <strong>selinux</strong> и значит мы с докером закончили</p>



<h2 class="wp-block-heading">Установка Mailcow</h2>



<p>теперь делаем следующие команды:</p>



<pre class="wp-block-code"><code>su</code></pre>



<p>потом</p>



<pre class="wp-block-code"><code>umask</code></pre>



<p>должно вывести 0022, дальше скачиваем с гита mailcow и запускаем установщик:</p>



<pre class="wp-block-code"><code>git clone https://github.com/mailcow/mailcow-dockerized /home/mailcow
cd /home/mailcow
./generate_config.sh</code></pre>



<ol class="wp-block-list">
<li>Первое что спросит это hostname. Тут пишем название вашего домена для сервера <strong>mail.youdomain.com</strong>.</li>



<li>таймзона &#8212; жмем энтер</li>



<li>жмем <strong>1</strong> чтобы использовать стабильную версию</li>
</ol>



<p>Теперь добавляем сразу редирект http -&gt; https для этого создаем файл:</p>



<pre class="wp-block-code"><code>nano data/conf/nginx/redirect.conf</code></pre>



<p>заполняем:</p>



<pre class="wp-block-code"><code>server {
  root /web;
  listen 80 default_server;
  listen &#91;::]:80 default_server;
  include /etc/nginx/conf.d/server_name.active;
  if ( $request_uri ~* "%0A|%0D" ) { return 403; }
  location ^~ /.well-known/acme-challenge/ {
    allow all;
    default_type "text/plain";
  }
  location / {
    return 301 https://$host$uri$is_args$args;
  }
}</code></pre>



<p>Если надо подправить настройки идем сюда:</p>



<pre class="wp-block-code"><code>nano mailcow.conf</code></pre>



<p>Тут можно добавить список дополнительных доменов если надо, через запятую пишем домены в этих параметрах:</p>



<pre class="wp-block-code"><code>ADDITIONAL_SAN=mail.secondemail.com,mail.secondemail1.com
ADDITIONAL_SERVER_NAMES=mail.secondemail.com,mail.secondemail1.com</code></pre>



<p>или разрешить администратору заходить в почты всех юзеров, параметр:</p>



<pre class="wp-block-code"><code>ALLOW_ADMIN_EMAIL_LOGIN=y</code></pre>



<p>Теперь можно скачать контейнеры и запускать докер.</p>



<pre class="wp-block-code"><code>docker compose pull
docker compose up -d</code></pre>



<p>Лог посмотреть можно следующей командой:</p>



<pre class="wp-block-code"><code>docker compose logs --tail=200 -f acme-mailcow</code></pre>



<p>как только контейнеры стартовали идем в браузер по IP на котором запустили сервак: https://1.2.3.4 Стандартный пароль в админку:<br><strong>admin</strong><br><strong>moohoo</strong></p>



<p>Меняем сразу пароль и добавляем в админке домены. После этого берем ключ dkim и идем настраивать DNS:</p>



<pre class="wp-block-code"><code>A    mail    1.2.3.4
AAAA    mail    1111:111:111
CNAME    autodiscover   mail.youdomain.com. 
CNAME    autoconfig    mail.youdomain.com. 
MX 10    @    mail.youdomain.com. 
TXT    @    v=spf1 a mx ip4:1.2.3.4 ip6:1111:111:111 -all
TXT    _dmarc    v=DMARC1; p=none; sp=none; rua=mailto:postmaster@youdomain.com; ruf=mailto:postmaster@youdomain.com; fo=1; ri=86400;
TXT    dkim._domainkey    v=DKIM1;k=rsa;t=s;s=email;p=****************</code></pre>



<p>вместо 1.2.3.4 надо написать IPv4 и вместо 1111:111:111 — IPv6 адрес вашего меил сервера и вместо youdomain.com надо написать ваш домен к которому делаем изменения DNS, и вместо **************** dkim ключ который мы получили в админке.</p>



<p>После этого можно добавлять почтовые адреса и тестировать почту с помощью сервиса&nbsp;<a href="https://www.mail-tester.com/" target="_blank" rel="noreferrer noopener">https://www.mail-tester.com/</a></p>



<p>Проверяем правильность по следующим сервисам:</p>



<ul class="wp-block-list">
<li><a href="https://mxtoolbox.com/dmarc/dmarc-email-tools?referrer=cms_dmarchome" target="_blank" rel="noreferrer noopener">https://mxtoolbox.com/</a>&nbsp;или&nbsp;<a href="https://intodns.com/" target="_blank" rel="noreferrer noopener">https://intodns.com/</a>&nbsp;проверка DNS записей</li>



<li><a href="https://dmarcly.com/tools/" target="_blank" rel="noreferrer noopener">https://dmarcly.com/tools/</a>&nbsp;и&nbsp;<a href="https://powerdmarc.com/analyzer/" target="_blank" rel="noreferrer noopener">https://powerdmarc.com/analyzer/</a>— еще сервисы для проверки правильности DNS</li>



<li><a href="https://www.mail-tester.com/" target="_blank" rel="noreferrer noopener">https://www.mail-tester.com/</a>&nbsp;— тест отправки мейла</li>
</ul>



<p></p>
<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fwiki.pwodev.com%2F%25d0%25bf%25d0%25be%25d0%25b4%25d0%25bd%25d0%25b8%25d0%25bc%25d0%25b0%25d0%25b5%25d0%25bc-mailcow-%25d0%25bd%25d0%25b0-centos-9%2F&amp;linkname=%D0%9F%D0%BE%D0%B4%D0%BD%D0%B8%D0%BC%D0%B0%D0%B5%D0%BC%20Mailcow%20%D0%BD%D0%B0%20Centos%209" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_vk" href="https://www.addtoany.com/add_to/vk?linkurl=https%3A%2F%2Fwiki.pwodev.com%2F%25d0%25bf%25d0%25be%25d0%25b4%25d0%25bd%25d0%25b8%25d0%25bc%25d0%25b0%25d0%25b5%25d0%25bc-mailcow-%25d0%25bd%25d0%25b0-centos-9%2F&amp;linkname=%D0%9F%D0%BE%D0%B4%D0%BD%D0%B8%D0%BC%D0%B0%D0%B5%D0%BC%20Mailcow%20%D0%BD%D0%B0%20Centos%209" title="VK" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=https%3A%2F%2Fwiki.pwodev.com%2F%25d0%25bf%25d0%25be%25d0%25b4%25d0%25bd%25d0%25b8%25d0%25bc%25d0%25b0%25d0%25b5%25d0%25bc-mailcow-%25d0%25bd%25d0%25b0-centos-9%2F&amp;linkname=%D0%9F%D0%BE%D0%B4%D0%BD%D0%B8%D0%BC%D0%B0%D0%B5%D0%BC%20Mailcow%20%D0%BD%D0%B0%20Centos%209" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Fwiki.pwodev.com%2F%25d0%25bf%25d0%25be%25d0%25b4%25d0%25bd%25d0%25b8%25d0%25bc%25d0%25b0%25d0%25b5%25d0%25bc-mailcow-%25d0%25bd%25d0%25b0-centos-9%2F&amp;linkname=%D0%9F%D0%BE%D0%B4%D0%BD%D0%B8%D0%BC%D0%B0%D0%B5%D0%BC%20Mailcow%20%D0%BD%D0%B0%20Centos%209" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_skype" href="https://www.addtoany.com/add_to/skype?linkurl=https%3A%2F%2Fwiki.pwodev.com%2F%25d0%25bf%25d0%25be%25d0%25b4%25d0%25bd%25d0%25b8%25d0%25bc%25d0%25b0%25d0%25b5%25d0%25bc-mailcow-%25d0%25bd%25d0%25b0-centos-9%2F&amp;linkname=%D0%9F%D0%BE%D0%B4%D0%BD%D0%B8%D0%BC%D0%B0%D0%B5%D0%BC%20Mailcow%20%D0%BD%D0%B0%20Centos%209" title="Skype" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_whatsapp" href="https://www.addtoany.com/add_to/whatsapp?linkurl=https%3A%2F%2Fwiki.pwodev.com%2F%25d0%25bf%25d0%25be%25d0%25b4%25d0%25bd%25d0%25b8%25d0%25bc%25d0%25b0%25d0%25b5%25d0%25bc-mailcow-%25d0%25bd%25d0%25b0-centos-9%2F&amp;linkname=%D0%9F%D0%BE%D0%B4%D0%BD%D0%B8%D0%BC%D0%B0%D0%B5%D0%BC%20Mailcow%20%D0%BD%D0%B0%20Centos%209" title="WhatsApp" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwiki.pwodev.com%2F%25d0%25bf%25d0%25be%25d0%25b4%25d0%25bd%25d0%25b8%25d0%25bc%25d0%25b0%25d0%25b5%25d0%25bc-mailcow-%25d0%25bd%25d0%25b0-centos-9%2F&#038;title=%D0%9F%D0%BE%D0%B4%D0%BD%D0%B8%D0%BC%D0%B0%D0%B5%D0%BC%20Mailcow%20%D0%BD%D0%B0%20Centos%209" data-a2a-url="https://wiki.pwodev.com/%d0%bf%d0%be%d0%b4%d0%bd%d0%b8%d0%bc%d0%b0%d0%b5%d0%bc-mailcow-%d0%bd%d0%b0-centos-9/" data-a2a-title="Поднимаем Mailcow на Centos 9"></a></p><p>Сообщение <a href="https://wiki.pwodev.com/%d0%bf%d0%be%d0%b4%d0%bd%d0%b8%d0%bc%d0%b0%d0%b5%d0%bc-mailcow-%d0%bd%d0%b0-centos-9/">Поднимаем Mailcow на Centos 9</a> появились сначала на <a href="https://wiki.pwodev.com">Wiki | PWODEV</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://wiki.pwodev.com/%d0%bf%d0%be%d0%b4%d0%bd%d0%b8%d0%bc%d0%b0%d0%b5%d0%bc-mailcow-%d0%bd%d0%b0-centos-9/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Proxmox &#8212; apt-get update не работает</title>
		<link>https://wiki.pwodev.com/proxmox-apt-get-update-%d0%bd%d0%b5-%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%b0%d0%b5%d1%82/</link>
					<comments>https://wiki.pwodev.com/proxmox-apt-get-update-%d0%bd%d0%b5-%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%b0%d0%b5%d1%82/#respond</comments>
		
		<dc:creator><![CDATA[Paul Osmachko]]></dc:creator>
		<pubDate>Mon, 31 Jul 2023 09:57:35 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[proxmox]]></category>
		<category><![CDATA[Terminal]]></category>
		<guid isPermaLink="false">https://wiki.pwodev.com/?p=1696</guid>

					<description><![CDATA[<p>Установили проксмокс и не получается сделать обновление пакетов, чинится это просто. Идем в командную строку проксмокса и открываем файл для редактирования: в этом файле добавляем строку: после этого сохраняем файл и выходим из редактора. Открываем следующий файл: в этом файле нужно поставить # перед единственной строкой. Получится так: сохраняем и выходим из редактора. Готово. После [&#8230;]</p>
<p>Сообщение <a href="https://wiki.pwodev.com/proxmox-apt-get-update-%d0%bd%d0%b5-%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%b0%d0%b5%d1%82/">Proxmox &#8212; apt-get update не работает</a> появились сначала на <a href="https://wiki.pwodev.com">Wiki | PWODEV</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Установили проксмокс и не получается сделать обновление пакетов, чинится это просто.</p>



<p>Идем в командную строку проксмокса и открываем файл для редактирования:</p>



<pre class="wp-block-code"><code>nano /etc/apt/sources.list</code></pre>



<p>в этом файле добавляем строку:</p>



<pre class="wp-block-code"><code>deb http://download.proxmox.com/debian/pve bullseye pve-no-subscription</code></pre>



<p>после этого сохраняем файл и выходим из редактора. Открываем следующий файл: </p>



<pre class="wp-block-code"><code>nano /etc/apt/sources.list.d/pve-enterprise.list</code></pre>



<p>в этом файле нужно поставить # перед единственной строкой. Получится так:</p>



<pre class="wp-block-code"><code>#/etc/apt/sources.list.d/pve-enterprise.list</code></pre>



<p>сохраняем и выходим из редактора. Готово. После этого проверяем работает ли обновление:</p>



<pre class="wp-block-code"><code>apt-get update</code></pre>



<p>готово. 🙂</p>
<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fwiki.pwodev.com%2Fproxmox-apt-get-update-%25d0%25bd%25d0%25b5-%25d1%2580%25d0%25b0%25d0%25b1%25d0%25be%25d1%2582%25d0%25b0%25d0%25b5%25d1%2582%2F&amp;linkname=Proxmox%20%E2%80%94%20apt-get%20update%20%D0%BD%D0%B5%20%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D0%B5%D1%82" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_vk" href="https://www.addtoany.com/add_to/vk?linkurl=https%3A%2F%2Fwiki.pwodev.com%2Fproxmox-apt-get-update-%25d0%25bd%25d0%25b5-%25d1%2580%25d0%25b0%25d0%25b1%25d0%25be%25d1%2582%25d0%25b0%25d0%25b5%25d1%2582%2F&amp;linkname=Proxmox%20%E2%80%94%20apt-get%20update%20%D0%BD%D0%B5%20%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D0%B5%D1%82" title="VK" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=https%3A%2F%2Fwiki.pwodev.com%2Fproxmox-apt-get-update-%25d0%25bd%25d0%25b5-%25d1%2580%25d0%25b0%25d0%25b1%25d0%25be%25d1%2582%25d0%25b0%25d0%25b5%25d1%2582%2F&amp;linkname=Proxmox%20%E2%80%94%20apt-get%20update%20%D0%BD%D0%B5%20%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D0%B5%D1%82" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Fwiki.pwodev.com%2Fproxmox-apt-get-update-%25d0%25bd%25d0%25b5-%25d1%2580%25d0%25b0%25d0%25b1%25d0%25be%25d1%2582%25d0%25b0%25d0%25b5%25d1%2582%2F&amp;linkname=Proxmox%20%E2%80%94%20apt-get%20update%20%D0%BD%D0%B5%20%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D0%B5%D1%82" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_skype" href="https://www.addtoany.com/add_to/skype?linkurl=https%3A%2F%2Fwiki.pwodev.com%2Fproxmox-apt-get-update-%25d0%25bd%25d0%25b5-%25d1%2580%25d0%25b0%25d0%25b1%25d0%25be%25d1%2582%25d0%25b0%25d0%25b5%25d1%2582%2F&amp;linkname=Proxmox%20%E2%80%94%20apt-get%20update%20%D0%BD%D0%B5%20%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D0%B5%D1%82" title="Skype" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_whatsapp" href="https://www.addtoany.com/add_to/whatsapp?linkurl=https%3A%2F%2Fwiki.pwodev.com%2Fproxmox-apt-get-update-%25d0%25bd%25d0%25b5-%25d1%2580%25d0%25b0%25d0%25b1%25d0%25be%25d1%2582%25d0%25b0%25d0%25b5%25d1%2582%2F&amp;linkname=Proxmox%20%E2%80%94%20apt-get%20update%20%D0%BD%D0%B5%20%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D0%B5%D1%82" title="WhatsApp" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwiki.pwodev.com%2Fproxmox-apt-get-update-%25d0%25bd%25d0%25b5-%25d1%2580%25d0%25b0%25d0%25b1%25d0%25be%25d1%2582%25d0%25b0%25d0%25b5%25d1%2582%2F&#038;title=Proxmox%20%E2%80%94%20apt-get%20update%20%D0%BD%D0%B5%20%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D0%B5%D1%82" data-a2a-url="https://wiki.pwodev.com/proxmox-apt-get-update-%d0%bd%d0%b5-%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%b0%d0%b5%d1%82/" data-a2a-title="Proxmox — apt-get update не работает"></a></p><p>Сообщение <a href="https://wiki.pwodev.com/proxmox-apt-get-update-%d0%bd%d0%b5-%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%b0%d0%b5%d1%82/">Proxmox &#8212; apt-get update не работает</a> появились сначала на <a href="https://wiki.pwodev.com">Wiki | PWODEV</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://wiki.pwodev.com/proxmox-apt-get-update-%d0%bd%d0%b5-%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%b0%d0%b5%d1%82/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>theme.json в WordPress &#8212; централизованная настройка тем</title>
		<link>https://wiki.pwodev.com/theme-json-%d0%b2-wordpress-%d1%86%d0%b5%d0%bd%d1%82%d1%80%d0%b0%d0%bb%d0%b8%d0%b7%d0%be%d0%b2%d0%b0%d0%bd%d0%bd%d0%b0%d1%8f-%d0%bd%d0%b0%d1%81%d1%82%d1%80%d0%be%d0%b9%d0%ba%d0%b0-%d1%82%d0%b5%d0%bc/</link>
					<comments>https://wiki.pwodev.com/theme-json-%d0%b2-wordpress-%d1%86%d0%b5%d0%bd%d1%82%d1%80%d0%b0%d0%bb%d0%b8%d0%b7%d0%be%d0%b2%d0%b0%d0%bd%d0%bd%d0%b0%d1%8f-%d0%bd%d0%b0%d1%81%d1%82%d1%80%d0%be%d0%b9%d0%ba%d0%b0-%d1%82%d0%b5%d0%bc/#respond</comments>
		
		<dc:creator><![CDATA[Paul Osmachko]]></dc:creator>
		<pubDate>Wed, 17 May 2023 11:00:00 +0000</pubDate>
				<category><![CDATA[CMS]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Вордпресс]]></category>
		<guid isPermaLink="false">https://wiki.pwodev.com/?p=1416</guid>

					<description><![CDATA[<p>WordPress, одна из самых популярных платформ для создания веб-сайтов, постоянно развивается, предлагая новые функциональности и улучшения. Версия 5.8 WordPress принесла с собой интересное нововведение &#8212; файл theme.json. Этот файл предоставляет разработчикам тем централизованный способ настройки внешнего вида и функциональности темы. В этой статье мы рассмотрим, что такое theme.json, как его использовать и приведем примеры использования. [&#8230;]</p>
<p>Сообщение <a href="https://wiki.pwodev.com/theme-json-%d0%b2-wordpress-%d1%86%d0%b5%d0%bd%d1%82%d1%80%d0%b0%d0%bb%d0%b8%d0%b7%d0%be%d0%b2%d0%b0%d0%bd%d0%bd%d0%b0%d1%8f-%d0%bd%d0%b0%d1%81%d1%82%d1%80%d0%be%d0%b9%d0%ba%d0%b0-%d1%82%d0%b5%d0%bc/">theme.json в WordPress &#8212; централизованная настройка тем</a> появились сначала на <a href="https://wiki.pwodev.com">Wiki | PWODEV</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>WordPress, одна из самых популярных платформ для создания веб-сайтов, постоянно развивается, предлагая новые функциональности и улучшения. Версия 5.8 WordPress принесла с собой интересное нововведение &#8212; файл theme.json. Этот файл предоставляет разработчикам тем централизованный способ настройки внешнего вида и функциональности темы. В этой статье мы рассмотрим, что такое theme.json, как его использовать и приведем примеры использования.</p>



<h2 class="wp-block-heading">Что такое theme.json? </h2>



<p>Theme.json &#8212; это файл конфигурации, представленный в версии 5.8 и выше WordPress, который содержит параметры и настройки для темы. Он предоставляет разработчикам тем возможность определить цвета, шрифты, размеры, стили кнопок и другие визуальные аспекты, а также настраивать блоки Gutenberg.</p>



<h2 class="wp-block-heading">Основная фишка: </h2>



<p>Основная фишка файла theme.json заключается в централизованной настройке темы. Вместо того, чтобы разбрасывать настройки по различным файлам и функциям, разработчики могут объединить все настройки в едином файле, что обеспечивает более удобное управление и обслуживание темы.</p>



<p>Примеры использования:</p>



<ul class="wp-block-list">
<li>Настройка цветов: <br>В файле theme.json можно определить основные цвета темы, такие как основной цвет, вторичный цвет и т.д. Это позволяет легко изменять цветовую схему темы без необходимости вносить изменения в CSS-файлы. Пример использования:</li>
</ul>



<pre class="wp-block-code"><code>{
  "settings": {
    "colors": {
      "primary": "#ff0000",
      "secondary": "#0000ff"
    }
  }
}</code></pre>



<ul class="wp-block-list">
<li>Настройка типографии: <br>С помощью theme.json можно настроить параметры типографии темы, такие как шрифт и размер текста. Пример использования:</li>
</ul>



<pre class="wp-block-code"><code>{
  "settings": {
    "typography": {
      "fontFamily": "Arial, sans-serif",
      "fontSize": "16px"
    }
  }
}</code></pre>



<ul class="wp-block-list">
<li>Настройка блоков Gutenberg: <br>Theme.json позволяет настраивать стили и поведение различных блоков в редакторе блоков Gutenberg. Вы можете определить стили по умолчанию для блоков, изменить их настройки и поведение, а также добавить новые стили блоков. Пример использования:</li>
</ul>



<pre class="wp-block-code"><code>{
  "blocks": {
    "core/paragraph": {
      "styles": {
        "color": "#333333"
      }
    },
    "core/button": {
      "styles": {
        "backgroundColor": "#ff0000",
        "color": "#ffffff"
      }
    }
  }
}</code></pre>



<ul class="wp-block-list">
<li>Расширение функциональности: <br>Theme.json позволяет расширять функциональность вашей темы, добавляя различные ключи и секции. Например, вы можете указать поддержку определенных функций WordPress, таких как миниатюры, пользовательские заголовки, пользовательские фоновые изображения и другие. Пример использования:</li>
</ul>



<pre class="wp-block-code"><code>{
  "supports": {
    "align-wide": true,
    "responsive-embeds": true
  }
}</code></pre>



<p>Вот пример простого файла theme.json для темы WordPress:</p>



<pre class="wp-block-code"><code>{
  "version": 1,
  "settings": {
    "colors": {
      "primary": "#ff0000",
      "secondary": "#0000ff"
    },
    "typography": {
      "fontFamily": "Arial, sans-serif",
      "fontSize": "16px"
    }
  },
  "blocks": {
    "core/paragraph": {
      "styles": {
        "color": "#333333"
      }
    },
    "core/button": {
      "styles": {
        "backgroundColor": "#ff0000",
        "color": "#ffffff"
      }
    }
  },
  "supports": {
    "align-wide": true,
    "responsive-embeds": true
  }
}</code></pre>



<p>В этом примере:</p>



<ul class="wp-block-list">
<li><code>"version"</code>: указывает версию файла theme.json.</li>



<li><code>"settings"</code>: определяет основные настройки темы, в данном случае цвета и типографику.</li>



<li><code>"colors"</code>: определяет основные цвета темы, например, <code>"primary"</code> и <code>"secondary"</code>.</li>



<li><code>"typography"</code>: определяет параметры типографики, такие как шрифт и размер.</li>



<li><code>"blocks"</code>: настраивает стили и параметры для различных блоков Gutenberg.</li>



<li><code>"core/paragraph"</code>: определяет стили для блока параграфа.</li>



<li><code>"core/button"</code>: определяет стили для блока кнопки.</li>



<li><code>"supports"</code>: указывает поддерживаемые функции WordPress, такие как широкое выравнивание (<code>"align-wide"</code>) и адаптивные встроенные элементы (<code>"responsive-embeds"</code>).</li>
</ul>



<p>Вот пример использования настроек из файла theme.json в коде темы WordPress:</p>



<p>Использование цветов:</p>



<pre class="wp-block-code"><code>// Получение значения цвета primary из настроек theme.json
$primary_color = get_theme_mod( 'primary_color', '#ff0000' );

// Использование полученного значения цвета в коде
echo '&lt;div style="background-color: ' . $primary_color . ';">Пример контента&lt;/div>';</code></pre>



<p>Использование типографии:</p>



<pre class="wp-block-code"><code>// Получение значения шрифта из настроек theme.json
$font_family = get_theme_mod( 'font_family', 'Arial, sans-serif' );
$font_size = get_theme_mod( 'font_size', '16px' );

// Использование полученных значений типографии в коде
echo '&lt;p style="font-family: ' . $font_family . '; font-size: ' . $font_size . ';">Пример текста&lt;/p>';</code></pre>



<p>Использование настроек блоков:</p>



<pre class="wp-block-code"><code>// Получение значения цвета параграфа из настроек theme.json
$paragraph_color = get_theme_mod( 'core/paragraph_color', '#333333' );

// Использование полученного значения цвета в коде блока параграфа
echo '&lt;p style="color: ' . $paragraph_color . ';">Пример текста в блоке параграфа&lt;/p>';

// Получение значений стилей кнопки из настроек theme.json
$button_background_color = get_theme_mod( 'core/button_background_color', '#ff0000' );
$button_text_color = get_theme_mod( 'core/button_text_color', '#ffffff' );

// Использование полученных значений стилей в коде блока кнопки
echo '&lt;button style="background-color: ' . $button_background_color . '; color: ' . $button_text_color . ';">Пример кнопки&lt;/button>';</code></pre>



<p>Таким образом, вы можете использовать полученные значения из настроек theme.json в вашем коде, чтобы динамически применять внешний вид и стили к различным элементам и блокам вашей темы WordPress.</p>



<h2 class="wp-block-heading">Заключение:</h2>



<p>Файл theme.json является мощным инструментом, предоставляющим разработчикам тем более гибкий и централизованный способ настройки внешнего вида и функциональности темы. Он позволяет упростить процесс разработки и обновления тем, а также предоставляет возможность пользователям легко настраивать внешний вид темы. С использованием theme.json разработчики могут создавать более гибкие и настраиваемые темы WordPress, соответствующие потребностям пользователей.</p>



<p>При разработке темы WordPress обязательно изучите документацию о файле theme.json, чтобы полностью понять его возможности и использовать их наилучшим образом.</p>
<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fwiki.pwodev.com%2Ftheme-json-%25d0%25b2-wordpress-%25d1%2586%25d0%25b5%25d0%25bd%25d1%2582%25d1%2580%25d0%25b0%25d0%25bb%25d0%25b8%25d0%25b7%25d0%25be%25d0%25b2%25d0%25b0%25d0%25bd%25d0%25bd%25d0%25b0%25d1%258f-%25d0%25bd%25d0%25b0%25d1%2581%25d1%2582%25d1%2580%25d0%25be%25d0%25b9%25d0%25ba%25d0%25b0-%25d1%2582%25d0%25b5%25d0%25bc%2F&amp;linkname=theme.json%20%D0%B2%20WordPress%20%E2%80%94%20%D1%86%D0%B5%D0%BD%D1%82%D1%80%D0%B0%D0%BB%D0%B8%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%B0%D1%8F%20%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0%20%D1%82%D0%B5%D0%BC" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_vk" href="https://www.addtoany.com/add_to/vk?linkurl=https%3A%2F%2Fwiki.pwodev.com%2Ftheme-json-%25d0%25b2-wordpress-%25d1%2586%25d0%25b5%25d0%25bd%25d1%2582%25d1%2580%25d0%25b0%25d0%25bb%25d0%25b8%25d0%25b7%25d0%25be%25d0%25b2%25d0%25b0%25d0%25bd%25d0%25bd%25d0%25b0%25d1%258f-%25d0%25bd%25d0%25b0%25d1%2581%25d1%2582%25d1%2580%25d0%25be%25d0%25b9%25d0%25ba%25d0%25b0-%25d1%2582%25d0%25b5%25d0%25bc%2F&amp;linkname=theme.json%20%D0%B2%20WordPress%20%E2%80%94%20%D1%86%D0%B5%D0%BD%D1%82%D1%80%D0%B0%D0%BB%D0%B8%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%B0%D1%8F%20%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0%20%D1%82%D0%B5%D0%BC" title="VK" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=https%3A%2F%2Fwiki.pwodev.com%2Ftheme-json-%25d0%25b2-wordpress-%25d1%2586%25d0%25b5%25d0%25bd%25d1%2582%25d1%2580%25d0%25b0%25d0%25bb%25d0%25b8%25d0%25b7%25d0%25be%25d0%25b2%25d0%25b0%25d0%25bd%25d0%25bd%25d0%25b0%25d1%258f-%25d0%25bd%25d0%25b0%25d1%2581%25d1%2582%25d1%2580%25d0%25be%25d0%25b9%25d0%25ba%25d0%25b0-%25d1%2582%25d0%25b5%25d0%25bc%2F&amp;linkname=theme.json%20%D0%B2%20WordPress%20%E2%80%94%20%D1%86%D0%B5%D0%BD%D1%82%D1%80%D0%B0%D0%BB%D0%B8%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%B0%D1%8F%20%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0%20%D1%82%D0%B5%D0%BC" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Fwiki.pwodev.com%2Ftheme-json-%25d0%25b2-wordpress-%25d1%2586%25d0%25b5%25d0%25bd%25d1%2582%25d1%2580%25d0%25b0%25d0%25bb%25d0%25b8%25d0%25b7%25d0%25be%25d0%25b2%25d0%25b0%25d0%25bd%25d0%25bd%25d0%25b0%25d1%258f-%25d0%25bd%25d0%25b0%25d1%2581%25d1%2582%25d1%2580%25d0%25be%25d0%25b9%25d0%25ba%25d0%25b0-%25d1%2582%25d0%25b5%25d0%25bc%2F&amp;linkname=theme.json%20%D0%B2%20WordPress%20%E2%80%94%20%D1%86%D0%B5%D0%BD%D1%82%D1%80%D0%B0%D0%BB%D0%B8%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%B0%D1%8F%20%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0%20%D1%82%D0%B5%D0%BC" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_skype" href="https://www.addtoany.com/add_to/skype?linkurl=https%3A%2F%2Fwiki.pwodev.com%2Ftheme-json-%25d0%25b2-wordpress-%25d1%2586%25d0%25b5%25d0%25bd%25d1%2582%25d1%2580%25d0%25b0%25d0%25bb%25d0%25b8%25d0%25b7%25d0%25be%25d0%25b2%25d0%25b0%25d0%25bd%25d0%25bd%25d0%25b0%25d1%258f-%25d0%25bd%25d0%25b0%25d1%2581%25d1%2582%25d1%2580%25d0%25be%25d0%25b9%25d0%25ba%25d0%25b0-%25d1%2582%25d0%25b5%25d0%25bc%2F&amp;linkname=theme.json%20%D0%B2%20WordPress%20%E2%80%94%20%D1%86%D0%B5%D0%BD%D1%82%D1%80%D0%B0%D0%BB%D0%B8%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%B0%D1%8F%20%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0%20%D1%82%D0%B5%D0%BC" title="Skype" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_whatsapp" href="https://www.addtoany.com/add_to/whatsapp?linkurl=https%3A%2F%2Fwiki.pwodev.com%2Ftheme-json-%25d0%25b2-wordpress-%25d1%2586%25d0%25b5%25d0%25bd%25d1%2582%25d1%2580%25d0%25b0%25d0%25bb%25d0%25b8%25d0%25b7%25d0%25be%25d0%25b2%25d0%25b0%25d0%25bd%25d0%25bd%25d0%25b0%25d1%258f-%25d0%25bd%25d0%25b0%25d1%2581%25d1%2582%25d1%2580%25d0%25be%25d0%25b9%25d0%25ba%25d0%25b0-%25d1%2582%25d0%25b5%25d0%25bc%2F&amp;linkname=theme.json%20%D0%B2%20WordPress%20%E2%80%94%20%D1%86%D0%B5%D0%BD%D1%82%D1%80%D0%B0%D0%BB%D0%B8%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%B0%D1%8F%20%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0%20%D1%82%D0%B5%D0%BC" title="WhatsApp" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwiki.pwodev.com%2Ftheme-json-%25d0%25b2-wordpress-%25d1%2586%25d0%25b5%25d0%25bd%25d1%2582%25d1%2580%25d0%25b0%25d0%25bb%25d0%25b8%25d0%25b7%25d0%25be%25d0%25b2%25d0%25b0%25d0%25bd%25d0%25bd%25d0%25b0%25d1%258f-%25d0%25bd%25d0%25b0%25d1%2581%25d1%2582%25d1%2580%25d0%25be%25d0%25b9%25d0%25ba%25d0%25b0-%25d1%2582%25d0%25b5%25d0%25bc%2F&#038;title=theme.json%20%D0%B2%20WordPress%20%E2%80%94%20%D1%86%D0%B5%D0%BD%D1%82%D1%80%D0%B0%D0%BB%D0%B8%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%B0%D1%8F%20%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0%20%D1%82%D0%B5%D0%BC" data-a2a-url="https://wiki.pwodev.com/theme-json-%d0%b2-wordpress-%d1%86%d0%b5%d0%bd%d1%82%d1%80%d0%b0%d0%bb%d0%b8%d0%b7%d0%be%d0%b2%d0%b0%d0%bd%d0%bd%d0%b0%d1%8f-%d0%bd%d0%b0%d1%81%d1%82%d1%80%d0%be%d0%b9%d0%ba%d0%b0-%d1%82%d0%b5%d0%bc/" data-a2a-title="theme.json в WordPress — централизованная настройка тем"></a></p><p>Сообщение <a href="https://wiki.pwodev.com/theme-json-%d0%b2-wordpress-%d1%86%d0%b5%d0%bd%d1%82%d1%80%d0%b0%d0%bb%d0%b8%d0%b7%d0%be%d0%b2%d0%b0%d0%bd%d0%bd%d0%b0%d1%8f-%d0%bd%d0%b0%d1%81%d1%82%d1%80%d0%be%d0%b9%d0%ba%d0%b0-%d1%82%d0%b5%d0%bc/">theme.json в WordPress &#8212; централизованная настройка тем</a> появились сначала на <a href="https://wiki.pwodev.com">Wiki | PWODEV</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://wiki.pwodev.com/theme-json-%d0%b2-wordpress-%d1%86%d0%b5%d0%bd%d1%82%d1%80%d0%b0%d0%bb%d0%b8%d0%b7%d0%be%d0%b2%d0%b0%d0%bd%d0%bd%d0%b0%d1%8f-%d0%bd%d0%b0%d1%81%d1%82%d1%80%d0%be%d0%b9%d0%ba%d0%b0-%d1%82%d0%b5%d0%bc/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Из чего состоит тема WordPress</title>
		<link>https://wiki.pwodev.com/%d0%b8%d0%b7-%d1%87%d0%b5%d0%b3%d0%be-%d1%81%d0%be%d1%81%d1%82%d0%be%d0%b8%d1%82-%d1%82%d0%b5%d0%bc%d0%b0-wordpress/</link>
					<comments>https://wiki.pwodev.com/%d0%b8%d0%b7-%d1%87%d0%b5%d0%b3%d0%be-%d1%81%d0%be%d1%81%d1%82%d0%be%d0%b8%d1%82-%d1%82%d0%b5%d0%bc%d0%b0-wordpress/#respond</comments>
		
		<dc:creator><![CDATA[Paul Osmachko]]></dc:creator>
		<pubDate>Tue, 16 May 2023 15:32:06 +0000</pubDate>
				<category><![CDATA[CMS]]></category>
		<category><![CDATA[Wordpress]]></category>
		<guid isPermaLink="false">https://wiki.pwodev.com/?p=1414</guid>

					<description><![CDATA[<p>Тема в WordPress состоит из различных файлов, которые определяют внешний вид и структуру вашего веб-сайта. Основные компоненты темы включают в себя: Важно отметить, что структура и содержание темы могут варьироваться в зависимости от разработчика и требований вашего сайта. А теперь пройдемся по каждому пункту более подробней. 1. Файлы шаблонов (Template files) Файлы шаблонов определяют структуру [&#8230;]</p>
<p>Сообщение <a href="https://wiki.pwodev.com/%d0%b8%d0%b7-%d1%87%d0%b5%d0%b3%d0%be-%d1%81%d0%be%d1%81%d1%82%d0%be%d0%b8%d1%82-%d1%82%d0%b5%d0%bc%d0%b0-wordpress/">Из чего состоит тема WordPress</a> появились сначала на <a href="https://wiki.pwodev.com">Wiki | PWODEV</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Тема в WordPress состоит из различных файлов, которые определяют внешний вид и структуру вашего веб-сайта. Основные компоненты темы включают в себя:</p>



<ol class="wp-block-list">
<li>Файлы шаблонов (Template files): Это файлы, которые определяют структуру каждой страницы вашего сайта. Например, файлы header.php, footer.php, index.php и single.php определяют разметку шапки, подвала, главной страницы и отдельной записи соответственно.</li>



<li>Файлы стилей (Style files): Они содержат информацию о внешнем виде вашего сайта, включая цвета, шрифты, размеры элементов и т. д. Файлы стилей обычно имеют расширение .css.</li>



<li>Файлы изображений (Image files): Темы могут содержать изображения, такие как логотипы, фоновые изображения, иконки и т. д. Обычно они находятся в отдельной папке внутри темы.</li>



<li>Файлы функций (Function files): Это файлы, содержащие PHP-код, который добавляет дополнительную функциональность к вашей теме. Файл functions.php является одним из основных файлов функций, в котором вы можете определять пользовательские функции и хуки.</li>



<li>Дополнительные файлы и папки: В зависимости от темы, она может содержать дополнительные файлы или папки, такие как файлы JavaScript, шрифты, плагины, шаблоны страниц и т. д.</li>
</ol>



<p>Важно отметить, что структура и содержание темы могут варьироваться в зависимости от разработчика и требований вашего сайта.</p>



<p>А теперь пройдемся по каждому пункту более подробней.</p>



<h2 class="wp-block-heading">1. Файлы шаблонов (Template files)</h2>



<p>Файлы шаблонов определяют структуру и разметку каждой страницы на вашем веб-сайте. Вот некоторые из основных файлов шаблонов:</p>



<ol class="wp-block-list">
<li>header.php: Этот файл содержит код для верхней части вашего сайта, включая заголовок, меню навигации и другие элементы, которые отображаются на каждой странице.</li>



<li>footer.php: Этот файл содержит код для нижней части вашего сайта, такую как подвал, копирайт и другие элементы, которые отображаются на каждой странице.</li>



<li>index.php: Это главный файл шаблона, который определяет разметку главной страницы вашего сайта. Он обычно выводит список последних записей или определенного типа записей.</li>



<li>single.php: Этот файл используется для отображения отдельной записи. Когда пользователь просматривает одну запись, WordPress использует этот файл для вывода содержимого и комментариев.</li>



<li>page.php: Этот файл определяет разметку страниц, которые вы создаете в WordPress. Он используется для отображения статических страниц.</li>



<li>archive.php: Этот файл используется для отображения архивных страниц, таких как архивы по дате, автору, категории и тегам.</li>



<li>search.php: Этот файл определяет разметку страницы результатов поиска, которая отображается, когда пользователь выполняет поиск на вашем сайте.</li>



<li>category.php и tag.php: Эти файлы определяют разметку страницы категорий и тегов соответственно.</li>



<li>sidebar.php: Файл шаблона sidebar.php определяет боковую панель вашего сайта. Вы можете добавить виджеты, меню или другой контент в боковую панель, настроив файл sidebar.php.</li>
</ol>



<p>Вы можете создавать свои собственные файлы шаблонов в теме WordPress, чтобы настроить внешний вид и поведение различных типов страниц. Каждый файл шаблона содержит PHP-код и HTML-разметку, который определяет, каким образом страница будет выглядеть и какие данные будут отображаться.</p>



<p>Помимо вышеперечисленных файлов, в теме могут быть и другие файлы шаблонов, в зависимости от конкретных требований вашего сайта и используемых плагинов.</p>



<h2 class="wp-block-heading">2. Файлы стилей (Style files)</h2>



<p>Файлы стилей отвечают за внешний вид вашего веб-сайта, включая цвета, шрифты, размеры элементов и другие стилевые аспекты. Вот некоторые ключевые аспекты файлов стилей в теме WordPress:</p>



<ol class="wp-block-list">
<li>style.css: Это основной файл стилей, который определяет общий внешний вид вашей темы. Он содержит CSS-код, определяющий цвета, шрифты, фоны, отступы, границы и другие стилевые правила для различных элементов на вашем сайте.</li>



<li>Дополнительные файлы CSS: В больших темах или темах с комплексными дизайнами могут использоваться дополнительные файлы стилей. Они могут быть организованы по модульному принципу, где каждый файл отвечает за определенные разделы или компоненты вашего сайта. Например, файлы &#171;header.css&#187;, &#171;footer.css&#187; или &#171;sidebar.css&#187; могут содержать стили, специфичные для соответствующих областей сайта.</li>



<li>Использование CSS-препроцессоров: В некоторых темах разработчики могут использовать CSS-препроцессоры, такие как Sass или Less, для упрощения и структурирования стилевого кода. В таких случаях файлы стилей могут иметь расширения, отличные от .css, например .scss или .less. Препроцессоры CSS предлагают расширенный синтаксис, переменные, миксины и другие возможности для более гибкого и эффективного создания стилей.</li>



<li>Импорт стилей: Файлы стилей могут импортировать другие файлы стилей с помощью директивы <code>@import</code>. Это позволяет разделить стилевые правила на несколько файлов для лучшей организации и поддержки.</li>
</ol>



<p>Редактирование файлов стилей позволяет вам настраивать внешний вид вашей темы WordPress, применять собственные цвета, шрифты, стилизовать элементы и создавать уникальный дизайн для вашего сайта.</p>



<h2 class="wp-block-heading">3. Файлы изображений (Image files)</h2>



<p>Файлы изображений используются для добавления графических элементов, таких как логотипы, фоновые изображения, иконки и другие графические ресурсы. Вот некоторые основные аспекты файлов изображений в теме WordPress:</p>



<ol class="wp-block-list">
<li>Логотипы и иконки: Файлы изображений часто содержат логотип вашего сайта или иконки, которые используются в верхней панели навигации, в подвале или в других областях вашего сайта. Обычно они имеют форматы .jpg, .png или .svg.</li>



<li>Фоновые изображения: Фоновые изображения могут использоваться для стилизации различных разделов вашего сайта, таких как шапка, подвал, боковая панель и другие элементы. Они могут добавлять текстуру, цвет или декоративные элементы к вашей теме.</li>



<li>Иллюстрации и графика: Если ваш сайт требует использования иллюстраций, графики или других графических элементов, вы можете добавить соответствующие файлы изображений в тему. Например, это может быть иллюстрация для заголовка или изображение для слайдера на главной странице.</li>
</ol>



<p>Файлы изображений обычно размещаются в отдельной папке внутри темы WordPress. При разработке темы важно оптимизировать изображения для улучшения производительности вашего сайта, учитывая размер файла и формат изображения. Многие разработчики также используют сжатие и кэширование изображений для повышения скорости загрузки страниц.</p>



<p>Примечание: Некоторые темы WordPress могут также использовать изображения, хранящиеся на удаленных серверах или внешних службах, например, при использовании иконок или шрифтов, предоставляемых сторонними поставщиками.</p>



<h2 class="wp-block-heading">4. Файлы функций (Function files)</h2>



<p>Файлы функций содержат PHP-код, который добавляет дополнительную функциональность к вашей теме. Вот некоторые ключевые аспекты файлов функций в теме WordPress:</p>



<ol class="wp-block-list">
<li>functions.php: Это основной файл функций в теме WordPress. Он используется для определения пользовательских функций, хуков (hooks) и фильтров (filters). Файл functions.php обычно включает в себя код для настройки темы, регистрации пользовательских меню, поддержки миниатюр (thumbnails), создания виджетов и других дополнительных функций.</li>



<li>Подключение стилей и скриптов: Файлы функций могут содержать код для подключения дополнительных стилей CSS и JavaScript, которые необходимы для вашей темы или плагинов, используемых на вашем сайте. Вы можете использовать функции, такие как wp_enqueue_style() и wp_enqueue_script(), чтобы добавить стили и скрипты с правильными зависимостями и версиями.</li>



<li>Пользовательские типы записей и таксономии: Файлы функций могут содержать код для определения пользовательских типов записей (Custom Post Types) и таксономий (Taxonomies). Пользовательские типы записей позволяют вам создавать специальные типы контента, отличные от стандартных записей и страниц, а таксономии &#8212; организовывать контент по категориям или меткам.</li>



<li>Хуки и фильтры: Файлы функций в теме WordPress также могут содержать код, использующий хуки (hooks) и фильтры (filters) для внедрения функциональности в различные части вашего сайта. Хуки позволяют вам выполнить код в определенных точках выполнения WordPress, например, перед или после вывода контента, а фильтры предоставляют возможность изменить или модифицировать данные, выводимые на вашем сайте.</li>



<li>Дополнительные файлы функций: В больших и сложных темах может быть несколько дополнительных файлов функций, которые содержат определенные функциональные компоненты. Например, файлы для настройки темы, пользовательской административной панели (Theme Options), интеграции со сторонними сервисами и другие.</li>
</ol>



<p>Файлы функций позволяют вам настроить и расширить функциональность вашей темы WordPress, вносить изменения в поведение и добавлять дополнительные возможности. Они являются мощным инструментом для разработчиков</p>



<p>Сегодня мы рассмотрели из чего состоит темы вордпресс (WordPress). Добавь эту страницу в закладки браузера и будешь постоянно пополнять запас знаний по этой и другой IT теме 🙂</p>
<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fwiki.pwodev.com%2F%25d0%25b8%25d0%25b7-%25d1%2587%25d0%25b5%25d0%25b3%25d0%25be-%25d1%2581%25d0%25be%25d1%2581%25d1%2582%25d0%25be%25d0%25b8%25d1%2582-%25d1%2582%25d0%25b5%25d0%25bc%25d0%25b0-wordpress%2F&amp;linkname=%D0%98%D0%B7%20%D1%87%D0%B5%D0%B3%D0%BE%20%D1%81%D0%BE%D1%81%D1%82%D0%BE%D0%B8%D1%82%20%D1%82%D0%B5%D0%BC%D0%B0%20WordPress" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_vk" href="https://www.addtoany.com/add_to/vk?linkurl=https%3A%2F%2Fwiki.pwodev.com%2F%25d0%25b8%25d0%25b7-%25d1%2587%25d0%25b5%25d0%25b3%25d0%25be-%25d1%2581%25d0%25be%25d1%2581%25d1%2582%25d0%25be%25d0%25b8%25d1%2582-%25d1%2582%25d0%25b5%25d0%25bc%25d0%25b0-wordpress%2F&amp;linkname=%D0%98%D0%B7%20%D1%87%D0%B5%D0%B3%D0%BE%20%D1%81%D0%BE%D1%81%D1%82%D0%BE%D0%B8%D1%82%20%D1%82%D0%B5%D0%BC%D0%B0%20WordPress" title="VK" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=https%3A%2F%2Fwiki.pwodev.com%2F%25d0%25b8%25d0%25b7-%25d1%2587%25d0%25b5%25d0%25b3%25d0%25be-%25d1%2581%25d0%25be%25d1%2581%25d1%2582%25d0%25be%25d0%25b8%25d1%2582-%25d1%2582%25d0%25b5%25d0%25bc%25d0%25b0-wordpress%2F&amp;linkname=%D0%98%D0%B7%20%D1%87%D0%B5%D0%B3%D0%BE%20%D1%81%D0%BE%D1%81%D1%82%D0%BE%D0%B8%D1%82%20%D1%82%D0%B5%D0%BC%D0%B0%20WordPress" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Fwiki.pwodev.com%2F%25d0%25b8%25d0%25b7-%25d1%2587%25d0%25b5%25d0%25b3%25d0%25be-%25d1%2581%25d0%25be%25d1%2581%25d1%2582%25d0%25be%25d0%25b8%25d1%2582-%25d1%2582%25d0%25b5%25d0%25bc%25d0%25b0-wordpress%2F&amp;linkname=%D0%98%D0%B7%20%D1%87%D0%B5%D0%B3%D0%BE%20%D1%81%D0%BE%D1%81%D1%82%D0%BE%D0%B8%D1%82%20%D1%82%D0%B5%D0%BC%D0%B0%20WordPress" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_skype" href="https://www.addtoany.com/add_to/skype?linkurl=https%3A%2F%2Fwiki.pwodev.com%2F%25d0%25b8%25d0%25b7-%25d1%2587%25d0%25b5%25d0%25b3%25d0%25be-%25d1%2581%25d0%25be%25d1%2581%25d1%2582%25d0%25be%25d0%25b8%25d1%2582-%25d1%2582%25d0%25b5%25d0%25bc%25d0%25b0-wordpress%2F&amp;linkname=%D0%98%D0%B7%20%D1%87%D0%B5%D0%B3%D0%BE%20%D1%81%D0%BE%D1%81%D1%82%D0%BE%D0%B8%D1%82%20%D1%82%D0%B5%D0%BC%D0%B0%20WordPress" title="Skype" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_whatsapp" href="https://www.addtoany.com/add_to/whatsapp?linkurl=https%3A%2F%2Fwiki.pwodev.com%2F%25d0%25b8%25d0%25b7-%25d1%2587%25d0%25b5%25d0%25b3%25d0%25be-%25d1%2581%25d0%25be%25d1%2581%25d1%2582%25d0%25be%25d0%25b8%25d1%2582-%25d1%2582%25d0%25b5%25d0%25bc%25d0%25b0-wordpress%2F&amp;linkname=%D0%98%D0%B7%20%D1%87%D0%B5%D0%B3%D0%BE%20%D1%81%D0%BE%D1%81%D1%82%D0%BE%D0%B8%D1%82%20%D1%82%D0%B5%D0%BC%D0%B0%20WordPress" title="WhatsApp" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwiki.pwodev.com%2F%25d0%25b8%25d0%25b7-%25d1%2587%25d0%25b5%25d0%25b3%25d0%25be-%25d1%2581%25d0%25be%25d1%2581%25d1%2582%25d0%25be%25d0%25b8%25d1%2582-%25d1%2582%25d0%25b5%25d0%25bc%25d0%25b0-wordpress%2F&#038;title=%D0%98%D0%B7%20%D1%87%D0%B5%D0%B3%D0%BE%20%D1%81%D0%BE%D1%81%D1%82%D0%BE%D0%B8%D1%82%20%D1%82%D0%B5%D0%BC%D0%B0%20WordPress" data-a2a-url="https://wiki.pwodev.com/%d0%b8%d0%b7-%d1%87%d0%b5%d0%b3%d0%be-%d1%81%d0%be%d1%81%d1%82%d0%be%d0%b8%d1%82-%d1%82%d0%b5%d0%bc%d0%b0-wordpress/" data-a2a-title="Из чего состоит тема WordPress"></a></p><p>Сообщение <a href="https://wiki.pwodev.com/%d0%b8%d0%b7-%d1%87%d0%b5%d0%b3%d0%be-%d1%81%d0%be%d1%81%d1%82%d0%be%d0%b8%d1%82-%d1%82%d0%b5%d0%bc%d0%b0-wordpress/">Из чего состоит тема WordPress</a> появились сначала на <a href="https://wiki.pwodev.com">Wiki | PWODEV</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://wiki.pwodev.com/%d0%b8%d0%b7-%d1%87%d0%b5%d0%b3%d0%be-%d1%81%d0%be%d1%81%d1%82%d0%be%d0%b8%d1%82-%d1%82%d0%b5%d0%bc%d0%b0-wordpress/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Поднимаем меил сервер на проксмоксе Centos 7</title>
		<link>https://wiki.pwodev.com/%d0%bf%d0%be%d0%b4%d0%bd%d0%b8%d0%bc%d0%b0%d0%b5%d0%bc-%d0%bc%d0%b5%d0%b8%d0%bb-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80-%d0%bd%d0%b0-%d0%bf%d1%80%d0%be%d0%ba%d1%81%d0%bc%d0%be%d0%ba%d1%81%d0%b5/</link>
					<comments>https://wiki.pwodev.com/%d0%bf%d0%be%d0%b4%d0%bd%d0%b8%d0%bc%d0%b0%d0%b5%d0%bc-%d0%bc%d0%b5%d0%b8%d0%bb-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80-%d0%bd%d0%b0-%d0%bf%d1%80%d0%be%d0%ba%d1%81%d0%bc%d0%be%d0%ba%d1%81%d0%b5/#respond</comments>
		
		<dc:creator><![CDATA[Paul Osmachko]]></dc:creator>
		<pubDate>Thu, 09 Feb 2023 13:23:28 +0000</pubDate>
				<category><![CDATA[Остальные]]></category>
		<guid isPermaLink="false">https://wiki.pwodev.com/?p=1296</guid>

					<description><![CDATA[<p>Proxmox это отличное решение для виртуализации, сегодня мы будем считать что у вас уже установлен и настроен проксмокс, и вы уже владеете начальными знаниями о проксмоксе. Так же для начала необходимо иметь свободный IP адрес для меил сервера. Мы начнем с того что создадим для нашего mail server новую виртуальную машину. В качестве меил сервера [&#8230;]</p>
<p>Сообщение <a href="https://wiki.pwodev.com/%d0%bf%d0%be%d0%b4%d0%bd%d0%b8%d0%bc%d0%b0%d0%b5%d0%bc-%d0%bc%d0%b5%d0%b8%d0%bb-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80-%d0%bd%d0%b0-%d0%bf%d1%80%d0%be%d0%ba%d1%81%d0%bc%d0%be%d0%ba%d1%81%d0%b5/">Поднимаем меил сервер на проксмоксе Centos 7</a> появились сначала на <a href="https://wiki.pwodev.com">Wiki | PWODEV</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Proxmox это отличное решение для виртуализации, сегодня мы будем считать что у вас уже установлен и настроен проксмокс, и вы уже владеете начальными знаниями о проксмоксе. Так же для начала необходимо иметь свободный IP адрес для меил сервера. Мы начнем с того что создадим для нашего mail server новую виртуальную машину. В качестве меил сервера будем использовать <a href="https://docs.mailcow.email/" target="_blank" rel="noreferrer noopener">Mailcow</a>. Обязательно ознакомьтесь с последней версией этого скрипта. Проект обновляется постоянно, может быть так что там уже появилось что-то новое. </p>



<p>Итак, приступим. </p>



<h2 class="wp-block-heading">Создаем Сервер</h2>



<p>Для начала логинемся в наш Proxmox и жмем в верхнем правом углу кнопку &#171;Создать VM&#187;.</p>



<ul class="wp-block-list">
<li>Вводим ID, Имя хоста, жмем далее,</li>



<li>Выбираем ISO образ centos-7&#8230;. жмем далее, далее</li>



<li>Выбираем размер диска не меньше 100 гигабайт жмем далее,</li>



<li>Выбираем количество ядер процессора, не меньше 4, жмем далее,</li>



<li>Выбираем количество RAM лучше не меньше 8192, жмем далее,</li>



<li>Подтверждаем и запускаем контейнер.</li>



<li>Заходим в консоль</li>



<li>Выбираем установить Centos</li>



<li>Выбираем язык</li>



<li>Выбираем таймзону</li>



<li>Выбираем диск для установки</li>



<li>Включаем Ethernet и сразу конфигурируем ее
<ul class="wp-block-list">
<li>IPv4 Settings</li>



<li>Method: Manual</li>



<li>Выбираем IP</li>



<li>добавляем DNS</li>
</ul>
</li>



<li>Стартуем установку</li>



<li>Ставим временный рут пароль</li>



<li>После окончания установки нажимаем кнопку перезагрузить</li>



<li>В параметрах виртуальной машины редактируем параметр запуск при загрузке</li>
</ul>



<h2 class="wp-block-heading">Базовая настройка сервера</h2>



<p>Меняем временный рут пароль на постоянный:</p>



<pre class="wp-block-code"><code>passwd</code></pre>



<p>Дальше заходим в консоль и видим ошибку локализации. Исправляем.</p>



<pre class="wp-block-code"><code>echo -e "LANG=en_US.utf-8\nLC_ALL=en_US.utf-8" &gt;&gt; /etc/environment</code></pre>



<p>Чтобы начать подключаться через ssh удаленно, нужно проделать следующие манипуляции:</p>



<pre class="wp-block-code"><code>yum update -y &amp;&amp; yum upgrade -y &amp;&amp; yum makecache
yum -y install openssh-server openssh-clients epel-release nano htop mc wget git chrony ntp
systemctl stop sshd &amp;&amp; systemctl start sshd</code></pre>



<p>Теперь можем подключиться к серваку через наш любимый CLI клиент.</p>



<p>Теперь нам нужно проверить все ли ок с портами. Команда должна вернуть пустоту</p>



<pre class="wp-block-code"><code>ss -tlpn | grep -E -w '25|80|110|143|443|465|587|993|995|4190'
# or:
netstat -tulpn | grep -E -w '25|80|110|143|443|465|587|993|995|4190'</code></pre>



<p>Пусто? отлично идем дальше. Если нет, то отключаем сервисы что юзают эти порты. Скорее всего это порт 25 и это postfix. Отключаем</p>



<pre class="wp-block-code"><code>systemctl stop postfix
yum remove postfix -y</code></pre>



<p>Перепроверяем еще раз порты, если теперь пусто, то идем дальше.</p>



<p>Проверяем чтобы время на сервере было настроена правильно:</p>



<pre class="wp-block-code"><code>timedatectl status</code></pre>



<p>Проверяем чтобы <strong>NTP enabled: yes</strong> и <strong>NTP synchronized: yes</strong>. Если что-то не правильно, настраиваем:</p>



<pre class="wp-block-code"><code>nano /etc/systemd/timesyncd.conf</code></pre>



<p>и добавляем следующий текст:</p>



<pre class="wp-block-code"><code>&#91;Time]
NTP=0.pool.ntp.org 1.pool.ntp.org 2.pool.ntp.org 3.pool.ntp.org</code></pre>



<p>и применяем параметры</p>



<pre class="wp-block-code"><code>timedatectl set-ntp true
systemctl start ntpd.service
systemctl enable ntpd.service
systemctl restart ntpd.service</code></pre>



<p>Меняем таймзону если нужно</p>



<pre class="wp-block-code"><code>timedatectl set-timezone Europe/Berlin</code></pre>



<p>Еще раз все перепроверяем</p>



<pre class="wp-block-code"><code>timedatectl status</code></pre>



<p>Обычно приходится тут перезагрузить VPS чтобы применились параметры</p>



<h2 class="wp-block-heading">Установка Docker</h2>



<p>Первым делом устанавливаем докер следующей командой:</p>



<pre class="wp-block-code"><code>curl -sSL https://get.docker.com/ | CHANNEL=stable sh
systemctl enable --now docker</code></pre>



<p>Проверяем что докер установлен, смотрим версию докера:</p>



<pre class="wp-block-code"><code>docker -v</code></pre>



<p>Проверяем версию докер композ</p>



<pre class="wp-block-code"><code>docker compose version</code></pre>



<p>Selinux</p>



<p>проверяем установлен ли Selinux:</p>



<pre class="wp-block-code"><code>rpm -qa | grep container-selinux</code></pre>



<p>Эта команда должна что-то вывести, если выводит &#8212; идем дальше, если нет, то нужно установить Selinux. Теперь проверяем поддержку Selinux в докере:</p>



<pre class="wp-block-code"><code>docker info | grep selinux</code></pre>



<p>Тут ничего не должно вывести. Это означает, что в докер Selinux еще не подключен. Но прежде чем его подключить обсудим некоторый момент на счет докера. Давай проверим какой обьем имеет &#171;/&#187; директория, так как именно на по умолчанию ставится докер и там он хранит данные своих контейнеров и соответственно все наши письма будут лежать именно там.</p>



<pre class="wp-block-code"><code>df -h</code></pre>



<p>Если мы видим что &#171;/&#187; занимает самую большую часть памяти, пропускаем все что будет ниже и переходим к пункту включения selinux без переноса рабочей папки докера. Но если у нас например &#171;/home&#187; больше чем &#171;/&#187; следует перенести рабочую папку докера на другой диск.</p>



<p>Вариант 1: Останавливаем докер:</p>



<pre class="wp-block-code"><code>systemctl stop docker
systemctl stop docker.socket</code></pre>



<p>Когда докер остановлен, переносим текущую рабочую папку на другой диск</p>



<pre class="wp-block-code"><code>mv /var/lib/docker /home/docker-data</code></pre>



<p>Теперь меняем конфигурацию докера:</p>



<pre class="wp-block-code"><code>mkdir -p /etc/docker
nano /etc/docker/daemon.json</code></pre>



<p>заполняем в файлик следующее, заодно сразу включаем selinux для докера</p>



<pre class="wp-block-code"><code>{
  "data-root": "/home/docker-data",
  "selinux-enabled": true
}</code></pre>



<p>сохраняем и стартуем докер</p>



<pre class="wp-block-code"><code>systemctl start docker
systemctl start docker.socket</code></pre>



<p>Вариант 2: Если нам не нужно переносить рабочую папку докера, то просто включаем selinux:</p>



<pre class="wp-block-code"><code>nano /etc/docker/daemon.json</code></pre>



<p>заполняем следующий текст:</p>



<pre class="wp-block-code"><code>{
  "selinux-enabled": true
}</code></pre>



<p>и перезапускаем докер:</p>



<pre class="wp-block-code"><code>systemctl restart docker</code></pre>



<p>Дальше что для первого случая что для второго <br>проверяем выводит ли теперь<strong> </strong>selinux следующая команда:</p>



<pre class="wp-block-code"><code>docker info | grep selinux</code></pre>



<p>если да, то все получилось. Также проверяем докер применилась ли перенос Docker Root Dir в /home/docker-data. Для его запускаем следующую команду и ищем в результатах Docker Root Dir:</p>



<pre class="wp-block-code"><code>docker info</code></pre>



<p>Нашли, значит все хорошо и докер работает с новой рабочей папкой на другом диске. </p>



<h2 class="wp-block-heading">DNS записи</h2>



<p>Следующим шагом нужно добавить нужные нам DNS записи к домену. Идем в сервис где покупали домен, и добавляем следующие записи:</p>



<pre class="wp-block-code"><code>A    mail    1.2.3.4
AAAA    mail    1111:111:111
CNAME    autodiscover   mail.youdomain.com. 
CNAME    autoconfig    mail.youdomain.com. 
MX 10    @    mail.youdomain.com. 
TXT    @    v=spf1 a mx ip4:1.2.3.4 ip6:1111:111:111 -all
TXT    _dmarc    v=DMARC1; p=none; sp=none; rua=mailto:postmaster@youdomain.com; ruf=mailto:postmaster@youdomain.com; fo=1; ri=86400;</code></pre>



<p>вместо 1.2.3.4 надо написать IPv4 и вместо 1111:111:111 &#8212; IPv6 адрес вашего меил сервера и вместо youdomain.com надо написать ваш домен к которому делаем изменения DNS</p>



<p>Проверяем правильность по следующим сервисам:</p>



<ul class="wp-block-list">
<li><a href="https://mxtoolbox.com/dmarc/dmarc-email-tools?referrer=cms_dmarchome" target="_blank" rel="noreferrer noopener">https://mxtoolbox.com/</a> или <a href="https://intodns.com/" target="_blank" rel="noreferrer noopener">https://intodns.com/</a> проверка DNS записей</li>



<li><a href="https://dmarcly.com/tools/" target="_blank" rel="noreferrer noopener">https://dmarcly.com/tools/</a> и <a href="https://powerdmarc.com/analyzer/" target="_blank" rel="noreferrer noopener">https://powerdmarc.com/analyzer/</a>&#8212; еще сервисы для проверки правильности DNS</li>



<li><a href="https://www.mail-tester.com/" target="_blank" rel="noreferrer noopener">https://www.mail-tester.com/</a> &#8212; тест отправки мейла</li>
</ul>



<h2 class="wp-block-heading">Запуск Mailcow</h2>



<p>Теперь все готово для установки mailcow. Перепроверяем следующую команду:</p>



<pre class="wp-block-code"><code>su
umask</code></pre>



<p>должно вывести 0022, если все ок идем дальше.</p>



<pre class="wp-block-code"><code>git clone https://github.com/mailcow/mailcow-dockerized /home/mailcow
cd /home/mailcow
./generate_config.sh</code></pre>



<ol class="wp-block-list">
<li>Первое что спросит это hostname. Тут пишем название вашего домена для сервера mail.youdomain.com.</li>



<li>Дальше спросит таймзону &#8212; ее мы уже настроили поэтом идем дальше</li>



<li>Следующее спросит какую версию mailcow использовать, жмем 1 чтобы использовать стабильную версию.</li>
</ol>



<p>Теперь добавляем сразу редирект http -&gt; https для этого создаем файл:</p>



<pre class="wp-block-code"><code>nano data/conf/nginx/redirect.conf</code></pre>



<p>и заполняем содержимым:</p>



<pre class="wp-block-code"><code>server {
  root /web;
  listen 80 default_server;
  listen &#91;::]:80 default_server;
  include /etc/nginx/conf.d/server_name.active;
  if ( $request_uri ~* "%0A|%0D" ) { return 403; }
  location ^~ /.well-known/acme-challenge/ {
    allow all;
    default_type "text/plain";
  }
  location / {
    return 301 https://$host$uri$is_args$args;
  }
}</code></pre>



<p>Готово, меилку установлен и редирект подготовлен. Теперь можно скачать контейнеры и запускать докер.</p>



<pre class="wp-block-code"><code>docker compose pull
docker compose up -d</code></pre>



<p>Лог посмотреть можно следующей командой:</p>



<pre class="wp-block-code"><code>docker compose logs --tail=200 -f acme-mailcow</code></pre>



<p>Как только все контейнеры стартовали, нужно подождать до минуты, и можно переходить в браузер и проверить работает ли наш новый меил сервер &#8212; https://mail.youdomain.com, Домен понятное дело пишем тот который мы в настройках DNS сделали. Вы должны увидеть что-то похожее в браузере:</p>



<figure class="wp-block-image size-large"><img decoding="async" width="996" height="1024" src="https://wiki.pwodev.com/wp-content/uploads/2023/02/Screenshot-2023-02-08-at-12.33.37-996x1024.png" alt="" class="wp-image-1332" srcset="https://wiki.pwodev.com/wp-content/uploads/2023/02/Screenshot-2023-02-08-at-12.33.37-996x1024.png 996w, https://wiki.pwodev.com/wp-content/uploads/2023/02/Screenshot-2023-02-08-at-12.33.37-292x300.png 292w, https://wiki.pwodev.com/wp-content/uploads/2023/02/Screenshot-2023-02-08-at-12.33.37-768x790.png 768w, https://wiki.pwodev.com/wp-content/uploads/2023/02/Screenshot-2023-02-08-at-12.33.37-1494x1536.png 1494w, https://wiki.pwodev.com/wp-content/uploads/2023/02/Screenshot-2023-02-08-at-12.33.37-389x400.png 389w, https://wiki.pwodev.com/wp-content/uploads/2023/02/Screenshot-2023-02-08-at-12.33.37.png 1548w" sizes="(max-width: 996px) 100vw, 996px" /></figure>



<p>Увидели? Могу вас поздравить. Вы только что запустили очень мощный меил сервер.</p>



<p>Вводим стандартный логин&nbsp;<strong>admin</strong>&nbsp;и пароль&nbsp;<strong>moohoo</strong>, и сразу меняем пароль для администратора. Делаем необходимые нам настройки, добавляем меилы и наслаждаемся новой системой 🙂</p>



<p>В настройках нам нужно сделать следующее:</p>



<ol class="wp-block-list">
<li>Добавить домен</li>



<li>Сгенерировать для него dkim ключ</li>



<li>добавить этот ключ в DNS</li>
</ol>



<pre class="wp-block-code"><code>TXT    dkim._domainkey    v=DKIM1;k=rsa;t=s;s=email;p=****************</code></pre>



<p>После этого можно добавлять почтовые адреса и тестировать почту с помощью сервиса <a href="https://www.mail-tester.com/" target="_blank" rel="noreferrer noopener">https://www.mail-tester.com/</a></p>
<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fwiki.pwodev.com%2F%25d0%25bf%25d0%25be%25d0%25b4%25d0%25bd%25d0%25b8%25d0%25bc%25d0%25b0%25d0%25b5%25d0%25bc-%25d0%25bc%25d0%25b5%25d0%25b8%25d0%25bb-%25d1%2581%25d0%25b5%25d1%2580%25d0%25b2%25d0%25b5%25d1%2580-%25d0%25bd%25d0%25b0-%25d0%25bf%25d1%2580%25d0%25be%25d0%25ba%25d1%2581%25d0%25bc%25d0%25be%25d0%25ba%25d1%2581%25d0%25b5%2F&amp;linkname=%D0%9F%D0%BE%D0%B4%D0%BD%D0%B8%D0%BC%D0%B0%D0%B5%D0%BC%20%D0%BC%D0%B5%D0%B8%D0%BB%20%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%20%D0%BD%D0%B0%20%D0%BF%D1%80%D0%BE%D0%BA%D1%81%D0%BC%D0%BE%D0%BA%D1%81%D0%B5%20Centos%207" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_vk" href="https://www.addtoany.com/add_to/vk?linkurl=https%3A%2F%2Fwiki.pwodev.com%2F%25d0%25bf%25d0%25be%25d0%25b4%25d0%25bd%25d0%25b8%25d0%25bc%25d0%25b0%25d0%25b5%25d0%25bc-%25d0%25bc%25d0%25b5%25d0%25b8%25d0%25bb-%25d1%2581%25d0%25b5%25d1%2580%25d0%25b2%25d0%25b5%25d1%2580-%25d0%25bd%25d0%25b0-%25d0%25bf%25d1%2580%25d0%25be%25d0%25ba%25d1%2581%25d0%25bc%25d0%25be%25d0%25ba%25d1%2581%25d0%25b5%2F&amp;linkname=%D0%9F%D0%BE%D0%B4%D0%BD%D0%B8%D0%BC%D0%B0%D0%B5%D0%BC%20%D0%BC%D0%B5%D0%B8%D0%BB%20%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%20%D0%BD%D0%B0%20%D0%BF%D1%80%D0%BE%D0%BA%D1%81%D0%BC%D0%BE%D0%BA%D1%81%D0%B5%20Centos%207" title="VK" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=https%3A%2F%2Fwiki.pwodev.com%2F%25d0%25bf%25d0%25be%25d0%25b4%25d0%25bd%25d0%25b8%25d0%25bc%25d0%25b0%25d0%25b5%25d0%25bc-%25d0%25bc%25d0%25b5%25d0%25b8%25d0%25bb-%25d1%2581%25d0%25b5%25d1%2580%25d0%25b2%25d0%25b5%25d1%2580-%25d0%25bd%25d0%25b0-%25d0%25bf%25d1%2580%25d0%25be%25d0%25ba%25d1%2581%25d0%25bc%25d0%25be%25d0%25ba%25d1%2581%25d0%25b5%2F&amp;linkname=%D0%9F%D0%BE%D0%B4%D0%BD%D0%B8%D0%BC%D0%B0%D0%B5%D0%BC%20%D0%BC%D0%B5%D0%B8%D0%BB%20%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%20%D0%BD%D0%B0%20%D0%BF%D1%80%D0%BE%D0%BA%D1%81%D0%BC%D0%BE%D0%BA%D1%81%D0%B5%20Centos%207" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Fwiki.pwodev.com%2F%25d0%25bf%25d0%25be%25d0%25b4%25d0%25bd%25d0%25b8%25d0%25bc%25d0%25b0%25d0%25b5%25d0%25bc-%25d0%25bc%25d0%25b5%25d0%25b8%25d0%25bb-%25d1%2581%25d0%25b5%25d1%2580%25d0%25b2%25d0%25b5%25d1%2580-%25d0%25bd%25d0%25b0-%25d0%25bf%25d1%2580%25d0%25be%25d0%25ba%25d1%2581%25d0%25bc%25d0%25be%25d0%25ba%25d1%2581%25d0%25b5%2F&amp;linkname=%D0%9F%D0%BE%D0%B4%D0%BD%D0%B8%D0%BC%D0%B0%D0%B5%D0%BC%20%D0%BC%D0%B5%D0%B8%D0%BB%20%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%20%D0%BD%D0%B0%20%D0%BF%D1%80%D0%BE%D0%BA%D1%81%D0%BC%D0%BE%D0%BA%D1%81%D0%B5%20Centos%207" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_skype" href="https://www.addtoany.com/add_to/skype?linkurl=https%3A%2F%2Fwiki.pwodev.com%2F%25d0%25bf%25d0%25be%25d0%25b4%25d0%25bd%25d0%25b8%25d0%25bc%25d0%25b0%25d0%25b5%25d0%25bc-%25d0%25bc%25d0%25b5%25d0%25b8%25d0%25bb-%25d1%2581%25d0%25b5%25d1%2580%25d0%25b2%25d0%25b5%25d1%2580-%25d0%25bd%25d0%25b0-%25d0%25bf%25d1%2580%25d0%25be%25d0%25ba%25d1%2581%25d0%25bc%25d0%25be%25d0%25ba%25d1%2581%25d0%25b5%2F&amp;linkname=%D0%9F%D0%BE%D0%B4%D0%BD%D0%B8%D0%BC%D0%B0%D0%B5%D0%BC%20%D0%BC%D0%B5%D0%B8%D0%BB%20%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%20%D0%BD%D0%B0%20%D0%BF%D1%80%D0%BE%D0%BA%D1%81%D0%BC%D0%BE%D0%BA%D1%81%D0%B5%20Centos%207" title="Skype" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_whatsapp" href="https://www.addtoany.com/add_to/whatsapp?linkurl=https%3A%2F%2Fwiki.pwodev.com%2F%25d0%25bf%25d0%25be%25d0%25b4%25d0%25bd%25d0%25b8%25d0%25bc%25d0%25b0%25d0%25b5%25d0%25bc-%25d0%25bc%25d0%25b5%25d0%25b8%25d0%25bb-%25d1%2581%25d0%25b5%25d1%2580%25d0%25b2%25d0%25b5%25d1%2580-%25d0%25bd%25d0%25b0-%25d0%25bf%25d1%2580%25d0%25be%25d0%25ba%25d1%2581%25d0%25bc%25d0%25be%25d0%25ba%25d1%2581%25d0%25b5%2F&amp;linkname=%D0%9F%D0%BE%D0%B4%D0%BD%D0%B8%D0%BC%D0%B0%D0%B5%D0%BC%20%D0%BC%D0%B5%D0%B8%D0%BB%20%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%20%D0%BD%D0%B0%20%D0%BF%D1%80%D0%BE%D0%BA%D1%81%D0%BC%D0%BE%D0%BA%D1%81%D0%B5%20Centos%207" title="WhatsApp" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwiki.pwodev.com%2F%25d0%25bf%25d0%25be%25d0%25b4%25d0%25bd%25d0%25b8%25d0%25bc%25d0%25b0%25d0%25b5%25d0%25bc-%25d0%25bc%25d0%25b5%25d0%25b8%25d0%25bb-%25d1%2581%25d0%25b5%25d1%2580%25d0%25b2%25d0%25b5%25d1%2580-%25d0%25bd%25d0%25b0-%25d0%25bf%25d1%2580%25d0%25be%25d0%25ba%25d1%2581%25d0%25bc%25d0%25be%25d0%25ba%25d1%2581%25d0%25b5%2F&#038;title=%D0%9F%D0%BE%D0%B4%D0%BD%D0%B8%D0%BC%D0%B0%D0%B5%D0%BC%20%D0%BC%D0%B5%D0%B8%D0%BB%20%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%20%D0%BD%D0%B0%20%D0%BF%D1%80%D0%BE%D0%BA%D1%81%D0%BC%D0%BE%D0%BA%D1%81%D0%B5%20Centos%207" data-a2a-url="https://wiki.pwodev.com/%d0%bf%d0%be%d0%b4%d0%bd%d0%b8%d0%bc%d0%b0%d0%b5%d0%bc-%d0%bc%d0%b5%d0%b8%d0%bb-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80-%d0%bd%d0%b0-%d0%bf%d1%80%d0%be%d0%ba%d1%81%d0%bc%d0%be%d0%ba%d1%81%d0%b5/" data-a2a-title="Поднимаем меил сервер на проксмоксе Centos 7"></a></p><p>Сообщение <a href="https://wiki.pwodev.com/%d0%bf%d0%be%d0%b4%d0%bd%d0%b8%d0%bc%d0%b0%d0%b5%d0%bc-%d0%bc%d0%b5%d0%b8%d0%bb-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80-%d0%bd%d0%b0-%d0%bf%d1%80%d0%be%d0%ba%d1%81%d0%bc%d0%be%d0%ba%d1%81%d0%b5/">Поднимаем меил сервер на проксмоксе Centos 7</a> появились сначала на <a href="https://wiki.pwodev.com">Wiki | PWODEV</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://wiki.pwodev.com/%d0%bf%d0%be%d0%b4%d0%bd%d0%b8%d0%bc%d0%b0%d0%b5%d0%bc-%d0%bc%d0%b5%d0%b8%d0%bb-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80-%d0%bd%d0%b0-%d0%bf%d1%80%d0%be%d0%ba%d1%81%d0%bc%d0%be%d0%ba%d1%81%d0%b5/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Debian ssh root &#8212; Permission denied, please try again.</title>
		<link>https://wiki.pwodev.com/debian-ssh-root-permission-denied-please-try-again/</link>
					<comments>https://wiki.pwodev.com/debian-ssh-root-permission-denied-please-try-again/#respond</comments>
		
		<dc:creator><![CDATA[Paul Osmachko]]></dc:creator>
		<pubDate>Mon, 05 Sep 2022 13:29:14 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[cli]]></category>
		<category><![CDATA[Command line]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[root]]></category>
		<guid isPermaLink="false">https://wiki.pwodev.com/?p=1282</guid>

					<description><![CDATA[<p>Сисема Дебиан, не получается залогинеться из под рута через ssh. Это сделано из-за соображений безопасности, та же штука и на Убунту (Ubuntu). По умолчанию через ssh нельзя с рутом залогиться удаленно, только на самой машине. Но чтобы это исправить надо немного подкорретировать настройки. Редактируем следующий файлик: в этом файлике находим строки и раскомментируем и исправляем [&#8230;]</p>
<p>Сообщение <a href="https://wiki.pwodev.com/debian-ssh-root-permission-denied-please-try-again/">Debian ssh root &#8212; Permission denied, please try again.</a> появились сначала на <a href="https://wiki.pwodev.com">Wiki | PWODEV</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Сисема Дебиан, не получается залогинеться из под рута через ssh. Это сделано из-за соображений безопасности, та же штука и на Убунту (Ubuntu). По умолчанию через ssh нельзя с рутом залогиться удаленно, только на самой машине. Но чтобы это исправить надо немного подкорретировать настройки. Редактируем следующий файлик:</p>



<pre class="wp-block-code"><code>nano /etc/ssh/sshd_config</code></pre>



<p>в этом файлике находим строки и раскомментируем и исправляем если нужно. Должно быть так:</p>



<pre class="wp-block-code"><code>PermitRootLogin yes</code></pre>



<p>потом редактируем это:</p>



<pre class="wp-block-code"><code>PasswordAuthentication yes</code></pre>



<p>после этого перезапускаем ssh:</p>



<pre class="wp-block-code"><code>systemctl restart sshd</code></pre>



<p>теперь можно залогинеться удаленно через ssh с помощью root.</p>
<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fwiki.pwodev.com%2Fdebian-ssh-root-permission-denied-please-try-again%2F&amp;linkname=Debian%20ssh%20root%20%E2%80%94%20Permission%20denied%2C%20please%20try%20again." title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_vk" href="https://www.addtoany.com/add_to/vk?linkurl=https%3A%2F%2Fwiki.pwodev.com%2Fdebian-ssh-root-permission-denied-please-try-again%2F&amp;linkname=Debian%20ssh%20root%20%E2%80%94%20Permission%20denied%2C%20please%20try%20again." title="VK" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=https%3A%2F%2Fwiki.pwodev.com%2Fdebian-ssh-root-permission-denied-please-try-again%2F&amp;linkname=Debian%20ssh%20root%20%E2%80%94%20Permission%20denied%2C%20please%20try%20again." title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Fwiki.pwodev.com%2Fdebian-ssh-root-permission-denied-please-try-again%2F&amp;linkname=Debian%20ssh%20root%20%E2%80%94%20Permission%20denied%2C%20please%20try%20again." title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_skype" href="https://www.addtoany.com/add_to/skype?linkurl=https%3A%2F%2Fwiki.pwodev.com%2Fdebian-ssh-root-permission-denied-please-try-again%2F&amp;linkname=Debian%20ssh%20root%20%E2%80%94%20Permission%20denied%2C%20please%20try%20again." title="Skype" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_whatsapp" href="https://www.addtoany.com/add_to/whatsapp?linkurl=https%3A%2F%2Fwiki.pwodev.com%2Fdebian-ssh-root-permission-denied-please-try-again%2F&amp;linkname=Debian%20ssh%20root%20%E2%80%94%20Permission%20denied%2C%20please%20try%20again." title="WhatsApp" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwiki.pwodev.com%2Fdebian-ssh-root-permission-denied-please-try-again%2F&#038;title=Debian%20ssh%20root%20%E2%80%94%20Permission%20denied%2C%20please%20try%20again." data-a2a-url="https://wiki.pwodev.com/debian-ssh-root-permission-denied-please-try-again/" data-a2a-title="Debian ssh root — Permission denied, please try again."></a></p><p>Сообщение <a href="https://wiki.pwodev.com/debian-ssh-root-permission-denied-please-try-again/">Debian ssh root &#8212; Permission denied, please try again.</a> появились сначала на <a href="https://wiki.pwodev.com">Wiki | PWODEV</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://wiki.pwodev.com/debian-ssh-root-permission-denied-please-try-again/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Как поменять папку для скриншотов на MacBook</title>
		<link>https://wiki.pwodev.com/%d0%ba%d0%b0%d0%ba-%d0%bf%d0%be%d0%bc%d0%b5%d0%bd%d1%8f%d1%82%d1%8c-%d0%bf%d0%b0%d0%bf%d0%ba%d1%83-%d0%b4%d0%bb%d1%8f-%d1%81%d0%ba%d1%80%d0%b8%d0%bd%d1%88%d0%be%d1%82%d0%be%d0%b2-%d0%bd%d0%b0-macbook/</link>
					<comments>https://wiki.pwodev.com/%d0%ba%d0%b0%d0%ba-%d0%bf%d0%be%d0%bc%d0%b5%d0%bd%d1%8f%d1%82%d1%8c-%d0%bf%d0%b0%d0%bf%d0%ba%d1%83-%d0%b4%d0%bb%d1%8f-%d1%81%d0%ba%d1%80%d0%b8%d0%bd%d1%88%d0%be%d1%82%d0%be%d0%b2-%d0%bd%d0%b0-macbook/#respond</comments>
		
		<dc:creator><![CDATA[Paul Osmachko]]></dc:creator>
		<pubDate>Mon, 11 Jul 2022 20:00:06 +0000</pubDate>
				<category><![CDATA[Mac OS]]></category>
		<category><![CDATA[MAC Terminal]]></category>
		<category><![CDATA[OS]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[cli]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[MacOS]]></category>
		<category><![CDATA[мак]]></category>
		<category><![CDATA[скриншоты]]></category>
		<category><![CDATA[терминал]]></category>
		<guid isPermaLink="false">https://wiki.pwodev.com/?p=1258</guid>

					<description><![CDATA[<p>Как мы знаем все скриншоты в Маке по умолчанию сохраняются на рабочем столе. Это сильно засоряет рабочий стол, особенно когда приходится делать довольно часто скриншоты. Сегодня я вам расскажу как поменять папку по умолчанию для скриншотов. Есть 2 способа: один это через терминал, а другой через настройки скриншота Command+Shift+5 Способ 1: Запускаем терминал, и вводим [&#8230;]</p>
<p>Сообщение <a href="https://wiki.pwodev.com/%d0%ba%d0%b0%d0%ba-%d0%bf%d0%be%d0%bc%d0%b5%d0%bd%d1%8f%d1%82%d1%8c-%d0%bf%d0%b0%d0%bf%d0%ba%d1%83-%d0%b4%d0%bb%d1%8f-%d1%81%d0%ba%d1%80%d0%b8%d0%bd%d1%88%d0%be%d1%82%d0%be%d0%b2-%d0%bd%d0%b0-macbook/">Как поменять папку для скриншотов на MacBook</a> появились сначала на <a href="https://wiki.pwodev.com">Wiki | PWODEV</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Как мы знаем все скриншоты в Маке по умолчанию сохраняются на рабочем столе. Это сильно засоряет рабочий стол, особенно когда приходится делать довольно часто скриншоты. Сегодня я вам расскажу как поменять папку по умолчанию для скриншотов. Есть 2 способа: один это через терминал, а другой через настройки скриншота Command+Shift+5</p>



<h4 class="wp-block-heading">Способ 1: </h4>



<p>Запускаем терминал, и вводим 2 команды:</p>



<pre class="wp-block-code"><code>defaults write com.apple.screencapture location ~/Downloads
killall SystemUIServer</code></pre>



<p>После этого все наши скриншоты будут сохранены в папку Загрузки (Downloads)</p>



<p>Проверяем. Для тех кто забыл как делать скриншоты на маке, вот вам шпаргалка:</p>



<ul class="wp-block-list"><li>Command+Shift+3 &#8212; скриншот всего экрана</li><li>Command+Shift+4 &#8212; появится возможность выделить на экране область которую мы хотим сохранить</li><li>Command+Shift+5 &#8212; появляется варианты скриншота/записи видео или других параметров скриншота</li></ul>



<h4 class="wp-block-heading">Способ 2:</h4>



<p>Теперь рассмотрим другой способ через настройки скриншота. Жмем Command+Shift+5 и в нижней части экрана мы увидим слово параметры, внутри мы можем выбрать то расположение куда мы хотим сохранять скриншоты.</p>



<p>Как по мне способ с терминалом быстрее 🙂 но вы выбирайте тот что вам будет удобней.</p>
<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fwiki.pwodev.com%2F%25d0%25ba%25d0%25b0%25d0%25ba-%25d0%25bf%25d0%25be%25d0%25bc%25d0%25b5%25d0%25bd%25d1%258f%25d1%2582%25d1%258c-%25d0%25bf%25d0%25b0%25d0%25bf%25d0%25ba%25d1%2583-%25d0%25b4%25d0%25bb%25d1%258f-%25d1%2581%25d0%25ba%25d1%2580%25d0%25b8%25d0%25bd%25d1%2588%25d0%25be%25d1%2582%25d0%25be%25d0%25b2-%25d0%25bd%25d0%25b0-macbook%2F&amp;linkname=%D0%9A%D0%B0%D0%BA%20%D0%BF%D0%BE%D0%BC%D0%B5%D0%BD%D1%8F%D1%82%D1%8C%20%D0%BF%D0%B0%D0%BF%D0%BA%D1%83%20%D0%B4%D0%BB%D1%8F%20%D1%81%D0%BA%D1%80%D0%B8%D0%BD%D1%88%D0%BE%D1%82%D0%BE%D0%B2%20%D0%BD%D0%B0%20MacBook" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_vk" href="https://www.addtoany.com/add_to/vk?linkurl=https%3A%2F%2Fwiki.pwodev.com%2F%25d0%25ba%25d0%25b0%25d0%25ba-%25d0%25bf%25d0%25be%25d0%25bc%25d0%25b5%25d0%25bd%25d1%258f%25d1%2582%25d1%258c-%25d0%25bf%25d0%25b0%25d0%25bf%25d0%25ba%25d1%2583-%25d0%25b4%25d0%25bb%25d1%258f-%25d1%2581%25d0%25ba%25d1%2580%25d0%25b8%25d0%25bd%25d1%2588%25d0%25be%25d1%2582%25d0%25be%25d0%25b2-%25d0%25bd%25d0%25b0-macbook%2F&amp;linkname=%D0%9A%D0%B0%D0%BA%20%D0%BF%D0%BE%D0%BC%D0%B5%D0%BD%D1%8F%D1%82%D1%8C%20%D0%BF%D0%B0%D0%BF%D0%BA%D1%83%20%D0%B4%D0%BB%D1%8F%20%D1%81%D0%BA%D1%80%D0%B8%D0%BD%D1%88%D0%BE%D1%82%D0%BE%D0%B2%20%D0%BD%D0%B0%20MacBook" title="VK" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=https%3A%2F%2Fwiki.pwodev.com%2F%25d0%25ba%25d0%25b0%25d0%25ba-%25d0%25bf%25d0%25be%25d0%25bc%25d0%25b5%25d0%25bd%25d1%258f%25d1%2582%25d1%258c-%25d0%25bf%25d0%25b0%25d0%25bf%25d0%25ba%25d1%2583-%25d0%25b4%25d0%25bb%25d1%258f-%25d1%2581%25d0%25ba%25d1%2580%25d0%25b8%25d0%25bd%25d1%2588%25d0%25be%25d1%2582%25d0%25be%25d0%25b2-%25d0%25bd%25d0%25b0-macbook%2F&amp;linkname=%D0%9A%D0%B0%D0%BA%20%D0%BF%D0%BE%D0%BC%D0%B5%D0%BD%D1%8F%D1%82%D1%8C%20%D0%BF%D0%B0%D0%BF%D0%BA%D1%83%20%D0%B4%D0%BB%D1%8F%20%D1%81%D0%BA%D1%80%D0%B8%D0%BD%D1%88%D0%BE%D1%82%D0%BE%D0%B2%20%D0%BD%D0%B0%20MacBook" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Fwiki.pwodev.com%2F%25d0%25ba%25d0%25b0%25d0%25ba-%25d0%25bf%25d0%25be%25d0%25bc%25d0%25b5%25d0%25bd%25d1%258f%25d1%2582%25d1%258c-%25d0%25bf%25d0%25b0%25d0%25bf%25d0%25ba%25d1%2583-%25d0%25b4%25d0%25bb%25d1%258f-%25d1%2581%25d0%25ba%25d1%2580%25d0%25b8%25d0%25bd%25d1%2588%25d0%25be%25d1%2582%25d0%25be%25d0%25b2-%25d0%25bd%25d0%25b0-macbook%2F&amp;linkname=%D0%9A%D0%B0%D0%BA%20%D0%BF%D0%BE%D0%BC%D0%B5%D0%BD%D1%8F%D1%82%D1%8C%20%D0%BF%D0%B0%D0%BF%D0%BA%D1%83%20%D0%B4%D0%BB%D1%8F%20%D1%81%D0%BA%D1%80%D0%B8%D0%BD%D1%88%D0%BE%D1%82%D0%BE%D0%B2%20%D0%BD%D0%B0%20MacBook" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_skype" href="https://www.addtoany.com/add_to/skype?linkurl=https%3A%2F%2Fwiki.pwodev.com%2F%25d0%25ba%25d0%25b0%25d0%25ba-%25d0%25bf%25d0%25be%25d0%25bc%25d0%25b5%25d0%25bd%25d1%258f%25d1%2582%25d1%258c-%25d0%25bf%25d0%25b0%25d0%25bf%25d0%25ba%25d1%2583-%25d0%25b4%25d0%25bb%25d1%258f-%25d1%2581%25d0%25ba%25d1%2580%25d0%25b8%25d0%25bd%25d1%2588%25d0%25be%25d1%2582%25d0%25be%25d0%25b2-%25d0%25bd%25d0%25b0-macbook%2F&amp;linkname=%D0%9A%D0%B0%D0%BA%20%D0%BF%D0%BE%D0%BC%D0%B5%D0%BD%D1%8F%D1%82%D1%8C%20%D0%BF%D0%B0%D0%BF%D0%BA%D1%83%20%D0%B4%D0%BB%D1%8F%20%D1%81%D0%BA%D1%80%D0%B8%D0%BD%D1%88%D0%BE%D1%82%D0%BE%D0%B2%20%D0%BD%D0%B0%20MacBook" title="Skype" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_whatsapp" href="https://www.addtoany.com/add_to/whatsapp?linkurl=https%3A%2F%2Fwiki.pwodev.com%2F%25d0%25ba%25d0%25b0%25d0%25ba-%25d0%25bf%25d0%25be%25d0%25bc%25d0%25b5%25d0%25bd%25d1%258f%25d1%2582%25d1%258c-%25d0%25bf%25d0%25b0%25d0%25bf%25d0%25ba%25d1%2583-%25d0%25b4%25d0%25bb%25d1%258f-%25d1%2581%25d0%25ba%25d1%2580%25d0%25b8%25d0%25bd%25d1%2588%25d0%25be%25d1%2582%25d0%25be%25d0%25b2-%25d0%25bd%25d0%25b0-macbook%2F&amp;linkname=%D0%9A%D0%B0%D0%BA%20%D0%BF%D0%BE%D0%BC%D0%B5%D0%BD%D1%8F%D1%82%D1%8C%20%D0%BF%D0%B0%D0%BF%D0%BA%D1%83%20%D0%B4%D0%BB%D1%8F%20%D1%81%D0%BA%D1%80%D0%B8%D0%BD%D1%88%D0%BE%D1%82%D0%BE%D0%B2%20%D0%BD%D0%B0%20MacBook" title="WhatsApp" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwiki.pwodev.com%2F%25d0%25ba%25d0%25b0%25d0%25ba-%25d0%25bf%25d0%25be%25d0%25bc%25d0%25b5%25d0%25bd%25d1%258f%25d1%2582%25d1%258c-%25d0%25bf%25d0%25b0%25d0%25bf%25d0%25ba%25d1%2583-%25d0%25b4%25d0%25bb%25d1%258f-%25d1%2581%25d0%25ba%25d1%2580%25d0%25b8%25d0%25bd%25d1%2588%25d0%25be%25d1%2582%25d0%25be%25d0%25b2-%25d0%25bd%25d0%25b0-macbook%2F&#038;title=%D0%9A%D0%B0%D0%BA%20%D0%BF%D0%BE%D0%BC%D0%B5%D0%BD%D1%8F%D1%82%D1%8C%20%D0%BF%D0%B0%D0%BF%D0%BA%D1%83%20%D0%B4%D0%BB%D1%8F%20%D1%81%D0%BA%D1%80%D0%B8%D0%BD%D1%88%D0%BE%D1%82%D0%BE%D0%B2%20%D0%BD%D0%B0%20MacBook" data-a2a-url="https://wiki.pwodev.com/%d0%ba%d0%b0%d0%ba-%d0%bf%d0%be%d0%bc%d0%b5%d0%bd%d1%8f%d1%82%d1%8c-%d0%bf%d0%b0%d0%bf%d0%ba%d1%83-%d0%b4%d0%bb%d1%8f-%d1%81%d0%ba%d1%80%d0%b8%d0%bd%d1%88%d0%be%d1%82%d0%be%d0%b2-%d0%bd%d0%b0-macbook/" data-a2a-title="Как поменять папку для скриншотов на MacBook"></a></p><p>Сообщение <a href="https://wiki.pwodev.com/%d0%ba%d0%b0%d0%ba-%d0%bf%d0%be%d0%bc%d0%b5%d0%bd%d1%8f%d1%82%d1%8c-%d0%bf%d0%b0%d0%bf%d0%ba%d1%83-%d0%b4%d0%bb%d1%8f-%d1%81%d0%ba%d1%80%d0%b8%d0%bd%d1%88%d0%be%d1%82%d0%be%d0%b2-%d0%bd%d0%b0-macbook/">Как поменять папку для скриншотов на MacBook</a> появились сначала на <a href="https://wiki.pwodev.com">Wiki | PWODEV</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://wiki.pwodev.com/%d0%ba%d0%b0%d0%ba-%d0%bf%d0%be%d0%bc%d0%b5%d0%bd%d1%8f%d1%82%d1%8c-%d0%bf%d0%b0%d0%bf%d0%ba%d1%83-%d0%b4%d0%bb%d1%8f-%d1%81%d0%ba%d1%80%d0%b8%d0%bd%d1%88%d0%be%d1%82%d0%be%d0%b2-%d0%bd%d0%b0-macbook/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
