Статьи и новости
Как изменить адрес (URL) админки в OpenCart - просто и безопасно

Хотите убрать стандартный /admin/ в OpenCart и сократить мусорные попытки входа? Расcкажем простыми словами о двух способах сменить адрес админки - переименование папки или "виртуальный" URL через rewrite, с готовыми правилами для Apache и Nginx.

 
 
 
 
 
Самые продаваемые в июле 2025 года шаблоны и дополнения

Самые продаваемые в июле 2025 года шаблоны и дополнения: Микроразметка, ChatGPT, Видео на сервере, шаблон Mango.

 
 
 
 
 
Подборка новых модулей для Opencart за июль 2025

Новинки за июль 2025 года: Запомнить меня, Быстрый вход через соцсети, Умные рекомендуемые.

 
 
 
 
 
Июльские изменения в Liveopencart ocStore 3.0.3.9

Что было изменено за июль в сборке Liveopencart ocStore 3.0.3.9.

 

 
 
 
 
 
Ошибка после установки модуля Simple в OpenCart 3: Twig_Loader_Array not found

Модуль Simple - один из самых популярных модулей для упрощения оформления заказов и регистрации в OpenCart 3. Однако после его установки может возникнуть критическая ошибка, связанная с устаревшей модификацией шаблонизатора Twig.

 
 
 
 
 

Как изменить адрес (URL) админки в OpenCart - просто и безопасно

 
Как изменить адрес (URL) админки в OpenCart - просто и безопасно

По умолчанию у админки OpenCart адрес /admin/. Его знают злодеи и разные боты. Сменить или спрятать эту ссылку - простой способ уменьшить мусор в логах и попытки брутфорса. Ниже - два понятных варианта для OpenCart 1.5 / 2.x / 3.x (включая ocStore 3.0.3.9): переименовать папку или настроить "виртуальный" URL через правила веб-сервера.

