خوب در پست قبلی به روش نصب اصلی آپاچی وب سرور اشاره کردیم.روش های دیگر و نکات اضافی را در پست آخر آپاچی مطرح می کنم.در این پست شروع می کنیم به تنظیمات بعد از نصب و نکاتی باید در نگهداری و خوندن لاگ این برنامه دقت کرد.
خوب دیدیم که فایل های تنظیمات در
/usr/local/apache2/conf/
خوب فایل اصلی که ما با آن کار داریم.
خوب فایل رو باز می کنیم:
root@proxy conf]# vi httpd.conf
۱-خوب اولین قسمت این فایل Listen هستش.در این قسمت درگاه و آی پی که باید روی آن آپاچی شروع به کار کند را انتخاب می کنیم.شکل آن باید به این صورت باشد.
Listen 12.34.56.78:80
Listen 80
۲-اگر می خواهید بر روی درگاهی دیگری کار کنید کافی است در این قسمت تغییر ایجاد کنید و آپاچی را یک بار شروع دوباره یا ری استارت کنید.مثلا اگر به صورت یوزر عادی می خواهید آپاچی را راه اندازی کنید خوب اجازه ی دسترسی به درگاه ۸۰ ندارید پش باید حتما در این قسمت تغییر انجام دهید.
قسمت بعدی ماجول های خواست می باشد که به شکل زیر می باشد.
LoadModule foo_module modules/mod_foo.so
این برای این است که شما دیگر نیاز به ریکانفیگور کردن آپاچی نداشته داشته باشید و ماجولی را به آپاچی اضافه کنید.برای مثال اگر status را اضافه نکرده بودید:
LoadModule status_module modules/mod_status.so
۳-در این بخش به یوزر هایی که پروسس های آپاچی به نام آن ها ایجاد می شود می پردازیم.
این نام می تواند هر چیزی باشد ولی معمولا یا از apache,httpd,nobody استفاده می شود.در این قسمت سعی شود هرگز از یوزر اصلی یا root استفاده نکنید چون باعث می شود که دسترسی بی حد و حصری به استفاده کننده از این سرویس بدهید.درباره ی محدود کردن یوزر آپاچی در مقاله ی سوم توضیحاتی خواهم داد.
User daemon
Group daemon
۴-در این بخش به توضیحاتی درباره ی اصل سرور می پردازیم و این جدا از سیستم <virtualhost> هست.خوب اولین موضوع سرور ادمین هست که در صورت ایجاد مشکل ایمیلش ظاهر شود.
ServerAdmin info(@)bitfleet.com
اسم سرور-این توضیح معمولا به صورت خودکار انجام می شود ولی برای اینکه از هرگونه مشکلی جلوگیری کنیم بهتر است خودمان این قسمت را درست کنیم.
ServerName www.bitfleet.com:80
خوب اگر شما از ویرچوال هاست استفاده نمی کنید می توانید در این بخش محل قرار گیری فایل هایی که در وب سرور به نمایش در می آیند مشخص کنید.
DocumentRoot "/usr/local/apache2/htdocs"
قسمت بعدی دایرکتوری هستش.هر دایرکتوری که آپاچی به آن دسترسی دارد دارای تنظیماتی می باشد که این تنظیمات قابل تغییر می باشند.
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>
ین تنظیمات را می توان به این صورت در هر دایرکتوری انجام داد یا از htaccess. استفاده کرد.یعنی در هر دایرکتوری که می خواهید تنظیمات خاصی داشته باشد یا پسورد قرار دهید (در مقاله ۳ توضیح می دهم) می توانید این تنظیمات را به اجرا بگذارید.فقط باید در
AllowOverride None <<< AllowOverride Require
Require مثلا برای اینکه فرد یوزر نیم و رمز عبور وارد کند.
را به آن ویژگی که می خواهید در htaccess. آن را داشته باشید تغییر دهید.اینجا می توانید به صورت کامل از تغییرات که می توان اعمال کرد بازدید کنید.
درباره دایرکتوری توضیحات و گزینه های بسیاری دارد که بر اساس مار شما قابل تغییر است برای اطلاعات بیشتر به لینک آخر صفحه (۱) مراجه کنید.
قسمت بعدی در مورد گرفتن لاگ می باشد.لاگ ها در دایرکتوری logs نگه داری می شوند.فایل اصلی برای ایراد ها error_log نام دارد.
برای اینکه سطح لاگ گرفتن را مشخص کنید می توانید در آپشن بعدی تغییر دهید.
LogLevel warn
همچنین می توانید از طریق CustomLog لاگ مورد نظر خود را بگیرید.این تنظیمات زمانی اعمال می شوند که شما از ویرچوال هاست استفاده نکنید و در واقع فقط هاست خارج از ویرچوال هاست را در بر می گیرند.
اگر در ضمن می خواهید صفحه های اشکال خود را تغییر دهید نیز می توانید در این قسمت ها تغییر ایجاد کنید.این تغییرات میتواند نمایش یک پیام،نمایش یک فایل از داخل سیستم یا نمایش یک فایل از خارج سیستم باشد.
#ErrorDocument 500 "The server made a boo boo."
#ErrorDocument 404 /missing.html
#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
#ErrorDocument 402 http://www.example.com/subscription_info.html
اگر می خواهید به فایلی یا دایرکتوری خارج از دایرکتوری فایل های وبی آدرس دهید می توانید از Alias استفاده کنید:
Alias /webpath /full/filesystem/path
خوب فکر کنم بیشتر توضیحات رو گفتیم.گفتم که می شود آپاچی را می شود با کاربر معمولی نصب و از آن استفاده کرد.برای این کار باید فقط یک شل و دسترسی به دستور های make و tar داشته باشید.
مراحل اول تا آوردن فایل رو هاست و باز کردن فایل مثل مقاله ی قبلی می باشد.در مرحله configure این تغییرات را باید انجام دهیم.برای اینکه فقط یک چیز رو موقع config یاد نگرفته باشیم یک خرده شیطونی هم به کانفیگ اضافه کردم که فکر کنم جالب باشه.من می خواستم که وقتی کسی به apache وصل می شود نگه که من آپاچی هستم برای همین در اینجا روش تغییر اسم آپاچی را به شما یاد می دهم.
برای این کار قبل از configure باید یک تغییر در
pouyan@proxy httpd-2.2.13]$ vi server/core.c
انجام بدیم.در این فایل به دنبال
set_banner(apr_pool_t *pconf)
برای سرچ کردن در وی آی از / استفاده کنید(یعنی / رو بزنید و بعد کلمه ای که دنبالش هستید را وارد کنید) set_banner رو سرچ کنید سریع تر پیدا می کنید.
بعد از پیدا کردن این string در قسمتی که در عکس مشخص شده تغییر رو انجام دهید.همون که فلش قرمز داره رو تغییر بدین.
مثلا من به bitfleet WB تغییر دادم.بعد از نصب تغییر رو به شما نشان می دهم.یادتان باشد که نام مورد نظر شما باید بین “” باشد.
می رویم سراغ خود کانفیگ
من محل نصب را یک فولدر apache در هم در نظر گرفتم و گذاشتم بقیه را به صورت پیش فزض قرار بده ولی شما می توانید حتی محل فایل های اجرایی و داکومنت این سرور را با سینتکس های مناسب تعیین کنید.
pouyan@proxy httpd-2.2.13]$ ./configure --prefix=/home/pouyan/apache
بعد make و make install را اجرا می کنیم.در ضمن && دستور بعدی را فقط و فقط زمانی اجرا کن که دستور قبلی با موفقیت یعنی خروجی ۰ اجرا شد.
pouyan@proxy httpd-2.2.13]$ make && make install
خوب بعد باید بریم سراغ فایل httpd.conf برای من در این محل نصب شده.
pouyan@proxy ~]$ vi apache/conf/httpd.conf
فایل را باز کرده و پورتی که روش لیستن می کند را تغییر می دهیم بهترین کار عوض کردن پورت به یک عدد بالا ی ۱۰۰۰ است که معمولا اشغال نمی باشد.مثلا من ۳۰۳۰ را انتخاب کردم و مطمئن هستم که خوب سرویسی رو این پورت نیست.در ضمن برای اینکه تغییر اسم را به صورت کامل انجام دهید باید یک تغییر دیگر در httpd.conf انجام دهید و آن عوض کردن ویژگی ServerTokens به ProductOnly می باشد.
این خط را به آخر فایل اضافه کنید.
ServerTokens ProductOnly
این تغییرات را انجام دهید:
#Listen 12.34.56.78:80
Listen 3030
حالا آپاچی را به همان روش قبلی آغاز کنید.
pouyan@proxy httpd-2.2.13]$ ../apache/bin/apachectl start
بعد با استفاده از روش زیر با telnet نوع سرور را پیدا کنیم.
pouyan@proxy httpd-2.2.13]$ nc localhost 3030
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
حالا منظر دستور ما هستش پس این را وارد کنید و نتیجه را ببینید.
GET / HTTP/1.0
بعد دو تا اینتر بزنید.
HTTP/1.1 200 OK
Date: Fri, 16 Oct 2009 08:49:57 GMT
Server: Bitfleet WB
Last-Modified: Sat, 20 Nov 2004 20:16:24 GMT
ETag: "3920f1b-2c-3e9564c23b600"
Accept-Ranges: bytes
Content-Length: 44
Connection: close
Content-Type: text/html
خوب الان آپاچی را در حالت یوزر با یک خورده دستکاری نصب کردیم.در متن بعدی به سراغ نکاتی که باید در تنظیمات آپاچی برای امنیت رعایت کرد و همچنین به سراغ شما در برابر دی داس کمک می کنه و همچنین چگونه سرویس هایی نظری php و ssl را با آپاچی تلفیق کنیم می رویم.در ضمن در مقاله ی چهارم که آخری اپاچی هستش به سراغ VirtualHost می رویم.
منابع
320 بازدید



(+1 موردعلاقه, 1 رای)
ممنون. جالب بود
فقط اگه میشه htaccess رو میشه یکم توضیح بدید ؟
منتظر مقاله بعدی تون میمونم
راستی os شما چیه ؟ Debian ؟
نه!
من ۲ تا دستکتاپ دارم که یکی که قدیمی تره به عنوان سرور استفاده می شه و CentOS روش نصبه.همین پی سی که الان باهاش کار می کنم Open Suse داره و لپ تاپم هم روش Mint Linux که بر پایه ی اوبونتو هستش نصبه!
در پست بعدی انشاالله!
هم چنان منتظریم :دی
salam. allli bood.
mishe rabeteye apache va httpd roo tozih bedin? yekam baram vazeh nist.