JediGest
Подборка самого интересного, полезного и значимого хоть как-то связанного со мной
  • МОИ УСЛУГИ
  • ПУТЕШЕСТВИЯ
  • WEB, PYTHON, UBUNTU, JOOMLA, VIRTUEMART
  • ОБЗОРЫ, ОТЗЫВЫ
  • АВТОМОБИЛИ
  • ИЗБРАННОЕ

Joomla в блокаде: Как удаление пары статей закрыло доступ в админку и что с этим делать

Информация о материале
Автор: Геннадий Едиг
Категория: Web, Python, Ubuntu, Joomla, Virtuemart
Опубликовано: 15 сентября 2025
Просмотров: 8

Каждый администратор сайта на Joomla хотя бы раз сталкивался с ситуацией, когда сердце уходит в пятки. Вы выполняете рутинную операцию — например, удаляете несколько старых материалов, — а в следующий момент сайт перестаёт пускать вас в панель управления с леденящим душу сообщением: «Вам не разрешен доступ к панели управления».

Именно в такой, казалось бы, безвыходной ситуации мы недавно оказались. Эта статья — хроника нашего расследования и пошаговое руководство по спасению сайта, которое, я надеюсь, поможет и вам.


🕵️‍♂️ Часть 1: Расследование. Поиски виновного

Всё началось с простого действия — удаления нескольких материалов. Сразу после этого вход в административную часть сайта стал невозможен.

Первая помощь: Кэш и база данных

Первые шаги были стандартными:

  1. Очистка кэша: Полная очистка кэша браузера и папок /cache и /administrator/cache на сервере. В 50% случаев это решает проблему. Но не в нашем.
  2. Проверка базы данных: В Joomla есть встроенный инструмент для исправления структуры БД. Но как им воспользоваться, если в админку не попасть? Проблема замкнулась.

Стало ясно, что проблема глубже и связана с системой прав доступа (ACL).

Погружение в #__assets: Карта сокровищ (или минное поле?)

Сердце системы прав в Joomla — это таблица #__assets (где #__ — ваш префикс таблиц). Её можно представить как карту, на которой отмечено, какой группе пользователей что разрешено делать. Похоже, удаление материалов вызвало цепную реакцию, которая "размагнитила" нашу карту.

Стандартный совет в таких случаях — очистить (TRUNCATE) эту таблицу. Joomla должна сама её восстановить. Мы сделали это, но чуда не произошло. Таблица оставалась пустой, а доступ — закрытым.

Настоящий прорыв случился, когда мы выполнили простой проверочный запрос:

SELECT * FROM `#__assets` WHERE `name` = 'root.1';

Результат был шокирующим — ноль строк. Это означало, что из нашей карты пропал не просто какой-то город, а сам "нулевой меридиан" — корневая запись root.1, от которой строятся абсолютно все права на сайте. Без неё система прав просто не существует.


🚑 Часть 2: Операция. Восстанавливаем права по кирпичику

Подробнее: Joomla в блокаде: Как удаление пары статей закрыло доступ в админку и что с этим делать

Сайт ↔ Avito: Автоматическая синхронизация цен и остатков

Информация о материале
Автор: Геннадий Едиг
Категория: Web, Python, Ubuntu, Joomla, Virtuemart
Опубликовано: 15 сентября 2025
Просмотров: 16
 Решение для автоматического обновления цен и остатков на ваших объявлениях Avito напрямую из базы данных вашего интернет-магазина.

Суть решения

Я предлагаю сервис прямой интеграции, который связывает ваш интернет-магазин с Avito, минуя ручные выгрузки и сложный обмен с 1С.

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


Для кого это решение?

Этот сервис идеально подойдет вам, если:

  • Ваш интернет-магазин работает на Joomla + VirtueMart или другой CMS с прямым доступом к базе данных.
  • Вы ведете товарный учет непосредственно на сайте, и именно там находятся самые актуальные данные.
  • Вам требуется только выгружать данные с сайта на Avito, а не двусторонний обмен.
  • Вы устали от ручного обновления объявлений и хотите исключить человеческий фактор.
  • Вам не нужна громоздкая и дорогая интеграция, а требуется простое и эффективное решение.

Как это работает?

