نصب و راه اندازی apache روی Centos

آپاچیدر این نوشته می خواهیم روش نصب و راه اندازی وب سرور Apache را روی سرور لینوکس با سیستم عامل Centos5 بررسی کنیم.

Apache یک وب سرور قدرتمند تحت لینوکس می باشد که تقریبا به استاندارد در وب سرورهای لینوکس تبدیل شده است. البته Apache با نام httpd هم خوانده می شود و از آنجا که لینوکس هم Apache را با نام httpd می شناسد ما هم برای سهولت از همین نام برایش استفاده می کنیم.

علاوه بر httpd وب سرورهای تحت لینوکس دیگری هم وجود دارند که لیست پرطرفدارترین آن ها در ادامه آمده است:

  1. Litespeed
  2. Lighttpd
  3. Nginx

هر کدام از وب سرورهای بالا مزایا و معایب خاص خودشان را دارند و البته نقطه ی قوت همه ی آن ها نسبت به httpd در تعداد کاربر آنلاین در آن هاست. به طور کلی httpd می تواند حداکثر به ۱۰۰۰۰کاربر به صورت همزمان سرویس بدهد. سایر وب سرورهای مورد اشاره مشکل محدودیت تعداد کاربر را ندارند. با این وجود عمدتا httpd به عنوان استاندارد لینوکس شناخته می شود و اسکریپت های تحت وب بهترین همخوانی را با httpd دارند. از همین رو و با توجه به اینکه هجوم همزمان بیش از ۱۰۰۰۰کاربر به صورت همزمان تنها برای تعداد کمی از سایت های پربازدید اتفاق می افتد می توان گفت httpd برای شروع بهترین گزینه است.

برای شروع روال نصب، نرم افزار PUTTY را باز می کنیم و در قسمت Host Name آدرس IP سرور را وارد می کنیم. کافیست Connection Type را روی SSH قرار دهیم و روی Open کلیک کنیم تا PUTTY به سرور ما متصل شود.

اتصال به سرور با PUTTYبعد از این مرحله پنجره ی سیاه رنگ ترمینال لینوکس باز خواهد شد که به ما اجازه می دهد دستورات خود را وارد کنیم. البته قبل از وارد کردن دستورات باید مرحله ی احراز هویت را پشت سر بگذاریم. به همین دلیل ترمینال در قدم اول نام کاربری و پس از آن رمز عبور را از ما می خواهد. نام کاربری که معمولا root است و مشکلی در مورد آن نداریم. ولی در مورد رمز عبور باید دقت کنیم که:

نکته ی اول این است که رمز عبور در هنگام وارد کردن در ترمیناال دیده نمی شود و نکته ی دوم در مورد Copy و Paste کردن رمز عبور است. معمولا رمز عبور root در لینوکس یک رشته از حروف و اعداد نامرتبط است که بخاطر سپردنش کار راحتی نیست و به همین خاطر کاربران معمولا ترجیح می دهند رمز را Paste کنند. در این مورد باید دقت کنیم که rightclick کردن در محیط ترمینال به معنای دستور Paste است و باعث می شود رمز عبور ما وارد ترمینال شود. البته چون وارد شدن رمز در صفحه دیده نمی شود ممکن است کمی باعث سردرگمی کاربر شود.

بعد از وارد کردن رمز عبور و زدن enter می توانیم نصب را شروع کنیم.

قدم اول: به روز رسانی Centos

قبل از هر کاری لازم است سیستم عامل روی سرور را به روز رسانی کنیم. دستور لازم برای این کار به صورت زیر است.

yum -y update

قدم دوم: نصب Apache

با وارد کردن دستور زیر وب سرور Apache روی سرور نصب می شود.

yum -y install httpd

قدم سوم: اجرا و تست اولیه ی Apache

در این مرحله می خواهیم از نصب موفقیت آمیز وب سرور مطمئن شویم پس لازم است با دستور زیر آن را روی سرور اجرا کنیم.

service httpd start

