آموزش کار با وب سرور apache

k2-4u

Well-Known Member
سلام . دوستان در حال نوشتن/ترجمه یک مقاله کامل برای کار با apache هستم . که
اون رو قسمت/قسمت میگذارم اینجا :rose: :)

1 . اتصال

پیکربندی Apache برای گوش دادن (Listen) به آدرس و درگاه (Port) خاص

دستور های مربوط
• <VirtualHost>
• Listen


ماژول های مربوط
• core
• mpm_common


وقتیApache اجرا میشود . به آدرس و درگاه((Port مورد نظر متصل شده و منتظر درخواست می شود . در حالت پیشفرض
(default) . apache به همه آدرس ها و درگاه ها گوش(listen) میدهد . لازم است تا بهapache گفته شود که به چه درگاه ها
, آدرس ها و یا ترکیبی از این دو گوش کند

دستور Listen به سرور می گوید که به چه آدرس و درگاهی گوش دهد .
اگر شما فقط درگاه را مشخص کنید . سرور در همه Interface ها به درگاه مورد نظر گوش میدهد
و یا هم آدرس و هم درگاه را مشخص کنید , در این صورت سرور فقط به آدرس و درگاه مورد نظر گوش میدهد
. شما می توانید دستور Listen را چند بار استفاده کنید

برای مثال . برای تنظیم سرور بر روی دو درگاه 80 و 8000 برای همه Interface ها از دستورات زیر استفاده کنید

Listen 80
Listen 8000

برای اجازه دریافت از درگاه 80 با آدرس 192.0.2.1 و آدرس 192.0.2.5 با درگاه 8000 دستور زیر استفاده کنید

Listen 192.0.2.1:80
Listen 192.0.2.5:800

مثال زیر برای IPv6 است که باید در براکت باشد

Listen [2001:db8::a00:20ff:fea7:ccea]:80

برای اطلاعات بیشتر در مورد IPv6 به اینجا مراجع کنید
http://httpd.apache.org/docs/2.2/bind.html


این دستور برای هاست مجازی (Virtual Hosts)

امکان پیاده سازی دستور Listen در هاست مجازی نیست . این دستور فقط می تواند به سرور اصلی بگوید که به چه آدرس و درگاهی گوش بدهد
. و امکان استفاده آن در دستور <VirtualHost> وجود ندارد
 
آخرین ویرایش:

k2-4u

Well-Known Member
فایل های پیکربندی

این بخش مربوط به چگونگی کار با فایل های پیکربندی Apache است

فایل پیکربندی اصلی

دستور های مربوط
•<IfDefine>
• Include
• TypesConfig

ماژول های مربوط
• mod_mime


دستورات پیکربندی Apache در فایل های به صورت متن ساده قرار میگیرد
. نام فایل پیکربندی اصلی apache معمولا httpd.conf است .
آدرس این فایل در زمان کامپایل و نصب برنامه مشخص میشود
اما شما می توانید آن را به وسیله پرچم(flag) –f در خط فرمان(command line) overridden کنید .
علاوه بر این , شما می توانید به وسیله دستور Include فایهای تنظیمات را به هم متصل کنید .
بعد از تغییر تنظیمات اصلی برای اعمال آنها باید apache را دوباره راه اندازی و یا RESET کنید

سرور فایل های را می خواند که Mime type آنها را بشناسد .
تنظیمات mime type در apache به وسیله دستور TypesConfig صورت میگیرد که در حالت
پیشفزض به این صورت است mime.types


کار با دستورات فایل های پیکربندی

در فایل های پیکربندی apache در هر خط یک دستور قرار میگیرد . همچنین کارکتر back-slash “\” به
Apache میفهماند که ادامه دستور در خط بعد است .

دستورات فایل های پیکربندی به حروف کوچک و بزرگ حساس نیستند , اما آرگومان های آنها عقلب حساس هستند
. خط های که با کارکتر sharp “#”شروع می شوند توضیحات(comment) هستند و در نظر گرفته نمیشوند.
استفاده از توضیحات بعد از یک دستور روی یک خط امکان پذیر نیست . کارکتر های فضای خالی(Space) و تورفتگی(tab)
در نظر گرفته نمیشوند و شما می توانید در هرجا از آنها استفاده کنید

شما میتوانید خطا های فایل های پیکر بندی را بدون نیاز به راه اندازی دوباره(RESET) apache به وسیله
apachectl configtest با –t در خط فرمان امتحان کنید


ماژول ها

ماژول های مربوط دستور های مربوط

دستور های مربوط
•<IfModule>
• LoadModule

ماژول های مربوط
• mod_so

Apache یک سرور ماژولار است , این بدان معناست که اصلی ترین قسمت سرور Apache در هسته قرار دارد
و این ویژگی فراهم می کند که به ماژول ها مختلف متصل شود . در حالت پیشفرض بسیاری ماژول ها همراه با apache نصب می شوند
. شما می توانید به صورت پویا و دستی ماژول مورد نظر را حذف یا اضافه کنید برای اضافه کردن ماژول می توانید از دستور LoadModule استفاده کنید
. اگر می خواهید ببینید که آیا یک ماژول وجود دارد یا خیر می توانید از بلاک <IfModule> استفاده کنید

برای اینکه بفهمید چه ماژول های در حال حاضر بر روی سرور کامپایل شده اند از دستور خط فرمان –l
استفاده کنید



محدوده(دامنه) دستورات

دستور های مربوط
• <Directory>
• <DirectoryMatch>
• <Files>
• <FilesMatch>
• <Location>
• <LocationMatch>
• <VirtualHost>


دستوراتی که در فایل پیکربندی اصلی((httpd.conf قرار می گیرند همه محتویات سرور را پوشش می دهند
. چنانچه شما می خواهید فقط قسمتی از پیکربندی سرور را عوض کنید
از دستورات >Directory>, <DirectoryMatch>, <Files>, <FilesMatch>, <Location> و <LocationMatch> برای تعیین دامنه مورد نظر استفاده کنید
. شما می توانید دستوراتی را در این بلاک ها قرار دهید و آنها را برای یک path یا URL
مشخص شده اجرا کنید

Apache توانایی مدیریت همزمان وبسایت های مختلفی که برو روی یک سرور قرار دارند را داراست
. این خدمات میزبانی مجازی ((Virtual Host نام دارد . برای اجرای دستور بر روی میزبان های مجازی می توانید از دستور <VirtualHost> استفاده کنید .

باید به این نکته توجه کرد که بعضی از دستورات را نمی توان در بلاک های بالا استفاده کرد
. که با نگاه کردن به توضیحات دستور مشخص میشود


فایل های .htaccess

دستور های مربوط
• AccessFileName
• AllowOverride


Apache این امکان را به شما میدهد که به وسیله فایل های پیکربندی خاصی , ساختار درختی وبسایت خود را به صورت غیر متمرکز مدیریت کنید
. این فایل های خاص معمولا به نام .htaccess هستند , اما شما می توانید به وسیله دستور AccessFileName این نام را تغییر دهید
 
آخرین ویرایش:

k2-4u

Well-Known Member
بخشها(Sections) یا بلاک های تنظیم

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


انواع بخش های(Sections) پیکربندی

دستور های مربوط
• <Directory>
• <DirectoryMatch>
• <Files>
• <FilesMatch>
• <IfDefine>
• <IfModule>
• <IfVersion>
• <Location>
• <LocationMatch>
• <Proxy>
• <ProxyMatch>
• <VirtualHost>


ماژول های مربوط
• core
• mod_version
• mod_proxy

................. ادامه در اولین وقت آزاد :wink:
دوستان اگر مقاله جالبی به نظرشون میرسه در ضمینه apache
اینجا مکانشه !
 

k2-4u

Well-Known Member
سلام
ممنون دوست من
میشه در مورد پورت 80 توضیح بدی ؟
پورت 80 یک پورت خیلی معروف است که برای پروتکل HTTP استفاده میشه
کلا شما هر صفحه وبی که باز کنید اطلاعاتش . از پورت 80 وارد کامپیوتر شما میشه
شما می تونی به این صورت . قضیه رو متوجه بشین
http://yahoo.com:80
http://majidonline.com:80
http://google.com:80

حالا شما اگر به جای 80 عدد دیگری رو بنویسید کار نمیکنه
معضی از سیستم ها مثل Cpanel برای کار یک پورت اختصاصی باز می کنند مثل
http://k2-4u.com:2082/
 

k2-4u

Well-Known Member
ممنون
حالا این که میگن پورت 80 بازه یا بسته قضیش چیه ؟
دوست من این سوالات به apache ربطی نداره
شما این سوالات رو در قسمت شبکه بپرسین
--------------------
پورت 80 همیشه بازه . مگر اینکه در تنظیمات firewall اونو ببندی . که در این صورت دسترسی به
سایت ها . غیر ممکن میشه
 

جدیدترین ارسال ها

بالا