Вы используете мой скрипт-посредник, который работает как мост между вашими системами:

  • Подключение к Avito: Скрипт авторизуется в вашем аккаунте через официальное API Avito, используя безопасный токен доступа.
  • Подключение к сайту: Скрипт получает доступ только на чтение к базе данных вашего сайта (в текущей реализации это Joomla + VirtueMart), чтобы безопасно забирать информацию о товарах. Решение может быть адаптировано и для других платформ (WordPress, OpenCart, самописные CMS).
  • Синхронизация: Управление процессом происходит через удобного Telegram-бота. Вы запускаете синхронизацию в любой момент нажатием одной кнопки и получаете полный отчет о проделанной работе прямо в чат, наблюдая за прогрессом в реальном времени.

Базовая функциональность

Подробнее: Сайт ↔ Avito: Автоматическая синхронизация цен и остатков

Сайт ↔ Эвотор: Прямая синхронизация без 1С и Excel

Информация о материале
Автор: Геннадий Едиг
Категория: Web, Python, Ubuntu, Joomla, Virtuemart
Опубликовано: 11 сентября 2025
Просмотров: 30

Решение для автоматического обновления цен и остатков в облаке Эвотор напрямую из базы данных вашего интернет-магазина.

Суть решения

Я предлагаю сервис прямой интеграции, который связывает ваш интернет-магазин напрямую с облаком Эвотор, минуя выгрузки в Excel и сложный обмен с 1С.

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

Для кого это решение?

Этот сервис идеально подойдет вам, если:

  • Ваш интернет-магазин работает на Joomla + VirtueMart или другой CMS с прямым доступом к базе данных.
  • Вы ведете товарный учет непосредственно на сайте, и именно там находятся самые актуальные данные.
  • Вам требуется только выгружать данные с сайта в Эвотор, а не двусторонний обмен.
  • Вы устали от ручного экспорта/импорта .xlsx файлов и хотите исключить человеческий фактор.
  • Вам не нужна громоздкая и дорогая интеграция с 1С, а требуется простое и эффективное решение.

Как это работает?

Вы используете мой скрипт-посредник, который работает как мост между вашими системами:

  1. Подключение к Эвотор: Скрипт авторизуется в вашем облаке через безопасное приложение из официального Маркета Эвотор.
  2. Подключение к сайту: Скрипт получает доступ только на чтение к базе данных вашего сайта (в текущей реализации это Joomla + VirtueMart), чтобы безопасно забирать информацию о товарах. Решение может быть адаптировано и для других платформ (WordPress, OpenCart, самописные CMS).
  3. Синхронизация: Управление процессом происходит через удобного Telegram-бота. Вы запускаете синхронизацию в любой момент нажатием одной кнопки и получаете полный отчет о проделанной работе прямо в чат.

Базовая функциональность

Подробнее: Сайт ↔ Эвотор: Прямая синхронизация без 1С и Excel

Настройка автоматического бэкапа базы 1C на SFTP в 2025 году

Информация о материале
Автор: Геннадий Едиг
Категория: Web, Python, Ubuntu, Joomla, Virtuemart
Опубликовано: 08 сентября 2025
Просмотров: 29

В этой инструкции мы настроим автоматическую отправку файлов бэкапов с сервера Windows на удаленный SFTP-сервер. Этот метод надёжен, безопасен и не требует использования устаревшего протокола FTP.

Шаг 1: Настройка SFTP-сервера (на базе Linux)

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

# Создание папки для бэкапов. Владелец — root, так как это требование безопасности SFTP.
sudo mkdir -p /mnt/data/my_backups
sudo chown root:root /mnt/data/my_backups

# Создание папки, в которую пользователь будет загружать файлы
sudo mkdir /mnt/data/my_backups/uploads
sudo chown sftp_user:sftp_user /mnt/data/my_backups/uploads

# Создание пользователя для SFTP-доступа
sudo useradd -m -s /sbin/nologin sftp_user
sudo passwd sftp_user

Отредактируйте конфигурационный файл SSH, чтобы ограничить пользователя только SFTP-доступом:

sudo nano /etc/ssh/sshd_config

В конец файла добавьте следующие строки:

Match User sftp_user
  ForceCommand internal-sftp
  PasswordAuthentication yes
  ChrootDirectory /mnt/data/my_backups
  AllowTcpForwarding no
  X11Forwarding no