اگر همه چیز درست پیش برود با یک OK به رنگ سبز مواجه خواهیم شد. حالا می توانیم مرورگر خود را باز کنیم و آدرس IP سرور را در قسمت آدرس بار آن وارد کنیم. قاعدتا در این مرحله باید با صفحه ای مطابق تصویر زیر روبرو شویم که در واقع به معنای نصب موفقیت آمیز Apache روی سرور است.

صفحه ی تست Apacheقدم چهارم: اضافه کردن Apache به لیست boot سرور

در این قسمت می خواهیم Apache را به لیست boot سرور اضافه کنیم تا با هر بار خاموش و روشن شدن و یا restart شدن سرور Apache به صورت خودکار اجرا شود. برای این کار از دستور زیر استفاده می کنیم.

chkconfig httpd on

قدم چهارم: معرفی Virtaul Host

حالا به سراغ آدرس زیر می رویم:

/etc/httpd/conf

فایل httpd.conf را پیدا کرده و ویرایش می کنیم. برای ویراش می توانیم از دستور vi یا دستور nano استفاده کنیم. فایل httpd.conf حاوی تنظیمات مربوط به httpd است و تمام قابلیت ها و ماژول های Apache از طریق این فایل قابل کنترل هستند. فعلا کاری که ما می خواهیم انجام بدهیم این است که پوشه ای در آدرس زیر ایجاد کنیم و کاری کنیم که با وارد کردن IP سرور این پوشه توسط Apache اجرا شود.

به انتهای فایل httpd.conf می رویم و کد زیر را وارد می کنیم:


ServerAdmin omidrezav@omidr.ir
DocumentRoot /www/omidr
ServerName myserver.omidr.ir
ErrorLog logs/omidr_error_log
CustomLog logs/omidr_access_log common

خط اول یک Virtual Host روی IP سرور ما یعنی ۹۱.۱۰۹.۱۸.۱۵۱ و پورت ۸۰ تعریف می کند. در خط دوم آدرس ایمیل مدیر Virtual Host داده می شود. خط سوم آدرس قرارگیری فایل های مربوطه روی سرور را نشان می دهد که باید یک آدرس واقعی باشد و در واقع قرار است فایل های ما در این پوشه آپلود شوند. دو خط بعدی برای معرفی فایل های log استفاده می شود.

بعد از وارد کردن کد فایل را ذخیره کرده و می بندیم و با دستور زیر httpd را restart می کنیم.

service httpd restart

بعد از restart شدن httpd اگر آدرس IP سرور را در آدرس بار مرورگر خود وارد کنیم با خظای ۴۰۴ مواجه می شویم که طبیعی هم هست چون آدرسی که ما در خط ۳ مرحله ی قبل به Apache دادیم معتبر نیست و فایل خاصی در آن وجود ندارد. پس لازم است پوشه ی مورد نظر را ایجاد کنیم و یک فایل  index.html درونش بسازیم. بعد از اتمام کار اگر دوباره IP سرور را وارد کنیم به فایل index.html ساخته شده هدایت خواهیم شد.

 

 

