راهنما:شروع کار با تول‌سرور - ویکی‌پدیا، دانشنامهٔ آزاد

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

ثبت نام[ویرایش]

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

ساخت کلید[ویرایش]

نمایش صفحه دوم puttygen
در ویندوز

برای دسترسی امن به سرور باید دو عدد کلید (به انگلیسی: Key) (فایل متن کدشده) داشته باشید که یکی از آنها public key و دومی private key نامیده میشوند.

  1. برای ساخت کلید باید برنامه putty generator را دانلود کنید.
  2. دکمه Generat را بزنید و موس خود را حرکت دهید تا با حرکت موس شما تعدادی کد تولید گردد.
  3. در صفحه دوم جلوی عبارت KeyPassPhrase و Confirm KeyPassPhrase عبارت رمز خود را دوبار وارد کنید این کد رمز برای ورود به تول‌سرور لازم میشود آن را فراموش نکنید.
  4. دکمه generate را بزنید و کلیدهای public key و private key را ذخیره نمایید
در لینوکس

دستور زیر را اجرا کنید:

$ ssh-keygen -t rsa 

آنگاه دو فایل مربوط در مسیر $HOME/.ssh/ ایجاد می‌شوند.

پس از ساخته‌شدن کلیدها

نسخه public key را برای admin در بخش درخواست بفرستید و نسخه private و رمز تولید آن برای login شدن کاربرد دارد و به جز صاحب ربات کسی نباید به آن دسترسی داشته باشد.[۱]

دسترسی به تول سرور[ویرایش]

نرم‌افزار پوتی:[ویرایش]

برای دسترسی به تول سرور در ویندوز از نرم‌افزار putty استفاده کنید به کمک این نرم‌افزار می‌توانید به سرور دسترسی داشته باشید.

    • بعد از فعال شدن حساب کاربریتان برای تنظیم putty در بخش «host name» یکی از آدرس‌های willow.toolserver.org یا nightshade.toolserver.org قرار دهید. وسپس در Connection->SSH->Auth فایل SSH key privet خود را اضافه نمایید.(تنظیمات دیگر را تغییر ندهید.)
    • در بخش Window>Translation نحوه نمایش را به UTF-8 تبدیل کنید تا متن‌های فارسی را درست مشاهده کنید.
    • در بخش Conection>Data در قسمت Autologin-username نام کاربری خود را در تول‌سرور بنویسید تا هر دفعه که وارد برنامه می‌شوید از شما نام کاربری را نپرسد.
    • بعد از انجام تغییرات به صفحه Session بروید و در آنجا تغییرات خود را Save کنید. در غیر این صورت این عمل را باید هر دفعه انجام دهید.
    • دکمه "open" را بزنید. از شما نام کاربریتان را می‌پرسد. این نام همام نام کاربری‌ای هست که در تول‌سرور در زمان درخواست ثبت‌نام خود را با آن معرفی کردید همچنین پسوردی می‌پرسد که همان حروفی هست که برای ساختSSH Key Privet از آن استفاده کرده‌اید است.
    • پس از ورود به تول‌سرور باید با صفحه مشابه مثال زیر مواجه گردید.
nightshade.toolserver.org - PuTTY


برای اطلاعات بیشتر به اینجا مراجعه نمایید

وین‌اس‌سی‌پی WinScp[ویرایش]

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

روش ورود WinScp مشابه نرم‌افزار پوتی putty هست شما باید privet key و پسورد ساخت آن را به نرم‌افزار بدهید تا بتوانید به کاربریتان وارد شوید.

Core FTP Pro[ویرایش]

برنامه‌ای بسیار عالی برای اتصال از طریق SSH/SFTP.

نصب کدهای ربات[ویرایش]

درحال حاضر سرور های SVN بنیاد خاموش شده و برای نصب باید از دستور git باید استفاده کرد(لینک خبر). همچنین درحال حاضر دو روش برای اجرای ربات وجود دارد، یکی سیستم Core(تغییراتی نسبت به سیستم قبلی دارد) و دیگری Compat که تقریبا همان مورد قبلی است.

استفاده از روش Core[ویرایش]

برای نصب کد زیر را در terminal کپی کنید.

git clone --recursive https://gerrit.wikimedia.org/r/pywikibot/core.git pycore 

بعد از اجرا، کدهای پای ویکی در فولدری به نام pycore ساخته و قرار داده می شوند.

استفاده از روش Compat[ویرایش]

برای نصب کد زیر را در terminal کپی کنید.

