راهاندازی Windows و WSL
Meridian از یک ترمینال شبیه Unix اجرا میشود. در Windows از Windows Subsystem for Linux (WSL) استفاده کنید و Meridian را داخل محیط Linux اجرا کنید.
PowerShell، Command Prompt، Git Bash و Cygwin بومی مسیر پیشنهادی برای Meridian نیستند. WSL همان رفتار shell، SSH و filesystem را مثل Linux به شما میدهد و با بقیه مستندات هماهنگ است.
نصب WSL
PowerShell را به صورت Administrator باز کنید و WSL را نصب کنید:
wsl --install
اگر درخواست شد سیستم را restart کنید، سپس توزیع Linux نصبشده را از Start menu باز کنید.
Ubuntu امنترین پیشفرض است، چون Meridian سرورهای Debian و Ubuntu را هدف میگیرد و بیشتر مثالها از نام پکیجهای apt استفاده میکنند. اگر Debian را از قبل در WSL نصب کردهاید، آن هم کار میکند.
بررسی کنید که WSL از نسخه 2 استفاده میکند:
wsl --list --verbose
اگر توزیع شما نسخه 1 را نشان میدهد، آن را تبدیل کنید:
wsl --set-version Ubuntu 2
آمادهسازی shell در WSL
داخل ترمینال WSL، پکیجها را بهروز کنید و ابزارهای پایه را نصب کنید:
sudo apt update
sudo apt install -y curl openssh-client ca-certificates
Meridian را نصب کنید:
curl -sSf https://getmeridian.org/install.sh | bash
اگر meridian بلافاصله پیدا نشد، ترمینال WSL را restart کنید یا profile شل را دوباره بارگذاری کنید:
exec "$SHELL" -l
نصب را بررسی کنید:
meridian --version
تنظیم کلیدهای SSH
Meridian از WSL با SSH به VPS شما وصل میشود. کلید را داخل WSL بسازید:
ssh-keygen -t ed25519 -C "meridian-wsl"
کلید عمومی را کپی کنید:
cat ~/.ssh/id_ed25519.pub
این کلید عمومی را به پنل ارائهدهنده VPS یا به ~/.ssh/authorized_keys کاربر سرور اضافه کنید.
قبل از اجرای Meridian، SSH را تست کنید:
ssh root@198.51.100.10
اگر VPS شما از کاربر غیر root استفاده میکند، همان کاربر را تست کنید و آن را به deploy بدهید:
meridian deploy 198.51.100.10 --user ubuntu
استفاده از SSH agent
اگر کلید شما passphrase دارد، یک agent داخل WSL شروع کنید:
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
این دستورها را فقط وقتی به ~/.profile یا ~/.bashrc اضافه کنید که tradeoff امنیتی آن را میفهمید. برای بیشتر استقرارهای اول، شروع دستی agent کافی است.
در شروع کار، SSH agentهای Windows و WSL را با هم مخلوط نکنید. تا وقتی deploy کار کند، کلید و agent را داخل WSL نگه دارید.
اجرای Meridian از WSL
فرایند عادی deploy را از ترمینال WSL اجرا کنید:
meridian deploy
یا IP سرور را مستقیم بدهید:
meridian deploy 198.51.100.10
Meridian اطلاعات ورود را زیر ~/.config/meridian/ داخل WSL ذخیره میکند. دستورهای بعدی را از همان توزیع WSL اجرا کنید تا بتواند اطلاعات ذخیرهشده سرور را پیدا کند:
meridian client add alice
meridian client list
meridian test 198.51.100.10
VS Code Remote WSL
اگر از VS Code استفاده میکنید، افزونه “WSL” را نصب کنید و workspace مربوط به Meridian را از WSL باز کنید:
code .
فایلهایی که با Remote WSL ویرایش میشوند در filesystem لینوکس قرار دارند و این کار از مشکل path و permission جلوگیری میکند. مسیری زیر home در WSL مثل ~/projects را ترجیح دهید و state مربوط به Meridian یا کلیدهای SSH را از مسیر /mnt/c/ ویرایش نکنید.
مشکلات رایج
wizard انگار یک prompt را رد میکند
برخی promptهای تعاملی ترمینال میتوانند زیر WSL متفاوت رفتار کنند. اگر wizard مربوط به deploy ورودی را طبق انتظار قبول نمیکند، مقدارها را صریح بدهید:
meridian deploy 198.51.100.10 --sni www.cloudflare.com
همچنین میتوانید اول سرور را بررسی کنید:
meridian check 198.51.100.10
خطای Permission denied در SSH
مطمئن شوید کلید داخل WSL وجود دارد، نه فقط در Windows:
ls -la ~/.ssh
ssh -v root@198.51.100.10
کلید خصوصی باید فقط توسط کاربر WSL شما خواندنی باشد:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_ed25519
Meridian نصب شده اما command پیدا نمیشود
شل را دوباره بارگذاری کنید:
exec "$SHELL" -l
اگر هنوز پیدا نشد، مسیرهای رایج uv و binaryهای محلی را بررسی کنید:
ls ~/.local/bin
در صورت نیاز ~/.local/bin را به profile شل اضافه کنید:
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
exec "$SHELL" -l
مسیرهای Windows مشکل permission ایجاد میکنند
کلیدهای SSH، اطلاعات Meridian و فایلهای پروژه را در filesystem مربوط به WSL نگه دارید:
cd ~
mkdir -p projects
از نگهداری ~/.ssh یا ~/.config/meridian زیر /mnt/c/ خودداری کنید. مسیرهای mount شده از Windows میتوانند permissionهای متفاوتی داشته باشند و SSH آنها را رد کند.