یک وبلاگ دیگر از یک برنامه نویس دیگر
هاست مجازی بر روی آپاچی
خیلی پیش می آید که ما نیاز به چند آدرس مختلف در یک کامپیوتر داشته باشیم، مثلا نیاز مند این باشیم که کاربران شبکه داخلی، با زدن آی پی کامپیوتر در بروزر خودشان، یک صفحه ببینند و مثلا کاربرانی که از یک شبکه دیگر (مثلا اینترنت) به کامپیوتر شما رجوع میکنند چیز دیگری ببینند و اصلا گاهی لازم میشود که شما چندین هاست مجازی مختلف به صورت محلی (Local) بر روی کامپیوتر خود داشته باشید تا بتوانید به صورت کاملا مستقل از هم بر روی هر کدام کار کنید.
برای اینکار آپاچی قابلیت Virtual Host را پیشنهاد میکند.
برای اینکار ابتدا باید آی پی های مختلف مد نظرتان را مشخص کنید. مثلا من به این آی پی ها نیاز دارم و میخواهم همه آنها به صورت جدا از هم باشند.
- 127.0.0.1 برای استفاده شخصی خودم
- 192.168.0.1 آدرسی که کاربران شبکه میبینند
- 78.53.33.13 آی پی من در اینترنت (این آی پی همین طوری و خیلی اتفاقی انتخاب شده :) باور کنید من برلین نیستم و این آی پی من نیست! )
- و در نهایت یک سایت محلی دیگر، مجزا از 127.0.0.1
برای اینکار، نیازمند ویرایش فایل httpd.conf هستیم .این فایل برای ویندوز در آدرسی هست که آپاچی نصب شده، ولی در لینوکس در /etc/apache2 هست.
127.0.0.1
معمولا آدرس 127.0.0.1 را میتوانید هنگام نصب به عنوان آدرس اصلی انتخاب کنید، اگر بنا به هر دلیلی این آدرس در کامپیوتر شما مشکل داشت، دقیقا مثل آدرس چهارم عمل کنید
192.168.0.1
برای افزودن این آدرس، کافی است کد زیر را به انتها فایل httpd.conf اضافه کنید :
<VirtualHost 192.168.0.1:80>
ServerAdmin yourmail@yourhost.ext
DocumentRoot "c:/path/to/the/root/folder/for/this/host"
ServerName localnetwork.loc
</VirtualHost>
ابتدا، باید آی پی مورد نظرتان را انتخاب و پورتی که آپاچی روی آن فعال است را نیز انتخاب کنید. در این مثال 192.168.0.1:80 فقط مطمئن شوید همان پورتی را انتخاب میکنید که آپاچی آن را در اختیار دارد، برای اینکه مطمئن شوید داخل همین فایل دنبال عبارت Listen 80 بگردید (80 ممکن است هر عدد دیگری باشد مثلا 8080 ) این عدد نشانگر پورت مورد استفاده آپاچی است.
بعد آدرس میل ادمین این سایت، برای نمایش در امضای صفحات (معمولا صفحات خطا) سپس پوشه ای که در نظر دارید نقش ریشه این هاست مجازی را داشته باشد، و در نهایت نامی که برای این هاست در نظر گرفته اید، که در این مورد چون روی یک شبکه محلی هستید مهم نیست :) را وارد کنید.
گزینه های دیگر هم هست، و تقریبا تمام تنظیمات مربوط به هاست اصلی هم در این بلاک قابل استفاده خواهد بود.
78.53.33.13
برای اینهم دقیقا شبیه بالایی عمل کنید، فقط این آی پی را وارد کنید و مسیر دیگری مربوط به این هاست انتخاب کنید.
یک هاست محلی دیگر
خیلی پیش می آید که شما بخواهید دو یا چند هاست مختلف روی کامپیوتر خود داشته باشید، مثلا روی یکی WordPress نصب کنید، دومی یک سیستم دیگر و همین طور الی آخر، البته میتوان از مسیر های داخلی هم استفاده کرد مثلا http://localhost/wordpress ولی من این را نمی پسندم. ویندوز، تمام آی پی های محدوده 127.0.0.x را برای Loop Back (یعنی آی پی که در حقیقت برای Local استفاده میشود ) رزرو کرده است.
برای اینکار، میتوانید از یک آی پی مثل 127.0.0.2 استفاده کنیم ، به این صورت :
<VirtualHost 127.0.0.2:80>
ServerAdmin yourmail@yourhost.ext
DocumentRoot "c:/path/to/the/root/folder/for/this/another/host"
ServerName localnetwork.loc
</VirtualHost>
بعد از این کار، این آدرس، از آدرس قبلی 127.0.0.1 و کلا همه آدرس های دیگر مجزا خواهد بود. اما برای اینکه این آدرس یک نام داشته باشد، مثلا localhost2 چکار کنیم؟
فایل زیر در ویندوز :
%WINDIR%\system32\drivers\etc\hosts
و یا فایل زیر در لینوکس :
/etc/hosts
را با یک ادیتور متنی مثل Notepad یا Notepad++ یا هر ادیتور دیگری که دوست دارید، باز کنید. یک خط به این صورت به انتهای آن اضافه کنید :
127.0.0.2 localhost2
%WINDIR% پوشه ویندوز شماست و این فایل هم هیچگونه پسوندی ندارد! برای لینوکس و ویندوز سون این فایل رو باید با ویرایشگری که دسترسی ادمین داشته باشه ویرایش کنید.
که به ترتیب آی پی مورد نظر شما با چند فاصله (مهم نیست چند تا، فضای خالی یا کاراکتر تب) و نام مورد نظر شماست. در این صورت میتوانید از این نام جدید هم به صورت محلی استفاده کنید.
چند نکته مهم :
برای نامگذاری سایتهای محلی از اسم سایتهای واقعی استفاده نکنید، در این صورت دیگر به هیچ عنوان نمیتوانید آن سایتها را باز کنید! و همیشه سایت محلی باز خواهد شد.
دوم، در صورتی که با باز کردن این هاست های مجازی در مرورگر خود، خطای Forbidden میگیرید، باید پوشه ای را که برای این هاست در نظر گرفته اید را به لیست پوشه های مجاز آپاچی اضافه کنید به این صورت :
<Directory "c:/path/to/the/root/folder/for/this/host">
#
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs/2.2/mod/core.html#options
# for more information.
#
Options Indexes FollowSymLinks Includes ExecCGI
#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride All
#
# Controls who can get stuff from this server.
#
Order allow,deny
Allow from all
</Directory>
که کامنتها گویای اینکه هر کدام از این گزینه ها چه معنی ای دارند، هست.
::: تازه متوجه شدم که این یکی پست را هم با عبارت خیلی پیش میاد شروع کردم!
| چاپ این نوشته | این نوشته توسط فرود در روز 2009/12/12 در ساعت 20:42 نوشته شده است و در دسته آپاچی, خیلی پیش میاد! دسته بندی شده است. پاسخهای این نوشته را از طریق RSS 2.0 دنبال کنید. شما میتوانید نظر خود را ارسال کنید یا از سایت خود دنبالک ارسال کنید. |
هیچ دنبالکی فرستاده نشدهاست.
HipHop
در 7 ماه پیش - ۶ نظر
– این فقط یه معرفی ساده یه پروژه است نه راهنمای کاملش. یکی از معروفترین سایتهای فعلی، فیسبوکه و شکی در این نیست (نمیدونم با وجود گوگل پلاس وضع همینطوری میمونه یا نه؟). ولی این سایت همینجوری که تبدیل نشده به اینی که الان هست! یک تیم برنامه نویسی قدرتمند هم پشت این پروژه هست…
دو نکته برای بالا بردن سرعت – آپاچی
در 1 سال پیش - ۳ نظر
از نکاتی که پیشنهاد میشه برای بالا بردن سرعت یه سایت این دو مساله سادست: ۱- اضافه کردن Expire Header به فایلها، و خصوصا یک زمان دور برای فایلهای استاتیک، مثلا عکسها و فایلهای css و جاوااسکریپت. البته بد نیست برای فایلهای php و html هم این زمان رو تعیین کنیم ولی نه چندان دور.…
آدرس دهی درست
در 1 سال پیش - ۴ نظر
یکی از دغدغه های فعلی طراحان وب، ایجاد لینک های “موتور جستجو پسند!” شده. پر بیراه هم نیست، که این لینکها هم به راحتی به خاطر سپرده میشوند و هم اینکه خواناتر هستند هم برای آدمیزاد هم ربات. ابن لینکها، برای یک سایت SEO Friendly یکی از مهمترین بخشهاست. اکثر CMS ها یا Framework ها…
دانلود فایل با قابلیت Resume در PHP
در 1 سال پیش - ۱۱ نظر
کد انتهایی یه مشکل کوچک داشت که اصلاح شد :) ایندفعه،میخوام یه چیزی بنویسم درباره دانلود (آخرش هم نفهمیدم که این کلمه رو به فارسی چی بگیم!! بارگزاری،بارگیری، گرفتن ..) خیلی وقتها میخوایم که یه فایل رو محافظت کنیم که همینجوری دانلود نشه، یعنی حتما اسم کاربری بخواد، یا اینکه مطمئن شیم که فایل حتما…





در 1 سال پیش
بسم الله الرحمن الرحیم
سلام
مطلب علی بود / با اینکه قدیمی هست ولی خیلی به دردم می خوره
موافقید یا نه :
0
0