حقیقت این است که وب سرور Apache به یکی از عوامل موفقیت وب تبدیل شده است. با وجودی که این ادعا ممکن است برای عدهای ناخوشایند باشد، اما دلیل زیادی برای اثبات این واقعیت وجود دارد. بررسیهای اخیر حاکی از آن است که بیشترین وب سایتهای موجود در حال حاظر از وب سرور Apache به عنوان سرویس دهنده وب استفاده میکنند. این دلیل را میتوان علت این موفقیت برشمرد:
Apache رایگان است.
کد منبع Apache به رایگان در دسترس است. ( به این گونه نرمافزارها اصطلاحاً "کدباز" یا open source گفته میشود.)
Apache بر روی مجموعهای بسیار متنوعی از سیستمهای عامل قابل استفاده است.
Apache دائماً در حال توسعه و افزایش قابلیتهای جدید است.
Apache بسیار توانمند بوده و به واسطه طراحی ماجولار به راحتی قابل توسعه است.
Apache رایگان است.
وب سرور Apache ضمن برخورداری از ویژگیها و تواناییهای قابل توجه کاملاً رایگان است. با این وجود از آنجا که به واسطه انتشار این وب سرور هیچگونه منفعتی نصیب سازمان توسعه دهنده آن یعنیsoftware foundation Apache نمیشود طبیعی است که نرمافزار مزبور از هیچگنونه پشتیبانی فنی از طریق تلفن یا به صورت online که در مورد نرمافزارهای تجاری شاهد آن هستیم در رابطه با وب سرور Apache مرسوم نیست.
با این همه مستندات بسیار جامعی از نرمافزار مرود بحث از طریق وب سایت مربوطهدر دسترس علاقهمندان قرار دارد.
کد منبع Apache به رایگان در دسترس است.
چنانچه در برنامهنویسی تبحر دارید میتوانید کد منبع Apache را آن گونه که مورد نیاز شماست دستخوش تغییر کنید. با این حال بیشتر کاربران با هدف تغییر نحوه عملکرد Apache دست به این اقدام نمیزنند، بلکه صرفاً نحوه پیکربندی آن را تغییر میدهند، و با کمپایل مجدد که منبع Apache انتظاراتی که وب سرور دارند، تأمین میکنند. از این رودکی در صورتی که به یک وب سرور مختصر و سبک نیاز دارید میتوانید Apache را به گونهای کمپایل کنید که تنها نیازهای خواسته شده را تأمین کند. به این ترتیب چنانچه با مشکل حادی برخورد کردید یا مایلید تغییراتی را در کد منبع Apache اعمال کنید میتوانید با برخورداری از دانش برنامهنویسی این کار را انجام دهید.
Apache بر روی مجموعه بسیار متنوعی از سیستمهای عامل قابل استفاده است.
نسخههای مختلف وب سرور Apache به منظور بهرهگیری تحت سیستمهای عامل متداولی از جملهاین موارد توسعه یافته است.
unix
liunx
ویندوز (شامل نسخههایی 9x تا XP هر چند که نسخهای تحت NT و 2000 از قابلیتهای بیشتری برخوردارند.)
Novell Netware
Mac OSX
منهای برخی اختلافات جزیی مانند استقرار فایلهای وب سرور Apache در سیستم فایلعملکرد این وب سرور در تمامی محیطهای عامل فوق یکسان است.
Apacheدایماً در حال توسعه و افزایش قابلیتهای جدید است.
مسئولیت توسعهو بهبود کارایی وب سرور Apache به عهده سازمان software foundation یعنی پدید آورنده آناست. شگفتانگیز است، به طوری که تنها پس از گذشت تنها چند روز اشکالات و شکافهای امنیتی یافت شده اصلاح میشود. نکته مذکور Apache را به پایدارترین و در عین حال ایمنترین وب سرور حال حاضر تبدیل کرده است. البته این ویژگی یکی از مهمترین دلایل مقبولیت آن است.
مزیت دیگری که به واسطه سرعت بالای توسعه و انتشار نسخههای جدید نرمافزار به دست میآید، مجموعهای ارزشمند از قابلیتهاست، که البته وب سرور Apache نیز از این قاعده مستثنی نیست.
به این ترتیب تکنولوژی جدیدی که همه روزه در درارتباط با شبکه جهانی اینترنت با آنها مواجه میشویم، پیش از هر وب سرور دیگری توسط Apache پیادهسازی شده و مورد پشتیبانی قرار میگیرند.
قابلیتهای وب سرور Apache
وب سرور Apache نام خود را از شیوهای که نخشتین بار برای توسعه آن به کار رفت، گرفته است. اساساً این وب سرور از مجموعهای مؤلفه نرمافزاری یا اصطلاحاً patch (با تلفظ پچ )تشکیل شده است به گونهای که بسیاری از توسعه دهندگان برای تاکید این موضوع از اصطلاح "a patchy server " با تلفظ "اپچی سرور" به معنی سروری که از مجموعهای مؤلفههای نرمافزاری ایجاد شده است، استفاده میکردند.
مداتهاست که توسعه وب سرور Apache در قالب قطعات یا ماجولهای نرمافزاری مستقل صورت میگیرد. توسعه وب سرور Apache بر اساس این ماجولا (اصطلاحاً توسعه "ماجولار") موجب شده که بهرهگیری از Apache به عنوان وب سرور سربار کمتری را به سختافزار و سیستم عامل میزبانی که بر روی آن مستقر شده است تحمیل کند.
به بیان بهتر در استفاده از این وب سرور تنها ماجولهای مورد نیاز بر روی سختافزار و سیستم عامل میزبان مستقر میشوند. این ویژگی همچنین روند توسعه و پشتیبانی از ماجولهایی راکه شرکت و برنامهنویسان مستقل (اصطلاحاً third parties )به منظورهای مختلف توسعه میدهند، تسهیل میکند.
وب سرور Apache تقریباً تمامی تکنولوژی اینترنت را که در ارتباط با وب تویعه پیدا کردهاند به خوبی مورد پشتیبانی قرار میدهد. این قابلیت حتی شامل برخی تکنولوژیهای اختصاصی از جمله Microsoft Frontpage Extensions نیز میشود. وب سرور Apache تمام مشخصات پروتکل HTTP اسکریپتنویسی، احراز هویت و قابلیت استفاده از سایر تکنولوژیها را به خوبی مورد پشتیبانی قرار داده است.
دستهای از قابلیتای وب سرور Apache عبارتنداز:
پشتیبانی جامع و کامل از پروتکل HTTP
قاژبلیت پیکربندی بالا وامنیت قابل ملاحظه
پشتیبانی از PHP
پشتیبانی از CGI و سایر زبانهای اسکریپتنویسی
دستیابی به منابع مورد نیاز
هر آنچه که در ارتباط با نصب وب سرور Apache بدان نیاز دارید از طریق وب سایت Apache به آدرس http// www. Apache. Otg فابل دستیابی است. از طریق این آدرس اینترنتی میتوانید کد منبع نسخه اجرایی (اصطلاحاً binaryversion) وب سرور Apacheرا برای محیط عامل UNIX و linux و همچنین شکل صفحه اصلی وب سایت Apache را نشان میدهد.
نسخههای مختلفی از وب سرور Apache برای بهره برداری تحت نسخههای مختلف سیستم عامل Linux توسعه یافته است. برای مثال کاربارن سیستم عامل Redhat Linux میتوانند از طریق مکانیزم Redhat package Manager یا اصطلاحاً RPM وب سرور Apache را بر روی سیستم خود نصب کنند.
نصب برنامه Apacheتحت سیستم عامل Linux از طریق کمپایل کد منبع
چنانچه مایل به کمپایل Apache باشید، لازم است ابتدا کد منبع مناسبی رادر اختیار داشته باشید. برای شروع فایل مورد نظر را از آدرس مذکور در یک فهرست موقت یادر موقعیت /usr/src از سیستم فایب که معمولاً برای این منظور ازآن استفاده میشود بارگذاری کنید. برای .باز کردن آشیو کد منبع (و عموماً هر آرشیو دیگر) روشهای مختلفی وجود دارد. روش مورد استفادهبرای این کار به برنامههای نصب شده بر روی کامپیوتر و نوع آرشیوی که بارگداری کردهاید بستگی دارد.
چنانچه نسخهای از آرشیو را که با استفاده از برنامه فشردهساز gzip فشرده شده است، بارگذاری کردهاید. (در این صورت فایلی با پسوند tar.gz در اختیار دارید.) پیش از این هر گونه اقدامی برای باز کردن آرشیو، لازم است با استفاده از همین برمنامه فشردهساز آن را از حالت فشرده خارج سازید. فرمان زیر که از فهرست نژمیزبان فایل httpd-2.0. tar. gzرا به طور توأم انجام میدهد. (علامت $ اعلان سیستم عامل unix است.)
$ tra-zxvf httpd-2.0.8.tra.z
اما اگر نسخه ای از آرشیو را با استفاده از برنامه فشرده سازی bzip یا bzip2 ( یا نسخه های دیگری از این برنامه فشرده ساز) فشرده شده است بارگذاری کرده اید ( در این صورت فایلی با پسوند tar.z در اختیار دارید) با صدور فرمان زیر علاوه بر اینکه فایل مورد نظر را از حالت فشرده خارج می کنید بلکه آرشیون مزبور را نیز باز می کنید:
$ tra-zxvf httpd-2.0.8.tra.z
نتیجه اجرای هر دو فرمان مذکور یکسان است، به طوری که در نهایت فایل های حاوی کد منبع Apache در فهرست تحت عنوان httpd-2.0 مستقر می شوند. که علامت ستاره بیانگر شماره نسخه minor است.
دستورالعمل های مورد نیاز برای کامپایل کد منبع apache و نصب آن بر روی سیستم میزبان را می توانید در فایلی با عنوان Install که در فهرست حاوی کد منبع این برنامه موجود است مورد مطالعه قرار دهید. اصولا فرآیند کامپایل و نصب برنامه های تحت unix پس از باز کردن فایل آرشیو مربوطه با استفاده از این سه فرمان صورت می گیرد: ( نحوه اجرای دقیق این فرامین در فایل راهنمای install به خوبی توضیح داده شده است:
$
$
$
هر سه فرمان مذکور را باید از فهرستی که فایل های آرشیون را در آنجا مستقر کرده اید به اجرا درآورید همچنین فراموش نکنید که برای اجرای این فرامین باید به عنوان مدیر سیستم یا اصطلاحات root وارد سیستم شده باشید.
فرمال اول، کد منبع apache را به منظور کامپایل بر روی سیستم میزبان آماده می کند./ در این فرمان متغیر directory باید با فهرستی که مایل به نصب برنامه apache در ان جا هستید جایگزین شود.
برای مثال در صورت تمایل به نصب برنامه apache در فهرست /usr/local/apache2 لازم است فرمان مزبور را به صورت زیر مورد استفاده قرار دهید:
$
بخشی از خروجی حاصل از اجرای فرمال فوق به قرار زیر است:
؟؟
در صورتی که فرمان configure با خطایی مواجه گردد یا موفق به یافتن تمامی فایل های مورد نیاز برای نصب برنامه apacheنشود مراتب را گزارش خواهد داد. برای تکمیل عملیات لازم است خطاهای موجود را اصلاح و فرمان configure را بار دیگر اجرا کنید.
فرمان بعدی با عنوان make کد منبع apache را با دنبال کردن دستورالعمل های موجود در فایل های راهنمای ایجاد شده حاصل از اجرای فرمان configure کامپایل می کند. بخشی از خروجی این فرمان به قرار زیر است:
؟؟
فرآیند کامپایل پس از گذشته چند دقیقه تکمیل شده و اعلان سیستم عامل مجددا در اختیار قرار می گیرد. چنان چه ضمن این فرآیند خطایی رخ دهد مراتب گزارش خواهد شد. در چنین مواقعی لازم است خطا را اصلاح کرده و فرمان make را مجددا به اجرا درآورید.
آخرین فرمان make install است. این فرمان برنامه apache را دقیقا در موقعیتی از سیستم فایل که با استفاده از پارامتر prefix مشخص شده است نصب می کند. بخشی از خروجی حاصل از این فرمان به قرار زیر است:
؟؟
اکنون باید برنامه apache در فهرستی که به همراه فرمان configure در مرحله نسخ مشخص کردید، نصب شده باشد برای اطمینان از نصب این برنامه کافی است فرمان راه اندازی وب سرور را با استفاده از سوییچ 7- اجرا کنید. در این صورت وب سرور apache راه اندازی نشده بلکه به سادگی اطلاعاتی درباره شماره ویرایش آن به نمایش در می آید. فرمانی که اجرای آن موجب راه اندازی وب سرور می شود httpd نام داشته و فایل مربوط به آن در زیر فهرست bin از فهرست میزبان برنامه apache مستقر است. خروجی حاصل از اجرای این فرمان به همراه سوییچ 7- به صورت زیر خواهد بود:
Server version: Apache /2.0.45
Server built: Apr 8 2003 01L42:52
چنان چه این روجی را در ازای اجرای فرمان httpd به همراه سوییچ –V مشاهده نمی کنید، احتمال دارد که فرآیند کامپایل یا نصب برنامه apache به درستی انجام نشده باشد. وجود فایل اجرایی httpd را مورد بررسی قرار داده و باز ذکر موقعیت دقیق آن ( برای مثال /user/local/apache2/bin/httpd –v) بار دیگر این فرمان را به اجرا درآورید.
به منظور راه اندازی سرور از برنامه اسکریپت apachectl به صورت زیر استفاده کنید:
user/local/apache2/bin/apachect1 start
به منظور اطمینان کامل از اجرای برنامه سرور، می توانید فرمان ps را به صورت زیر برای مشاهده مشخصات فرآیند های در حال اجرا مورد استفاده قرار دهید:
؟؟
با اجرای فرمان فوق باید چنین نمونه از برنامه سرور را در حال اجرا مشاهده کنید.
تعداد این نمونه ها بستگی به نحوه پیکربندی سرور دارد.
نصب برنامه Apache تحت سیستم عامل redhat linux از طریق مکانیزم نصب بسته های نرم افزاری RPM
بیشتر نسخته های سیستم عامل linux مکانیزم به خصوصی برای نصب بسته های نرم افزای دارند. به کمک این مکانیزم می توان بسته های نرم افزاری منشتر شده را تحت نسخه به خصوصی از سیستم عامل linux نصب کرد. چنین مکانیزمی در سیستم عامل redhat linux نیز موجود بوده و با عنوان red hat pachage manager یا به اختصار RPM شناخته شده است. از این رو بسته های نرم افزاری توزیع شده برای این سیستم عامل دارای پسوند rpm هستند. مزیت استفاده از این مکانیزم را می توان به صورت زیر بیان کرد:
موقعیت یابی و نصب برنامه ها به شکل بسیار ساده ای انجام می شود. برای مثال می توان به آسانی بسته های نرم افزاری توزیع شده برای سیستم عامل redhat linux را از طریق وب سایت مربوطه به دست آورد و با استفاده از برنامه کمکی redhat update agent آنها را بر روی کامپیوتر نصب کرد. چنان چه نسخه ای از برنامه مورد نظر در حال حاضر بر روی کامپیوتر موجود باشد، برنامه کمکی مذکور آن را نسخه جدیدتر ارتقا خواهد بود.
وابستگی بسته های نرم افزاری به یکدیگر از طریق این بسته های نرم افزاری کنترل می شود بدین معنی که اگر نصب یک بسته نرم افزاری مستلزم دسترسی به ابزارها و برنامه های دیگری باشد، ضمن فرآیند بسته نرم افزاری مورد نظر ابزارها و برنامه های وابسته نیز نصب می شود یا حداقل پیش از انجام این کار مراتب گزارش داده می شود.
بسته های نرم افزاری از موقعیتی که هر یک از مولفه نرم افزاری موجود در آن بسته ها باید در سیستم فایل مستقر شوند به خوبی مطلع است. نصب بسته های نرم افزاری به سادگی تنها با صدور یک فرمان ساده انجام می پذیرد و نیازی به مشخص کردن فهرست میزبان نیست. برنامه هایی که در قالب بسته های نرم افزاری بر روی کامپیوتر نصب می شوند همگی از یک الگوی عمومی مشخص برای استقرار فایل های اجرایی فایل های پیکر بندی و مانند آن پیروی می کنند.
وب سرور Apache 2 به عنوان یکی از بسته های نرم افزاری سیستم عامل redhat linux 8 به همراه این سیستم عامل توزیع می شود یکی از روشهای بسیار ساده برای نصب وب سرور Apache تحت سیستم عامل redhat linux 8 این است که ابتدا به کمک یکی از برنامه های مدیریت فایل هم چون برنامه nautilus موقعیت فایل PRM مربوط به این بسته نرم افزاری را تشخیص دهید و بر روی آن دابل کلیک کنید. شکل را در همین رابطه موردتوجه قرار دهید.
برای نصب بسته های نرم افزاری مانند nautilus تشخییص داده و بر روی آن دابل کلیکد کنید. برای نصب بسته های نرم افزاری RPM روش دیگری نیز وجود دارد و آن اجرای فرمان rpm از طریق سطر فرمان سیستم عامل redhat linux است. نحوه انجام این کار به صورتی است که در ادامه ملاحظه می کنید:
$ rpm –I
به این ترتیب برای نصب برنامه Apache تحت سیستم عامل red hat linux کافی است فرمان زیر را در سطر فرمان این سیستم عامل وارد کنید:
$ rpm –I httpd-2.0.4-8.i386.rpm
مکانیزم RPM بسته نرم افزاری مورد نظر را ارزیابی کرده و پس از تشخیص برنامه ها و ابزارهای مورد نیاز اقدام لازم را برای نصب آن بسته نرم افزاری انجام می دهد. در صورتی که با بهره گیری از این مکانیزم اقدام به نصب وب سرور Apache کرده اید دقت کنید که بخش های مختلف بسته نرم افزاری مزبور با توجه به دستور العمل های خاص سیستم عامل redhat linux در موقعیت های مختلفی از سیستم فایل مستقر شوند. برای مثال فایل های اجرایی در موقعیت /usr/sbin و فایل های پیکر بندی نیز در موقعیت /etx.httpd مستقر می شوند.