Главная

Добавить комментарий

Установка сайта с CMS Drupal 10, 11 на локальный сервер Openserver

20-03-2025

Для установки сайта Drupal 10 или 11 на локальный сервер я использую связку drupal/recommended-project и предварительно настроенный OpenServer.

Моя конфигурация: Windows 10 + надстройка Ubuntu + Visual Studio Code (терминал) + OpenServer + установленный Composer + Drush.

Если у вас возникают ошибки из-за нехватки памяти, используйте команды с увеличением лимита памяти:
php -d memory_limit=-1 $(which composer) вместо обычного composer.

Теперь пошагово:

  1. Запускаем Visual Studio Code и открываем папку domains OpenServer.
  2. Устанавливаем сайт командой:
     

    composer create-project drupal/recommended-project my-project

    или с увеличением памяти:
     

    php -d memory_limit=-1 $(which composer) create-project drupal/recommended-project my-project

    "my-project" — название вашего проекта, будет создана соответствующая папка.

  3. Перезапускаем сервер и заходим на сайт через браузер. При установке в дополнительных настройках базы данных указываем хост 127.0.0.1.
  4. Открываем терминал и переходим в папку проекта:
     

    cd my-project
  5. Удаляем не нужный модуль:

    composer remove drupal/core-project-message

    или:

    php -d memory_limit=-1 $(which composer) remove drupal/core-project-message
  6. Устанавливаем Drush:

    composer require drush/drush

    или:

    php -d memory_limit=-1 $(which composer) require drush/drush
  7. Редактируем файл web/sites/default/settings.php:
    • Добавляем папку для приватных файлов:

      $settings['file_private_path'] = '../private';
    • Настраиваем доверенный домен:

      $settings['trusted_host_patterns'] = [
        '^my-project\.localhost$',
      ];
    • Изменяем директорию синхронизации конфигураций:

      $settings['config_sync_directory'] = '../config/sync';
  8. Запускаем скрипт обновления:

    drush updb

    и очищаем кеш:

    drush cr
  9. Добавляем поддержку Asset Packagist:

    composer require oomphinc/composer-installers-extender

    или:

    php -d memory_limit=-1 $(which composer) require oomphinc/composer-installers-extender

    Редактируем composer.json, добавляя репозиторий и настройки путей для библиотек.

  10. Добавляем базовые зависимости в composer.json:

    "require": {
      "bower-asset/blazy": "^1.8",
      "bower-asset/photoswipe": "^5.4",
      "bower-asset/slick-carousel": "1.6.0"
    }
  11. Устанавливаем основные модули Drupal:

    composer require drupal/admin_toolbar drupal/antibot drupal/easy_breadcrumb drupal/eu_cookie_compliance drupal/field_group drupal/image_effects drupal/lang_dropdown drupal/libraries drupal/metatag drupal/minifyhtml drupal/pathauto drupal/photoswipe drupal/redirect drupal/schema_metatag drupal/simple_sitemap drupal/slick drupal/slick_extras drupal/slick_views drupal/superfish drupal/webform drupal/youtube
  12. Для slick-carousel добавляем скрипт в composer.json:

    "scripts": {
      "pre-install-cmd": [],
      "pre-update-cmd": [],
      "post-install-cmd": [
        "rm -f web/robots.txt",
        "rm -f web/INSTALL.txt",
        "rm -f web/README.md",
        "rm -f web/README.txt",
        "rm -f web/example.gitignore"
      ],
      "post-update-cmd": [
        "rm -f web/robots.txt",
        "rm -f web/INSTALL.txt",
        "rm -f web/README.md",
        "rm -f web/README.txt",
        "rm -f web/example.gitignore"
      ]
    },
  13. В админке Drupal включаем необходимые модули.
  14. Добавляем поддержку Webform библиотек:

    composer require wikimedia/composer-merge-plugin

    и редактируем composer.json, подключая файл web/modules/contrib/webform/composer.libraries.json.

  15. Обновляем зависимости:

    composer update --with-dependencies
  16. Добавляем нужные языки и включаем перевод контента:
  17. Экспортируем конфигурацию:

    drush cex -y
  18. Настраиваем шаблоны синонимов URL и создаём базовые страницы: главная, контакты, ошибки 404 и 403, политика конфиденциальности для модуля EU Cookie Compliance.
  19. В разделе настроек сайта указываем ссылки на главную и страницы ошибок: /admin/config/system/site-information.
  20. Добавляем файл .gitignore в корень проекта.
  21. Создаём репозиторий на GitHub или другом сервисе контроля версий для хранения проекта и работы с ним.
Содержимое данного поля является приватным и не предназначено для показа.

Ограниченный HTML

  • Допустимые HTML-теги: <a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • Строки и абзацы переносятся автоматически.
  • Адреса веб-страниц и email-адреса преобразовываются в ссылки автоматически.