آموزش نصب لایت اسپید روی سیپنل، دایرکتادمین، پلسک و سرور بدون کنترلپنل
آپاچی روی سرور پرترافیک کم میآورد، لود بالا میرود و تصمیم گرفتهاید وبسرور را به لایت اسپید تغییر دهید. مشکل اینجاست که بیشتر آموزشهای موجود برای سالها پیش نوشته شدهاند و لینکهای دانلودشان دیگر کار نمیکند؛ نسخه ۴.۲.۶، بستههای ۳۲ بیتی، Solaris و Mac OS X سالهاست که ارائه نمیشوند. این راهنما مسیر فعلی نصب لایت اسپید را روی سیپنل، دایرکتادمین، پلسک و سرور بدون کنترلپنل نشان میدهد و در پایان هم ورود به پنل مدیریت روی پورت ۷۰۸۰ و تنظیم رمز ادمین را پوشش میدهد.
اول تکلیف نسخه را روشن کنید: LiteSpeed Enterprise یا OpenLiteSpeed؟
دو محصول مجزا با یک نام مشابه وجود دارد و انتخاب اشتباه، وسط کار خودش را نشان میدهد:
- LiteSpeed Web Server Enterprise (LSWS) — نسخه تجاری و نیازمند لایسنس. جایگزین مستقیم آپاچی است، فایلهای پیکربندی آپاچی و
.htaccessرا همانطور که هستند میخواند و افزونه رسمی برای سیپنل، دایرکتادمین و پلسک دارد. اگر سرور اشتراکی با کنترلپنل دارید، عملاً همین گزینه است. - OpenLiteSpeed — نسخه متنباز و رایگان. لایسنس نمیخواهد، اما یکپارچگی کامل با کنترلپنلهای تجاری ندارد و رفتارش با
.htaccessمتفاوت است.
درباره .htaccess در OpenLiteSpeed دقت کنید: فقط قوانین mod_rewrite خوانده میشوند، آن هم پس از فعال کردن گزینه Auto Load from .htaccess در سطح ویرچوالهاست؛ ضمن اینکه این قوانین در زمان استارت سرویس بارگذاری میشوند و بعد از هر تغییر باید وبسرور را ریاستارت کنید. سایر دستورهای آپاچی مانند <Files> و <IfModule> نادیده گرفته میشوند.
نکتهای که موقع مهاجرت به آن برمیخورید: اگر در .htaccess قدیمیتان هنوز نحو Order و Deny from استفاده شده، این نحو مربوط به آپاچی ۲.۲ است و از آپاچی ۲.۴ به بعد منسوخ شده. معادل امروزیاش را جایگزین کنید:
# نحو قدیمی آپاچی 2.2 (منسوخ) Order deny,allow Deny from all # نحو فعلی آپاچی 2.4 به بعد Require all denied # اجازه دسترسی فقط به یک IP - نحو 2.4 Require ip 203.0.113.10
لایسنس و لایسنس ترایال
نسخه Enterprise بدون سریال بالا نمیآید. لایتاسپید یک لایسنس ترایال ۱۵ روزه ارائه میکند که در قالب لایسنس Web Host Professional همه امکانات را باز میگذارد. برای هر IP میتوانید دو ترایال پشتسرهم بگیرید، یعنی مجموعاً ۳۰ روز فرصت تست. اگر بیشتر لازم داشتید باید از پشتیبانی لایتاسپید (support@litespeedtech.com) درخواست ریست دوره ترایال برای IP سرورتان را بدهید.
در همه روشهای نصب که در ادامه میآید، بهجای شماره سریال میتوانید عبارت TRIAL را با حروف بزرگ بنویسید تا اسکریپت نصب خودش ترایال را برای سرور شما درخواست کند.
پیشنیازها؛ قبل از اجرای هر دستوری
- دسترسی root از طریق SSH.
- بکاپ کامل و تازه از سرور. تغییر وبسرور عملیات کمریسکی نیست.
- باز بودن پورتهای ۸۰ روی TCP و ۴۴۳ روی TCP و UDP در فایروال. پورت UDP برای QUIC و HTTP/3 لازم است و اگر بسته باشد، بیآنکه خطایی ببینید HTTP/3 کار نمیکند.
- پورت کنسول مدیریت (پیشفرض ۷۰۸۰ روی TCP) — اما نه برای همه دنیا؛ در بخش فایروال به آن برمیگردیم.
- دسترسی سرور به
license.litespeedtech.comبرای فعالسازی لایسنس. - اگر روی سرور یک ریورسپروکسی جلوی آپاچی نشسته (مثل nginx در پلسک) باید متوقف شود.
نصب لایت اسپید روی سیپنل و WHM
روش پیشنهادی امروز، اسکریپت نصب خودکار لایتاسپید است. این اسکریپت محیط را تشخیص میدهد، وابستگیهای لازم را میگیرد و هم وبسرور و هم افزونه WHM را نصب میکند:
# با لایسنس ترایال bash <( curl -fsSL https://get.litespeed.sh ) TRIAL # با سریال خریداریشده bash <( curl -fsSL https://get.litespeed.sh ) YOUR_SERIAL_NO
در حین اجرا از شما نام کاربری، رمز عبور و ایمیل ادمین کنسول WebAdmin و مقدار Port offset پرسیده میشود. مقدار پیشفرض offset برابر ۱۰۰۰ است؛ با این عدد آپاچی روی ۸۰ و ۴۴۳ میماند و لایتاسپید روی پورتهای ۱۰۸۰ و ۱۴۴۳ بالا میآید و میتوانید همزمان با آپاچی تستش کنید بدون اینکه سایتهای زنده لمس شوند.
هشدار: اگر offset را صفر بگذارید، لایتاسپید همان پورتهای آپاچی را میگیرد و اسکریپت در پایان نصب بهصورت خودکار وبسرور را سوئیچ میکند. یعنی سایتهای زنده بدون هیچ تست قبلی روی وبسرور جدید میروند. برای اولین نصب، offset را صفر نگذارید.
اگر فقط افزونه WHM را میخواهید
برای نصب یا بهروزرسانی خودِ افزونه، همین یک خط کافی است (همان دستور برای آپدیت هم استفاده میشود):
wget -O- https://litespeedtech.com/packages/cpanel/lsws_whm_plugin_install.sh | sh
افزونه از مسیر WHM > Plugins > LiteSpeed Web Server در دسترس قرار میگیرد. از همانجا میتوانید درخواست لایسنس ترایال بدهید و نصب وبسرور را شروع کنید. برای حذف افزونه هم اسکریپت زیر که کنار خود افزونه نصب میشود در دسترس است:
/usr/local/cpanel/whostmgr/docroot/cgi/lsws/lsws_whm_plugin_uninstall.sh
سوئیچ از آپاچی به لایت اسپید
بعد از اینکه روی پورت offset مطمئن شدید سایتها درست بالا میآیند، از داخل افزونه دکمه Switch to LiteSpeed را بزنید یا از خط فرمان:
# انتقال لایتاسپید به پورتهای 80 و 443 /usr/local/lsws/admin/misc/cp_switch_ws.sh lsws # بازگشت به آپاچی /usr/local/lsws/admin/misc/cp_switch_ws.sh apache
این اسکریپت فقط با root اجرا میشود و کنترلپنل را خودش تشخیص میدهد؛ سیپنل، پلسک، دایرکتادمین و CentOS Web Panel پشتیبانی میشوند. وجود همین مسیر بازگشت، دلیل خوبی است که سوئیچ را در ساعت کمترافیک انجام دهید.
نصب لایت اسپید روی دایرکت ادمین
روش قدیمی دانلود فایل litespeed.tgz و اجرای scripts/install.sh دیگر معتبر نیست. امروز دو مسیر رسمی دارید. اول، همان اسکریپت خودکار:
bash <( curl -fsSL https://get.litespeed.sh ) TRIAL
اسکریپت از شما میخواهد نسخههای PHP را از طریق CustomBuild انتخاب کنید. وقتی پیام نبودن فایل lsws.options را دید، حرف y را بزنید تا وارد تنظیم تعاملی شود: ابتدا نسخه اصلی PHP و بعد تا سه نسخه اضافی. در پایان یک رمز تصادفی برای کنسول WebAdmin تولید و روی صفحه چاپ میشود؛ همان لحظه ذخیرهاش کنید.
مسیر دوم، مستقیم از خود CustomBuild است. دقت کنید که تعیین شماره سریال و حالت PHP جزو مراحل لازم است و اگر جا بیفتند، لایتاسپید یا بدون لایسنس میماند یا PHP زیر LSAPI اجرا نمیشود:
cd /usr/local/directadmin/custombuild ./build update ./build set webserver litespeed ./build set mod_ruid2 no # بهجای TRIAL میتوانید شماره سریال خریداریشده را بگذارید ./build set litespeed_serialno TRIAL ./build set php1_mode lsphp ./build litespeed ./build php n
اگر نسخه رایگان را میخواهید، بهجای خطوط مربوط به litespeed این دو را اجرا کنید (تنظیم سریال هم لازم نیست):
./build set webserver openlitespeed ./build openlitespeed
چند نکته درباره دایرکتادمین: CustomBuild امکان سوئیچ گرم بین وبسرورها را ندارد و هر بار که وبسرور را عوض کنید باید PHP دوباره کامپایل شود. مرحله ./build php n بسته به سرور میتواند دهها دقیقه طول بکشد و در این مدت سایتها بالا نمیآیند، پس حتماً در ساعت کمترافیک اجرایش کنید. اگر LSWS از قبل نصب نبوده باشد، CustomBuild خودش کاربر admin را با یک رمز تصادفی برای کنسول WebAdmin میسازد و همان لحظه نمایش میدهد؛ آن را جایی امن ذخیره کنید. در پایان از مسیر Admin Level > Service Monitor مطمئن شوید سرویس وبسرور در حال اجراست. نام یونیت سیستمی بسته به روش نصب میتواند litespeed یا lsws باشد، پس اگر یکی را نشناخت دیگری را امتحان کنید:
systemctl status litespeed || systemctl status lsws
نصب لایت اسپید روی پلسک
روش قدیمیِ دانلود زیپ و اجرای pleskInstall.sh جای خود را به افزونه رسمی پلسک داده است. قبل از هر کاری دو پیشنیاز را انجام دهید: از مسیر Tools and Settings > Server Management > Services Management سرویس Reverse Proxy Server (nginx) را Stop کنید و PHP handler را روی FastCGI بگذارید.
سپس در پلسک به بخش Extensions بروید و عبارت LiteSpeed را جستوجو و افزونه را نصب کنید. اگر نسخه جدیدتری لازم دارید، فایل افزونه را از سایت لایتاسپید بگیرید و از مسیر Extensions > My Extensions با دکمه Upload Extension بارگذاری کنید. معادل خط فرمانیاش این است:
plesk bin extension --install litespeed-plesk.zip
بعد از نصب افزونه، وارد Extensions > LiteSpeed شوید و روی Install LiteSpeed Web Server بزنید. توافقنامه لایسنس را بپذیرید، سریال را وارد کنید یا ترایال بگیرید، یک Port offset برای تست تعیین کنید و نام کاربری و رمز کنسول WebAdmin را بسازید. در پایان با دکمه Switch to LiteSpeed یا همان دستور cp_switch_ws.sh lsws وبسرور را روی پورتهای اصلی بیاورید. اسکریپت get.litespeed.sh هم روی پلسک کار میکند و اگر ترجیح میدهید همهچیز از ترمینال انجام شود، گزینه سریعتری است.
یک تفاوت که وقت ورود به کنسول غافلگیرتان میکند: نصبکننده لایتاسپید روی پلسک پورت کنسول مدیریت را بهجای ۷۰۸۰ روی ۷۰۸۸ میگذارد، چون ۷۰۸۰ در محیط پلسک معمولاً اشغال است. اگر 7080 جواب نداد، 7088 را امتحان کنید.
نصب روی سرور بدون کنترلپنل
سادهترین راه، اسکریپت تکمرحلهای رسمی است که وبسرور و LSPHP را با یک لایسنس ترایال ۱۵ روزه نصب میکند:
bash <( curl -fsSL https://raw.githubusercontent.com/litespeedtech/lsws1clk/master/lsws1clk.sh )
مستندات رسمی این دستور را با curl -sk مینویسند؛ سوئیچ -k اعتبارسنجی گواهی TLS را خاموش میکند و چون خروجی مستقیم به bash با دسترسی root میرود، بهتر است مثل بالا با -fsSL اجرایش کنید تا گواهی واقعاً بررسی شود.
اگر میخواهید دستی و با کنترل کامل پیش بروید، بسته باینری را از صفحه دانلود لایتاسپید بردارید. شماره نسخه مرتب تغییر میکند، پس نام دقیق فایل را از صفحه دانلود بردارید و در هر سه خط زیر همان را بگذارید (در زمان نگارش، آخرین نسخه پایدار ۶.۳.۶ است):
cd /usr/local/src wget https://www.litespeedtech.com/packages/6.0/lsws-6.3.6-ent-x86_64-linux.tar.gz tar zxf lsws-6.3.6-ent-x86_64-linux.tar.gz cd lsws-6.3.6 echo "YOUR_SERIAL_NO" > serial.no ./install.sh
عمداً از الگوی lsws-* استفاده نکردیم؛ چون بعد از باز شدن آرشیو، هم فایل tar.gz و هم پوشه استخراجشده با lsws- شروع میشوند و cd lsws-* با خطای چند آرگومانی میخورد.
امروز فقط سه معماری بسته رسمی دارند: لینوکس ۶۴ بیتی x86 (با نام x86_64)، لینوکس ARM ۶۴ بیتی (با نام aarch64) و FreeBSD ۶۴ بیتی. بستههای ۳۲ بیتی، Mac OS X و Solaris که در آموزشهای قدیمی میبینید دیگر وجود ندارند و لینکهایشان مرده است.
هنگام اجرای install.sh برای user و group همان مقادیری را بدهید که آپاچی با آن کار میکرد تا بعداً درگیر مشکل دسترسی فایلها نشوید. نصبکننده پورت کنسول مدیریت را هم میپرسد و پیشفرضش ۷۰۸۰ است. PHP هم جداگانه از مخزن رسمی بهشکل بستههای LSPHP نصب میشود.
نصب OpenLiteSpeed رایگان
برای نسخه متنباز، ابتدا مخزن رسمی را اضافه کنید:
wget -O - https://repo.litespeed.sh | sudo bash
سپس روی دبیان و اوبونتو:
sudo apt-get -y install openlitespeed sudo apt-get -y install lsphp84 lsphp84-common lsphp84-mysql
و روی AlmaLinux و Rocky Linux و سایر توزیعهای خانواده RHEL:
sudo dnf install -y openlitespeed sudo dnf install -y lsphp84 lsphp84-common lsphp84-mysqlnd
اگر در آموزشی yum روی CentOS 6 یا CentOS 7 دیدید، آن نسخهها به پایان پشتیبانی رسیدهاند؛ روی AlmaLinux و Rocky از dnf استفاده کنید. اسکریپت تکمرحلهای OpenLiteSpeed هم موجود است:
bash <( curl -fsSL https://raw.githubusercontent.com/litespeedtech/ols1clk/master/ols1clk.sh )
ورود به پنل مدیریت لایت اسپید روی پورت ۷۰۸۰
کنسول WebAdmin در هر دو محصول روی پورت ۷۰۸۰ سرو میشود، اما پروتکلش در این دو یکی نیست و همین جا بیشترین وقت آدم تلف میشود:
- OpenLiteSpeed — بستههای رسمی مخزن با
secure 1و یک گواهی self-signed داخلی میآیند، یعنی کنسول روی HTTPS بالا میآید:https://SERVER_IP:7080. هشدار گواهی مرورگر طبیعی است. - LiteSpeed Enterprise — لیسنر کنسول بهصورت پیشفرض
secure 0است و هیچ گواهیای همراه بسته نمیآید، یعنی کنسول روی HTTP بالا میآید:http://SERVER_IP:7080. خود نصبکننده هم موقع سؤال، عبارت «Admin HTTP port» را به کار میبرد و در پایان همین آدرسhttp://را چاپ میکند.
# OpenLiteSpeed https://SERVER_IP:7080 # LiteSpeed Enterprise (پیشفرض) http://SERVER_IP:7080
بهجای SERVER_IP آیپی سرور خودتان را بگذارید. اگر یکی جواب نداد قبل از اینکه نتیجه بگیرید سرویس بالا نیامده، حتماً آن یکی پروتکل را هم امتحان کنید. روی پلسک هم همانطور که گفتیم پورت معمولاً ۷۰۸۸ است.
چون کنسول Enterprise پیشفرض رمزنگارینشده است، رمز ادمین روی شبکه بهصورت متن ساده میرود. برای همین یا از داخل خود کنسول در بخش Interface Configuration برای لیسنر ادمین گواهی و حالت secure را فعال کنید، یا اصلاً همانطور که در بخش بعد میآید فقط از تونل SSH استفاده کنید.
تنظیم یا بازیابی رمز عبور ادمین
اگر رمز کنسول را گم کردهاید یا اصلاً تنظیم نشده، لازم نیست چیزی را دوباره نصب کنید. وارد ترمینال سرور شوید و این اسکریپت را اجرا کنید (مسیرش در Enterprise و OpenLiteSpeed یکی است):
/usr/local/lsws/admin/misc/admpass.sh
مراحل به همین ترتیب است:
- نام کاربری پرسیده میشود و پیشفرضش
adminاست؛ میتوانید فقط اینتر بزنید یا نام دیگری تایپ کنید. انتخاب نامی غیر ازadminیک لایه امنیتی رایگان است. - رمز عبور دلخواه را وارد کنید و اینتر بزنید. رمز حداقل ۶ کاراکتر باید باشد وگرنه اسکریپت قبولش نمیکند. رمز هنگام تایپ نمایش داده نمیشود.
- همان رمز را برای تأیید دوباره تایپ کنید و اینتر بزنید.
اسکریپت تنها کاری که میکند بازنویسی فایل /usr/local/lsws/admin/conf/htpasswd است، پس عملیات کمریسکی است و به پیکربندی سایتها دست نمیزند. حالا با همان نام کاربری و رمزی که ساختید میتوانید وارد کنسول شوید. اگر دسترسی root ندارید با sudo اجرایش کنید.
پورت ۷۰۸۰ را برای همه باز نگذارید
این مهمترین نکته امنیتی این آموزش است. کنسول WebAdmin دسترسی کامل به پیکربندی وبسرور میدهد و باز گذاشتنش روی اینترنت، آن هم با کاربر قابلحدس admin و در Enterprise روی HTTP بدون رمزنگاری، یعنی دعوت مستقیم از حملات brute-force. بهترین کار این است که پورت ۷۰۸۰ اصلاً از بیرون قابل دسترس نباشد و از تونل SSH استفاده کنید:
ssh -L 7080:127.0.0.1:7080 root@SERVER_IP
تا وقتی این نشست SSH باز است، در مرورگر خودتان به http://127.0.0.1:7080 (یا در OpenLiteSpeed https://127.0.0.1:7080) بروید. اگر ناچارید پورت را باز کنید، فقط برای IP خودتان باز کنید:
# firewalld روی AlmaLinux و Rocky firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="203.0.113.10/32" port port="7080" protocol="tcp" accept' firewall-cmd --reload # ufw روی اوبونتو و دبیان ufw allow from 203.0.113.10 to any port 7080 proto tcp
بهجای 203.0.113.10 حتماً IP واقعی خودتان را بگذارید. اگر IP اینترنت شما ثابت نیست، این قانون فردا به دردتان نمیخورد و مجبور میشوید دوباره از راه SSH واردش شوید — پس روش تونل SSH را ترجیح دهید. ضمناً اگر تازه دارید فایروال را روی سروری فعال میکنید، قبل از هر چیز مطمئن شوید قانون مربوط به پورت SSH وجود دارد؛ وگرنه با یک ufw enable خودتان را از سرور بیرون میاندازید. و در هر حال رمز تصادفی نصبکننده را با یک رمز قوی جایگزین کنید.
مدیریت سرویس و لایسنس بعد از نصب
در آموزشهای قدیمی دستورهایی مثل service lsws restart یا /etc/init.d/lsws restart میبینید. روی توزیعهای امروزی که systemd دارند، شکل درست این است:
systemctl restart lsws systemctl status lsws systemctl enable lsws
روی دایرکتادمین نام یونیت ممکن است litespeed باشد؛ اگر lsws شناخته نشد آن را امتحان کنید. اسکریپت کنترلی خود لایتاسپید هم مستقل از systemd در دسترس است:
/usr/local/lsws/bin/lswsctrl restart /usr/local/lsws/bin/lswsctrl status /usr/local/lsws/bin/lswsctrl help
نکته مهم: در لایتاسپید دستور restart یک ریاستارت graceful و بدون قطعی است و اتصالهای باز را نمیبندد. اگر بهجایش stop و بعد start بزنید همین مزیت را از دست میدهید و چند ثانیه قطعی واقعی خواهید داشت. اگر واقعاً به توقف کامل و راهاندازی دوباره نیاز دارید، برای همین کار lswsctrl fullrestart وجود دارد.
برای تعویض لایسنس ترایال با سریال خریداریشده هم:
cd /usr/local/lsws/conf mv serial.no serial.no.old mv license.key license.key.old echo "YOUR_SERIAL_NO" > serial.no /usr/local/lsws/bin/lshttpd -r
دستور lshttpd -r سریال را به سرور لایسنس میفرستد و فایل license.key تازه را میسازد. قبل از ریاستارت حتماً نتیجه را بررسی کنید؛ چون اگر درخواست لایسنس ناموفق باشد و شما سرویس را ریاستارت کنید، وبسرور بدون لایسنس معتبر بالا نمیآید و سایتها از دسترس خارج میشوند:
/usr/local/lsws/bin/lshttpd -V
اگر خروجی این دستور نسخه و لایسنس را درست نشان داد، آنوقت ریاستارت کنید. در غیر این صورت فایلهای serial.no.old و license.key.old را به نام قبلی برگردانید تا سرویس با لایسنس قبلی سر پا بماند:
systemctl restart lsws
جمعبندی
خلاصه مسیر درست: نسخه را انتخاب کنید (Enterprise با لایسنس یا OpenLiteSpeed رایگان)، بکاپ بگیرید، با اسکریپت get.litespeed.sh و کلمه TRIAL نصب کنید، اول روی Port offset تست کنید و بعد سوئیچ بزنید، با admpass.sh رمز ادمین را بسازید و از طریق تونل SSH یا با محدودیت IP وارد کنسول روی پورت ۷۰۸۰ شوید — با http:// در Enterprise و https:// در OpenLiteSpeed. هر آموزشی که هنوز از lsws-4.2.6، بستههای ۳۲ بیتی یا لینکهای دانلود http://www.litespeedtech.com/packages/4.0/ حرف میزند، مربوط به یک دهه پیش است و دنبال کردنش فقط وقت شما را میگیرد.