Workspace: /opt/claude-workspace/library/drupal
Дата создания: 2025-11-15
Тип: Dockerfile для Drupal 11 + Commerce
Базовый образ: php:8.3-apache
Назначение: Контейнер с поддержкой JPEG/WebP/FreeType в GD
Проблема: Стандартный PHP 8.3 образ не поддерживает JPEG при обработке изображений
Решение: Добавлены libjpeg-dev, libwebp-dev, libfreetype6-dev и настройка docker-php-ext-configure gd
Файлы:
- docker/Dockerfile - готовый к использованию Dockerfile
- docker/README.md - подробная документация
Использование:
cp /opt/claude-workspace/library/drupal/docker/Dockerfile /your/project/
docker compose build
Проекты:
- ✅ pim.0kt.ru (8801) - применён 2025-11-16
- ✅ pim.dev.0kt.ru (8811) - применён 2025-11-16
- ✅ pim-demo.0kt.ru (8812) - применён 2025-11-16
Тип: Патч для модуля Drupal
Модуль: drupal/cmlexchange (версия 1.20.0)
Назначение: Интеграция с 1С через CommerceML
Проблема: Модуль не поддерживает Basic Auth при работе через reverse proxy (Nginx → Apache → PHP)
Решение: Добавлена поддержка парсинга заголовка HTTP_AUTHORIZATION
Файлы:
- cmlexchange-patched/ - полная копия исправленного модуля (196 KB, 26 файлов)
- cmlexchange-patched-1.20.0.tar.gz - архив модуля (25 KB)
- README_PATCH.md - подробная документация (8 KB)
- MANIFEST.md - полный манифест модуля
- cmlexchange_config.yaml - конфигурация модуля (1.5 KB)
- cmlexchange-http-auth.patch - patch файл для Composer
- checksums.md5 - контрольные суммы PHP файлов
Использование:
# Вариант 1: Применить патч вручную
cd /path/to/drupal
patch -p1 < library/drupal/cmlexchange-patched/cmlexchange-http-auth.patch
drush cr
# Вариант 2: Скопировать весь модуль
cp -r library/drupal/cmlexchange-patched/* \
/path/to/drupal/web/modules/contrib/cmlexchange/
drush cr
# Вариант 3: Использовать Composer Patches
# Добавить в composer.json:
{
"extra": {
"patches": {
"drupal/cmlexchange": {
"Fix HTTP_AUTHORIZATION": "library/drupal/cmlexchange-patched/cmlexchange-http-auth.patch"
}
}
}
}
Проекты:
- ✅ pim-drupal (pim.0kt.ru) - применён и работает
- ✅ pim.dev.0kt.ru - готов к применению
- ✅ pim-demo.0kt.ru - готов к применению
Тестирование:
curl -u "1c_exchange:1C_Exchange_2025_Strong" \
"https://your-domain.com/cmlexchange?type=catalog&mode=checkauth"
# Ожидается:
# success
# catalog
# <UUID>
composer require 'drupal/cmlapi:^1.28'
composer require 'drupal/cmlexchange:^1.20'
composer require 'drupal/cmlmigrations:^1.36'
cd web/modules/contrib/cmlexchange
patch -p1 < /opt/claude-workspace/library/drupal/cmlexchange-patched/cmlexchange-http-auth.patch
drush en cmlapi cmlexchange cmlmigrations -y
drush config:set cmlexchange.settings auth 1 -y
drush config:set cmlexchange.settings auth-user '1c_exchange' -y
drush config:set cmlexchange.settings auth-pass 'YOUR_PASSWORD' -y
drush config:set cmlexchange.settings cmlmigrations 1 -y
drush cr
drush user:create 1c_exchange \
--mail='1c@example.com' \
--password='YOUR_PASSWORD'
drush user:role:add administrator 1c_exchange
curl -u "1c_exchange:YOUR_PASSWORD" \
"https://your-domain.com/cmlexchange?type=catalog&mode=checkauth"
Подробная документация для каждого компонента находится в соответствующих директориях:
- cmlexchange-patched/README_PATCH.md - полное описание патча и настройки
При обновлении модулей в рабочих проектах:
Проект: Claude Workspace
Путь: /opt/claude-workspace
Документация проектов: projects/*/management/
Создано: 2025-11-15
Автор: Claude Code