حقیقت این است که وب سرور Apache به یکی از عوامل موفقیت وب تبدیل شده است. با وجودی که این ادعا ممکن است برای عدهای ناخوشایند باشد، اما دلیل زیادی برای اثبات این واقعیت وجود دارد. بررسیهای اخیر حاکی از آن است که بیشترین وب سایتهای موجود در حال حاظر از وب سرور Apache به عنوان سرویس دهنده وب استفاده میکنند. این دلیل را میتوان علت این موفقیت برشمرد:
- Apache رایگان است.
- کد منبع Apache به رایگان در دسترس است. ( به این گونه نرمافزارها اصطلاحاً "کدباز" یا open source گفته میشود.)
- Apache بر روی مجموعهای بسیار متنوعی از سیستمهای عامل قابل استفاده است.
- Apache دائماً در حال توسعه و افزایش قابلیتهای جدید است.
- Apache بسیار توانمند بوده و به واسطه طراحی ماجولار به راحتی قابل توسعه است.
وب سرور Apache ضمن برخورداری از ویژگیها و تواناییهای قابل توجه کاملاً رایگان است. با این وجود از آنجا که به واسطه انتشار این وب سرور هیچگونه منفعتی نصیب سازمان توسعه دهنده آن یعنیsoftware foundation Apache نمیشود طبیعی است که نرمافزار مزبور از هیچگنونه پشتیبانی فنی از طریق تلفن یا به صورت online که در مورد نرمافزارهای تجاری شاهد آن هستیم در رابطه با وب سرور Apache مرسوم نیست.
با این همه مستندات بسیار جامعی از نرمافزار مرود بحث از طریق وب سایت مربوطهدر دسترس علاقهمندان قرار دارد.
چنانچه در برنامهنویسی تبحر دارید میتوانید کد منبع Apache را آن گونه که مورد نیاز شماست دستخوش تغییر کنید. با این حال بیشتر کاربران با هدف تغییر نحوه عملکرد Apache دست به این اقدام نمیزنند، بلکه صرفاً نحوه پیکربندی آن را تغییر میدهند، و با کمپایل مجدد که منبع Apache انتظاراتی که وب سرور دارند، تأمین میکنند. از این رودکی در صورتی که به یک وب سرور مختصر و سبک نیاز دارید میتوانید Apache را به گونهای کمپایل کنید که تنها نیازهای خواسته شده را تأمین کند. به این ترتیب چنانچه با مشکل حادی برخورد کردید یا مایلید تغییراتی را در کد منبع Apache اعمال کنید میتوانید با برخورداری از دانش برنامهنویسی این کار را انجام دهید.
نسخههای مختلف وب سرور Apache به منظور بهرهگیری تحت سیستمهای عامل متداولی از جملهاین موارد توسعه یافته است.
- unix
- liunx
- ویندوز (شامل نسخههایی 9x تا XP هر چند که نسخهای تحت NT و 2000 از قابلیتهای بیشتری برخوردارند.)
- Novell Netware
- Mac OSX
منهای برخی اختلافات جزیی مانند استقرار فایلهای وب سرور Apache در سیستم فایلعملکرد این وب سرور در تمامی محیطهای عامل فوق یکسان است.
مسئولیت توسعهو بهبود کارایی وب سرور Apache به عهده سازمان software foundation یعنی پدید آورنده آناست. شگفتانگیز است، به طوری که تنها پس از گذشت تنها چند روز اشکالات و شکافهای امنیتی یافت شده اصلاح میشود. نکته مذکور Apache را به پایدارترین و در عین حال ایمنترین وب سرور حال حاضر تبدیل کرده است. البته این ویژگی یکی از مهمترین دلایل مقبولیت آن است.
مزیت دیگری که به واسطه سرعت بالای توسعه و انتشار نسخههای جدید نرمافزار به دست میآید، مجموعهای ارزشمند از قابلیتهاست، که البته وب سرور Apache نیز از این قاعده مستثنی نیست.
به این ترتیب تکنولوژی جدیدی که همه روزه در درارتباط با شبکه جهانی اینترنت با آنها مواجه میشویم، پیش از هر وب سرور دیگری توسط Apache پیادهسازی شده و مورد پشتیبانی قرار میگیرند.
وب سرور Apache نام خود را از شیوهای که نخشتین بار برای توسعه آن به کار رفت، گرفته است. اساساً این وب سرور از مجموعهای مؤلفه نرمافزاری یا اصطلاحاً patch (با تلفظ پچ )تشکیل شده است به گونهای که بسیاری از توسعه دهندگان برای تاکید این موضوع از اصطلاح "a patchy server " با تلفظ "اپچی سرور" به معنی سروری که از مجموعهای مؤلفههای نرمافزاری ایجاد شده است، استفاده میکردند.
مداتهاست که توسعه وب سرور Apache در قالب قطعات یا ماجولهای نرمافزاری مستقل صورت میگیرد. توسعه وب سرور Apache بر اساس این ماجولا (اصطلاحاً توسعه "ماجولار") موجب شده که بهرهگیری از Apache به عنوان وب سرور سربار کمتری را به سختافزار و سیستم عامل میزبانی که بر روی آن مستقر شده است تحمیل کند.
به بیان بهتر در استفاده از این وب سرور تنها ماجولهای مورد نیاز بر روی سختافزار و سیستم عامل میزبان مستقر میشوند. این ویژگی همچنین روند توسعه و پشتیبانی از ماجولهایی راکه شرکت و برنامهنویسان مستقل (اصطلاحاً third parties )به منظورهای مختلف توسعه میدهند، تسهیل میکند.
وب سرور Apache تقریباً تمامی تکنولوژی اینترنت را که در ارتباط با وب تویعه پیدا کردهاند به خوبی مورد پشتیبانی قرار میدهد. این قابلیت حتی شامل برخی تکنولوژیهای اختصاصی از جمله Microsoft Frontpage Extensions نیز میشود. وب سرور Apache تمام مشخصات پروتکل HTTP اسکریپتنویسی، احراز هویت و قابلیت استفاده از سایر تکنولوژیها را به خوبی مورد پشتیبانی قرار داده است.
- پشتیبانی جامع و کامل از پروتکل HTTP
- قاژبلیت پیکربندی بالا وامنیت قابل ملاحظه
- پشتیبانی از PHP
- پشتیبانی از CGI و سایر زبانهای اسکریپتنویسی
هر آنچه که در ارتباط با نصب وب سرور Apache بدان نیاز دارید از طریق وب سایت Apache به آدرس http// www. Apache. Otg فابل دستیابی است. از طریق این آدرس اینترنتی میتوانید کد منبع نسخه اجرایی (اصطلاحاً binaryversion) وب سرور Apacheرا برای محیط عامل UNIX و linux و همچنین شکل صفحه اصلی وب سایت Apache را نشان میدهد.
نسخههای مختلفی از وب سرور Apache برای بهره برداری تحت نسخههای مختلف سیستم عامل Linux توسعه یافته است. برای مثال کاربارن سیستم عامل Redhat Linux میتوانند از طریق مکانیزم Redhat package Manager یا اصطلاحاً RPM وب سرور Apache را بر روی سیستم خود نصب کنند.
چنانچه نسخهای از آرشیو را که با استفاده از برنامه فشردهساز 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 مستقر می شوند.
بار دیگر با بهره گیری از سوییچ –v به همراه فرمان httpd آن گونه که در ادامه مشاهده می کنید از صحت نصب این برنامه مطمئن شوید:
$ /usr/sbin/httpd
در این صورت انتظار می رود که برنامه سرور با نمایش اطلاعاتی درباره شما ویرایش برنامه و تاریخ کامپایل و نصب آن به این اقدام پاسخ دهد.
راه اندازی سرور نیز به سادگی و تنها با اجرای برنامه اسکریپت apachectl به صورتی که در ادامه ملاحظه می کنید امکان پذیر است:
$ /usr/sbin/apachectl start
پس از نصب و راه اندازی برنامه Apache به منظور اطمینان از صحت عملیات به سادگی می توانید مرورگر اینترنت خود را باز کرده و نام ماشین میزبان وب سرور Apache را در فیلد آدرس آن بنویسید. بر روی ماشین میزبان وب سرور Apache کافی است آدرس زیر را در فیلد آدرس مرور گر اینترنت وارد کنید:
http:// localhost
با این اقدام باید نتیجه ای شبیه به شکل را مشاهده کنید. در صورتی که با استفاده از کامپیوتر دیگری به ماشین میزبان وب سرور Apache متصل شده اید. کافی است عبارت local host را در آدرس فوق با نام کامل آن اصطلاحا fully qualified name یا آدرس IP مربوطه جایگزین کنید.
وب سروری که به درستی پیکربندی نشده است می تواند به سرعت به عاملی برای نفوذ به ماشین میزبان یا حتی شبکه ای که ماشین مزبور ر روی آن مستق شده تبدیل شود پس از نصب وب سرور بی درنگ آن را متوقف کرد. برای متوقف کردن وب سرور کافی است فرمان زیر را صادر کنید
$ /usr/sbin/ Apachectl stop
پروتکل HTTP مکانیزمی برای تحویل محتوان به شیوه غیر پویاست. این مکانیزم بسیار ساده است به طوری که برنامه کلاینت صفحه ای را درخواست کرده و برنامه سرور آن را در اختیار قرار می دهد. با پیشرفت اسکریپت نویسی در سمت سرور که البته فراتر از مشخصات پروتکل HTTP است توسعه دهندگان برنامه های کاربردی وب کنترل بیشتری را بر روی محتوا در اختیار داشته و قادرند در خواست های دریافتی از برنامه های کلاینت مختلف را در ارتباط با یک صفحه واحد به طور مجزا و متنوع پاسخ دهند.
Hypertext preprocessor یا به اختصار PHP عنوان یک زبان اسکریپت نویسی همه منظور بوده و دارای ویژگی های زیر است:
- PHP کد باز است
- اسکریپت های نوشته شده به زبان PHP پیش از ارسال صفحه مورد نظر به برنامه کلاینت روی ماشین سررو به اجرا در می آیند.
- ساختار و دستور زبان PHP مشابه زبان برنامه نویسی perl است.
- PHP دارای قابلیتهای بسیار توانمندی در زمینه پشتیبانی از پروتکل HTTP است.
- اسکریپت های نوشته شده به زبان PHP را می توان در فایل واحدی به همراه کدهای HTML مستقر کرد.
- PHP دارای ماجول هایی برای ارتباط با سایر تکنولوژی ها از جمله تکنولوژی My SQL است.
اهمیت PHP در این حقیقت نهفته است که اسکریپت های نوشته شده به این زبان پیش از تحول داده ها به برنامه کلاینتی که آنها را مورد درخواست قرا رداده است به اجرا در میآیند. چنان که پیش از این نیز اشاره شد هدف از ایجاد PHP تحویل محتوای پویا از طریق پروتکل HTTP بوده است. این هدف به واسطه مکانیزم های سیستم PHP تامین می شود.
کد منبع PHP نیز به مانند وب سرور Apache به رایگان قابل دستیابی است. در واقع شرایط سختی برای بهره برداری از کد منبع آن وضع نشده است. زبان PHP از پشتیبانی جامعه کاربران نرم افزارهای کد باز و سایر تکنولوژی ها بهره می برد. وب سایت مربوط به این زبان اسکریپت نویسی به آدرس http://www.php.net به لحاظ توزیع نرم افزار و تدوین مستندات مربوطه پشتیبانی خوبی را به عمل می آورد.
مشابه وب سرور Apache منابعی را که به منظور نصب PHP بدان نیاز دارید بستگی به سیستم عامل دارد. وضعیت مختلف به قرار زیر است.
· در صورتی که نسخه مورد استفاده از سیستم عامل Linux حاوی بسته نرمافزاری PHP (در قالب مکانیزم RPM یا هر مکانیزم دیگر) باشد. به راحتی میتوان آن را با تسهیلاتی که سیستم عامل در ارتباط با نصب بستههای نرمافزاری در اختیار ما قرار میدهد، روی سیستم نصب کرد.
· نصب PHP تحت سیستم عامل ویندوز به سادگی امکانپذیر است. کافی است فایل مربوطه راپس از بارگذاری از حالت فشرده خارج کرد و فایلهای کلیدی خاصی را در موقعیتهای مشخصی از سیستم ایل مستقر کنید.
· چنانچه نسخه مورد استفاده از سیستم عامل Linux حاوی بسته نرمافزاری PHP نبوده، یا قابلیتهای خاصی که تنها به واسطه کامپایل مجدد PHP به دست میآید مورد نظر باشد به راحتی میتوان کد منبع PHP را بارگذاری و کامپایل کرد. هر آنچه را که به منظور بهرهبرداری از زبان اسکریپتنویسی PHP بدان نیاز دارید میتوانید با مراجعه به وب سایت مربوطه به آدرس http// www.php net مورد استفاده قرار دهید. البته روشهای دیگری نیز برای نصب ویندوز PHP موجود است. نسخه مورد استفاده از سیستم عامل Linux خود ممکن است شامل یک بسته نرمافزاری PHP باشد. این بسته نرمافزاری همچنین ممکن است از طریق وب سایت شرکت توسعه دهنده سیستم عامل نیز در دسترس باشد.
برای انجام عملیاتی که در این قسمت به شرح آن میپردازیم، لازم است به عنوان کاربر اصلی (اصطلاحاً root ) وارد سیستم شوید.
بیش از هر اقدامی جهت کامپایل PHP ابتدا لازم است با مراجعه به وب سایت مربوطه به آدرس اینترنتی phtt//www. Php. Net کد منبه آن را بر روی کامپیوتر خود بارگذاری کنید. فایل مورد نظر خود را پساز بارگذاری در موقعیت /usr/src از سیستم فایل مستقر کنید (موقعیت مزبور معمولا جهت نگهداری کدهای منبع برنامهها مورد استفاده قرار میگیرد.)
برای خارج کردن فایل بارگذاری شده از حالت فشرده و باز کردن فایل بایگانی حاصل، فرمان مناسب php- version ( که در آن متغییر version شماره ویرایش php است.) ایجاد شدهو کد منبع php در آن مستقر میشود.
به این ترتیب فایل آرشیو فشرده به صورت php- 4.3.1.tar نامگذاری شده است. در صورتی که این فایل را با بهرهگیری ازفرمان مناسب از حالت فشرده خارج و فایل بایگانی حاصل راباز کینم، قهرستی با عنوان php- 4.3.1 ایجاد شده و فایلهای حاوی کد منبع PHP در آن مستقر میشوند.
بیش از کامپایل PHP ضروری است که تغییراتی را با توجه به سیستم عامل مورد استفاده در متن برنامه اسکریپت make موجود در فهرست php- 4.3.1 ایجاد کنید. گزینههای PHP اغلب برای فرآیند نصب کافی هستند. با این وجود لازم است ترتیبی دهید تا ضمن فاریند نصب PHP ماجول به خصوصی از Apache (با توجه با سیستم عامل میزبان ) به منظور سروسیدهی به اسکریپتهای نوشته شده به زبان PHP نیز تولید شود. جهت پیکربندی برنامه اسکریپت make با این گزینه این فرمان را از فهرست میزبان PHP (موقعیتی از سیستم فایل که کد منبعPHP را در آنجا مستقر کردهاید)به اجرا درآوردید.
$.configure- prefix=/ usr/src/1oca1/php
چنانچه قصد دارید PHP را در فهرست دیگری غیر از usr/ 1oca1/Pgp نصب کنید کافی است موقعیت فهرست مورد نظر را در فرمان مزبور مشخص کنید. همچنین در صورتی که برنامه Apache را در فهرست دیگری غیر از usr/ 1oca/ apache2 نصب کردهاید لازم است موقعیت فهرست apxs را نیز با بهرهگیری از گزینه2 apxs مشخص کنید.
برای مشاهده گزینههای قابل استفاده در فرمان configure کافی است فمان مذکور را به صورت زیر با بهرهگیری از گزینه help فراخوانی کنید. $./configure—help
به منظور مشاهده بهتر گزینههای قابل استفادهبا فرمان configure خروجی فرمان مذکور را با بهرهگیری از مکانیزم پایپینگ به صورت زیر در اختیار فرمان more قرار دهید.
$./configure—help more
اکنون پس از اجرای فرمان configure میتوانیم اقدام لازم جهت نصب PHP را انجام دهیم. برای این کار دو فرمان زیر را به طور متوالی اجرا کنید.
$. Make
$. Make install
پس از تکمیل عملیات مربوط به فرمان Make install مطمئناً PHP بر روی کامپیوتر شما نصب شده است اما پیش از آن که بتوانید PHP را مورد استفاده قرار دهید لازم است فایل php Ini (فایل پیکربندی PHP ) را به موقعیت به خصوصی از سیستم فایل منتقل کنید. برای این منظور میتوانید فرمان زیر را به اجرا درآورید.
Cp php. Ini-dist/ usr/ 1oca1/ php/ lib/php.ini
در صورتی که PHP را در جایی غیر ازموقعیت پیشفرضی (یعنی / usr/ 1oca1/ php) نصب کردهاید لازم است فرمان اخیر را به گونهای مناسب تغییر دهید.
همچنین اقدامات دیگری را باید به منظور بهرهبرداری از PHP به همراه وب سرور Apache انجام دهید.
نصب PHP از طریق بسته نرمافزاری منتشر شده به همراه سیستم عامل این مزیت را دارد که مکانیزم RPM فایلهای مربوطه بهPHP را در موقعیت به خصوصی از فایل سیستم که به منظور نصب برنامههای کاربردی پیشبینی شده است مستقر میکند.
چنانکه شکل نشان میدهn با بهرهگیری از یک برنامه مدیریت فایل (همچون برنامه Nautilus ) به راحتی میتوان این بسته نرمافزاری را بر روی سیستم میزبان نصب کرد. برای این کار کافی است در برنامه مدیریت فایل روی آیکن برنامهای که قصد نصب آن را دارید کلیک کنید. روش دیگر نصب برنامه مورد نظر از طریق بسته نرمافزاری مربوطه این است که به وصرت زیر از فرمان rpm استفاده کنید.
$. Rpm- I php-4 2.2.-8.05.i386.rpm
در اجرای فرمان مذکور لازم است نام بسته نرمافزاری مورد نظر را با نام فایلی که در این جا مشاهده می کنید جایگزین کنید.
هنگام نصب برنامه کاربردی از طریق بسته نرمافزار RPM، سیستم عامل میزبان بررسی دقیقی درباره برنامه و ابزارهای پیش نیاز (اصطلاحا dependencies ) . همچنین احتمال وجود نسخههای قدیمیتر برنامه مورد نظر بر روی سیستم انجام می دهد. در صورتی که مشکل خاصی به وجود نیاید PHP با موفقیت نصب میشود. اما چنانچه خطایی رخدهد، لازم است منبعخطایی را شناسایی کنیم و آن را صلاح کنید و فرمان اخیر را مجددا به اجرا درآورید.
پس از نصب PHP از ظریق بسته نرمافزرای RPM بهتر است با بهرهگیری از مکانیزم ارتقای برنامههای کاربردی سیستم عامل خود این موضوع که آخرین فابلیت های PHP را در اختیار دارید، اطمینان حاصل کنید. برای مثال در صورتی که از سیستم عامل Redhat Linux استفاده میکنید، با بهرهگیری از برنامه کمکی Redhat Update Agent میتوانید ویرایش شماره 8.0.5 از برنامه PHP 4.2.2 را به ویرایش شماره 8.0.7 ارتقا دهید شکل نحوه انجام این کار را نشان میدهد.
بسته نرمافزاری PHP که به همراه سیسم عامل Redhat Linux منتشر شده است ، دارای مشکلاتی در زمینه ارتباط با بانک اطلاعاتی MSQOL است. برای رفع این مشکل نسخه جدیدی از PHP را از وب سایت مربوطه بارگذاری و کامپایل کنید، یا این که با مراجعه باه وب سایت رسمی سیستم عامل Redhat Linux اقدام به بارگذاری بسته نرمافزاری PHPMYSQL کنید. نصب این بسته نرمافزاری موجب رفع اشکال فوق خواهد شد.
1- ابتدا یک کپی پشتیبان از فایل PHP. Ini.dist (که اکنون در فهرست php –version-Win32 واقع است) تهیه کرده سپس نام آن را به PHP. Ini تغییر دهید. فایل حاصل را با توجه به نوع سیستم عامل ویندوز مورد استفاده در فهرست winnt یا windows کپی کنید.
برای این که وب سرور Apache را به سرویسدهی به PHP کنید لازم است اقداماتی را انجام دهید. نکته مهم در این رابطه آن است که Apache باید قادر به تشخیص اسناد PHP بوده و آنها را به مفسری که قادر به تفسیر این گونه اسناد است، هدایت کند.
برای این که وب سرور Apache قادر به ارائه سرویسهای مورد نیاز به PHP باشد، ناچار باید فایل پیکربندی httpd. Conf را مورد ویرایش قرار دهید. موقعیت این فایل بستگی به نوع سیستم عامل میزبان و شیوهای دارد که برای نصب وب سرور Apache اتخاذ کردهاید. چنانچه وب سرور Apache را از طریق بسته نرمافزاری RPM تحت سیستم عامل Redhat Linux مصب کرده باشید فایل مورد بحث مطمئناً در فهرست /etc/httpd/ cont مستقر خواهد بود. با این حال به منظور اطلاع از موقعیت دقیق این فایل کافی است این فرمان را به اجرا درآورید . $ locte httpd . conf
اولین تغییر مورد نیاز این است که ترتیبی دهیم تا ماجول PHP هنگام راهانازی وب سرور Apache بر روی آن بارگذاری شود. وب سرور مذکور با در اختیار داشتن این ماجول میتواند فایلهای PHP را از طریق پردازنده PHP به خوبی مورد پردازش قرار دهد.
برای ویرایش فایل httpd. Conf ابتدا آن را در یک برنامه ویرایشگر متن باز کرده و این خطوط را مورد جستجو قرار دهید.
سپس خط زیر را در ادامه خطوطی که با LoadModule آغاز میشوند درج کنید.
LoadModule php4 – modules/ libphpf4 .so
مطمئن شوید که ماجول libphpf4 .so در فهرستی که سایر ماجولهای Apache در آن مستقر شدهاند واقع است. ماجول مزبور را میتوانید در زیر فهرست lib از فهرست میزبان PHP فایلها، یعنی فهرست php- version- Win32 پیدا کنید. در صورتی که کد منبع Apache را به منظور پشتیبانی از PHP کامپایل کرده باشید نیازی به اضافه کردن خط فوق در فایل httpd. Conf نیست. (برای اطلاع از ماجولهای پشتیبانی شده توسط وب سرور Apache کافی است فرمان httpd را به همراه سوئیچ -1 به نشانه “list” اجرا کنید.
دومین تغییری که در فایل پیکربندی httpd. Conf خواهیم داد به وب سرور Apache کمک میکند تا فایلهای PHP را از سایر فایلها تشخیص دهد. این اقدام از آن جهت که فایلهای PHP لزوماً باید با استفاده از مفسر PHP تفسیر شوند ضروری است. برای این منظور باید نوع فایلی را که مشخصه PHP است در فایل پیکربندی Apache یعنی httpd. Conf توصیف کنیم.
ابتدا محتوای فایل کزبور را به منظور یافتن خطوط زیر مورد جستجو قرار دهید.
سپس دو خط زیر را در ادامه خطوطی که با Addtype آغاز میشونددرج کنید.
Addtype application/ x- httpd- php . php. Phtml
Addtype application/ x- httpd- php . source.phps
خط اول کلیه فایلهایی را که با پسوند php. یا phtml مشخص شدهاند به عنوان یک فایل PHP معرفی میکند. هر بار که وب سرور با درخواستی برای این گونه فایلهای مواجه شود، فایل مورد نظر را به منظور پردازش در اختیار مفسر PHP قرار داده و نتیجه حاصل از آن را برای درخواست کننده ارسال میکند. به طور مشابه، خط دوم تمامی فایلهایی را که با پسوند phps مشخص شدهاند به عنوان فایل حاوی کد منبع PHP معرفی میکند. این گونه فایلها در قالب یک فایل متن برای درخواستکننده ارسال میشود. مشخصه های موجود در این فایل متن به کاربر کمک میکند تا برنامه PHP موجود در آن فایل را مورد مطالعه و احتمالاً اشکالزدایی قرار دهد. با این وجود در صورتی که برنامه ویرایشگر متن مورد استفاده در سمت کلاینت از قابلیت تشخیص برنامههای PHP برخوردار باشد نیازی نیست که این قابلیت از جانب وب سرور Apache تامین شود. از این رو به سادگی میتوانید از خط مربوط به معرفی نوع فایل phps صرف نظر کنید.
پس از ویرایش فایل پیکربندی httpd. Conf تغییرات را ذخیره کرده و با صدور فرمان زیر وب سرور Apache را مجدداً راهاندازی کنید. (این راهاندازی مجدد به منظور مشاهده تاثیر تغییرات اعمال شده ضروری است. )
$. Apachrctl resart
سرگذشت MYSQL بسیار جالب توجه است. پدید آورندگان این تکنولوژی ابتدا کار خود را با بهرهگیری از بانک اطلاعاتی دیگری با عنوان mSQL آغاز کرده و سعی داشتند تا با روتینهای پر سرعت و سطح پایینی خود اقدام به توسعه آنها کرده بودند به این بانک اطلاعاتی متصل شده و دادههای موجود در آن را مورد دستیابی و استفاده قرار دهند. با این وجود پس از ارزیابیهایی متعدد به این نتیجه رسیدند که mSQL برای هدفی که آنها دنبال میکردند از سرعت مناسبی برخوردار نیست. از این رو شروع به توسعه رابطهای جدیدی برای دستیابی به بانک اطلاعاتی mSQL کرده و در حد امکان تلاش کردند تا رابط برنامهنویسی کاربردی Application Progrmming Interface (اصطلاحاً API ) حاصل شباهت بسیاری به رابط موجود در mSQL داشته باشد.
نام فهرست اصلی و همچنین اسامی بسیاری از توابع کتابخانهای که این برنامهنویسان در ابتدا توسعه دادند اغلب با پیشوند ‘MY” همراه بود (ضمناً دختر یکی از ایشان نیز MY نام داشت. اما این که دقیقاً چه کسی پیشوند MY را برای نام این بانک اطلاعاتی انتخاب کرد نامشخص است.)
امروزه MYSQL به یک رقیب بسیار جدی برای بانکهای اطلاعاتی تجاری تراز اول از جمله سلطان بیگفتگوی دنیای بانکهای اطلاعاتی یعنی Oracle تبدیل شده است. در حقیقت ردهبندی اخیر بانکهای اطلاعاتی موجود حاکی از آن است کهنسخه شمره 4x از بانک اطلاعاتی MYSQL بسیار کارآمدتر شده و ویژگیهای جدیدی از مجله InnoDB (با عنوان قبلی Innobase) که برای پشتیبانی از مکانیرم ACID )نام اختصاری برای اشاره به مجموع ویژگیهای (Durability , Isolation, Consitency, Atomicity پیادهااسزی شده و از لحاظ کارآیی و قابلیتها آن را به رقیب سرسختی برای بانکهای اطلاعاتی تجاری تبدیل کرده است.
بانک اطلاعاتی MYSQL کد باز بوده و به رایگان میتوان آن را مورد دستیابی قرار داد به واسطه طراحی ماجولار روابط برنامهنویسی کاربردی توانمند ان، میتوان بانکهای اطلاعاتی قابل اعتمادی را با کمترین هزینه ایجاد کرده و به بهرهبرداری رساند.
نصب MYSQL فرآیند بسیار سادهای است. علاوه بر نسخه قابل اجرا (اصطلاحاً نسخه باینری) میتوان کد منبع آن را کامپایل کرد و به یک سیستم مدیریت بانک اطلاعاتی به عوامل بستگی دارد که در قالب پرسشهای زیر مطرح میکنیم.
· کدام یک ازسیستمهای عامل ویندوز یا Linux به عنوان محیط زیربنایی میزبان MYSQL خواهد بود؟
· در صورت میزبانی سیستم عامل Linux ایا جدیدترین نسخه بانک اطلاعاتی MYSQL در قالب یک بسته نرمافزری به همراه این سیستم عامل توزیع شده است؟
· آیا نسخه کامپایل شده ویژهای از بانک اطللاعاتی MYSQL مورد نیاز است یا کامپایل شده استاندارد انتظارات را برآورده خواهد کرد؟
تقریباً تمامی کاربران با مراجعه به وب سایت رسمی MYSQL به آدرس http// www. Mysql. Com می توانند نسخه مناسبی از این بانک اطلاعاتی را با توجه به سیستم عاملی که از آن استفاده میکنند مورد دستیابی قرار دهند.
کاربران ویندوز میتوانند نسخه قابل نصب این بانک اطلاعاتی را بارگذاری کنند. کاربران Linux گزینههای متعددی را با توجه به نوع سختافزار مورد استفاده در اختیار دارند. کاربران سیستم عامل Redhat Linux میتوانند بستههای نرمافزاری RPM این بانک اطلاعاتی را مورد دستیابی و استفاده قرار دهند.ضمناً تمامی کاربران سیستم عامل Linux میتوانند کد منبع MYSQL را بارگذاری کرده و مطابق با نیاز کامپایل کنند.
کامپایل کد منبع MYSQL تحت سیستم عامل Linux بیار ساده بوده و تشابه بسیاری به کامپایل کد منبع Apche و PHP دارد. برای کامپایل MYSQL ابتدا باید کد مناسبی از کد منبع آن را (با توجه به سیستم عامل میزبان ) از وب سایت مربوطه بارگذاری کنید. برای این منظور دو نسخه آرشیو (برای تمامی نسخههای سیستم عامل (Linux, UNIX و RPM (برای سیستم عامل (Redhat Linux قابل دستیابی و بارگذاری است. نسخه مورد نظر خود را پس از بارگذاری در موقعیتی از سیسستم فایل که به منظور نگهداری کد منبعنرمافزارها پیشبینی شده است، مستقر کنید. پس ازآنکه با عنوان مدیر سیتم (کاربر صلی یا اصطلاحاً root ) وارد سیستم شدید اقدامات زیر را به ترتیب جهت کامپایل کد منبع MYSQL انجام دهید.
1- به فهرست میزبان کد منبع MYSQL تغییر موضع دیهد.
2- به منظور ایجاد گروهی با عنوان mysql وکاربری با همین نام دو فرمان زیر را اجرا کنید.
$. Groupadd mysql
$. Useradd - -gmysql mysqle
3- برنامه اسکریپت Configur را به منظور پیکربندی بیش از کامپایل به صورت زیر اجرا کنید.
4- دو فرمان زیر را به منظور کامپایل و نثب MYSQL اجرا کنید.
$. Make
4.make instll
5- برنامه اسکریپت ویژهای با عنوان mysql – install- db را به ترتیبی که در ادامه ملاحظه میکنید به اجرا درآورید.
$. Script/mysq;- install
برنامه مذکور جداول مورد نیاز برای عملیات مختلف MYSQL را ایجاد می کند.
5- فرامین زیر را به منظور اعطای مجوزهای مورد نیاز به فایلهای مختلف MYSQL اجرا کنید.
6- هر یک از فرامین فوق را در صورت نیاز با توجه به فهرست میزبان MYSQL اصلاح کنید.
با انجام اقدامات فوق بانک اطلاعاتی MYSQL بر روی کامپیوتر نصب خواهد شد.
فرآیند نصب بانک اطلاعاتی MYSQL نسخه اجرایی آن بسیار ساده است. با این حال پس از تکمیل فرآیند لازم است اقداماتی را به منظور اطمینان ار صحت عملیات نصب این بانک اطلاعاتی انجام دهید. در صورتی که مایل به نصب نسخه عمومی و قابل اجرای MYSQL هستید. ابتدا با مراجعه به وب سایت مربوطه آرشیو مناسبی را انتخاب و بارگذاری کنید و سپس اقدامات زیر را به ترتیب انجام دهید.
1- فایل آرشیو بارگذاری شده را در فهرست موقتی از سیستم فایل مستقر کنید.
2- فرمان زیر را به منظور ایجاد گروهی با عنوان MYSQL و کاربری با همین نام به اجرا درآورید.
3- بسته به نوع فایل آرشیو بارگذاری شده با استفاده از برنامه کمکی مناسبی همچون tar ,gunzip با ترکیبی از آنها فایل مزبور را در فهرست /usr/local
4- با بهره گیری از فرمان IN به شکلی که ملاحظه میکنید پیوندی با عنوان MYSQL را به منظور اشاره به فهرست حاصل از اقدام مرجله قبل (فهرستی بانام linux- i686 mysl- atsndard-4.0.12-pc )اسجاد کنید (علامت در این فرمان نماینده باقیمانده نام فهرست شامل شماره ویرایش MYSQL است.)
5- به صورت زیر از فهرست جاری به فهرست MYSQL تغییر موضع داده و به منظور پیکربندی MYSQL و ایجاد بانکهای اطلاعاتی و جداول مورد نیاز برنامه اسکریپت mysqul-intall-db را از زیر فهرست scripts از آن فهرست اجرا کنید:
$ cd mysql
$ scripts.mysql-intall-db
با اجرای فرامین زیر مجوزهای لازم را به گروه و کاربر mysql اعطا کنید:
؟
با انجام اقدامات فوق بانک اطلاعاتی My sql بر روی کامپیوتر نصب خواهد شد.
نصب بسته نرم افزاری MySQL تحت سیستم عامل Linux
ساده ترین روش برای نصب Mysql تحت سیستم عامل Linux بهره گیری از بسته نرم افزاری این بانک اطلاعاتی است که به همراه سیستم عامل نامبرده منتشر می شود. جهت دستیابی به جدیدترین نسخته Mysql که در قالب بسته نرم افزاری توزیع شده است،کافی است به وب سایت رسمی این بانک اطلاعاتی مراجعه کنید.
جهت نصب Mysql تحت سیستم عامل linux در صورت امکان همواره از بسته نرم افزاری توزیع شده از طریق وب سایت http://www.mysql.com به نسخه منتشر شده از Mysql هستند. با این وجود به خاطر داشته باشید که نسخه قدیمی نرم افزارهای نصب شده بر روی سیستم را می توان با بهره گیری از مکانیزم های ویژه ای هم چون redhat update agent به نسخه های جدید ارتقا داد. روش اخیر ( نصب و ارتقا) دارای این مزیت است که می توان نرم افزار مورد نظر را از طریق بسته نرم افزاری مربوطه که به همراه سیستم عامل توزیع می شود بر روی کامپیوتر نصب کرد. در نهایت یک یا دو نرم افزار نصب شده بر روی کامپیوتر ویرایش قدیمی ترین ویرایش نرم افزار مورد نظر خواهد بود.
برای نصب Mysql از طریق بسته نرم افزاری مربوطه ابتدا آن بسته نرم افزاری را با مراجعه به وب سایت Mysql یا سیستم عامل میزبان بر روی کامپیوتر نصب کنید. در فرآیند فوق لازم است تمامی بسته های نرم افزاری پیش نیاز را نیز نصب کنید در مورد بانک اطلاعاتی Mysql معمولا نصب برنامه های سرور و کلاینت کفایت می کند.
برای مثال جهت نصب بسته نرم افزاری Mysql تحت سیستم عامل redhat linux این اقدامات را انجام دهید:
1- فایل های مربوط به بسته نرم افزاری Mysql ( شامل mysql-server-version.i386.rpm و Mysql-client-version.i386.rpm) را با مراجعه به وب سایت Mysql بر روی کامپیوتر میزبان بار گذاری کنید.
2- جهت نصب Mysql فرمان زیر را به اجرا درآورید:
بانک اطلاعاتی Mysql به همین سادگی بر روی ماشین میزبان نصب می شود. بهره گیری از مکانیزم RPM در ارتباط با ایجاد گروه و کاربر Mysql پیکربندی اولیه Mysql به منظور ایجاد بانک های اطلاعاتی و جداول مورد نیاز و بالاخره صحت عملکرد Mysql اطمینان خاطر می دهد.
مکانیزم نامبرده فایل های اجرایی Mysql را در فهرست /usr/bin و فایل های مربوط به بانک اطلاعاتی را در فهرست /ver/lib/ Mysql مستقر می کند.