16 پاسخ به “نصب و راه اندازی apache روی Centos”

  1. Esmaeel گفت:

    سلام

    دوست عزیز ببخشید تمام مراحل رو انجام دادم و فایل php.info رو درست کردم ولی تصویر mysql تو شکل نیست.انگار نصب نشده.آپاچی رو ریستارت هم کردم

    http://i58.tinypic.com/4shezm.png
    http://oi60.tinypic.com/nx5xi.jpg

  2. حسین گفت:

    با سلام
    از آموزش بسیار خوب شما ممنونم. کاملا روشن و گویا توضیح دادین. یک سوالی که داشتم است این است که چرا مستقیم با ترمینال لینوکس کار نکنیم؟ منظورم این است که چه نیازی به نصب ssh هست؟ آیا دلیل خاصی دارد؟

    • امیدرضا گفت:

      سلام دوست عزیز،
      خوشحالم که خوشتون اومده. من در زمان تهیه ی این نوشته از ویندوز استفاده کردم و طبیعتا ناچار بودم از یک کلاینت ssh استفاده کنم ولی اگر شما از لینوکس استفاده می کنید نیازی به نصب نرم افزار دیگه ای ندارید و ترمینال لینوکس جواب کار شما رو میده.
      حالا من نمی دونم شما از چه توزیعی استفاده می کنید ولی خود من از اوبونتو استفاده می کنم که اتفاقا ترمینال بسیار کارآمدی هم داره و به همین خاطر روی اوبونتو به هیچ عنوان حاضر نیستم از putty استفاده کنم.

  3. حسین گفت:

    ممنون از پاسخ شما امید جان.
    آقا خیلی وب سایت قشنگی دارین. شعرهای حافظ که محشرن
    با اینکه در شهر حافظ زندگی می کنم، ولی وقت نمیذارم از حافظ بخونم. چند تا از شعرهای حافظ را از وب سایت شما را خوندم و لذت بردم.

    زاهد برو که طالع اگر طالع من است
    جامم به دست باشد و زلف نگار هم

    خیلی ممنونم از شما.
    لطفا برام یه ایمیل بفرستین تا ایمیل شما را داشته باشم.

    با تقدیم احترام به شما دوست عزیز
    حسین لطفی

  4. Hossein گفت:

    Salam, Man hanooz ye moshkel daram
    dar file httpd.conf marahele gofte shodeh ra anjam dadam,
    ye folder tu masire zir ijad va set kardam be in directory va reset kardam
    Starting httpd: Warning: DocumentRoot [/home/modis/www/mywebsite] does not exist
    httpd: Could not reliably determine the server’s fully qualified domain name, using localhost.localdomain for ServerName

    mishe lotfan rahnamei konid, bebakhshid ziyad mizahem misham

    • امیدرضا گفت:

      سلام دوست من

      شما مطمئنید که پوشه ی /home/modis/www/mywebsite روی سرور وجود داره. یه بار این قضیه رو چک کنید.

  5. حسین گفت:

    با سلام و تشکر از اینکه به ایمیلم جواب دادین
    بعد از نصب کامل php طبق آموزش شما عمل مردم و مسیر /home/modis/www/mywebsite را ایجاد کردم و بعد در httpd.conf تعریف کردم. البته این نکته را اشاره کنم که فعلا یه domain در http.conf بهش معرفی کرده ام ولی dns و تنظیمات لازم را در cpanel دومین مربوطه انحام نداده ام. جهت اطلاع جنابعالی، برای آموزش، بنده ابتدا تحت vmware دارم کار می کنم.

    با سپاس از کمک و راهنمایی شما دوست بزرگوار.

  6. حسین گفت:

    در ادامه مشکل قبلی، برای راهنمایی بهتر، شما فرض کنید که ما دومین فعلا ثبت نکرده ایم و تازه شروع به راه اندازی وب سرو لینوکس کردیم.
    آیا می شود که یک دومین الکی داد؟ همچنین IP مورد نظر را با دستور ifconfig از ترمینال میپرسم و inet adds: 192.168.43.132 را با پورت ۸۰ تعریف کردم. آیا این کار درست است.
    با تشکر

    • امیدرضا گفت:

      خب در مورد استفاده از دومین الکی که می تونید این کار رو بکنید. تنظیمات وب سرور کاملا دست شماست و ازتون ایراد نمی گیره. ولی برای این که بتونید با استفاده از اون دومین به وب سایتی که روی وب سرور بالا آوردیم دسترسی داشته باشیم باید فایل hosts رو روی کامپیوتر خودمون دستکاری کنیم و اون دومین رو توش تعریف کنیم.
      در مورد قسمت دوم سوالتون هم خیلی درست متوجه نشدم.

  7. علی گفت:

    با درود
    من روی سرور centos آپاچی راه انداختم
    میخوام تنظیم کنم که به محض رفتن به سرور index.php
    اجرا بشه.
    چکار کنم؟

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.