http://technotux.com/html/index.php?module=htmlpages&func=display&pid=58
Welcome to TECHNOTUX      
   ورود/ایجاد حساب کاربری یكشنبه، ۰۳ آذر ۱۳۸۷   
   منوی اصلی
· خانه
   تازه واردان و تازه‌کارها
· تازه واردان و تازه‌کارها بخوانند
· قوانین انجمن‌ها
   درباره ما
· هدف ما چیست؟
   تهیه توزیع‌های لینوکس
· فروشگاه لینوکس شاپ
· فروشگاه Sito.ir
   امکانات
· ارسال خبر
· آمارها
· اخبار
· مقالات آموزشی
· انجمنها (سوال کنید!)
· جستجو در سایت
· جستجو در انجمن‌ها
· لیست برگزیده
· کانال IRC
   جستجو
Google
   اخبار لینوکس از Slashdot
   مرورگر مقالات سایت

   آیا میدانید؟

برای دیدن لیستی از محتویات یک دایرکتوری مرتب شده به اندازه فایل‌ها، از دستور ls به شکل زیر استفاده نمایید:

$ ls -lSrh

-- نکته‌های خط فرمان
   کاربران حاضر
مدیر
هیچیک از مدیران حاضر نیست
مدیر خبر
هیچ مدیر کمکی حاضر
مدیر انجمن
هیچ مدیر کمکی حاضر
اعضا:
جدیدترین:جدید امروز:0
جدیدترین:جدید دیروز:1
جدیدترین:مجموع:7170
جدیدترین:جدیدترین:
This_is_ALireza
اعضا:حاضر
اعضا:اعضا:0
مهمان‌ها:مهمان‌ها:75
مجموع:مجموع:75
کاربران حاضر
هیچ کاربر حاضری وجود ندارد
   ورود کاربران




 


 برای ورود مشکل دارید؟
 ثبت نام کاربران جدید
   سایت‌های پیشنهادی
· آموزش فارسی GTK
· آموزش پایتون
· پرسیسم CMS
· گنو/دانلود
· مستندات فارسی برای nix*
· گروه کاربران لینوکس تهران
· پارسیکس گنو/لینوکس
· طرح ملی نرم‌افزارهای متن‌باز
· نشریه الکترونیک لینوکس
· گنو ایران.ارگ
· واژه‌نامه xFarDic
   آخرین بسته‌ها
   RSSهای تکنوتاکس

اخبار و اعلامیه‌ها


آخرین پست‌های انجمن‌ها

نصب و پیکربندی سرویس‌دهنده وب آپاچی بخش ۲

(1233 مجموع کلمات موجود در متن)
(6315 بار مطالعه شده است)  نسخه چاپی

کنترل دسترسی‌ها در آپاچی

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

<directory></directory>var/www/rest>
AllowOverride AuthConfig
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
<limit get="get" post="post" options="options" propfind="propfind">
Order allow,deny
Allow from all
</limit>
<limit put="put" delete="delete" patch="patch" proppatch="proppatch" mkcol="mkcol" copy="copy" move="move" lock="lock" unlock="unlock">
Order deny,allow
Deny from all
</limit>

با استفاده از tagهای Limit قادر خواهید بود تا فرایند‌های خاصی را بر روی دایرکتوری خاصی محدود نمایید. از کلمه کلیدی order جهت تعیین ترتیب اولویت گزینه‌ها استفاده می‌شود. کلمات کلیدی Allow و Deny نیز جهت آزاد کردن یا محدود کردن فرایند‌ها استفاده می‌شود.

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

AccessFileName .htaccess

سپس در فایل پیکربندی آپاچی باید کلمه کلیدی AllowOverride AuthConfig را همانگونه که در مثال بالا دیدید، برای دایرکتوری مورد نظرتان اضافه نمایید و در صورتی که این دایرکتوری در آن معرفی نشده است، باید آنرا مطابق مثال بالا در فایل پیکربندی آپاچی اضافه کنید. در زیر محتویات یک فایل htaccess. برای مثال نشان داده شده است:

AuthUserFile /var/www/rest/.htpasswd
AuthGroupFile /dev/null
AuthName "Authentication Required"
AuthType Basic
Require valid-user

کلمه کلیدی AuthUserFile نشان دهنده محل فایل حاوی کلمه عبور کاربر می‌باشد. AuthGroupFile نشان دهنده محل فایل گروه کابرانی است که می‌توانند به این محل دسترسی پیدا کنند. AuthName نشان‌دهنده نام یا عنوان احراز هویت است. AuthType نیز نشانگر نوع احراز هویت است که می‌تواند از نوع Basic، Digest یا انواع مرتبط با بانک‌های اطلاعاتی باشد. بخش Require نیز نوع درخواست سیستم احراز هویت را تعیین می‌کند و می‌تواند حاوی user و نام یک یا چند کاربر، valid-user در صورتی که فایل کلمه عبور حاوی تعداد زیادی نام کاربری است و group و نام گروه‌هایی که نیاز به اجازه دسترسی به آنها وجود دارد باشد. برای مثال در مورد کاربران:

Require user alan armen

جهت ایجاد یک فایل کلمات عبور باید از دستور htpasswd استفاده نمایید:

# htpasswd -c .htpasswd alan