Перед началом

  • Сделайте бэкап файлов и базы.
  • Уточните абсолютный путь к сайту (например, /var/www/site/) и домен (https://example.com).
  • Если используете кэш/OPcache - запланируйте очистку или перезапуск.
  • Для OpenCart и ocStore 3 помните про DIR_STORAGE (часто вынесен за корень сайта).

Способ 1. Переименовать папку admin

  1. Переименуйте каталог admin - например, в secret-admin.
  2. Обновите admin/config.php, указав новый URL и корректные пути.

OpenCart 3 / ocStore 3

// HTTP
define('HTTP_SERVER', 'https://example.com/secret-admin/');

// HTTPS
define('HTTPS_SERVER', 'https://example.com/secret-admin/');

// DIR
define('DIR_APPLICATION', '/var/www/site/secret-admin/');
define('DIR_SYSTEM', '/var/www/site/system/');
define('DIR_IMAGE', '/var/www/site/image/');
define('DIR_STORAGE', '/var/www/site/system/storage/'); // или внешний путь
define('DIR_CATALOG', '/var/www/site/catalog/');

define('DIR_LANGUAGE', DIR_APPLICATION . 'language/');
define('DIR_TEMPLATE', DIR_APPLICATION . 'view/template/');
define('DIR_CONFIG', DIR_SYSTEM . 'config/');
define('DIR_CACHE', DIR_STORAGE . 'cache/');
define('DIR_DOWNLOAD', DIR_STORAGE . 'download/');
define('DIR_LOGS', DIR_STORAGE . 'logs/');
define('DIR_MODIFICATION', DIR_STORAGE . 'modification/');
define('DIR_SESSION', DIR_STORAGE . 'session/');
define('DIR_UPLOAD', DIR_STORAGE . 'upload/');

OpenCart 2.0–2.3

// HTTP/HTTPS
define('HTTP_SERVER', 'https://example.com/secret-admin/');
define('HTTPS_SERVER', 'https://example.com/secret-admin/');

// DIR
define('DIR_APPLICATION', '/var/www/site/secret-admin/');
define('DIR_SYSTEM', '/var/www/site/system/');
define('DIR_IMAGE', '/var/www/site/image/');
define('DIR_CATALOG', '/var/www/site/catalog/');

define('DIR_LANGUAGE', DIR_APPLICATION . 'language/');
define('DIR_TEMPLATE', DIR_APPLICATION . 'view/template/');
define('DIR_CONFIG', DIR_SYSTEM . 'config/');
// Остальные DIR_* — по вашей сборке (часто внутри system/storage)

OpenCart 1.5.x

// HTTP
define('HTTP_SERVER', 'https://example.com/secret-admin/');
// На фронт:
define('HTTP_CATALOG', 'https://example.com/');

// DIR
define('DIR_APPLICATION', '/var/www/site/secret-admin/');
define('DIR_SYSTEM', '/var/www/site/system/');
define('DIR_IMAGE', '/var/www/site/image/');
define('DIR_CATALOG', '/var/www/site/catalog/');

После правок очистите кэши (в 2.x/3.x: "Расширения - Модификаторы - Обновить"; если админка недоступна - удалите содержимое system/storage/cache и system/storage/modification вручную) и проверьте вход по новому адресу.

Плюсы: всё работает "из коробки", OpenCart/ocStore генерирует правильные ссылки.
Минусы: нужно помнить новое имя папки и аккуратно прописать пути.


Способ 2. "Виртуальный" URL через Rewrite (папку не трогаем)

Идея простая: папка остаётся /admin/, но снаружи вы заходите по /cp/. Для этого меняем видимый HTTP_SERVER и добавляем правила веб-сервера.

  1. Оставьте каталог admin как есть.
  2. В admin/config.php укажите «видимый» URL:
// Видимые адреса
define('HTTP_SERVER', 'https://example.com/cp/');
define('HTTPS_SERVER', 'https://example.com/cp/');

// Физические пути — на реальную папку admin
define('DIR_APPLICATION', '/var/www/site/admin/');

Apache (.htaccess в корне сайта)

RewriteEngine On

# Отдаём /cp/ из физического /admin/
RewriteRule ^cp(/.*)?$ admin$1 [L]

# (Опционально) Гасим прямой /admin/
RewriteRule ^admin(/.*)?$ - [R=404,L]

Nginx (фрагмент внутри server { ... })

# Видимый URL
location ^~ /cp/ {
    rewrite ^/cp/(.*)$ /admin/$1 last;
}

# (Опционально) Блокируем прямой /admin/
location ^~ /admin/ {
    return 404;
}

Перезапустите веб-сервер, очистите кэши OpenCart - и заходите по /cp/.

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


Ещё возможности для повышения безопасности

  • Basic Auth на админку - дополнительный пароль поверх OpenCart. Можно сделать бесплатным модулем Базовая HTTP авторизация
  • Whitelist по IP (доступ только с ваших адресов).

Добавить в начало файла /admin/.htaccess строки:

Order deny,allow
deny from all
Allow from 1.1.1.1

где 1.1.1.1 ваш айпи адрес.

  • 2FA (двухфакторная авторизация) для админов.
  • Смените дефолтный логин admin и отключите лишние учётки.
  • Captcha для админки.
  • Также можно вместо смены адреса, использовать дополнительный ключ для входа. Такая возможность есть в модуле OCCleaner - очистка и оптимизация.

Как избежать частых ошибок

  • Нет завершающего слэша в HTTP_SERVER/HTTPS_SERVER: должно быть /cp/, а не /cp.
  • Неверные пути DIR_*: проверьте реальный путь к сайту.
  • Кэш не очищен: интерфейс продолжает жить «старой» версией.
  • Конфликт правил в .htaccess/Nginx: порядок RewriteRule и location важен.
  • Смешанный контент: при HTTPS указан http:// - получите лишние редиректы и предупреждения.

Как откатить, если что-то пошло не так

  • Способ 1: верните папке прежнее имя и откатите admin/config.php.
  • Способ 2: временно уберите правила Rewrite/вырезку location и верните HTTP_SERVER на /admin/.
  • Очистите кэши/модификации, при необходимости перезапустите PHP-FPM/веб-сервер.

Рекомендуем посмотреть
Рекомендуем прочитать
 
 


Ещё никто не оставил комментариев к записи.