بخشی از مقاله
دليل استفاده از وب سرور Apache
حقيقت اين است كه وب سرور 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 <rpm file name>
به اين ترتيب براي نصب برنامه Apache تحت سيستم عامل red hat linux كافي است فرمان زير را در سطر فرمان اين سيستم عامل وارد كنيد:
$ rpm –I httpd-2.0.4-8.i386.rpm
مكانيزم RPM بسته نرم افزاري مورد نظر را ارزيابي كرده و پس از تشخيص برنامه ها و ابزارهاي مورد نياز اقدام لازم را براي نصب آن بسته نرم افزاري انجام مي دهد. در صورتي كه با بهره گيري از اين مكانيزم اقدام به نصب وب سرور Apache كرده ايد دقت كنيد كه بخش هاي مختلف بسته نرم افزاري مزبور با توجه به دستور العمل هاي خاص سيستم عامل redhat linux در موقعيت هاي مختلفي از سيستم فايل مستقر شوند. براي مثال فايل هاي اجرايي در موقعيت /usr/sbin و فايل هاي پيكر بندي نيز در موقعيت /etx.httpd مستقر مي شوند.