فهرست محتوا
وقتی صحبت از راهاندازی یک سایت اینترنتی برای کسبوکار آنلاین، ایجاد یک پایگاه علمی و یا خبری، سرگرمی و هر مورد دیگری به میان میآید، این کار میتواند با خرید یک هاست خوب مانند هاست وردپرس و یا یک سرور مجازی قوی به بهترین شکل ممکن به انجام برسد. اما چه چیزی در پس این ماجرا قرار دارد. وبسرورهای مختلفی هستند که در این هاستها انجاموظیفه میکنند که از تنوع بالایی برخوردارند اما یکی از آنها همواره بخاطر قابلیتهایی مانند انعطافپذیری بالا و سرعت خوبی که ارائه داده است بهترین تلقی شده است. لایت اسپید وبسرور مورد بحث ما است و قرار است تا با هم به بررسی تنظیمات عمومی لایت اسپید بپردازیم.
یادگیری کار با این تنظیمات، و دستورالعملهای ارائهشده در این مقاله میتواند برای هر کسی که یک هاست وردپرس و یا سرور مجازی دارد که از لایت اسپید استفاده میکند مفید باشد و نیاز آن را برطرف کند.
تنظیمات عمومی لایت اسپید
در این مقاله هدف آشنایی با تنظیمات عمومی لایت اسپید است که در این بخش پارامترهای مربوط به General Server لایت اسپید توضیح داده میشود. تنظیمات عمومی لایت اسپید برای کل سرور در نظر گرفته میشود. در هر کدام از پارامترها که مسیر یا اطلاعات path موردنیاز بود، این مسیر میتواند بهصورت کامل یا نسبت به $SERVER_ROOT باشد. $SERVER_ROOT نیز مسیر مکانی است که وبسرور لایت اسپید نصب شده است و از آنجا اجرا میشود. بهعنوان مثال میتوان /opt/lsws را نام برد.
برای دسترسی به تنظیمات عمومی لایت اسپید در صفحهی اولیه پنل ادمین روی Configuration کلیک نمائید سپس وارد سربرگ General شوید. برای این کار طبق مراحل زیر انجام دهید:
در تنظیمات عمومی لایت اسپید پارامترهایی که در سربرگ General Server لایت اسپید تنظیم میشوند و ما در ادامه آنها را توضیح خواهیم داد به هفت دسته کلی تقسیم میشوند:
- پردازش سرور (Server Process)
- تنظیمات عمومی (General Settings)
- فایلهای ایندکس (Index Files)
- تنظیمات انقضاها (Expires Settings)
- موقعیت دیتابیس آیپی (IP2Location DB)
- استفاده از فایل پیکربندی آپاچی (Using Apache Configuration File)
- پیکربندی استایل آپاچی (Apache Style Configuration)
لازم به ذکر است برای تغییر هر پارامتر روی دکمه Edit در روبهروی دستهبندی کلیک نمائید.
پارامترهای Server Process
اولین بخش از تنظیمات عمومی لایت اسپید مربوط به پروسسهای سرور است.
Server Name: یک نام یکتا برای سرور است که $HOSTNAME نیز میتواند بهعنوان مقدار استفاده شود.
Number of Processes: این پارامتر از نوع Integer است و فقط برای لایسنس Web Host Elite در دسترس است. تعداد lshttpd workers را مشخص میکند. اگر مقدار صفر برای این پارامتر قرار گیرد، بهصورت اتوماتیک تنظیم میشود. نکته مهم در تنظیمات عمومی لایت اسپید مربوط به این پارامتر این است که باید آن را بر اساس نیازتان تنظیم نمائید. مقدار بیشتر به معنای عملکرد بهتر نیست.
Running As: مشخصکننده یوزرها یا گروههایی است پروسسهای سرور را اجرا میکنند. این پارامتر در طول نصب مشخص میشود. در صورتی به تغییر این پارامتر نیاز دارید باید پکیج نصبی را دانلود و از طریق ترمینال (Command Line) آپگرید کنید. در واقع نصب مجدد نیاز است.
Priority: این پارامتر از نوع Integer است و اولویت پردزاشهای سرور را مشخص میکند. مقدار این پارامتر میتواند بین 20 تا 20- باشد و عدد کمتر به معنای اولویت بیشتر است. معمولاً اولویت بالاتر برای وبسرور موجب بهبود اندکی در عملکرد آن مخصوصاً در سرورهای پربار میشود اما دقت داشته باشید در تنظیمات عمومی لایت اسپید، اولویت وبسرور را از پردازشهای دیتابیس بیشتر قرار ندهید.
CPU Affinity: کلمه affinity در لغت به معنای وابستگی و پیوستگی است و در اینجا منظور از CPU affinity این است ک یک پردازش به یک هسته CPU یا بیشتر ملزم میشود. این کار برای یک پروسه پرمنفعت است زیرا آن پروسه همیشه از CPU یکسانی استفاده میکند و در نتیجه میتواند از دادههایی که در کَش CPU هستند نیز استفاده کند. مسلماً اگر پردازش به CPU متفاوتی جابهجا شود نمیتواند از کَش CPU استفاده کند که این مورد سربار پردازشی را بالا میبرد.
در واقع CPU affinity وابستگی بین CPU و Process را نشان میدهد که چگونه یک یا چند هسته CPU به یک پروسس تخصیص داده شود. کمترین مقدار این پارامتر صفر است که این ویژگی را غیرفعال میکند. ماکسیمم مقدار این پارامتر برابر با تعداد کل هستههای سرور است. بهطورکلی بهترین مقدار برای پارامتر 1 است زیرا سختگیرانهترین حالت برای CPU affinity است و بیشترین استفاده از کَش CPU را دارد. در تنظیمات عمومی لایت اسپید این پارامتر از نوع Integer است و مقادیر بین صفر تا 64 را قبول میکند.
Chroot Path: این پارامتر فقط در Enterprise Edition موجود و قابل تنظیم است و مشخصکننده دایرکتوری است که پارامترهای chroot در آن تعریف میشوند. البته فقط یوزر root میتواند سرور را در حالت chroot اجرا کند که آن هم نیاز به فعالسازی chroot در پارامتر Enable chroot دارد (در ادامه توضیح داده میشود). با اجرای برنامه installer مقدار chroot environment اولیه بهصورت اتوماتیک تعریف میشود و به همین خاطر بعد از اتمام نصب این پارامتر را فقط میتوان خواند و امکان تغییر آن نیست. اگر تمایل به تغییر آن دارید نیاز است که مجدداً installer در ترمینال اجرا شود.
مفهوم chroot در تنظیمات عمومی لایت اسپید چیست؟ واژه chroot مخفف Change Root است و در مسیرهای دسترسی کاربر به منابع سیستم تغییراتی ایجاد میکند. این واژه در لینوکس معمولاً بهصورت Chroot Jail شناخته میشود و مفهوم کلی آن ایزوله و محدود کردن سرویس برای دسترسی به سایر منابع است. ایزوله شدن به این مفهوم است که با اجرا شدن یک پروسه یا سرویس در حالت Chroot اگر آن سرویس دچار حملههای امنیتی مانند هک شود صرفا همان سرویس دچار اختلال میشود و برای سایر قسمتها مشکلی پیش نمیآید.
این ویژگی امنیتی برای سرویسهایی قابل اجرا است که برای اجرا شدن نیاز به دسترسی به منابع کاربر root در سیستم ندارند. در chroot environment سرور و پروسههایش نمیتوانند به فایلهای سیستمی در خارج از chroot jail دسترسی داشته باشند. chroot یک ویژگی امنیتی پیشرفته است و برای اینکه بهدرستی کار کند به مدیریت نیاز دارد
Enable chroot: این پارامتر نیز فقط در Enterprise Edition موجود و قابل تنظیم است و مشخص میکند که سرور در chroot mode استارت شود. دایرکتوری جدید root در پارامتر Chroot Path که در بالا توضیح داده شد، مشخص میشود. این پارامتر بهصورت radio box است.
Cloud-Linux: این پارامتر قابلیت کلود لینوکس LVE (مخفف Lightweight Virtual Environment) را در صورت وجود فعال میکند. از این ویژگی برای مدیریت بهتر منابع استفاده میشود.
Cloud Linux در تنظیمات عمومی لایت اسپید چیست؟ Cloud Linux که در فارسی معمولاً کلودلینوکس یا کلاودلینوکس گفته میشود یک سیستم عامل توسعه یافته برپایهی توزیع لینوکسی Centos است که باعث بالا رفتن امنیت یوزرها میشود زیرا از مکانیزمهای ایزوله کردن اکانتها و تخصیص مقدار مشخصی از منابع به هر اکانت استفاده میکند. همچنین قابلیتهایی مانند php selector برای انتخاب ورژن php مدنظر با یک کلیک، استفاده از ابزارهای Ruby Selector و Python Selector، ابزار کنترلی MySQL Governor و مصرف کم حافظه موقت ارائه میدهد. برای آشنایی بیشتر با این قابلیت این لینک را بررسی نمایید. این پارامتر بهصورت انتخاب از یک لیست کشویی است.
Max I/O Buffer Size: این پارامتر از نوع Integer است و مشخصکننده بیشترین سایز بافر است که برای ذخیرهسازی یک درخواست و پاسخهایش استفاده میشود. وقتی این مقدار پر میشود سرور شروع به ایجاد فایلهای swapping موقت میکند که مسیر آنها در Swapping Directory مشخص شده است. Swapping Directory در ادامه توضیح داده میشود.
Swapping Directory: این پارامتر دایرکتوری در تنظیمات عمومی لایت اسپید که فایلهای swapping در آن قرار میگیرند را مشخص میکند. اگر سرور در chroot mode شروع به کار کند آدرس این دایرکتوری بهصورت نسبی و نسبت به دایرکتوری root جدید مشخص میشود اما در حالت عادی نسبت به دایرکتوری root اصلی آدرسدهی میشود.
سرور از مموری مجازی برای کاهش مصرف مموری استفاده میکند. مموری مجازی و disk swapping برای ذخیره درخواستهایی که سایز body آنها بزرگ است و همچنین پاسخهایی که بهصورت داینامیک ایجاد و استفاده میشوند. swapping directory باید روی دیسکهایی که به اندازه کافی فضا دارند تعریف شود.
مسیر پیشفرض این پارامتر /tmp/lshttpd/swap است.
بهتر است در تنظیمات عمومی لایت اسپید swapping directory روی یک دیسک مجزا تعریف شود یا مقدار Max I/O Buffer Size (در بالا توضیح داده شد) بزرگ تعریف شود تا swapping حذف شود.
Auto Fix 503 Error: این پارامتر معین میکند آیا برای رفع خطای 503 Service Unavailable سرور بهصورت gracefully ریستارت شود یا نه؟ خطای 503 معمولاً توسط عدم عملکرد صحیح اپلیکیشنهای خارجی ایجاد میشود و اغلب ریستارت سرور میتواند آن را بهصورت موقت مرتفع نماید. اگر این پارامتر فعال باشد و سرور در بازه 30 ثانیهای 30 خطای 503 دریافت کند ریستارت میشود و بهصورت پیشفرض نیز فعال است.
Graceful reset چیست؟ gracefull مانند ریبوت نرمافزاری سرور است که آلارم میدهد و بعد از گذشت چند ثانیه سرور ریبوت میشود اما حالت مقابل آن forcefull است که مانند این است که دکمه reset سختافزاری کامپیوتر را فشار دهید که سرور سریعاً ریستارت میشود.
Enable HTTP/2 Over Cleartext TCP: این پارامتر بهصورت پیشفرض غیرفعال است و در صورت فعال شدن از HTTP/2 برای اتصالات TCP که encrypted نیستند هم استفاده میکند.
Graceful Restart Timeout (secs): زمانی که سرور بهصورت gracefull ریستارت میشود، ناگهانی فعالیت تمام اپلیکیشنها و یوزرها را استاپ نمیکند بلکه بازهای صبر میکند و به آنها اطلاع میدهد که سرور تا چند ثانیه دیگر ریستارت میشود و این پارامتر این مدت زمان را مشخص میکند که اصطلاحاً چه مدت زمانی سرور ریستارت میشود.
مقدار پیشفرض 300 ثانیه است و 1- به معنای صبر کردن به مقدار بینهایت است صفر نیز باعث میشود سرور بدون صبر کردن سریع ریستارت شود. این پارامتر از نوع int است.
پارامترهای General Setting
MIME Settings: این پارامتر تنظیمات عمومی لایت اسپید مشخصکننده فایلی است که حاوی تنظیمات MIME است. اگر روی نام فایل کلیک نمایید میتوانید جزئیات MIMEها را ببینید یا ویرایش کنید.
مفاهیم MIME و MIME Type در تنظیمات عمومی لایت اسپید چه هستند؟ واژه MIME مخفف Multipurpose Internet Mail Extensions است و یک استاندارد برای انواع فایلها است و MIME Type نوع MIME را مشخص میکند. مرورگر از MIME typeها برای نحوه پردازش یک URL استفاده میکند. وبسرور هنگام پاسخ به یک درخواست در هدر آن پاسخ MIME type را مشخص میکند بنابراین تشخیص MIME type صحیح اهمیت بالایی دارد.
Filename میتواند بهصورت absolute باشد یا نسبی نسبت به $SERVER_ROOT.
Suffixes: میتوانید با این پارامتر چندین نوع پسوند برای MIMEهای مشابه تعریف نمائید و برای جداسازی از کاما استفاده نمائید.
MIME Type: یک MIME type یک نوع داده خاص و زیرداده است و در فرمت «type/subtype» تعریف میشود.
یک MIME type ساده سامل دو قسمت است: type و subtype که با یک اسلش (/) جدا میشوند و فضای سفید نباید باشد. type مشخصکننده دستهبندی اصلی است مثلاً video یا text و subtype فرمت دقیق آن داده را مشخص میکند مثلاً برای text فرمتهایی مثلا plain و HTML درنظر گرفته میشوند.
Disable Initial Log Rotation: این پارامتر مفهوم log rotation را هنگام شروع اولیه سرور غیرفعال میکند. بهصورت پیشفرض هنگام نصب log rotation فعال میشود. سرورهایی که از Cpanel استفاده میکنند، لاگها همیشه در error log آپاچی ثبت میشوند و این تنظیمات بر آنها اعمال نمیشود.
Log Rotation چیست؟ logrotate سرویسی لینوکسی است که روزانه یکبار جهت آرشیو کردن لاگها یا حذف آنها اجرا میشود. logrotate از ایجاد و نگهداری فایلهای لاگ با حجم زیاد و قدیمی جلوگیری میکند. این پارامتر بهصورت انتخاب از دکمههای رادیویی است.
Server Signature: این پارامتر مشخص میکند که اگر در هدر یک درخواست، مقدار «Server» وجود داشت در پاسخ به آن server signature و ورژن آن نمایش داده شود یا خیر. این پارامتر 3 حالت دارد: اولین حالت Hide Version است که فقط LiteSpeed را نشان میدهد و ورژن مخفی میشود. حالت بعدی Show Version است که هم LiteSpeed هم ورژن آن را نمایش میدهد و حالت سوم هم Hide Full Header است که کل هدر سرور را پنهان میکند و نمایش نمیدهد اما Hide Full Header فقط در نسخه Enterprise لایت اسپید ارائه میشود.
این پارامتر بهصورت انتخاب از لیست کشویی است و شما در تنظیمات عمومی لایت اسپید این امکان را خواهید داشت که در تمام ورژنها آن را روی Hide Version سِت نمائید تا ورژن را نمایش ندهد.
Hide Error Page Signature: این پارامتر بهصورت انتخاب دکمه رادیویی است و مشخصی میکند که آیا دو خط زیر را در صفحهای که بهعنوان پیشفرض برای ارور است نمایش داده شود یا خیر؟
Powered By LiteSpeed
و
LiteSpeed Technologies is not responsible for administration and contents of this web site!”
Enable GeoLocation Lookup: این پارامتر فقط در Enterprise Edition ارائه میشود که با آن میتوان بررسی موقعیت جغرافیایی IP را فعال یا غیرفعال نمود. که در سه سطح Server و virtual host یا context میتوان آن را تنظیم کرد. بهصورت پیشفرض نیز غیرفعال و روی Not Set است.
Use Client IP in Header: نگهداری آدرس IP معتبر Valid که تعداد دفعات بیشتری در هدر درخواستهای HTTP برای «X-Forwarded-For» قرار گرفته است. این نگهداری به منظور استفاده برای تمام مشخصههایی که به آدرس IP وابسته هستند مثل موقعیت جغرافیایی IP، کنترل دسترسی و پهنای باند انجام میشود.
X-Forwarded-For چیست؟ یک فیلد در هدر HTTP است و بهصورت مخفف XFF نوشته میشود. XFF یک متد رایج برای شناسایی IP اصلی درخواستهای کلاینت است که در حال استفاده از HTTP Proxy یا Load Balancer است. (در واقع بهجای IP پروکسی IP اصلی درخواست را نمایش میدهد)
اگر سرور پشت load balancer یا proxy server قرار دارد این ویژگی میتواند مفید باشد. این پارامتر بهصورت انتخاب از یک لیست کشویی سه تایی با حالتهای زیر است:
اگر حالت Trusted IP Only انتخاب شود X-Forwarded-For IP برای اتصالات ورودی از IPهایی که در Allowed List سطح سرور تعریف شدهاند استفاده میشود. Allowed List پارامتری است که در تب Security تنظیم میشود.
حالت Keep Header from Trusted IP مانند Trusted IP Only است اما Use Last IP (for AWS ELB) نیز از آخرین IP در لیست «X-Forwarded-For» استفاده میکند. اگر از متعادلکننده بار AWS Elastic استفاده میکنید یا قصد دارید که IP واقعی به انتهای لیست «X-Forwarded-For» اضافه شود استفاده کنید.
External Application Abort: اگر یک کلاینت ارتباطش را با سرور قطع کند، لایت اسپید میتواند تمامی اپلیکیشنهای خارجی که برای این کلاینت پاسخ ارسال میکنند را بهصورت اتوماتیک ببندد. برای این پارامتر سه حالت زیر موجود است:
No Abort که در هیچ شرایطی external applicationهای یک اتصال قطع شده، بسته نمیشوند.
Enable Abort for Requests from External IPs که فقط پروسسهایی که با External IPها مرتبط هستند بسته میشوند و بهصورت پیشفرض این پارامتر روی این حالت تنظیم است.
اگر پروسسهای داخلی (internal) با زمان اجرای طولانی دارید مانند کرون جابها، این حالت بسیار مناسب است.
Enable Abort for All Requests که بدون در نظر گرفتن منبع یک درخواست در صورت قطع شدن هر نوع کانکشنی external application مربوط به آن بسته میشود.
Check For Update: این پارامتر مشخص میکند چندمدت یکبار آپدیتهای موجود برای محصولات جدید بررسی شود، این پارامتر در حالتهای Daily یا روزانه، Weekly یا هفتگی، Monthly یا ماهانه و Disable یا غیرفعال که کلاً چک نمیکند تنظیم میشود.
Download Updates: این پارامتر مشخصصکننده این است که اگر یک پکیج جدید از محصول موجود است بهصورت اتوماتیک دانلود شود یا نه. اگر این آپدیت دانلود شود در کنسول ادمین در بخش Service Manager بهصورت آنلاین و با یک کلیک آپگرید انجام میشود. این پارامتر نیز بهصورت انتخاب از یک لیست کشویی است
Administrator Email: آدرس ایمیل Administrator در این قسمت مشخص میشود. اگر ایمیل معتبری در این قسمت ثبت شود اطلاعیه مربوط به وقایع مهم به آن ایمیل ارسال میشود مثلاً اگر یک کرش اتفاق بیفتد یا لایسنس لایت اسپید منقضی شود، وبسرور لایت اسپید بهصورت اتوماتیک ریاستارت میشود که بهعنوان یک اطلاعیه برای administrator ایمیل میشود.
اگر سرور یک سرور MX فعال داشته باشد مثل postfix ،exim یا sendmail لایت اسپید نمیتواند این ایمیلهای اطلاعرسانی را ارسال کند.
پارامترهای بخش Index Files
سومین بخش از تنظیمات عمومی لایت اسپید مربوط به فایلهای index است.
Index Files: فایل Index یک یا چند فایل است که به ترتیبی که تعریف میشوند بهعنوان فایل اشارهگر اصلی برای نمایش وبسایت درنظر گرفته میشوند. برای معرفی این فایلها به وبسرور لایت اسپید میتوانید آنها را در این پارامتر مشخص نمایید. البته این پارامتر قابلیت سفارشیسازی در سطح سرور، virtual host و context را نیز دارد.
در تنظیمات عمومی لایت اسپید فقط فایلهای Index که واقعاً نیاز دارید را وارد نمائید. نام فایلها بهصورت کاما از یکدیگر جدا میشوند.
Auto Index: اگر در دایرکتوری مشخص شده برای لود وبسایت هیچ فایل Indexی که در پارامتر قبل مشخص شده وجود نداشته باشد یک دایرکتوری index ایجاد شود یا خیر؟ این ویژگی قابل سفارشیسازی در سطح virtual host و context است. همچنین میتوان فایل index ایجاد شده را سفارشیسازی کنید. قویاً توصیه میشود برای جلوگیری از افشای اطلاعات محرمانه این ویژگی خاموش باشد.
Auto Index URI: این پارامتر مشخصکننده URIی است که برای تولید index در زمانی که index fileهای مشخص شده در پارامتر index files در دایرکتوری موجود نیست، استفاده میشود. لایت اسپید برای تولید index از اسکریپتهایی استفاده میکند که page که ایجاد شده قابلیت سفارشیسازی بالایی داشته باشد.
HT Access: دستورالعملهای زیر در فایل کنترل دسترسی در سطح دایرکتوری ساپورت میشوند. (منظور همان فایل htaccess. است)
دستورات مربوط به Authentication:
- AuthGroupFile
- AuthName
- AuthType
- AuthUserFile
- AuthUserFile
- Require
- Satisfy
- Limit (GET, HEAD, POST only)
- LimitExcept (GET, HEAD, POST only)
دستورات مربوط به Access Control
- Allow
- Deny
- Order
- Limit (GET, HEAD, POST only)
- LimitExcept (GET, HEAD, POST only)
دستورات مربوط به File Info
- AddDefaultCharset
- AddType
- DefaultType
- ForceType
- Redirect
- RedirectPermanent
- RedirectTemp
- RewriteBase
- RewriteCond
- RewriteEngine
- RewriteOptions
- RewriteRule
سایر دستورات:
- DirectoryIndex
- ExpiresActive
- ExpiresByType
- ExpiresDefault
- Options
Allow Override: این پارامتر مشخصکننده دستورالعملهای مجاز در فایل کنترل دسترسی است. یک فایل access control یا همان کنترل دسترسی میتواند در یک دایرکتوری به منظور کنترل میزان دسترسیپذیری فایلهای آن دایرکتوری قرار بگیرد.
در تنظیمات عمومی لایت اسپید اگر حالت nothing تیک خورده باشد از تنظیمات پیشفرض استفاده و در واقع ارثبری میکند. در حالت None نیز فایلهای access control نادیده گرفته میشوند. اگر حالت Limit انتخاب شود، دستورالعملهای “Allow”, “Deny” و”Order” مجاز هستند.
در وضعیت Auth دستورات “AuthGroupFile”, “AuthName”, “AuthType”, “AuthUserFile”, “Require” و”Satisfy” مجاز هستند.
اگر FileInfo انتخاب شود، AddDefaultCharset”, “AddType”, “DefaultType”, “ForceType”, “Redirect”, “RedirectPermanent”, “RedirectTemp”, “RewriteBase”, “RewriteCond”, “RewriteEngine”, “RewriteOptions” و”RewriteRule” مجاز هستند.
در حالت Indexes نیز دستورات “DirectoryIndex”, “ExpiresActive”, “ExpiresByType” و “ExpiresDefault” مجاز هستند.
و در Options نیز دستور “Options” مجاز است.
تنظیمات Allow Override در سطح سرور، Virtual Host و Context قابل انجام است اما اگر یک پیکربندی در سطح سرور فعال نشده باشد (تیک نخورده باشد) در سطحهای پایینتر نیز قابل تنظیم نیست اما سطوح پایینتر میتوانند آنچه در سطح بالاترشان فعال شده است را در سطح خودشان غیرفعال کنند.
مقدار پیشفرض برای Server level در وضعیت “None” است که فایل access control را نادیده میگیرد، سطح Virtual Host از تنظیمات سطح سرور ارث میبرد و سطح Context از تنظیمات Virtual Host ارث میبرد.
نکته: نیازی به اعمال تنظیمات برای سطح دایرکتوری نیست و گزینه “None” را تیک بزنید.
Access File Name: نام فایلهای access control را مشخص میکند. توجه داشته باشید دستورالعملهای این فایلها در صورتی اعمال میشوند که Allow Override فعال باشد. نام پیشفرض نیز htaccess. است. این پارامتر قابل پیکربندی در سطح سرور و Virtual Host Virtual Host است.
پارامترهای بخش Expires Settings
Enable Expires: اگر این پارامتر فعال باشد برای فایلهای استاتیک، هِدرهایی تولید میشود که منقضی میشوند. این نوع هدرها بر اساس دو پارامتر بعدی Expires Default و Expires By Type ایجاد میشوند. این پارامتر نیز در سه سطح سرور، Virtual Host و Context ایجاد میشود و تنظیمات سطح پایینتر روی تنظیمات سطح بالاتر بازنویسی میشود ( ترتیب سطوح: Server level بیشترین و Context کمترین)
Expires Default: مقدار این پارامتر بهعنوان تنظیمات پیشفرض برای هدرهایی که منقضی میشوند، در نظر گرفته میشوند البته اول باید پارامتر Enable Expires فعال باشد. همچنین تنظیمات این پارامتر را میتوان با استفاده از پارامتر Expires By Type بازنویسی کرد.
در تنظیمات عمومی لایت اسپید اگر مجبور نیستید این پارامتر را در سطح Server و Virtual Host تنظیم نکنید زیرا برای همه صفحهها (pageها) هدرهای منقضیشونده، ایجاد میکند. بهصورت کلی بهتر است در سطح Context و برای یک دایرکتوری خاص تعریف شود. اگر تنظیمات پیشفرضی مشخص نشده باشد، برای آن نوع دادهای که در پارامتر Expires By Type نباشد این نوع هدر ایجاد نمیشود. ورودی Expires Default بهصورت A|Mseconds است و فایل بعد از گذشت این زمان منقضی میشود. A زمان پایه است که بهعنوان زمان دسترسی کلاینت تنظیم میشود و M هم بهعنوان زمان آخرین دستکاری فایل درنظر گرفته میشود.
Expires By Type: تنظیمات مربوط به انواع منحصربهفرد MIMEها برای تولید هدر منقضیشونده در این قسمت مشخص میشود.
MaxMind GeoIP DB: انواع مختلف دیتابیسهای MaxMind geolocation در این قسمت مشخص میشود. MaxMindها انواع دیتابیسهای زیر را دارند:
- Country
- Region
- City
- Organization
- ISP
- Netspeed
اگر دیتابیسهای از نوع Country ،Region و City پیکربندی شوند، آخرین تنظیمات برای آنها در نظر گرفته میشود.
اما در تنظیمات عمومی لایت اسپید MaxMind geolocation databases چه کاربردی دارند؟ دیتابیسهای MaxMind geolocation برای نگهداری موقعیت و اطلاعات اینترنت یوزر استفاده میشوند. این دیتابیسها در اپلیکیشنهای مختلفی کاربرد دارند مانند فایروالها، آنالیز ترافیک و…
DB File Path مسیر دیتابیسهای MaxMind GeoIP را مشخص میکند. بهعنوانمثال:
/usr/local/share/GeoIP/GeoLite2-Country.mmdb
DB Name: نام دیتابیسهای MaxMind GeoIP را مشخص میکند. این تنظیمات بهعنوان GeoIP2 موردنیاز است.
Environment Variables: نتیجه جستجوی دیتابیسها به متغیرهای محیطی اختصاص میدهد. ورودی این پارامتر از دو قسمت مقابل هم بهصورت زیر تشکیل میشود:
Variable_Name mapped_DB_data
در هر خط هم یکی نوشته میشود. بهعنوانمثال:
COUNTRY_CODE COUNTRY_DB/country/iso_code
REGION_CODE CITY_DB/subdivisions/0/iso_code
پارامترهای IP2Location DB
IP2Location DB File Path: ورودی این پارامتر بهصورت یک مسیر کامل یا نسبی نسبت به $SERVER_ROOT است و مقدار آن مکانی است که فایل دیتابیس معتبر در آنجا قرار میگیرد.
DB Cache Type: متدی که برای عملیات کَش کردن استفاده میشود.مقدار پیشفرض هم Memory است.
پارامترهای بخش Using Apache Configuration File
Load Apache Configuration: اگر این پارامتر فعال باشد، لایت اسپید فایل پیکربندی آپاچی را میخواند و از آن برای پیکربندی خودش استفاده میکند. اگر در بخشی از این تنظیمات اختلالی بین آپاچی و لایت اسپید وجود داشته باشد، تنظیمات پایه و اصلی لایت اسپید اولویت بالاتری دارد.
Auto Reload On Changes: این پارامتر مشخص میکند که چگونه تغییرات پیکربندی آپاچی اعمال شود. اگر به «Yes» تنظیم شده باشد، بعد از اعمال تغییرات در فایل پیکربندی آپاچی، لایت اسپید بهصورت graceful ریاستارت میشود. این روش یک مشکلی دارد و آن هم ریاستارت شدن چندین باره لایت اسپید در زمان اعمال تعداد تغییرات زیاد در پیکربندی آپاچی است. در ورژن 3.3.8 یک راهکاری برای این مشکل ارائه شد؛ استفاده از “Use Apache binary wrapper”.
در این حالت Apache httpd binary با اسکریپت wrapper جایگزین میشود. زمانیکه آپاچی درخواست start/stop/restart میدهد، این wrapper به LSWS میگوید تا عمل متناظر را انجام دهد. برای استفاده از این تنظیمات باید پارامتر Apache Binary Path تعریف شود (در ادامه توضیح داده میشود) . در نصب استاندارد LSWS پارامتر Auto Reload On Changes روی No قرار میگیرد اما برای سرورهای Cpanel روی «Use Apache binary wrapper» قرار دارد و برای سایر کنترل پنلها روی Yes قرار میگیرد.
Apache Binary Path: مسیر Apache binary را مشخص میکند. معمولاً در مسیر /usr/local/apache/bin/httpd یا /usr/local/apache2/bin/httpd قرار دارد. اگر پارمتر قبلی یعنی Auto Reload On Changes روی حالت Use Apache binary wrapper قرار گرفته باشد، این مشخصه باید تنظیم شده باشد.
Apache Configuration File: مسیر فایل پیکربندی آپاچی در این پارامتر مشخص میشود و معمولاً هم در /usr/local/apache/conf/httpd.conf یا /etc/httpd/conf/httpd.conf قرار دارد.
Apache Port Offset: عددی که در این پارامتر تنظیم میشود بهعنوان یک Offset به پورتهای TCP که در فایل پیکربندی آپاچی برای گوش کردن مشخص شدند اضافه میشود. در حالت تست، با فعال بودن این پارامتر وب سرور لایت اسپید میتواند در کنار آپاچی در حال اجرا باشد ولی روی پورت متفاوتی کار کند.
اگر این پارامتر روی 0 یا not set باشد، لایت اسپید از پورتهایی که در فایل پیکربندی آپاچی مشخص شده است، استفاده میکند. بنابراین در حالت تست این پارامتر را به مقداری غیر از صفر تنظیم کنید. لایت اسپید این Offset مشخص شده در این پارامتر را به پورتی که در فایل پیکربندی آپاچی مشخص شده اضافه میکند و عدد جدیدی که به دست میآید پورتی است که LSWS استفاده میکند. بعد از اینکه مطمئن شدید همه چیز درست کار میکند این پارامتر را صفر کنید و لایت اسپید را ریاستارت کنید.
Apache IP Offset: در این پارامتر نیز یک Offset به listening IP که در فایل پیکربندی آپاچی مشخص شده است، اضافه میکند. با این کار در حالت تست، لایت اسپید میتواند در کنار آپاچی در حال اجرا باشد. در تنظیمات عمومی لایت اسپید آدرس IP جدیدی که به دست میآید باید روی این سرور در دسترس باشد. این Offset باید از نوع integer باشد بنابراین اعداد منفی هم قابلقبول است. اگر این عدد 256 باشد عدد 1 به subnet کلاس C اضافه میشود. این پارامتر فقط با آدرس IPv4 کار میکند.
Apache Handled Content: منابعی را مشخص میکند که توسط آپاچی به قسمت backend منتقل و پردازش میشوند. این ویژگی نیاز دارد که آپاچی بتواند روی یک IP یا پورت دیگر در کنار لایت اسپید اجرا باشد پس «Apache Port Offset» یا «Apache IP Offset» باید به عددی غیرصفر تنظیم شده باشند.
منابعی که در اینجا مشخص میشوند بهصورت لیستی از URI، پسوند فایل یا regular expressions (عبارات با قاعده) که با کاما جدا میشوند، هستند. یک URI با “/” شروع میشود، پسوند با “.” و یک عبارت با قاعده بهصورت “exp:” شروع میشود. برای مثال “/svn/, .shtml” یعنی آپاچی یک درخواست URI که با “/svn/” شروع میشود یا به “.shtml” ختم میشود را پردازش میکند و برای عبارات با قاعده هم “exp:^/svn/, exp:\.shtml$” یک مثال است که دقیقاً منظورش جمله قبلی است که علامت “^” به معنای شروع شدن و علامت ” $ ” به معنای تمام شدن است.
Ignore Apache Modules: در این پارامتر لیستی از ماژولهای آپاچی مشخص میشود که لایت اسپید هنگام پردازش فایل پیکربندی آپاچی باید آنها را رد کند یا نادیده بگیرد. در واقع گویی لایت اسپید این نوع ماژولها را پشتیبانی نمیکند. که در این حالت دستوراتی که با تگهایی مثل <IfModule> یا <IfDefined> مطابقت دارند نادیده گرفته میشوند.
Just In Time Configuration: با فعال کردن این پارامتر، وبسرور نیازی ندارد از ابتدا تمام پیکربندیها را بارگذاری کند بلکه زمانی که برای virtual host درخواستی میرسد فایل پیکربندی آن vhost را اجرا میکند. این کار موجب ذخیره مموری و افزایش سرعت هنگام شروع به کار سرور میشود.
PHP suEXEC
PHP suEXEC Max Conn: مشخصکننده ماکسیمم تعداد پردازشهای همزمان PHP است که LSWS میتواند آنها را برای هر یوزر هنگام اجرای اسکریپتهای PHP در حالت suEXEC ایجاد کند. این پارامتر از نوع Integer است و مقدار پیشفرض آن 5 است.
در تنظیمات عمومی لایت اسپید این محدودیت برای هر یوزر برای هر پروسس lshttpd بهصورت مجزا درنظر گرفته میشود. اگر لایسنس لایت اسپید از نوع 2-CPU باشد این عدد دو برابر و اگر از نوع 4-CPU باشد 4 برابر میشود.
Enable FrontPage Extension: در این پارامتر مشخصی میشود که اکستنشن Microsoft Front Page Server فعال باشد یا خیر. اگر فعال شود LSWS این اکستنشن را در httpd.conf آپاچی بارگزاری میکند. بهصورت پیشفرض هم غیرفعال است.
اکستنشن Microsoft Front Page Server در تنظیمات عمومی لایت اسپید چیست؟ این نرمافزار توسط شرکت مایکروسافت ارائه میشود و بهعنوان ویرایشگر HTML و طراحی وب کاربرد دارد اما مایکروسافت در آوریل ۲۰۰۹ پشتیبانی خود را از این نرمافزار برداشت و امروزه طرفداران زیادی ندارد.
Apache Environment Variables: در فایل پیکربندی آپاچی، پارامتر ${ENVVAR} بهعنوان متغیرهای shell environment تنظیم شده است. در صورتی که پارامتر Apache Environment Variables تنظیم شود مقدار آن توسط LSWS برای ${ENVVAR} جایگزاری میشود و در غیر این صورت غیرفعال میشود.
پارامتر Apache Style Configuration
Apache Style Configuration: در این پارامتر دستوراتی نوشته میشود که ادمین سرور تمایل دارد در فایل پیکربندی اصلی لایت اسپید استفاده کند. بهعنوانمثال برای بازنویسی تنظیمات پیشفرض PHP (منظور تنظیمات php.ini است) سرور به 4 دستور نیاز دارد: «php_value» و «php_flag» و «php_admin_value» و «php_admin_flag». در تنظیمات عمومی لایت اسپید دستورات این پارامتر باید توسط لایت اسپید پشتیبانی شوند
نتیجهگیری
لایت اسپید را میتوان یکی از وبسرورهایی معرفی نمود که امکانات ایدهآلی را برای اعمال تنظیمات در اختیار کاربران خود قرار می دهد و از انعطافپذیری بالایی در این زمینه برخوردار است. در این مقاله دیدیم که تنظیمات عمومی لایت اسپید شامل چه عناصر و ماژولهایی میباشد و همینطور برای داشتن یک کارکرد ایدهآل از سیستم باید هر کدام از این موارد چه مقادیری داشته باشند و چه پیکربندی را بهتر است داشته باشیم. نکته مهم این است که شما باید در تنظیمات عمومی لایت اسپید به موارد امنیتی دقت ویژهای داشته باشید و از زیاد کردن بیش از اندازه مقادیر عددی مواردی که فکر میکنید کارایی سیستم را بالا خواهد برد اجتناب کنید زیرا ممکن است باعث تداخل در سایر موراد شود. سقفهای اعلام شده در این مقاله میتواند بهترین گزینه در این زمینه باشد.