git clone --recursive https://gerrit.wikimedia.org/r/pywikibot/compat.git 

بعد از اجرا، کدهای پای ویکی در فولدری به نام compat ساخته و قرار داده می شوند.


برای به روز رسانی کد زیر را بنویسید.

git pull 

البته برای به روز رسانی باید توجه داشته باشید زمانی این دستور را وارد کنید که در فولدر مربوط باشید. مثلا اگر کد های پایتون شما در شاخه compat است. ابتدا با دستور cd compat وارد فولدر مربوط شوید و سپس دستور بالا را وارد کنید. مورد مهم دیگر، آن است که سیستم جدید میتواند به روز بودن کدهای ربات شما را بررسی کند و اگر بروز نباشد خود سیستم به طور خودکار از اجرای ربات شما جلوگیری می کند، برای از کار نیفتادن ربات پیشنهاد می شود که کد بروزرسان ربات را در کرون تبتان قرار دهید.


نکته مهم:با توجه به روزرسانی و خاموش شدن سرور SVN بنیاد و بروزرسانی پای ویکی و همگام سازی آن با سیستم git، ربات‌رانانی که هنوز از دستور git استفاده نکرده اند و پای ویکیشان آپدیت نشده است سیستم اجازه اجرای ربات را به آنها نمی دهد، برای استفاده از ربات آنها میبایست با استفاده از دستور فوق پای ویکی را دوباره نصب و کدهای شخصی قبلی خودشان را به آن انتقال دهند.

برای اطلاعات بیشتر به آدرس بروید و بخش SVN را مطالعه کنید

لاگین اتوماتیک ربات[ویرایش]

در تعدادی از ویکی‌ها برای اینکه ربات بدون لاگین وارد نشود آی‌پی تول سرور بسته شده است یعنی ربات شما بدون لاگین نمی‌توانید ویرایش کند.برای اینکه مداوم نیاز به لاگین کردن ربات نباشد در صورتی که فایل user-config.py را نساخته‌اید آن را بر اساس راهنمای شروع کار با ربات پایتون درست کنید و در فولدر Pywikipedia قرار دهید و در انتها کد زیر را اضافه نمایید.

password_file= 'passfile' 

همچنین فایل بدون پسوندی با نام passfile در فولدر pywikipedia درست کنید و در آن عبارت زیر را بنویسید

("botname", "botpass") 

که botname نام کاربری ربات شما و botpass پسورد ربات شما می‌باشد.

تذکر:توجه داشته باشید که آی‌پی تول‌سرور در بسیاری از ویکی‌ها از جمله ویکی‌فا و ویکی انگلیسی بسته شده‌است و این بدان معنی هست که در این ویکی‌ها حتماً ربات باید لاگین نماید و با نام کاربری‌اش وارد شود. در صورتی که روند فوق به درستی انجام نشود ربات نمی‌تواند در این ویکی‌ها ویرایش کند. به همین دلیل در تمام ربات‌هایی که برای ویکی‌فا و انگلیسی و ویکی‌های مشابه که این محدودیت را دارند، قبل از اجرای ربات به شما اخطار قطع دسترسی داده می‌شود. در صورتی که ربات ادامه کار داد و توانست در ویکی ویرایش کند مشکلی نخواهید داشت در صورت عدم ویرایش ربات نتوانسته با نام کاربری وارد شود و یکی از روندهای فوق (user-config.py یا passfile) را به درستی انجام نداده‌اید.

فایل‌های پیش‌فرض در کاربری تول‌سرور[ویرایش]

هنگامی که حساب کاربری برای شما ساخته شد به صورت پیش‌فرض ۴ فایل در این حساب هست.

فایل/ فولدر توضیحات
.about.me این فایل (.about.me) حاوی اطلاعات شما از قبیل نام، رایانامه و غیره است که از آن دراینجا استفاده می شود.
.forward این فایل حاوی رایانامه شماست که از طریق آن پیام ها و اخطارهایی که به دلایل مختلف(مانند نقص در اجرای یک دستور) رخ میدهد به شما اطلاع می دهد.
.my.cnf این فایل حاوی یوزر و پسورد شما برای اتصال به فضای داده(SQL databases)است.
public_html/ شاخه ای که میتوانید به فایل های درون آن و بدون نیاز به لاگین به اکانتتان و از طریق آدرس http://toolserver.org/~username به آن دسترسی داشته باشید.
هشدار: به دلیل دسترسی آزاد به این صفحه از قرار دادن هرگونه فایلی که محتوی پسورد اکانت شماست خودداری کنید.

