{
    "version": "https:\/\/jsonfeed.org\/version\/1.1",
    "title": "wildcar's place",
    "_rss_description": "wildcar's place",
    "_rss_language": "ru",
    "_itunes_email": "",
    "_itunes_categories_xml": "",
    "_itunes_image": "",
    "_itunes_explicit": "",
    "home_page_url": "https:\/\/wildcar.ru\/",
    "feed_url": "https:\/\/wildcar.ru\/?go=rss\/",
    "icon": false,
    "authors": [
        {
            "name": "Автор блога",
            "url": "https:\/\/wildcar.ru\/",
            "avatar": false
        }
    ],
    "items": [
        {
            "id": "22",
            "url": "https:\/\/wildcar.ru\/?go=all\/webmin-custom-command-menu-parameter\/",
            "title": "Webmin custom command menu parameter",
            "content_html": "<p><a href=\"https:\/\/webmin.com\/\">Webmin<\/a> предлагает удобный веб-интерфейс для управления linux сервером<br \/>\nОдной из возможностей является функциональность пользовательских команд<br \/>\nWebmin custom command<br \/>\nДля заведения команды вводятся ее параметры, что запустить в командной строке, под каким пользователем и с какими параметрами<br \/>\nВ качестве параметров может использоваться поле для ввода текста, опции, бинарный выбор<br \/>\nОдной из возможностей является меню<br \/>\nВ качестве параметра для меню указывается имя текстового файла, в котором указаны опции меню<br \/>\nВ <a href=\"https:\/\/webmin.com\/docs\/modules\/custom-commands\/#parameter-types\">документации<\/a> по webmin указано, что в файле одна опция — это одна строка в файле, при этом первая часть строки — это сам параметр, который передается в команду, потом запятая, затем текстовое описание этого параметра, которое видит пользователь, как пункт меню<br \/>\nВ реальности (актуально для версии Webmin 2.303), парсер файла ищет связки параметр — описание в файле, разделенные пробелом<br \/>\nИ если в параметре уже есть пробелы, то его нужно заключить в кавычки<br \/>\nДля строк можно использовать # в начале строки как комментарий<br \/>\nВот файл, который получился для occ команд nextcloud:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">&quot;maintenance:repair --include-expensive&quot; &quot;Maintenance repair all&quot;\n&quot;db:add-missing-columns&quot; &quot;Add missing columns&quot;\n&quot;db:add-missing-indices&quot; &quot;Add missing indices&quot;\n&quot;app:list&quot; &quot;List of installed applications&quot;\n&quot;maintenance:mode --off&quot; &quot;Switch off maintenance mode&quot;\n&quot;update&quot; &quot;Proceed with update&quot;<\/code><\/pre><p>Сам парсер находится в исходном файле webmin \\custom\\custom-lib.pl и выглядит следующим образом:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># read_opts_file(file)\n# Read the file containing possible menu options for a command\nsub read_opts_file\n{\nlocal @rv;\nlocal $file = $_[0];\nif ($file !~ \/^\\\/\/ &amp;&amp; $file !~ \/\\|\\s*$\/) {\n\tlocal @uinfo = getpwnam($remote_user);\n\tif (@uinfo) {\n\t\t$file = &quot;$uinfo[7]\/$file&quot;;\n\t\t}\n\t}\nmy $h;\n$h = &quot;&lt;&quot; if ($file =~ \/^\\\/\/ &amp;&amp; $file !~ \/\\|\\s*$\/);\nopen(FILE, &quot;$h&quot;.$file);\nwhile(&lt;FILE&gt;) {\n\ts\/\\r|\\n\/\/g;\n\tnext if (\/^#\/);\n\tif (\/^&quot;([^&quot;]*)&quot;\\s+&quot;([^&quot;]*)&quot;$\/) {\n\t\tpush(@rv, [ $1, $2 ]);\n\t\t}\n\telsif (\/^&quot;([^&quot;]*)&quot;$\/) {\n\t\tpush(@rv, [ $1, $1 ]);\n\t\t}\n\telsif (\/^(\\S+)\\s+(\\S.*)\/) {\n\t\tpush(@rv, [ $1, $2 ]);\n\t\t}\n\telse {\n\t\tpush(@rv, [ $_, $_ ]);\n\t\t}\n\t}\nclose(FILE);\nreturn @rv;\n}<\/code><\/pre>",
            "date_published": "2025-04-14T14:59:58+03:00",
            "date_modified": "2026-03-04T02:41:06+03:00",
            "tags": [],
            "_date_published_rfc2822": "Mon, 14 Apr 2025 14:59:58 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "22",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "21",
            "url": "https:\/\/wildcar.ru\/?go=all\/wireguard-server-on-ubuntu\/",
            "title": "Wireguard server on Ubuntu",
            "content_html": "<p><a href=\"https:\/\/www.wireguard.com\/quickstart\/\">https:\/\/www.wireguard.com\/quickstart\/<\/a><br \/>\nManual<br \/>\n<a href=\"https:\/\/git.zx2c4.com\/wireguard-tools\/about\/src\/man\/wg.8\">https:\/\/git.zx2c4.com\/wireguard-tools\/about\/src\/man\/wg.8<\/a><\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sudo apt install wireguard\nwg genkey | tee server-privatekey | wg pubkey &gt; server-publickey<\/code><\/pre><p>~\/wg\/wg-server.conf<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">[Interface]\nPrivateKey = yAnz5TF+lXXJte14tji3zlMNq+hd2rYUIgJBgB3fBmk=\nListenPort = 51820\n[Peer]\nPublicKey = xTIBA5rboUvnH4htodjb6e697QjLERt1NAB4mZqp8Dg= #client public key\nAllowedIPs = 10.192.122.3\/32<\/code><\/pre><pre class=\"e2-text-code\"><code class=\"\">wg setconf wg0 ~\/wg\/wg-server.conf\nip link add dev wg0 type wireguard\nip address add dev wg0 10.60.10.1\/24\nip link set up dev wg0\n\nwg genkey | tee server-privatekey | wg pubkey &gt; server-publickey\nwg setconf wg0 \/etc\/wireguard\/wg0.conf<\/code><\/pre><p>Проверка доступности извне порта сервера (проверяется с клиентской машины)<br \/>\nnc -z -v -u 91.149.254.78 51820<br \/>\nПроверка, что TCP пакеты доходят до сервера (проверяется на сервере)<br \/>\ntcpdump -n -i eth0 port 51820<br \/>\n<a href=\"https:\/\/habr.com\/ru\/articles\/709920\/\">https:\/\/habr.com\/ru\/articles\/709920\/<\/a><br \/>\n<a href=\"https:\/\/losst.pro\/ustanovka-wireguard-v-ubuntu\">https:\/\/losst.pro\/ustanovka-wireguard-v-ubuntu<\/a><br \/>\n<a href=\"https:\/\/docs.vultr.com\/how-to-install-wireguard-vpn-on-ubuntu-24-04\">https:\/\/docs.vultr.com\/how-to-install-wireguard-vpn-on-ubuntu-24-04<\/a><\/p>\n",
            "date_published": "2025-03-30T02:09:15+03:00",
            "date_modified": "2025-04-02T18:01:55+03:00",
            "tags": [],
            "_date_published_rfc2822": "Sun, 30 Mar 2025 02:09:15 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "21",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "20",
            "url": "https:\/\/wildcar.ru\/?go=all\/kvas-dns-routing-for-keenetic-router\/",
            "title": "kvas DNS routing for keenetic router",
            "content_html": "<p>Main wiki<br \/>\n<a href=\"https:\/\/github.com\/qzeleza\/kvas\/wiki\">https:\/\/github.com\/qzeleza\/kvas\/wiki<\/a><br \/>\nTags<br \/>\n<a href=\"https:\/\/github.com\/qzeleza\/kvas\/blob\/main\/opt\/etc\/conf\/tags.list\">https:\/\/github.com\/qzeleza\/kvas\/blob\/main\/opt\/etc\/conf\/tags.list<\/a><br \/>\nПроверка доменов сайта<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">window.domains = [...new Set(performance.getEntriesByType(&#039;resource&#039;).map(r =&gt; (new URL(r.name)).hostname))]; console.log(domains);<\/code><\/pre><p>Очистка DNS windows<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">ipconfig \/flushdns<\/code><\/pre><p>Очистка DNS браузера<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">chrome:\/\/net-internals\/#dns<\/code><\/pre><p>Используемые DNS<br \/>\npowershell:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">Get-DnsClientServerAddress<\/code><\/pre><p>cmd:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">cmd:<\/code><\/pre><p>Добавить локальный host в DNS: \/opt\/etc\/hosts<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">192.168.1.1 localserver<\/code><\/pre><p>Перезапустить DNS<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">\/opt\/etc\/init.d\/S56dnsmasq restart<\/code><\/pre><p>или<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">kvas update<\/code><\/pre>",
            "date_published": "2025-03-25T13:49:19+03:00",
            "date_modified": "2025-03-29T18:43:35+03:00",
            "tags": [],
            "_date_published_rfc2822": "Tue, 25 Mar 2025 13:49:19 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "20",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "19",
            "url": "https:\/\/wildcar.ru\/?go=all\/veb-prilozhenie-dlya-svodnyh-tablic\/",
            "title": "Веб-приложение для сводных таблиц",
            "content_html": "<p><a href=\"https:\/\/www.webdatarocks.com\/\">https:\/\/www.webdatarocks.com\/<\/a><\/p>\n",
            "date_published": "2025-03-18T17:36:37+03:00",
            "date_modified": "2025-03-29T18:47:10+03:00",
            "tags": [],
            "_date_published_rfc2822": "Tue, 18 Mar 2025 17:36:37 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "19",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "18",
            "url": "https:\/\/wildcar.ru\/?go=all\/midnight-commander-nastroyka\/",
            "title": "Midnight Commander и редактор micro настройка",
            "content_html": "<p>Для работы с терминальными сессиями удобно использовать Терминал Windows<br \/>\nХорошо настраивается и имеет приятный вид и интерфейс<br \/>\n<a href=\"https:\/\/apps.microsoft.com\/detail\/9n0dx20hk701\">https:\/\/apps.microsoft.com\/detail\/9n0dx20hk701<\/a><\/p>\n<h2>Для удобства работы в MC в рамках терминала можно сделать следующие настройки:<\/h2>\n<p>Переход на папку выше через backspace:<br \/>\nГлобальные настройки сочетаний клавиш здесь:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">\/etc\/mc\/mc.keymap<\/code><\/pre><p>Меняем<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">CdParentSmart = backspace<\/code><\/pre><p>Smart имеется ввиду, что команда не будет срабатывать, если в строке команд есть текст<br \/>\nПодключаем редактор micro<br \/>\n<a href=\"https:\/\/micro-editor.github.io\/index.html\">https:\/\/micro-editor.github.io\/index.html<\/a><br \/>\nПозволяет пользоваться клавиатурными командами Ctrl-C, Ctrl-V и т. д.<br \/>\nПозволяет использовать буфер обмена терминала — он будет прозрачен как в терминале, так и на хосте<\/p>\n<h2>Устанавливаем micro<\/h2>\n<pre class=\"e2-text-code\"><code class=\"\">sudo apt install micro xclip<\/code><\/pre><h2>Меняем редактор по умолчанию в mc<\/h2>\n<p>Находим куда установился micro<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">whereis micro<\/code><\/pre><p>Отключаем в MC встроенный редактор<br \/>\nmidnight-commander-nastroyka.png<br \/>\nОтключаем в MC встроенный редактор<\/p>\n<p>Поменять настройку какой внешний редактор будет использовать MC можно разными способами<\/p>\n<ol start=\"1\">\n<li>Вызываем команду<\/li>\n<\/ol>\n<pre class=\"e2-text-code\"><code class=\"\">selected_editor<\/code><\/pre><p>и выбираем нужный редактор, если нужного редактора в списке нет,<\/p>\n<ol start=\"2\">\n<li>Редактируем файл настроек selected_editor<\/li>\n<\/ol>\n<pre class=\"e2-text-code\"><code class=\"\">micro ~\/.selected_editor<\/code><\/pre><p>правим строку<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">SELECTED_EDITOR=&quot;\/usr\/bin\/micro&quot;<\/code><\/pre><p>если пакет sensible-utils (куда входит selected_editor) недоступен,<\/p>\n<ol start=\"3\">\n<li>Устанавливаем переменную среды EDITOR<br \/>\nв файл ~.bashrc добавляем строку:<\/li>\n<\/ol>\n<pre class=\"e2-text-code\"><code class=\"\">EDITOR=\/usr\/bin\/micro<\/code><\/pre><h2>Устанавливаем настройку буфера обмена на терминал и отключаем автокопирование в буфер выделения<\/h2>\n<p>В micro Ctrl-E<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">set clipboard terminal\nset useprimary false<\/code><\/pre><h2>Устанавливаем выход из  micro по клавише Esc<\/h2>\n<p>в файл ~\/.config\/micro\/bindings.json добавить строку (если там уже есть комбинации строку нужно дописать к ним, поставив после последней запятую:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">{\n&quot;Esc&quot;: &quot;Quit&quot;\n}<\/code><\/pre><p>Все настройки, указанные здесь, распространяются только на текущего пользователя и при запуске MC от имени root (sudo root) нужно настроить то же самое для root<\/p>\n",
            "date_published": "2025-03-18T17:36:10+03:00",
            "date_modified": "2025-03-30T19:12:07+03:00",
            "tags": [
                "micro",
                "midnight commander",
                "selected_editor",
                "sensible-utils"
            ],
            "_date_published_rfc2822": "Tue, 18 Mar 2025 17:36:10 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "18",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "17",
            "url": "https:\/\/wildcar.ru\/?go=all\/rutorrent-i-rtorrent\/",
            "title": "ruTorrent и rtorrent",
            "content_html": "<p>Основные странички:<br \/>\n<a href=\"https:\/\/github.com\/Novik\/ruTorrent\">ruTorrent <\/a><br \/>\n<a href=\"https:\/\/github.com\/rakshasa\/rtorrent\">rtorrent<\/a><\/p>\n",
            "date_published": "2025-03-18T12:00:15+03:00",
            "date_modified": "2025-03-29T18:47:44+03:00",
            "tags": [],
            "_date_published_rfc2822": "Tue, 18 Mar 2025 12:00:15 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "17",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "15",
            "url": "https:\/\/wildcar.ru\/?go=all\/ustanovka-yt-dlp-na-ubuntu\/",
            "title": "Установка yt-dlp на Ubuntu",
            "content_html": "<p><a href=\"https:\/\/github.com\/yt-dlp\/yt-dlp\/wiki\/Installation\">https:\/\/github.com\/yt-dlp\/yt-dlp\/wiki\/Installation<\/a><br \/>\nyt-dlp позволяет скачивать видео с различных видеохостингов<br \/>\nThe project is a fork of <a href=\"https:\/\/github.com\/ytdl-org\/youtube-dl\">youtube-dl<\/a> based on the now inactive <a href=\"https:\/\/github.com\/blackjack4494\/yt-dlc\">youtube-dlc<\/a>.<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sudo wget https:\/\/github.com\/yt-dlp\/yt-dlp\/releases\/latest\/download\/yt-dlp -O \/usr\/bin\/yt-dlp\nsudo chmod a+rx \/usr\/bin\/yt-dlp  # Make executable<\/code><\/pre><p>Для обновления использовать:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sudo yt-dlp -U<\/code><\/pre>",
            "date_published": "2025-03-04T22:54:00+03:00",
            "date_modified": "2025-03-29T18:47:57+03:00",
            "tags": [],
            "_date_published_rfc2822": "Tue, 04 Mar 2025 22:54:00 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "15",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "14",
            "url": "https:\/\/wildcar.ru\/?go=all\/podklyuchenie-winscp-s-root-pravami\/",
            "title": "Подключение WinSCP с root правами",
            "content_html": "<p><a href=\"https:\/\/winscp.net\/eng\/docs\/faq_su\">https:\/\/winscp.net\/eng\/docs\/faq_su<\/a><br \/>\nУзнать, где находится sftp-server можно командой<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">whereis sftp-server<\/code><\/pre><blockquote>\n<p>With SFTP protocol, you can use SFTP server option on SFTP page of Advanced Site Settings dialog to execute SFTP binary under a different user. With OpenSSH server, you can specify:<\/p>\n<\/blockquote>\n<pre class=\"e2-text-code\"><code class=\"\">sudo \/usr\/lib\/sftp-server<\/code><\/pre><p>Добавить в \/etc\/sudoers.d файл, скажем wildcar_sftp с содержимым:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">username ALL=NOPASSWD: \/usr\/lib\/sftp-server<\/code><\/pre>",
            "date_published": "2025-03-04T11:40:29+03:00",
            "date_modified": "2025-03-30T18:58:56+03:00",
            "tags": [],
            "_date_published_rfc2822": "Tue, 04 Mar 2025 11:40:29 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "14",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "13",
            "url": "https:\/\/wildcar.ru\/?go=all\/tyuning-nextcloud\/",
            "title": "Тюнинг Nextcloud",
            "content_html": "<p>Советы по тюнингу Nextcloud, когда в общих сведениях о сервере выдаются ошибки и предупреждения:<\/p>\n<blockquote>\n<p>Проверка безопасности и параметров<br \/>\nДля обеспечения безопасности и производительности важно, чтобы всё было настроено правильно. Чтобы убедиться в этом, мы выполняем некоторые автоматические проверки. Для получения дополнительной информации обратитесь к соответствующему разделу документации.<br \/>\nБыли обнаружены ошибки конфигурации.<\/p>\n<\/blockquote>\n<p><a href=\"https:\/\/kurazhov.ru\/nextcloud-tuning\/#12\">https:\/\/kurazhov.ru\/nextcloud-tuning\/#12<\/a><br \/>\n<b>APCu not available for local cache<\/b><br \/>\nИзменить \/etc\/php\/8.3\/cli\/php.ini<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">apc.enable_cli=1<\/code><\/pre><p><b>Разрешённое максимальное значение использования памяти PHP ниже рекомендуемого значения 512 MB<\/b><\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sudo apt install php-fpm\nsudo a2enmod proxy_fcgi setenvif\nsudo a2enconf php8.3-fpm<\/code><\/pre><p>Изменить \/etc\/php\/8.3\/fpm\/php.ini<br \/>\nи \/etc\/php\/8.3\/apache2\/php.ini<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">memory_limit = 512M<\/code><\/pre><p>и перезапустить PHP и Apache<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sudo systemctl restart php8.3-fpm\nsudo systemctl reload apache2<\/code><\/pre><p><b>Модуль PHP OPcache настроен неправильно<\/b><br \/>\nИзменить \/etc\/php\/8.3\/fpm\/php.ini<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">opcache.enable=1\nopcache.enable_cli=1\nopcache.interned_strings_buffer=16\nopcache.max_accelerated_files=10000\nopcache.memory_consumption=256\nopcache.save_comments=1\nopcache.revalidate_freq=1<\/code><\/pre><p>и перезапустить PHP и Apache<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sudo systemctl restart php8.3-fpm\nsudo systemctl reload apache2<\/code><\/pre>",
            "date_published": "2025-03-04T10:43:57+03:00",
            "date_modified": "2025-03-29T18:48:30+03:00",
            "tags": [],
            "_date_published_rfc2822": "Tue, 04 Mar 2025 10:43:57 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "13",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "12",
            "url": "https:\/\/wildcar.ru\/?go=all\/ustanovka-portainer-dlya-docker\/",
            "title": "Установка Portainer для Docker",
            "content_html": "<p>Выдержка из инструкций:<br \/>\n<a href=\"https:\/\/docs.portainer.io\/start\/install-ce\/server\/docker\/linux\">https:\/\/docs.portainer.io\/start\/install-ce\/server\/docker\/linux<\/a><br \/>\n<a href=\"https:\/\/timeweb.cloud\/tutorials\/docker\/ustanovka-i-ispolzovanie-portainer\">https:\/\/timeweb.cloud\/tutorials\/docker\/ustanovka-i-ispolzovanie-portainer<\/a><\/p>\n<p>Установка Portainer через Docker<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">mkdir ~\/portainer \ncd ~\/portainer \ncat &gt; docker-compose.yml<\/code><\/pre><p>Вставляем в файл следующие инструкции:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">services:\n  portainer:\n    image: portainer\/portainer-ce:lts\n    container_name: portainer\n    ports:\n      - 8000:8000\n      - 9443:9443\n    volumes:\n      - portainer_data:\/data\n      - \/var\/run\/docker.sock:\/var\/run\/docker.sock\n    restart: always\nvolumes:\n    portainer_data:<\/code><\/pre><p>Нажимаем Ctrl-C<br \/>\nСоздаем том для хранения базы данных<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sudo docker volume create portainer_data<\/code><\/pre><pre class=\"e2-text-code\"><code class=\"\">sudo docker compose up -d<\/code><\/pre>",
            "date_published": "2025-03-02T00:44:51+03:00",
            "date_modified": "2025-03-29T18:48:46+03:00",
            "tags": [],
            "_date_published_rfc2822": "Sun, 02 Mar 2025 00:44:51 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "12",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "11",
            "url": "https:\/\/wildcar.ru\/?go=all\/ustanovka-docker-na-ubuntu\/",
            "title": "Установка Docker на Ubuntu",
            "content_html": "<p>Выдержка из документации: <a href=\"https:\/\/docs.docker.com\/engine\/install\/ubuntu\/\">https:\/\/docs.docker.com\/engine\/install\/ubuntu\/<\/a><br \/>\nSet up Docker’s apt repository.<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># Add Docker&#039;s official GPG key:\nsudo apt-get update\nsudo apt-get install ca-certificates curl\nsudo install -m 0755 -d \/etc\/apt\/keyrings\nsudo curl -fsSL https:\/\/download.docker.com\/linux\/ubuntu\/gpg -o \/etc\/apt\/keyrings\/docker.asc\nsudo chmod a+r \/etc\/apt\/keyrings\/docker.asc\n\n# Add the repository to Apt sources:\necho \\\n  &quot;deb [arch=$(dpkg --print-architecture) signed-by=\/etc\/apt\/keyrings\/docker.asc] https:\/\/download.docker.com\/linux\/ubuntu \\\n  $(. \/etc\/os-release &amp;&amp; echo &quot;${UBUNTU_CODENAME:-$VERSION_CODENAME}&quot;) stable&quot; | \\\n  sudo tee \/etc\/apt\/sources.list.d\/docker.list &gt; \/dev\/null\nsudo apt-get update<\/code><\/pre><p>Install the latest version<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin<\/code><\/pre><p>Основные команды Docker:<br \/>\ndocker images — выводит список образов, которые загружаются или создаются на хосте Docker<br \/>\ndocker pull — загружает образы из удалённого репозитория Docker Hub<br \/>\ndocker run — запускает образ Docker в качестве контейнера<br \/>\ndocker ps — выводит список всех контейнеров, запущенных на хосте Docker<br \/>\ndocker start — запускает остановленный контейнер<br \/>\ndocker stop — останавливает работающий контейнер<br \/>\ndocker restart — перезапускает контейнер<br \/>\ndocker rm — удаляет один или несколько контейнеров, которые уже остановлены<br \/>\ndocker pull — загружает образы из удалённого репозитория Docker Hub<\/p>\n",
            "date_published": "2025-02-28T17:40:14+03:00",
            "date_modified": "2025-03-29T18:49:24+03:00",
            "tags": [
                "docker",
                "ubuntu"
            ],
            "_date_published_rfc2822": "Fri, 28 Feb 2025 17:40:14 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "11",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "10",
            "url": "https:\/\/wildcar.ru\/?go=all\/primer-vyzova-php-prilozheniya-nextcloud-dlya-nastroyki\/",
            "title": "Пример вызова PHP приложения Nextcloud для настройки",
            "content_html": "<p>Перейти в каталог где расположен Nextcloud (зависит от конкретной инсталляции)<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">cd \/var\/www\/nextcloud<\/code><\/pre><p>Выполнить команду вывода списка приложений Nextcloud<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sudo -u www-data php occ app:list<\/code><\/pre><p>Выполнить команду деактивирования приложения groupfolders<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sudo -u www-data php occ app:disable groupfolders<\/code><\/pre><p>Конфигурация сервера расположена в файле<\/p>\n<blockquote>\n<p>\/var\/www\/nextcloud\/config\/config.php<\/p>\n<\/blockquote>\n<p>Путь к данным сервера в строке:<\/p>\n<blockquote>\n<p>’datadirectory’ => ’\/mnt\/raid\/nc-data’,<\/p>\n<\/blockquote>\n<p>Лог сервера в файле<\/p>\n<blockquote>\n<p>\/mnt\/raid\/nc-data\/nextcloud.log<\/p>\n<\/blockquote>\n<p>Помогло при обновлении с версии 27 на 28, когда после всех 12 шагов обновления не загружалась основная страница с ошибкой:<\/p>\n<blockquote>\n<p>Class OCA\\\\GroupFolders\\\\Helper\\\\LazyFolder contains 2 abstract methods and must therefore be declared abstract or implement the remaining methods (OCP\\\\Files\\\\Folder::searchBySystemTag, OCP\\\\Files\\\\FileInfo::getMetadata) at \/var\/www\/nextcloud\/apps\/groupfolders\/lib\/Helper\/LazyFolder.php#32<\/p>\n<\/blockquote>\n<p>причиной была несовместимая версия приложения groupfolders<br \/>\nПеречень приложений Nextcloud <a href=\"https:\/\/apps.nextcloud.com\/\">https:\/\/apps.nextcloud.com\/<\/a><\/p>\n",
            "date_published": "2025-02-28T17:02:45+03:00",
            "date_modified": "2025-03-29T18:49:52+03:00",
            "tags": [],
            "_date_published_rfc2822": "Fri, 28 Feb 2025 17:02:45 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "10",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "9",
            "url": "https:\/\/wildcar.ru\/?go=all\/nastroyka-mikroservisa-imaginary-dlya-servera-nextcloud\/",
            "title": "Настройка микросервиса Imaginary для сервера Nextcloud",
            "content_html": "<p>Первоначальная версия Imaginary (последняя 1.2.4 от 2020-08-12) лежит <a href=\"https:\/\/github.com\/h2non\/imaginary\">здесь<\/a>, автор Tomas Aparicio<br \/>\nНаиболее свежий форк Imaginary (1.5.1. от 2022-08-20) найден <a href=\"https:\/\/github.com\/ItalyPaleAle\/imaginary\">здесь<\/a>, автор ItalyPaleAle<br \/>\nМикросервис позволяет обеспечить быструю обработку картинок для получения миниатюр изображений<br \/>\nПодключался для использования с приложением <a href=\"https:\/\/github.com\/nextcloud\/photos\">Photos<\/a><br \/>\nВыдержка из инструкций:<br \/>\n<a href=\"https:\/\/okxo.de\/speed-up-nextcloud-preview-generation-with-imaginary\/\">https:\/\/okxo.de\/speed-up-nextcloud-preview-generation-with-imaginary\/<\/a><br \/>\n<a href=\"https:\/\/www.puddl.net\/setting-preview-generation-service-nextcloud-24\">https:\/\/www.puddl.net\/setting-preview-generation-service-nextcloud-24<\/a><br \/>\nУстановка Imaginary через Docker<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">mkdir ~\/imaginary\ncd ~\/imaginary\ncat docker-compose.yml<\/code><\/pre><p>Вставляем в файл следующие инструкции:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">services:\n  imaginary:\n    image: ghcr.io\/italypaleale\/imaginary:master\n    container_name: imaginary\n    restart: always\n    environment:\n      - PORT=9000\n    ports:\n      - 9000:9000\n    command: -concurrency 50 -enable-url-source -log-level debug<\/code><\/pre><p>Нажимаем Ctrl-C<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sudo docker compose up -d<\/code><\/pre><p>Добавляем использование Imaginary в Nextcloud<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sudo -u www-data php \/var\/www\/nextcloud\/occ config:system:set enabledPreviewProviders 0 --value=&quot;OC\\Preview\\Imaginary&quot;\nsudo -u www-data php \/var\/www\/nextcloud\/occ config:system:set preview_imaginary_url --value=&quot;http:\/\/127.0.0.1:9000&quot;\nsudo \/etc\/init.d\/apache2 restart<\/code><\/pre><p>Проверка, что Nextcloud использует Imaginary<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sudo docker logs -f imaginary-imaginary-1<\/code><\/pre>",
            "date_published": "2025-02-28T16:48:25+03:00",
            "date_modified": "2025-03-29T18:50:20+03:00",
            "tags": [
                "imaginary",
                "nextcloud"
            ],
            "_date_published_rfc2822": "Fri, 28 Feb 2025 16:48:25 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "9",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "8",
            "url": "https:\/\/wildcar.ru\/?go=all\/nastroyka-xdebug-dlya-phpstorm\/",
            "title": "Настройка xdebug для PHPStorm",
            "content_html": "<p>В файле настроек PHP (например,\/etc\/php\/7.2\/apache2\/php.ini) добавляем где-нибудь рядом со строчкой включения модуля xdebug, примерно такой:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">zend_extension = \/usr\/lib\/php\/20170718\/xdebug.so<\/code><\/pre><pre class=\"e2-text-code\"><code class=\"\">xdebug.remote_enable=on\nxdebug.remote_host=&quot;192.168.10.2&quot; ;реальный IP по которому сервер может подключиться к клиенту\nxdebug.idekey=&quot;PHPSTORM&quot;\nxdebug.remote_log=\/tmp\/xdebug.log\n\n;xdebug.remote_autostart=on ; можно поставить этот параметр, тогда xdebug  будет стартовать сам всегда, без использования всяких browser helpers вроде xdebug helper\n;xdebug.remote_port=9000 ; такой порт стоит по умолчанию\n;xdebug.remote_mode=req<\/code><\/pre><p><a href=\"https:\/\/chrome.google.com\/webstore\/detail\/xdebug-helper\/eadndfjplgieldjbigjakmdgkmoaaaoc\">xdebug helper<\/a><\/p>\n",
            "date_published": "2018-10-09T15:48:08+03:00",
            "date_modified": "2018-10-09T15:55:27+03:00",
            "tags": [
                "php",
                "phpstorm",
                "xdebug"
            ],
            "_date_published_rfc2822": "Tue, 09 Oct 2018 15:48:08 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "8",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "7",
            "url": "https:\/\/wildcar.ru\/?go=all\/ustanovka-xdebug-dlya-php\/",
            "title": "Установка xdebug для PHP",
            "content_html": "<p>Дата актуальности 2018-10-09<br \/>\nМожно использовать<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sudo apt-get install php-xdebug<\/code><\/pre><p>Но скорее всего будет установлена устаревшая версия (на данный момент Version: 2.4.0-1)<br \/>\nЗдесь подсказки как установить последнюю версию:<br \/>\n<a href=\"https:\/\/xdebug.org\/wizard.php\">https:\/\/xdebug.org\/wizard.php<\/a><br \/>\nПредложит установить 2.6.1<br \/>\nКопируем весь вывод phpinfo() в предложенное поле и анализируем его.<br \/>\nXdebug installed: no<br \/>\nServer API: Apache 2.0 Handler<br \/>\nWindows: no<br \/>\nZend Server: no<br \/>\nPHP Version: 7.2.10-0<br \/>\nZend API nr: 320170718<br \/>\nPHP API nr: 20170718<br \/>\nDebug Build: no<br \/>\nThread Safe Build: no<br \/>\nConfiguration File Path: \/etc\/php\/7.2\/apache2<br \/>\nConfiguration File: \/etc\/php\/7.2\/apache2\/php.ini<br \/>\nExtensions directory: \/usr\/lib\/php\/20170718<\/p>\n<p>Выполняем пошаговые инструкции:<br \/>\nDownload xdebug-2.6.1.tgz<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">wget http:\/\/xdebug.org\/files\/xdebug-2.6.1.tgz<\/code><\/pre><p>Unpack the downloaded file with<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">tar -xvzf xdebug-2.6.1.tgz<\/code><\/pre><p>Run:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">cd xdebug-2.6.1<\/code><\/pre><p>Run:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">phpize<\/code><\/pre><p>See the FAQ if you don’t have phpize: Debian and Ubuntu users need to install the PHP development package with<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sudo apt install php5-dev<\/code><\/pre><p>, or<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sudo apt install php7.2-dev<\/code><\/pre><p>for PHP 7<br \/>\nPHP Api Version:         20170718<br \/>\nZend Module Api No:      20170718<br \/>\nZend Extension Api No:   320170718<br \/>\nRun:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">.\/configure<\/code><\/pre><p>Run:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">make<\/code><\/pre><p>Run:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">cp modules\/xdebug.so \/usr\/lib\/php\/20170718<\/code><\/pre><p>Edit \/etc\/php\/7.2\/apache2\/php.ini and add the line<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">zend_extension = \/usr\/lib\/php\/20170718\/xdebug.so<\/code><\/pre><p>Restart the webserver<br \/>\nphpinfo():<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">This program makes use of the Zend Scripting Language Engine:\nZend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies\n    with Xdebug v2.6.1, Copyright (c) 2002-2018, by Derick Rethans<\/code><\/pre>",
            "date_published": "2018-09-28T12:54:09+03:00",
            "date_modified": "2018-10-09T13:54:20+03:00",
            "tags": [
                "php",
                "xdebug"
            ],
            "_date_published_rfc2822": "Fri, 28 Sep 2018 12:54:09 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "7",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "6",
            "url": "https:\/\/wildcar.ru\/?go=all\/apt-uznat-versiyu-paketa-v-repozitorii\/",
            "title": "APT узнать версию пакета в репозитории",
            "content_html": "<p>Обновить список пакетов в кэше<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sudo apt-get update<\/code><\/pre><p>Найти пакет по названию<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sudo apt-cache search package_name<\/code><\/pre><p>Вывести информацию о пакете<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sudo apt-cache show package_name<\/code><\/pre><p>Вывести только версию пакета<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sudo apt-cache show package_name| grep -i version<\/code><\/pre>",
            "date_published": "2018-09-28T12:18:49+03:00",
            "date_modified": "2018-09-28T12:18:45+03:00",
            "tags": [
                "apt",
                "version"
            ],
            "_date_published_rfc2822": "Fri, 28 Sep 2018 12:18:49 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "6",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "5",
            "url": "https:\/\/wildcar.ru\/?go=all\/webmin-php-configuration\/",
            "title": "Webmin PHP configuration",
            "content_html": "<p>По умолчанию может выдаваться:<br \/>\nPHP Configuration<br \/>\nNo PHP configuration files were found. Adjust the module configuration to set the correct path to the global PHP config file.<\/p>\n<p>Module Config<br \/>\nPHP Configuration<br \/>\nNo PHP configuration files were found. Adjust the module configuration to set the correct path to the global PHP config file.<\/p>\n<p>Конфигурация модуля предлагает задать значения в следующем формате:<br \/>\nGlobal PHP configuration files<br \/>\n(In filename=description format)<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">\/etc\/php5\/apache2\/php.ini=Configuration for mod_php\n\/etc\/php5\/cgi\/php.ini=Configuration for scripts run via CGI\n\/etc\/php5\/cli\/php.ini=Configuration for command-line scripts<\/code><\/pre><p>Где и какой версии у нас PHP можно узнать через phpinfo()<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">PHP Version 7.0.32-0ubuntu0.16.04.1\nLoaded Configuration File\t\/etc\/php\/7.0\/apache2\/php.ini<\/code><\/pre><p>Меняем конфигурацию модуля:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">\/etc\/php\/7.0\/apache2\/php.ini=Configuration for mod_php\n\/etc\/php\/7.0\/cgi\/php.ini=Configuration for scripts run via CGI\n\/etc\/php\/7.0\/cli\/php.ini=Configuration for command-line scripts<\/code><\/pre>",
            "date_published": "2018-09-28T11:54:33+03:00",
            "date_modified": "2025-03-29T18:51:18+03:00",
            "tags": [
                "php",
                "webmin"
            ],
            "_date_published_rfc2822": "Fri, 28 Sep 2018 11:54:33 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "5",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "4",
            "url": "https:\/\/wildcar.ru\/?go=all\/izmenit-programmu-redaktirovaniya-izobrazheniy-v-windows\/",
            "title": "Изменить программу редактирования изображений в Windows",
            "content_html": "<p>Идем в раздел:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">HKEY_CLASSES_ROOT\\SystemFileAssociations\\image\\shell\\edit\\command<\/code><\/pre><p>По умолчанию, там:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">&quot;%systemroot%\\system32\\mspaint.exe&quot; &quot;%1&quot;<\/code><\/pre><p>Меняем, например, на:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">&quot;%ProgramFiles%\\paint.net\\PaintDotNet.exe&quot; &quot;%1&quot;<\/code><\/pre><p><a href=\"https:\/\/pikabu.ru\/story\/zamena_redaktora_poumolchaniyu_v_windows_4802433\">Источник<\/a><br \/>\nПеречень системных переменных среды окружения (пример: %ProgramFiles%) можно узнать с помощью команды set, запустив ее из утилиты командной строки cmd.exe<br \/>\n<a href=\"http:\/\/pyatilistnik.org\/peremennyie-sredyi-windows\/\">Источник<\/a><br \/>\n<a href=\"https:\/\/forums.getpaint.net\/topic\/113700-set-paintnet-from-windows-app-store-as-default-editor-in-context-menu\/?do=findComment&comment=572279\">To set Microsoft Store paint.net a default image editor<\/a><\/p>\n",
            "date_published": "2018-07-27T17:56:38+03:00",
            "date_modified": "2021-08-06T15:46:34+03:00",
            "tags": [
                "windows picture edit association environment variable"
            ],
            "_date_published_rfc2822": "Fri, 27 Jul 2018 17:56:38 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "4",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "2",
            "url": "https:\/\/wildcar.ru\/?go=all\/nastroyka-egei-v-ubuntu\/",
            "title": "Настройка Эгеи в Ubuntu",
            "content_html": "<p>Инструкции по установке<br \/>\n<a href=\"https:\/\/blogengine.ru\/help\/\">https:\/\/blogengine.ru\/help\/<\/a><\/p>\n<p>Нужно подключить модули:<br \/>\nСписок модулей PHP:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">php -m<\/code><\/pre><p>Добавить модули gd и mbstring в php:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sudo apt-get install php-gd\nsudo apt-get install php-mbstring<\/code><\/pre><p>Включить модуль mod_rewrite в Apache:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sudo a2enmod rewrite<\/code><\/pre><p>Если при переходе на сайт выдает ошибку не найден \/install\/<br \/>\nв файле конфигурации сайта, чтобы работал .htaccess:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">&lt;Directory \/www\/e2&gt;\n  AllowOverride All\n&lt;\/Directory&gt;<\/code><\/pre><p>Перезапускаем Апач<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sudo \/etc\/init.d\/apache2 restart<\/code><\/pre>",
            "date_published": "2018-07-20T00:12:02+03:00",
            "date_modified": "2018-07-20T00:11:45+03:00",
            "tags": [
                "эгея ubuntu"
            ],
            "_date_published_rfc2822": "Fri, 20 Jul 2018 00:12:02 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "2",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        }
    ],
    "_e2_version": 4171,
    "_e2_ua_string": "Aegea 11.4 (v4171)"
}