این دستور یک فایل کلمه عبور به نام htpasswd. و یک کاربر به نام alan ایجاد نموده و از شما درخواست خواهد کرد تا کلمه عبور آنرا نیز تعریف نمایید. از نظر امنیتی بکارگیری احراز هویت نوع Basic جهت امور حساس چندان مناسب نیست، زیرا با اینکه کلمات عبور در فایل‌های حاوی آن با رمزنگاری MD5 ذخیره می‌شوند، تبادل نام کاربری و کلمه عبور بین سرویس‌دهنده و سرویس‌گیرنده با استفاده از متن ساده انجام می‌گیرد و در صورت وجود sniffer می‌تواند خوانده شود. در این گونه موارد باید از نوع Digest استفاده شود. برای استفاده از این قابلیت باید ماژول mod_auth_digest در سرویس‌دهنده فعال شود. به این منظور می‌توانید از دستور زیر استفاده کنید:

# apache-modconf apache enable mod_auth_digest

سپس فایل htaccess. را مانند مثال زیر ویرایش نمایید:

AuthType Digest
AuthName "Private"
AuthDigestFile /var/www/rest/.htdigest
Require valid-user

و فایل htdigest. را نیز ایجاد نمایید:

# htdigest -c .htdigest auth alan

البته توجه داشته باید تبادل digest در برخی از مرورگرها پشتیبانی نمی‌شود، بنابراین برای حداکثر سازگاری بهتر است از SSL به همراه htaccess استفاده نمایید.

گروه‌ها در فایل‌ها htaccess هنگامی اهمیت پیدا می‌کنند که شما تعداد زیادی کاربر داشته باشید که هر یک باید به محل‌های خاصی بر روی سرویس‌دهنده دسترسی داشته باشند. به این صورت می‌توانید یک فایل مرکزی htpasswd ایجاد کرده و با گروه‌بندی کاربران، دسترسی‌های آنها را به محل‌های مناسب امکان‌پذیر نمایید. با استفاده از کلمات کلیدی AuthGroupFile که نشاندهنده فایل حاوی گروه‌ها و نام‌های کاربری است و Require group استفاده نمایید.

فایل گروه یک فایل متنی است که با نام گروه و یک کالن شروع شده و کاربران عضو گروه به دنبال هم در آن قرار می‌گیرند:

dev-group: alan armen
sup-group: nick jake

برای اینکه احراز هویت با استفاده از فایل گروه صورت گیرد، می‌توان فایل htaccess. مثال بالا را به صورت زیر تغییر داد:

AuthUserFile /var/www/rest/.htpasswd
AuthGroupFile /var/groups
AuthName "Authentication Required"
AuthType Basic
Require group dev-group

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


Virtual Hosting در آپاچی

ویژگی‌های Virtual Hosting آپاچی به منظور بکارگیری در سرویس‌دهنده‌های فضای اینترنتی استفاده می‌شود. به عنوان یک سرویس‌دهنده حانگی یا اداری کوچک، احتمالا شما نیازی نخواهید داشت تا از این قابلیت سرویس‌دهنده آپاچی استفاده نمایید. هنگامی که اینترنت را می‌بینید، هر سرویس‌دهنده وب عهده‌دار ارائه سرویس جهت دامنه‌های متعددی است. این امکان را قابلیتی در Apache به عنوان Virtual Hosting فراهم می‌سازد. جهت فعال کردن این قابلیت شما باید از گزینه NameVirtualHost به همراه آدرس IP و یا درگاهی که مایل هستید Virtual Hosting روی آن فعال شود، استفاده نمایید. مثال زیر یک Virtual Hosting را نمایش می‌دهد:

NameVirtualHost 212.68.80.137
VirtualHost 212.68.80.137>
ServerName www.technotux.com
ServerAlias technotux.com
ServerAdmin postmaster@technotux.com
DocumentRoot /home/technotux/public_html

در صورتی که مایل هستید جهت هر آدرس IP یک دامنه جداگانه اختصاص دهید، نیازی به استفاده از گزینه NameVirtualHost نیست و در خط مربوط به VirtualHost نیز باید نام دامنه را بجای آدرس IP وارد نمایید.
قابلیت Virtual Hosting آپاچی این امکان را نیز فراهم می‌سازد تا بتوانید فایل‌های ثبت رخداد سفارشی و خاص هر سایت نیز ایجاد نمایید:

ErrorLog logs/host.some_domain.com-error.log
CustomLog logs/host.some_domain.com-access.log common


فایل پیکربندی modules.conf

قابلیت‌های مختلف سرویس‌دهنده آپاچی و پشتیبانی از زبان‌ها و اسکریپت‌های مختلف در آن از طریق قطعاتی بنام ماژول صورت می‌گیرد. فایل modules.conf جهت اضافه کردن و ویرایش ماژول‌های فعال در سرویس‌دهنده می‌باشد. دستوری به نام apache-modconf وجود دارد که با استفاده از آن قادر هستید تا ماژول‌ها را در سرویس‌دهنده دبیان خود مدیریت نمایید. البته بسیاری از بسته‌های نرم‌افزاری مانند php4 هنگام نصب این فایل را برای شما تنظیم می‌کنند:

# apache-modconf
Error: /usr/sbin/apache-modconf has been called with invalid parameters
Usage: /usr/sbin/apache-modconf apache|apache-perl|apache-ssl [enable ]
/usr/sbin/apache-modconf apache|apache-perl|apache-ssl [disable ] [quiet]
/usr/sbin/apache-modconf apache|apache-perl|apache-ssl [query FONT>

توجه داشته باشید که این دستور و سایر دستورات مدیریتی آپاچی تنها توسط کاربر ریشه قابل اجرا می‌باشند.



Linux is a registered trade mark of Linus Torvalds.

تمامی مطالب و مقالات این سایت تحت مجوز GNU FDL قرار دارند. بنابراین کپی و ایجاد تغییر در آنها مطابق شرایط این مجوز آزاد می‌باشد. یک نسخه از این مجوز را اینجا می‌توانید برای خود دریافت نمایید.

Email Us : webmaster AT technotux DOT org