{{-- the one-time setup page (debt 8, slice 8ب, 0.33.0; App\Http\Controllers\SetupController). its OWN document, not layouts.mz: before setup there is no app key, so no session — the shared layout asks the sign-in guards and the session, and draws the colleague app's links. three steps: form · upload (the folder could not be written) · code. no secret is ever printed back: not the setup key's field (a hidden copy only on the later steps, which need it as their door), not either password, not the web-service key. every refusal under its own field (+SILENT-DISCARD). --}} @php $err = fn (string $field) => $problems[$field] ?? null; $val = fn (string $field) => $values[$field] ?? ''; @endphp نصب مظنه @vite(['resources/css/mz-app.css'])
مظنه نصب یک‌بارمصرف

نصب مظنه

@if ($step === 'form' && !$hasKey && !isset($problems['setup_key']))

کلید نصب پیدا نشد

این صفحه فقط با کلید نصب باز می‌شود، و فایل آن کنار کد روی هاست نیست.

روی رایانهٔ خودمان، در پوشهٔ برنامه، این فرمان را بزنید:

php artisan mz:setup-key

فایل setup.key که می‌سازد را کنار پوشهٔ app روی هاست بارگذاری کنید و این صفحه را دوباره باز کنید. کلیدی که فرمان چاپ کرد را نگه دارید؛ همین‌جا لازم است.

@elseif ($step === 'code')

آخرین گام: کد ورود

فایل محیط نوشته شد، پایگاه داده آماده است و حساب پیامک ثبت شد. کد ورود به موبایل پیامک شد.

نصب فقط با همین کد بسته می‌شود؛ پس از آن مدیر پلتفرم ساخته می‌شود و این صفحه دیگر باز نمی‌شود.

@isset($notice)

{{ $notice }}

@endisset @if ($err('code')) @endif
@else @if ($step === 'upload')

فایل محیط را خودتان بارگذاری کنید

برنامه اجازهٔ نوشتن در پوشهٔ خودش را ندارد. متن زیر را کامل رونوشت کنید، با مدیر فایل هاست در پوشهٔ app فایلی به نام {{ $envName }} بسازید و متن را در آن بگذارید. سپس همین فرم را با همان مقدارها دوباره بفرستید؛ رمزها و کلیدها نشان داده نمی‌شوند و باید دوباره نوشته شوند. نصب از همان فایل ادامه می‌یابد.

این متن کلید برنامه و رمز پایگاه داده را دارد؛ آن را جای دیگری نگذارید.

@endif @if ($problems !== []) @endif
@include('setup.field', ['field' => 'setup_key', 'label' => 'کلید نصب', 'type' => 'password', 'ltr' => true, 'value' => $key, 'hint' => 'همان ۶۴ نویسه‌ای که فرمان mz:setup-key چاپ کرد.']) @include('setup.field', ['field' => 'app_url', 'label' => 'نشانی سایت', 'ltr' => true, 'value' => $val('app_url'), 'hint' => 'با https://، مثلاً https://mazanneh.app'])
پایگاه دادهٔ مرکزی

پایگاه خالی و کاربرش را پیش‌تر در سی‌پنل بسازید و همهٔ دسترسی‌ها را به آن کاربر بدهید.

@include('setup.field', ['field' => 'db_host', 'label' => 'میزبان', 'ltr' => true, 'value' => $val('db_host')]) @include('setup.field', ['field' => 'db_port', 'label' => 'درگاه', 'ltr' => true, 'short' => true, 'numeric' => true, 'value' => $val('db_port')]) @include('setup.field', ['field' => 'db_database', 'label' => 'نام پایگاه داده', 'ltr' => true, 'value' => $val('db_database')]) @include('setup.field', ['field' => 'db_username', 'label' => 'کاربر پایگاه داده', 'ltr' => true, 'value' => $val('db_username')]) @include('setup.field', ['field' => 'db_password', 'label' => 'رمز کاربر پایگاه داده', 'type' => 'password', 'ltr' => true, 'value' => '', 'hint' => 'دقیقاً همان‌طور که در سی‌پنل ساختید؛ کم و زیاد نمی‌شود.'])
نخستین مدیر پلتفرم @include('setup.field', ['field' => 'username', 'label' => 'نام کاربری', 'ltr' => true, 'value' => $val('username')]) @include('setup.field', ['field' => 'name', 'label' => 'نام', 'value' => $val('name')]) @include('setup.field', ['field' => 'mobile', 'label' => 'موبایل', 'ltr' => true, 'numeric' => true, 'value' => $val('mobile'), 'hint' => 'کد ورود به کنسول به همین شماره پیامک می‌شود.']) @include('setup.field', ['field' => 'password', 'label' => 'رمز', 'type' => 'password', 'ltr' => true, 'value' => '', 'hint' => 'دست‌کم ۱۰ نویسه.']) @include('setup.field', ['field' => 'password_confirmation', 'label' => 'تکرار رمز', 'type' => 'password', 'ltr' => true, 'value' => ''])
حساب ملی پیامک

کمترین چیزی که کد ورود به کنسول می‌خواهد. بقیهٔ الگوها، شمارهٔ پشتیبانی و موبایل هشدار پس از نصب در «تنظیمات پلتفرم» کنسول ثبت می‌شوند.

@if ($err('sms')) @endif @include('setup.field', ['field' => 'sms__melli__username', 'label' => 'نام کاربری پنل', 'ltr' => true, 'value' => $val('sms__melli__username')]) @include('setup.field', ['field' => \App\Http\Controllers\SetupController::KEY_FIELD, 'label' => 'کلید وب‌سرویس', 'type' => 'password', 'ltr' => true, 'value' => '', 'hint' => 'همان کلید وب‌سرویس پنل، نه رمز ورود به پنل. رمزگذاری‌شده ذخیره می‌شود و دیگر نشان داده نمی‌شود.']) @include('setup.field', ['field' => 'sms__melli__sender', 'label' => 'شمارهٔ فرستنده', 'ltr' => true, 'numeric' => true, 'value' => $val('sms__melli__sender')]) @include('setup.field', ['field' => 'sms__melli__pattern__login_code', 'label' => 'شناسهٔ الگوی کد ورود', 'ltr' => true, 'numeric' => true, 'value' => $val('sms__melli__pattern__login_code')])
@endif