خوب برای شروع بهتره از تاریخچه این سرویس بپردازیم و بعد به محبوبیت آن و نهایتا مراحل نصب و راه اندازی این سرویس.امیدوارم که هم به درد خودم بخورد و هم به درد دوستان.تاخیر رو هم ببخشید این یک ماه واقعا کارم سنگینه ولی به نتایج این یک ماه واقعا امیدووارم .
تاریخچه:
وب سرور آپاچی یکی از قدرت مند ترین و انعطاف پذیر ترین نوع سرور ها می باشد.این سرویس در ابتدا برای جایگزینی NCSA HTTP انتخاب شد ولی بعد از گذشت چند سال به محبوب ترین وب سرور روی اینترنت تبدیل شده است.این نرم افزار توسط بنیاد نرم افزاری آپاچی اداره می شود و این بنیاد به عنوان توسعه دهنده تلاش دارد که سروری بر مبنای استفاده های تجاری و استاندارد و با کد آزاد ارائه دهد.
The Apache HTTP Server is a powerful and flexible HTTP/1.1 compliant web server. Originally designed as a replacement for the NCSA HTTP Server, it has grown to be the most popular web server on the Internet. As a project of the Apache Software Foundation, the developers aim to collaboratively develop and maintain a robust, commercial-grade, standards-based server with freely available source code.
محبوبیت:
از محبوبیت این برنامه هر چی بگم بازم کم هست.همه ی سرور هایی که از سی پنل و دیرکت ادمین به عنوان وب هاست منیجر استفاده می کنند از این سرور به عنوان وب سرور استفاده می کنند.شرکت های بزرگی مثل اچ پی یا Adobe یا حتی فیس بوک از این نوع وب سرور استفاده می کنند و این استحکام و پایدار بودن آن را به اثبات می رساند.این نمودار هم از سایت نت کرفت برداشته شده و نشان دهنده ی برتری بی چون و چرای این سرور بر دیگر وب سرور های موجد است تاریخ این نمودار نیز مربوط به ماه پیش است.برای اطلاعات بیشتر به این صفحه مراجعه کنید.آب آپاچی هستش.
نصب:
خوب برای نصب اول باید بفهمیم که روی دستگاه ما سرویس آپاچی نصب نشده باشد.برای این کار می توانیم از دو روش استفاده کنیم.
۱-با استفاده از rpm به جست و جو بپردازیم.
root@proxy ~]# rpm -qa httpd
httpd-2.2.3-6.el5.centos.1
البته در CentOS به این شکل نصب شده باشد،اگر شما از دیسترو دیگری استفاده کنید حتما apache یا apache-2 را جستجو کنید.
برای پاک کردن این سرویس از طریق rpm دستور زیر را وارد کنید.
root@proxy ~]# rpm -ev --allmatches --nodeps httpd
nodeps برای اینکه به دیپندنسی ها(احتیجات) توجه نکند و allmatching همه ی پکیج های با این اسم رو پاک کند.
۲-با استفاده از yum هم می توان به جست و جو پرداخت.
root@proxy ~]# yum list httpd
Failed to set locale, defaulting to C
Loading "installonlyn" plugin
Setting up repositories
Reading repository metadata in from local files
Installed Packages
httpd.i386 ۲٫۲٫۳-۶٫el5.centos.1 installed
برای پاک کردن از طریق yum که بسیار آسان تر هم انجام می شود.
root@proxy ~]# yum remove httpd
Failed to set locale, defaulting to C
Loading "installonlyn" plugin
Setting up Remove Process
No Match for argument: httpd
No Packages marked for removal
خوب چون با rpm پاک کرده بود اینجا ایراد گرفت.
خوب حالا که هیچ سرویس با این نام نداریم،لازم است چک کنیم که سرویس دیگری پرت ۸۰ را اشغال نکرده باشه این را میشه با یک نت کت ساده انجام داد.
root@proxy ~]# nmap localhost
اگر پورت ۸۰ نداشت خوب اپاچی را پاک کردیم و سرویس دیگری نداریم که این درگاه را اشغال کند.
خوب حالا سراغ نصب اپاچی می رویم.
برنامه را با توجه به ورژنی را به کار می خواهیم ببریم انتخاب می کنیم.معمولا ورژن هایی که تاریخ جدید تری دارند باگ های کمتری دارند و ایراداتشون گرفته می شوند ولی همیشه سعی کنید که از ورژن های استیبل Stable استفاده کنید.
خوب در این صفحه می توانید زیر این قسمت ورژن مورد نظر را پیدا کنید:
http://httpd.apache.org/download.cgi
خوب ما ابتدا فایل سرس را دانلود می کنیم و سپس با کلید ام دی ۵ چک می کنیم.۲ دلیل برای این کار وجود دارد یکی اینکه ببینیم فایل مورد نظر همون آپاچی می باشد یا خیر زیرا ممکن است حین دریافت فایل توسط خربکاری هایی فایل مورد نظر تغییر کند و دومی اینه که فایل مورد نظر سالم است و خراب نشد باشد.معمولا فایل های سرس را در:
/usr/local/src
قرار می دهیم.
root@proxy ~]# cd /usr/local/src/
root@proxy src]# wget http://www.gtlib.gatech.edu/pub/apache/httpd/httpd-2.2.13.tar.gz
--00:04:24-- http://www.gtlib.gatech.edu/pub/apache/httpd/httpd-2.2.13.tar.gz
Resolving www.gtlib.gatech.edu... 128.61.111.10, 128.61.111.11, 128.61.111.9, ...
Connecting to www.gtlib.gatech.edu|128.61.111.10|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 6897450 (6.6M) [application/x-gzip]
Saving to: `httpd-2.2.13.tar.gz'
100%[=======================================>] 6,897,450 ۲٫۹۹M/s in 2.2s
00:04:27 (2.99 MB/s) - `httpd-2.2.13.tar.gz' saved [6897450/6897450
خوب حالا می رویم به سراغ کلید md5 اول دانلود می کنیم و بعد چک می کنیم.
root@proxy src]# md5sum httpd-2.2.13.tar.gz
2803e35be6650f5b739e6e91faa824dd httpd-2.2.13.tar.gz
root@proxy src]# cat httpd-2.2.13.tar.gz.md5
2803e35be6650f5b739e6e91faa824dd httpd-2.2.13.tar.gz
خوب می بینید قسمتی از کد که بولد هستش با خط پایینی درست بود پس تا اینجا مشکلی نسیت.
خوب حالا باید فایل سرس را باز کنیم.
tar xvzf httpd-2.2.13.tar.gz
بعد شروع می کنیم به نصب محل نصب به صورت پیش فرض
/usr/local
می باشد و ما هم با این مشکلی نداریم.ولی اگر می خواهید به صورت یوزر عادی نصب کنید باید در این قسمت تغییراتی ایجاد کنیم.این رو در پست ۲ به طور کامل توضیح می دهم.
برای نصب کامل نیاز ۵۰ مگابایت فضا است که بعد از نصب این فضا میتواند به ۱۰ مگابایت تقلیل یابد.
فقط ابتدا باید فایل سرس را برای هدفمون و ویژگی هایی که می خواهیم آپاچی داشته باشد آماده کنیم.این کار با استفاده از
configure/.
انجام می شود.این دستور ترجیهات و اپشن ها و ماجول ی زیادی دارد که از آن ها می توان به تعدادی به درد بخور در اینجا اشاره کرد ولی خوب در آخر صفحه یک مرجع برای این آپشن ها اشاره می کنم.به صورت پیش فرض تعدادی از ماجول ها روشن هستند که با استفاده از این دستورات این ها را خاموش کرد این ها را با استاده از این سیست مدستوری می توان خاموش کرد.
configure --disable-mod/.
جای mod ماجول مورد نظر خود را قرار داهید.مثلا برای خاموش کردن cgi که به طور پیش فرض روشن است.
configure --disable-cgi/.
لیست تقریبا طولانی هستش ولی می توانید از این صفحه به طور کامل ببینید.
در ضمن ماجول هایی هستند که به صورت پیش فرض غیر فعال هستند این ماجول ها را با این شکل می توانید فعال کنید:
configure --enable-mod/.
برای مثال ماجول proxy به صورت پیش فرض خاموش کرد برای روشن کردن:
configure --enable-proxy/.
با توجه به زیاد بودن تعداد آپشن ها دیگر به همه اشاره نمی کنیم ولی می توانید از این صفحه تقریبا تمامی ماجول های موجود را ببینید.
خوب ما که تغییر گسترده ای نمی خواهیم انجام بدیم و اپشن های پیشفرض برای ما کافی است فقط چند تا ماجول هست که برای کار های بعدی ما نیاز می شود پس حتما ان ها را استفاده می کنم.
ابتدا باید مطمئن شویم که کامپایلر مناسب برای این کار را داریم یا خیر پس بهتر است با استفاده از YUM این دو برنامه ی مورد نیاز را نصب کنیم.
root@proxy httpd-2.2.13]# yum install gcc make openssl-devel.i386
خوب حالا شروع می کنیم به کانفیگ کردن:
root@proxy httpd-2.2.13]# ./configure --enable-ssl --enable--deflate
خوب اگر بدون هیچ مشکلی نصب شد به مرحله ی بعد می رویم،این مرحله کامپایل کردن هستش.
root@proxy httpd-2.2.13]# make
بعد از این کار صفحه بسیار شلوغ می شود صبر کنید که تا آخر این کار را ادامه بدهد در ضمن ممکن است با توجه به نوع سیستم مدت زمان این کار فرق بکند ولی حتما ببینید که در آخر کار به مشکلی بر نخورده باشد در غیر صورت نمی توانیم به مرحله ی بعد وارد شویم.
make[1]: Leaving directory `/usr/local/src/httpd-2.2.13'
خوب به نظر می اید بدون ایراد انجام شده است کار ما پس به مرحله آخر که نصب می باشد می رویم.اگر در قسمت قبلی مشکلی بود حتما سعی کنیدآن را حل کنید و سپس دستور make را با دیگر اجرا نمایید.
root@proxy httpd-2.2.13]# make install
….
mkdir /usr/local/apache2/cgi-bin
Installing header files
Installing build system files
Installing man pages and online manual
mkdir /usr/local/apache2/man
mkdir /usr/local/apache2/man/man1
mkdir /usr/local/apache2/man/man8
mkdir /usr/local/apache2/manual
…..
این دستور کاری که انجام می دهد این است که فایل ها را در جا هایی که باید بروند کپی می کند.الان ما به طور کامل آپاچی را نصب کرده ایم.در پست بعدی به راه اندازی و نگهداری آن می پردازیم.
لازم به ذکر است که آپاچی ما در
/usr/local/apache2/
قرار گرفته و تنظیمات آن نیز در این مکان قرار دارد
/usr/local/apache2/conf/
برای روشن کردن این دستور را وارد می کنیم ولی برای اینکه کار را راحت تر پیش ببریم در پست بعدی اطلاعات بیشتری داده خواهد شد.
usr/local/apache2/bin/apachectl start/.
خوب کار الان تمام شده فقط برای اینکه چک کنیم که آیا به درستی کار می کند از این دستور استفاده می کنیم.
root@proxy bin]# nmap localhost
Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2009-10-04 01:58 PDT
Interesting ports on localhost.localdomain (127.0.0.1):
Not shown: 1676 closed ports
PORT STATE SERVICE
22/tcp open ssh
25/tcp open smtp
80/tcp open http
اگر روزی خواستید آن را پاک کنید نیاز دوباره به سرس کد دارید پس یادتان باشد که فایل فشرده را پاک نکیند.برای پاک کردن از دستور زیر در فولدر باز شده ی سرس استفاده کنید.
root@proxy httpd-2.2.13]# make unistall
منابع و سایت های مورد نیاز:
450 بازدید


(+2 موردعلاقه, 2 رای)
[...] ۲ پست سعی می کنم آپاچی را کامل کنم و بعد به سراغ لایت تی پی دی می روم.سعی کی کنم [...]
سلام.
عالی بود …. جای این جور مطالب توی مقالات تخصصی واقعا خالیه .
لطفا ادامه بدید.
یه سوال هم داشتم , میشه بعد از نصب آپاچی ماژول ها رو اضافه کرد ؟
با تشکر-از حسن نظر شما ممنونم در حال آماده کردن مقاله ی دوم آپاچی هستم ولی گیر اینم بودم ( ۲ می البته)یک خورده وقتم تنگ شد از فردا دوباره می نویسم
[...] اول تا آوردن فایل رو هاست و باز کردن فایل مثل مقاله ی قبلی می باشد.در مرحله configure این تغییرات را باید انجام [...]
من apache2 رو راحت از رو مخازن اوبونتو نصب کردم. جالبترین قسمت پستت سرعت اینترنت بود! ۳MBps ! شما ایران نیستی درسته؟ من یکی از بزرگترین آرزوهام داشتن همچین اینترنتی هست.:(
سلام
نصب با سرس امکان کاستومایز کزدن بیشتری به ما می ده که در پست بعدی ۲ تا نموننشودیدم. در ضمن من ایرانماون سرور که دیدید تو امریکابود و یکی از سرورام هستش که برای این کار کنار گذاشتم