После сохранения изменений перезапустите SSH-сервер:

sudo systemctl restart sshd

Шаг 2: Создание скриптов для Windows

Подробнее: Настройка автоматического бэкапа базы 1C на SFTP в 2025 году

Как убрать организацию из печатной формы гарантийного талона в 1С или Файл с расширением .epf в платформе «1С:Предприятие» — файл внешней обработки.

Информация о материале
Автор: Геннадий Едиг
Категория: Web, Python, Ubuntu, Joomla, Virtuemart
Опубликовано: 16 августа 2025
Просмотров: 32

Введение

В этой статье я подробно опишу, как мне удалось убрать название организации из печатной формы гарантийного талона в системе 1С:Предприятие. Гарантийный талон был добавлен в систему через внешнюю обработку с расширением .epf, и мне потребовалось изменить его печатную форму.

Шаг 1: Подготовка к работе

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

  1. Создал резервную копию файла обработки (.epf) - это важно на случай, если что-то пойдет не так.
  2. Определил версию платформы 1С, так как от этого зависит способ редактирования.
  3. Убедился, что у меня есть права на изменение конфигурации.

Шаг 2: Открытие внешней обработки

  1. Запустил 1С:Предприятие в режиме конфигуратора.
  2. В меню выбрал "Файл" → "Открыть".
  3. В диалоговом окне выбрал файл с расширением .epf, который содержит обработку гарантийного талона.
  4. После открытия файла в дереве конфигурации появилась внешняя обработка.

Шаг 3: Поиск нужного элемента в печатной форме

  1. В дереве конфигурации нашел объект "Обработка" и раскрыл его.
  2. Нашел раздел "Формы" и выбрал нужную печатную форму (обычно она называется "ФормаПечати" или аналогично).
  3. Открыл форму в редакторе форм.

Шаг 4: Редактирование печатной формы

  1. В редакторе форм перешел на вкладку "Элементы формы".
  2. Нашел элемент, который отвечает за вывод организации. Это мог быть:
    • Поле формы
    • Надпись (Label)
    • Табличный документ (если форма построена на его основе)
  3. В моем случае организация выводилась в табличном документе, который формировался в модуле формы.

Шаг 5: Изменение кода формы

  1. Перешел в модуль формы (кнопка "Модуль" в редакторе формы).
  2. Нашел процедуру, которая формирует печатную форму (обычно называется "Сформировать" или "ПриФормировании").
  3. В коде нашел строку, где добавляется информация об организации. Это могло выглядеть примерно так:
ТабличныйДокумент.ВывестиСекцию("Заголовок|Организация: " + Организация.Наименование);
  1. Изменил код, убрав вывод названия организации:
ТабличныйДокумент.ВывестиСекцию("Заголовок|Организация: ");

Или полностью удалил строку, если она не нужна. На самом деле сделал вывод "белыми чернилами".

Шаг 6: Проверка изменений

  1. Сохранил изменения в обработке (Ctrl+S).
  2. Запустил 1С в режиме предприятия.
  3. Открыл обработку и проверил печатную форму гарантийного талона.
  4. Убедился, что название организации больше не выводится.

Шаг 7: Сохранение и распространение изменений

  1. Вернулся в конфигуратор.
  2. Выбрал "Файл" → "Сохранить как" и сохранил измененную обработку под новым именем (например, добавив версию или дату).
  3. Распространил новую версию обработки среди пользователей.

Заключение

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

Важно помнить, что при работе с внешними обработками:

  • Всегда создавайте резервные копии
  • Внимательно анализируйте код перед изменениями
  • Тестируйте изменения перед внедрением в рабочую среду

Если вы не уверены в своих действиях, лучше обратиться к специалисту по 1С, чтобы избежать возможных проблем в работе системы.

 

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

  1. Предыстория: прощай, JLSitemap
  2. Установка HP LaserJet 1100 на сервер Ubuntu как принт-сервер в 2025 году :)
  3. Решение проблемы настройки HTTPS для сайта на FastAPI
  4. Тихий подвох ISPmanager: как не попасть на самоподписанный сертификат вместо Let's Encrypt

Страница 1 из 11

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

Яндекс.Метрика