svnserve(8) System Manager's Manual svnserve(8)

svnserve - سرور برای روش دسترسی به مخزن 'svn'

svnserve امکان دسترسی به مخزن‌های ساب‌ورژن (Subversion) را با استفاده از پروتکل شبکه svn فراهم می‌کند. این برنامه می‌تواند هم به صورت یک فرآیند سرور مستقل (standalone) اجرا شود، و هم از طریق inetd اجرا گردد. هنگام راه‌اندازی svnserve باید یک حالت عملیاتی را انتخاب کنید. گزینه‌های زیر توسط این برنامه شناخته می‌شوند:

باعث می‌شود svnserve در حالت دیمن (daemon) اجرا شود. در این حالت، svnserve به پس‌زمینه می‌رود و اتصالات TCP/IP را روی درگاه svn (به‌طور پیش‌فرض ۳۶۹۰) پذیرفته و سرویس‌دهی می‌کند.
باعث می‌شود svnserve هنگام اجرا در حالت دیمن، به درگاه port گوش فرا دهد.
باعث می‌شود svnserve روی رابط شبکه مشخص‌شده توسط host گوش فرا دهد، که می‌تواند یک نام میزبان یا یک نشانی IP باشد.
هنگامی که همراه با -d استفاده شود، باعث می‌شود svnserve در پیش‌زمینه باقی بماند. این گزینه عمدتاً برای اشکال‌زدایی مفید است.
باعث می‌شود svnserve از توصیف‌کننده‌های فایل stdin/stdout استفاده کند، همان‌طور که برای یک دیمن در حال اجرا از طریق inetd مناسب است.
خلاصه‌ای از نحوه استفاده را نمایش داده و خارج می‌شود.
نسخه svnserve و پس‌انه‌های سیستم‌فایل مخزن را که این برنامه پشتیبانی می‌کند، چاپ می‌کند.
ریشه مجازی را برای مخزن‌های سرویس‌دهی‌شده توسط svnserve تنظیم می‌کند. مسیرهای موجود در نشانی‌های اینترنتی (URL) ارائه‌شده توسط کلاینت، نسبت به این ریشه تفسیر خواهند شد و اجازه خروج از این ریشه را نخواهند داشت.
تمام عملیات نوشتن از طریق این نمونه از svnserve را ممنوع می‌کند و تمام تنظیمات خط‌مشی دسترسی دیگر را نادیده می‌گیرد. از این گزینه برای تنظیم خط‌مشی دسترسی کلی مخزن استفاده نکنید؛ فایل پیکربندی مخزن conf/svnserve.conf برای همین منظور است. این گزینه فقط باید برای محدود کردن دسترسی از طریق یک روش خاص فراخوانی svnserve استفاده شود؛ برای مثال، برای مجاز کردن دسترسی نوشتن از طریق SSH اما نه از طریق یک دیمن svnserve، یا برای ایجاد یک کلید SSH محدود شده که فقط قابلیت دسترسی فقط‌خواندنی داشته باشد.
باعث می‌شود svnserve در حالت تونل (tunnel mode) اجرا شود، که بسیار شبیه به حالت عملکرد inetd است (سرویس‌دهی به یک اتصال از طریق stdin/stdout)، با این تفاوت که اتصال از پیش با نام کاربری مربوط به uid فعلی احراز هویت شده در نظر گرفته می‌شود. این فلگ توسط کلاینت هنگام اجرا از طریق یک عامل تونل انتخاب می‌شود.
هنگامی که با --tunnel ترکیب شود، نام کاربری از پیش احراز هویت شده را با username ارائه‌شده جایگزین می‌کند. این گزینه در ترکیب با دستورالعمل "command" در فایل authorized_key مربوط به ssh مفید است تا به یک حساب کاربری سیستمی واحد اجازه دهد توسط چندین مشارکت‌کننده (committer) استفاده شود، در حالی که هر یک هویت ssh متمایزی دارند.
هنگام اجرا در حالت دیمن، باعث می‌شود svnserve به جای یک فرآیند، برای هر اتصال یک رشته (thread) ایجاد کند. فرآیند svnserve همچنان در زمان راه‌اندازی به پس‌زمینه می‌رود.
در صورت مشخص شدن، svnserve یک بار در زمان راه‌اندازی برنامه filename را می‌خواند و پیکربندی svnserve را در حافظه موقت (کش) قرار می‌دهد. پیکربندی‌های گذرواژه و مجوزهایی که از filename به آن‌ها ارجاع داده شده است، در هر اتصال بارگذاری خواهند شد. هنگامی که از این گزینه استفاده شود، svnserve هیچ‌یک از فایل‌های conf/svnserve.conf مربوط به هر مخزن را نخواهد خواند. برای جزئیات مربوط به قالب فایل برای این گزینه، به صفحه راهنمای svnserve.conf(5) مراجعه کنید.
در صورت مشخص شدن، svnserve شناسه فرآیند (PID) خود را در filename می‌نویسد.
باعث می‌شود svnserve یک اتصال را روی درگاه svn بپذیرد، به آن سرویس دهد و خارج شود. این گزینه عمدتاً برای اشکال‌زدایی مفید است.

مگر در حالتی که گزینه --config-file در خط فرمان مشخص شده باشد، به محض اینکه کلاینت با ارسال URL خود یک مخزن را انتخاب کرد، svnserve فایلی با نام conf/svnserve.conf را در دایرکتوری مخزن می‌خواند تا تنظیمات مربوط به مخزن (مانند اینکه از چه پایگاه داده احراز هویتی استفاده شود و چه خط‌مشی‌های مجوزی اعمال گردند) را تعیین کند. برای جزئیات مربوط به ساختار آن فایل، به صفحه راهنمای svnserve.conf(5) مراجعه کنید.

svnserve.conf(5)