اجرای ربات به کمک تول‌سرور[ویرایش]

برای اجرای ربات به کمک تول‌سرور، چندین روش وجود دارد.

  • دستور crontab که به شما این قابلیت را میدهد که برای اجرای ربات یا کدهایتان زمان مشخص کنید
  • دستور screen که برای اجرای چند فرمان به صورت همزمان کاربرد دارد.

برای اطلاع از روش اجرای ربات به راهنما:اجرای ربات در تول‌سرور مراجعه نمایید.

اتصال به دیتابیس تول سرور[ویرایش]

فایل .my.cnf را باز کنید پسورد و کاربری شما برای ارتباط با دیتابیس تول سرور در آنجا قرار دارد سپس در انتهای فایل user-config.py خود عبارت زیر را وارد کنید تا به کمک کاربری شما ربات بتواند از اطلاعات تول سرور استفاده کند. برای استفاده از اطلاعات تول سرور باید اطلاعاتی در زمینه کدنویسی sql داشته باشید یا از رباتهایی که sql را اجرا میکنند استفاده کنید.

console_encoding = 'utf-8' db_username = "نام کاربریتان در تول سرور" db_password = "پسوردتان" 

برای استفاده از دیتابیس تول‌سرور، استخراج آمار از دیتابیس تول سرور را مطالعه نمایید.

ربات جهانی (Global Bot)[ویرایش]

در صورتی که علاقه‌مند باشید می توانید درخواست دسترسی ربات جهانی (به انگلیسی: Global Bot) بنمایید تا بتوانید در بیش از ۱۵۰ ویکی بدون نیاز به مجوز (محلی) ویرایش نمایید. البته این مجوز فقط محدود به دو ربات میان‌ویکی و اصلاح تغییرمسیر می‌باشد و در صورتی که قصد فعالیت‌های رباتیک دیگری دارید باید جداگانه در آن ویکی‌ها درخواست نمائید.برای درخواست به اینجا مراجعه نمائید و برای تنظیم ربات فقط نام ویکی‌هایی که در اینجا فهرست شده است را به user-config.py خود بیافزایید البته در صورتی که در ویکی‌های دیگر نیز مجوز میان ویکی دارید می توانید آنها را نیز به user-config.py بیافزایید.خیلی از ویکی‌های مهم مانند ja، ru و...از ربات جهانی پشتیبانی نمی‌کنند.

نکته۱:درخواست برای ربات جهانی ربطی به داشتن حساب تول‌سرور ندارد و کاربر می‌تواند از روی کامپیوتر شخصی ربات را اجرا نماید در آنجا بیشتر میزان مشارکت ربات در ویکی های دیگر و نداشتن قطع دسترسی مدنظر هست.
نکته۲: ربات اصلاح تغییرمسیر دوتایی در ویکی‌فا توسط ربات مدیر اجرا می شود تا بتواند همزمان تغییرمسیرهای بن‌بست را حذف نماید.
نکته۳:طبق قوانین ویکی‌پدیا ربات شما باید در ویکی‌ای که ویرایش می‌کند صفحهٔ کاربری داشته باشد که به آدرس ویکی اصلی مثلا ویکی‌فا پیوند باشد تا کاربرهای آنجا بدانند با چه کسی تماس بگیرند.(درست کردن حساب کاربری در ویکی‌های دیگر)

چند ترفند[ویرایش]

برای مشاهده فعالیتهای کدهای پایتون که روی سرور فعال هستند از دستور زیر استفاده کنید.

$ ps -ef | grep python 

اگر خروجی را به صورت پویا (دینامیک) می‌خواهید از دستور top استفاده کنید همچنین اگر فعالیت‌های کاربر خاصی را می‌خواهید بررسی کنید از سوییچ u استفاده کنید.

به روز رسانی خودکار[ویرایش]

برای به روز رسانی اتوماتیک ربات، یک فایل با نام مثلا update بدون پسوند بسازید و درون آن دستور زیر را قرار دهید و در crontab این فایل را مثلا برای اجرای هر هفته یک‌بار بخوانید.

#!/bin/bash cd /home/username/pywikipedia svn update 
تذکر۱: username همان نام کاربری شما در تول‌سرور هست.
تذکر۲: برای اطلاع بیشتر از کارکرد با crontab اجرای ربات در تول‌سرور را مطالعه نمایید.

جستارهای وابسته[ویرایش]

منابع[ویرایش]