Компактная поставка
Распаковываем AVE.cms
Проверяем архив и готовим файлы системы. Не закрывайте эту страницу.
| @copyright 2007-2026 (c) AVE.cms | @link https://ave-cms.ru | @version 3.3 */ define('AVE_SETUP', true); define('BASE_PATH', str_replace('\\', '/', dirname(__DIR__))); @ini_set('display_errors', '0'); @ini_set('default_charset', 'UTF-8'); $setupSessionError = ''; $setupSessionPath = BASE_PATH . '/tmp/sessions'; if (!is_dir($setupSessionPath) && !@mkdir($setupSessionPath, 0775, true)) { $setupSessionError = 'Не удалось создать каталог tmp/sessions для сессии установщика.'; } elseif (!is_writable($setupSessionPath)) { $setupSessionError = 'Каталог tmp/sessions недоступен для записи.'; } if ($setupSessionError === '') { @ini_set('session.save_handler', 'files'); if (strtolower((string) ini_get('session.save_handler')) === 'files') { @session_save_path($setupSessionPath); } } @ini_set('session.use_cookies', '1'); @ini_set('session.use_only_cookies', '1'); @ini_set('session.use_strict_mode', '1'); @ini_set('session.cookie_httponly', '1'); @ini_set('session.cookie_samesite', 'Lax'); $setupScriptDirectory = rtrim(str_replace('\\', '/', dirname(isset($_SERVER['SCRIPT_NAME']) ? $_SERVER['SCRIPT_NAME'] : '/setup/index.php')), '/'); $setupCookiePath = preg_replace('#/setup$#', '', $setupScriptDirectory) . '/'; $setupCookiePath = $setupCookiePath === '//' ? '/' : $setupCookiePath; $setupCookieSecure = (!empty($_SERVER['HTTPS']) && strtolower((string) $_SERVER['HTTPS']) !== 'off') || (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && strtolower((string) $_SERVER['HTTP_X_FORWARDED_PROTO']) === 'https'); session_set_cookie_params(array( 'lifetime' => 0, 'path' => $setupCookiePath, 'domain' => '', 'secure' => $setupCookieSecure, 'httponly' => true, 'samesite' => 'Lax', )); session_name('AVE_SETUP'); if (!@session_start() && $setupSessionError === '') { $setupSessionError = 'Не удалось запустить сессию установщика в tmp/sessions. Проверьте права на каталог tmp.'; } header('Cache-Control: no-store, no-cache, must-revalidate, max-age=0'); header('Pragma: no-cache'); header('Expires: 0'); if (empty($_SESSION['setup_csrf'])) { $_SESSION['setup_csrf'] = bin2hex(random_bytes(32)); } require_once __DIR__ . '/Localization.php'; $requestedSetupLanguage = isset($_POST['setup_language']) ? (string) $_POST['setup_language'] : (isset($_GET['lang']) ? (string) $_GET['lang'] : ''); AveSetupLocale::boot($requestedSetupLanguage); $setupLanguage = AveSetupLocale::current(); require_once __DIR__ . '/PackageExtractor.php'; $packageExtractor = new AvePackageExtractor(BASE_PATH); if ($packageExtractor->available()) { $base = rtrim(str_replace('\\', '/', dirname($_SERVER['SCRIPT_NAME'])), '/'); if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['extract_runtime'])) { header('Content-Type: application/json; charset=UTF-8'); try { $token = isset($_POST['_csrf']) ? (string) $_POST['_csrf'] : ''; if (!hash_equals((string) $_SESSION['setup_csrf'], $token)) { throw new RuntimeException('Сессия распаковки устарела. Обновите страницу.'); } echo json_encode( AveSetupLocale::translatePayload($packageExtractor->step()), JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES ); } catch (Throwable $e) { http_response_code(422); echo json_encode( array('success' => false, 'message' => AveSetupLocale::translate($e->getMessage())), JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES ); } exit; } $css = __DIR__ . '/assets/installer.css'; $js = __DIR__ . '/assets/installer.js'; $escape = function ($value) { return htmlspecialchars((string) $value, ENT_QUOTES, 'UTF-8'); }; ob_start(); ?>
Компактная поставка
Проверяем архив и готовим файлы системы. Не закрывайте эту страницу.
Система настроена
= setup_escape($state['reason']) ?> Для повторной установки удалите локальные configs/db.config.php и storage/installed.lock. После этого можно выбрать свободный префикс либо очистить таблицы прежнего префикса в форме.
Готово
Создано = (int) $success['tables'] ?> системных таблиц, один администратор, стартовая страница и служебная страница 404. Установленных модулей: = (int) $success['modules'] ?>.
Чистая установка
Установщик создаст только ядро AVE.cms, первого администратора и минимальную публичную страницу. Товары, заказы, оплаты, формы, RSS и остальные пакеты останутся доступными для отдельной установки.
Установка
Проверяем введённые данные
Готово
Созданы системные таблицы, один администратор, стартовая страница и служебная страница 404. Модули не устанавливались.