اموزش نصب انجمن vb در هاست
نصب انجمن ویبولتین روی هاست در چهار گام خلاصه میشود: آپلود محتوای پوشه upload بسته نصبی در مسیر اصلی سایت، ساخت یک دیتابیس MySQL به همراه کاربر اختصاصی آن، وارد کردن مشخصات دیتابیس در فایل config.php و در پایان اجرای نصبکننده از مرورگر. خود نصب معمولاً کوتاه است؛ چیزی که بیشتر اهمیت دارد کارهایی است که بلافاصله بعد از نصب انجام میدهید.
پیشنیازها را قبل از آپلود بررسی کنید
ویبولتین یک اسکریپت PHP است و روی هاست لینوکس با PHP و MySQL اجرا میشود، اما نسخه دقیق PHP و MySQL مورد نیاز از یک نسخه ویبولتین تا نسخه دیگر فرق میکند و سری ۴ و سری ۵ پیشنیاز یکسانی ندارند. پس اولین کار این است که صفحه System Requirements همان نسخهای را که خریدهاید باز کنید و اعداد را از آنجا بردارید، نه از آموزشهای قدیمی.
برای دیدن وضعیت فعلی هاست، اگر دسترسی SSH یا Terminal دارید:
php -v
mysql --version
در سیپنل هم میتوانید نسخه PHP را از بخش MultiPHP Manager یا Select PHP Version ببینید و تغییر دهید. در همان صفحه فهرست افزونههای PHP هم هست؛ ویبولتین معمولاً به mysqli، gd، curl، mbstring، xml و zip نیاز دارد. اگر یکی از اینها غیرفعال باشد، نصبکننده در همان صفحه اول خطا میدهد.
درباره فضای دیسک، خود بسته نصبی مسئلهای ایجاد نمیکند؛ آنچه در طول زمان فضا مصرف میکند فایلهای ضمیمه، آواتارها و تصاویر پروفایل کاربران است. بنابراین هاست را با نگاه به رشد آینده انجمن انتخاب کنید، نه اندازه امروزش.
ویبولتین نرمافزاری تجاری و لایسنسدار است
ویبولتین رایگان نیست. برای دریافت بسته نصبی باید لایسنس داشته باشید و از سایت رسمی وارد بخش Members Area شوید و از مسیر Download vBulletin آخرین نسخه را بگیرید.
نسخههای نال یا کرکشده که در سایتهای فارسی دست به دست میشوند، از سه جهت انتخاب بدی هستند: تقریباً همیشه کد اضافهشده دارند و یکی از رایجترین راههای آلوده شدن هاستهای اشتراکی همین بستهها هستند؛ از هیچ بهروزرسانی و وصله امنیتی رسمی بهرهمند نمیشوند، در حالی که آسیبپذیریهای انجمنها به سرعت عمومی و اکسپلویت میشوند؛ و در نهایت استفاده از آنها نقض لایسنس نرمافزار است. اگر بودجه لایسنس را ندارید، انجمنهای متنباز و رایگان گزینه معقولتری از نسخه نال هستند.
آپلود فایلها و تنظیم سطح دسترسی
بسته دانلودی را از حالت فشرده خارج کنید. برای آپلود میتوانید از مدیر فایل کنترلپنل یا یک کلاینت FTP مانند CuteFTP استفاده کنید. داخل آن پوشهای به نام upload وجود دارد؛ چیزی که باید منتقل شود محتوای این پوشه است، نه خود پوشه. اگر انجمن روی دامنه اصلی است، مقصد public_html و اگر روی زیرشاخه است مثلاً public_html/forum خواهد بود.
سریعترین راه این است که فایل زیپ را با File Manager کنترلپنل آپلود کنید و همانجا Extract بزنید؛ آپلود چند هزار فایل کوچک با FTP بسیار کندتر است. روی سرویسهایی مثل هاست اشتراکی لینوکس که با کنترلپنل cPanel ارائه میشود، همین مسیر سادهترین گزینه است. اگر SSH دارید:
unzip vbulletin.zip -d /home/USER/public_html/
پس از آپلود، سطح دسترسیها را استاندارد کنید. قاعده امن این است که پوشهها 755 و فایلها 644 باشند:
find /home/USER/public_html -type d -exec chmod 755 {} +
find /home/USER/public_html -type f -exec chmod 644 {} +
هیچوقت برای رفع خطا دسترسی 777 ندهید؛ روی هاست اشتراکی این کار عملاً در را برای اسکریپتهای مخرب باز میگذارد. تنها پوشههایی که ویبولتین برای ذخیره آواتار، تصویر پروفایل و فایلهای ضمیمه استفاده میکند باید قابل نوشتن باشند و فهرست دقیق آنها در راهنمای نصب همان نسخه آمده است.
ساخت دیتابیس و ویرایش config.php
در سیپنل به MySQL Databases بروید (در دایرکتادمین MySQL Management)، یک پایگاه داده بسازید، سپس یک کاربر با رمز طولانی و تصادفی ایجاد کنید و او را با دسترسی ALL PRIVILEGES به همان دیتابیس اضافه کنید. کاربر دیتابیس را فقط برای همین انجمن بسازید و از کاربر مشترک بین چند اسکریپت استفاده نکنید. روی سرویسهایی مثل هاست لینوکس ایران که با کنترلپنل cPanel ارائه میشود و امکان ایجاد دیتابیس نامحدود دارد، این کار چند ثانیه بیشتر طول نمیکشد.
حالا در پوشه includes (در سری ۵ مسیر core/includes است) فایل config.php.new را به config.php تغییر نام دهید و مقادیر زیر را پر کنید:
$config['Database']['dbname'] = 'DB_NAME';
$config['MasterServer']['servername'] = 'localhost';
$config['MasterServer']['username'] = 'DB_USER';
$config['MasterServer']['password'] = 'DB_PASSWORD';
مقدار servername روی اغلب هاستها همان localhost است؛ اگر سرور دیتابیس جدا باشد، میزبان درست را از کنترلپنل یا پشتیبانی بگیرید. توجه کنید که همه مقادیر باید داخل تککوتیشن قرار بگیرند و فایل را با کدگذاری UTF-8 بدون BOM ذخیره کنید، وگرنه ممکن است صفحه سفید ببینید.
اجرای نصبکننده
مسیر نصب را در مرورگر باز کنید. در سری ۴ معمولاً https://example.com/install/install.php و در سری ۵ https://example.com/core/install/install.php است؛ مسیر دقیق در فایل راهنمای همان بسته نوشته شده. نصبکننده ابتدا پیشنیازها را بررسی میکند، سپس جدولها را میسازد و در نسخههای جدید ممکن است شماره مشتری لایسنس شما را هم بخواهد.
در گام ساخت مدیر، رمز عبور طولانی و یکتا انتخاب کنید و از ایمیلی استفاده کنید که برای هیچ سرویس دیگری به کار نمیرود. اگر وسط نصب خطای ۵۰۰ یا صفحه سفید گرفتید، به جای حدس زدن، Errors یا error_log کنترلپنل را باز کنید؛ پیام واقعی آنجاست.
امنیت بعد از نصب را جدی بگیرید
باقی ماندن پوشه نصب روی هاست یکی از رایجترین اشتباهات است. بعد از پایان نصب، پوشه install را حذف کنید. اگر میخواهید برای ارتقاهای بعدی نگهش دارید، به جای حذف آن را تغییر نام دهید یا با یک فایل .htaccess شامل دستور Require all denied ببندید. پیش از حذف، مطمئن شوید یک نسخه از کل فایلها را دارید؛ حذف در File Manager برگشتپذیر نیست.
سه کار دیگر هم لازم است: دسترسی فایل کانفیگ را محدودتر کنید با chmod 600 includes/config.php (اگر سایت خطا داد، روی 644 برگردانید)، پوشه مدیریت یعنی admincp را با رمز دوم سطح وبسرور محافظت کنید، و SSL را فعال و ترافیک را روی HTTPS اجباری کنید. اگر پیکربندی وبسرور یا هاردنینگ خارج از تخصص شماست، خدمات پشتیبانی فنی دقیقاً برای همین دست کارها تعریف شدهاند.
از دیتابیس و کانفیگ بکاپ بگیرید
قبل از هر ارتقا یا نصب افزونه، یک بکاپ کامل بگیرید. با SSH:
mysqldump -u DB_USER -p DB_NAME > vb-backup.sql
و برای بازگردانی:
mysql -u DB_USER -p DB_NAME < vb-backup.sql
دستور بازگردانی دادههای فعلی جدولها را بازنویسی میکند، پس آن را فقط روی دیتابیسی اجرا کنید که واقعاً میخواهید جایگزین شود. کنار فایل SQL، یک کپی از config.php و پوشه فایلهای ضمیمه را هم بیرون از خود هاست نگه دارید؛ بکاپی که روی همان سرور مانده در سناریوی خرابی دیسک یا نفوذ، بکاپ حساب نمیشود.
جمعبندی
نصب ویبولتین کار پیچیدهای نیست: پیشنیازها را بررسی کنید، محتوای upload را آپلود کنید، دسترسیها را روی 755 و 644 تنظیم کنید، دیتابیس و config.php را آماده کنید و نصبکننده را اجرا کنید. تفاوت یک انجمن سالم با انجمنی که چند ماه بعد هک میشود، در همان کارهای بعد از نصب است: حذف پوشه نصب، رمزهای قوی، دسترسیهای درست، بهروزرسانی منظم و بکاپ خارج از سرور.