ساختن هاست و دامنه مجازی در آپاچی در ویندوز و لینوکس

به نام دانای بر حق

مقدمه

آپاچی معروف ترین و پر کاربرد ترین برنامه وب سرور هستش که با PHP به صورت خیلی خالصانه ای رفیق هستش 😀 و اما زمانی که شما بخواین روی هاست مجازی خودتون که مثلا با xampp یا wampp یا هر چیز دیگه وجود داره یه هاست مجازی با دامنه داشته باشید، شاید اول فک کنید این مورد غیر ممکن باشه اما اینطور نیستش یعنی شما مثلا میتونید یه سایت مجازی به اسم خودتون رو مدیریت کنید به همین سادگی و دیگر برای راهندازی یک وبسایت مجبور نباشید که بنویسد http://localhost/mysite میتونید اون رو تبدیل به این کنید: http://mysite.com , خیال خودتون رو راحت کنید، البته این کار یه سری درد سر هم داره که باید دقت داشته باشید که موجب بر هم ریختگی سیستم نشوید، چرا روی فایل حساس قرار هستش کار کنیم. اما ما چون xampp از همه سیستم های قوی تر، پر کاربرد تر و قابل اجرا در اکثر سیستم عامل ها هستش زمپ رو برای آموزش استفاده می کنیم. و از لینوکس نسخه ubuntu در این آموزش یاد می کنیم.

نوشته های به رنگ مشکی برای همه کاربران ویندوز و لینوکس هستش ولی نوشته های بنفش مخصوص لینوکس و آب مخصوص ویندوز می باشد.

مختصر مراحل:

  1. تعیین ip برای دامین مجازی
  2. ساختن فولدر هاست در سیستم
  3. تغییر در تنظیمات آپاچی (فقط یک بار)
  4. اضافه کردن هاست مجازی
  5. و ریست کردن سرور آپاچی

تعیین ip برای دامین مجازی

خب دامنه ها در واقع نقش یک اشاره گر رو دارند، یعنی به یک آدرس ip اشاره می کنند، اون آی پی سیستم میزبان یا همون هاست هستش و اما به طور معمول وقتی شما به یک دامنه می خواید دسترسی داشته باشید، سیستم عاملتون آدرس ip رو به صورت خودکار در میاره برای این که این رو متوجه بشید میتونید از هر دامنه ای که می خواین ping بگیرید برای این کار تو ویندوز cmd رو باز کنید و تو لینوکس terminal رو با میانبر ctrl+alt+t که باز شد رشته زیر رو تایپ کنید:

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

باز کردن فایل hosts در لینکوس

ترمینال رو باز کنید و کد زیر رو بزنید:

بعد از وارد کردن پسورد ایدیتور متن در حالت دسترسی روت باز میشود حال فایل زیر رو باز کنید:

بعد که باز شد به قسمت تغییر فایل hosts در همین مقاله مراجعه کنید

باز کردن فایل hosts در ویندوز

برای این کار روی notepad کلیک راست کنید و Run As Administrator را بزنید و فایل زیر را از طریق open باز کنید :

در اینجا فرض شده است ویندوز شما بر روی درایو c نصب است حال به ادامه مقاله توجه کنید

ویرایش فایل hosts در ویندوز و لینوکس

برای ویرایش این فایل خیلی ساده میتونید با اضافه کردن ابتدا ip و سپس دامنه به هدف خودتون برسید که معمولا برای اون یه چند تا نمونه تو خوده فایل هستش به عنوان مثال من میخوام روی لوکال هاست خودم دامنه mysite.com رو بالا بیارم برای این کار این رو به آخرین خط اضافه می کنم و فایل رو ذخیره می کنیم:

خیلی ساده دیگر این سایت بر لوکال شما اشاره دارد با ping گرفتن از دامنه میتوند مطمئن بشوید از این موضوع و اما برای غیر فعال کردنش با گذاشتن یک # اول این خط میتوانید آن را غیر فعال کنید.

 اضافه کردن هاست مجازی به Apache

باز کردن پیکربندی فایل اصلی آپاچی در ویندوز:

برای ویندوز شما باید فایل اصلی آپاچی رو از فولدر اون پیدا کنید که داخل پوشه Xampp هستش که نصب کردید با نام:

این فایل رو باز کنید.

باز کردن پیکربندی فایل اصلی آپاچی در لینکوس:

برای این کار وارد فولدر زیر بشید که به صورت پیش فرض است اگر تغییر نکرده باشه:

و فایل زیر رو باز کنید:

فعال کردن vhost در ویندوز و لینوکس:

توجه کنید که این خط :

با یه # در ابتداش غیر فعال نباشد درست که شد فایل رو ذخیره کنید.

باز کردن فایل کانفیگ هاست مجازی آپاچی در ویندوز:

برای این  فایل زیر رو باز کنید:

بعد از این که این فایل رو باز کردید برای اولین بار کردید این خط رو حتما از حالت کامنت خارج کنید یعنی # ابتداش رو حذف کنید:

یعنی به این شکل بشه:

باز کردن فایل کانفیگ هاست مجازی آپاچی در لینوکس:

برای باز کردنش به این قسمت مراجعه کنید:

و اونو با هر چیزی که دوست داشته باشید باز کنید

ایجاد یک هاست مجازی در کافنیگ هاست مجازی ویندوز و لینوکس

خب حالا همه چیز به خوبی انجام شد باید هاست مجازی اضافه کنید برای هاست مجازی خود شما دو مولفه نیاز دارید ابتدا آدرس اسیت مجازی که در فایل hosts اضافه کردید به عنوان مثال mysite.com یک گزینه برای آدرس ما می باشد و حال یک پوشه ما باید در بخش htdocs باید داشته باشیم ما مثلا یه فولدر به نام mysite اضافه می کنم و حتما نباید هم نام دامنه باشه اما بهتر این طور باشه.

خب حالا برای اضافه کردن به کانفیگ آپاچی خودش مثال داره کامنت کرده مثل این:

اما با این کاری نداریم با این که میتونیم از الگوش استفاده کنیم از الگوی ساده اش استفاده می کنیم:

آدرس لینوکسی:

آدرس ویندوزی:

 

ما دو قسمت داریم که باهاش کار داریم یکیdocumnet root هستش آدرس فولدر اون سایت قرار میگیره و دیگیری server name هستش که دامنه درش قرار میگیره برای که در اینجا mysite.com رو در نظر گرفتیم.

 

خب نکات این راهندازی:

  1. برای هر تغییر تو کانفیگ های آپاچی باید اون رو restart کنید تا تغییرات اعمال شود.
  2. برای ویندوز این راهندازی مجدد رو از طریق services و پروسه apache2 انجام دهید
  3. برای لینوکس از طریق ترمینال با دستور sudo /opt/lampp/lampp restart انجام دهید
  4. اگر حصوله نداشتید کل سیستم رو restart کنید که خودش آپاچی هم ریست شه.
  5. برای تغییر فایل ها در ویندوز برخی جاها تو ویندوز xp به بعد نیاز به دسترسی admin دارید و در لینوکس شاید اجازه ویرایش نداشته باشید برای ویندز که مشخص هستش که چه باید بکنید باید ادیتور رو Rus As Administrator اجرا کنید و برای لینوکس میتونید کد زیر رو تو کامند لاین بزنید: sudo chmod 0777  /opt/lampp/etc -R به همین سادگی
  6. اگر با آپاچی استارت نشد حتما یه جای پیکربندی رو بد خراب کردید اون به حالت قبلی برگردونید وگرنه مجبورید دوباره xampp رو نصب کنید ما معمولا یه بکاپ از کافنیگ ها در برخی از نسخ هستش مثل این آدرس در لینوکس بکاپ هاس :/opt/lampp/etc/original
  7. هر سوالی داشتید بپرسید اگر شد حتما جواب خواهم داد

امیدوارم دوباره مثل قبل با xmen حال کرده باشید.

 

‌A1Gard

اول از همه کوچک ترین عضو مجموعه 4xmen بنده حقیر هستم. در ثانی یک توسعه دهنده هستم زمینه های تخصصی کارم :‌ Delphi, PHP, C++ ,Python, JavaScript, Unity game engine, C#, asm و علاقه مند به لینوکس، RCE ، کریپتوگرافی هستم. تا الان حضرت حق اینا رو به ما داده و هر وقت که بخواد ازمون میگیره دست خودشه. یا حق، با حق، تا حق

More Posts

16 thoughts on “ساختن هاست و دامنه مجازی در آپاچی در ویندوز و لینوکس”

  1. سلام به xmenی های عزیز
    خداقوت
    واقعا دمتون گرم
    اول خواستم به لایک دادن اکتفا کنم،ولی گفتم شاید فکر کنید کسی به فکرتون نیست،نظر دادم
    درسته که هر از چند گاهی میام به سایتتون سر میزنم،ولی خب همین تعداد کمش هم باعث میشه کلی انرژی بگیرم
    شما به کار خودتون ادامه بدید و بدونید که خاطرخواهانی دارید که دورادور،کارتون رو دنبال میکنند
    ان شاءالله خدا اجرتون بده
    دوستدار شما
    یه بنده خدا

  2. سلام . مطلب بسیار جالبی بود اما به یه مشکل بر خوردم .

    از زمانی که مرحله ” فعال کردن vhost در ویندوز و لینوکس: ” رو انجام میدم دیگه apache توی xampp فعال نمیشه و یه ارور میده .

    مشکل از چیه ؟

    1. مشخصا شما جایی کاری کردید که چیز غیر قابل تعریف مثل syntax error برنامه نویسی پیش اومده
      فایل کانفیگ رو از ابتدا ریستور کنید و v-host رو بعد از اول تغییرات رو ایجاد کنید.

  3. سلام ممنون خیلی خوب بود من تنظیمات را انجام دادم برا یک پروژه ام حالا دیگه فایل های دیگرم روی لوکال باز نمیشن یعنی میزنم localhost/mytest دیگه خروجی ندارم

    1. برای همین کار فرض کنین localhost یک دامنه است و htdocs مکان اون تنظیمات را ابتدای v host اضافه کنین به مشکلتون برطرف میشود.

  4. سلام.
    تشکر از مطلب مفیدتون.
    بعد از انجام مراحل بالا فایل های php داخل پوشه هاست مجازی اجرا نمیشن و مستقیم توی خروجی چاپ میشن اما پوشه اصلی سرور بدون مشکل اجرا میشن. چیکار کنم؟

  5. دروود به شما
    واقعا ممنون از سایت خوبتون و مطلب مفیدتون در رابطه با xampp
    من انجامش دادم.
    خیلی دنبالش میگشتم .مرسی تشکر

  6. درود
    چندین روزه گیر کردم تو این یه مورد . لطفا راهنمایی کنید چطور باید این مشکل رو حل کنم . باور کنید بیشتر از یک هفته است به زبان انگلیسی و فارسی و المانی دارم سرچ میکنم . به خیلی جواب های متنی و تصویری هم رسیدم . اما مشکلمو حل نکرد .

    مشکل نداشتن اچ تی تی پی اس یا همون پرتکل امنیتی ۴۴۳ است که اجازه نمیده دامنه من بصورت امن باز بشه روی لوکال هاست .
    ببینید :
    Your connection is not private
    Attackers might be trying to steal your information from aoc.dev (for example, passwords, messages, or credit cards). Learn more
    NET::ERR_CERT_COMMON_NAME_INVALID

    داخل این دامنه یا هاست مجازی هیچ فایلی وجود نداره و فقط یک اینکدس دات پی اچ پی ساده با یه اکو سلاام است و بس .
    نه تو ویندوزم کار کرد و نه لینوکس . توی فایل وی هاست هم ادد کردم اس اس ال ها رو . و اس اس ال هم ساختم . .crt .key ولی اکتفا نمیکنه و همش میگه مشکل داره .

    1. درود و خوش آمد باید توجه داشت که
      ابتدا به ساکن هیچ دامنه self-signed به صورت مستقیم باز نمی شود یعنی باید از add exception اضافه کنین یعنی خودتون تایید کنید که میخواهید این دامنه براتون https باز شود لذا هیچ شرکت ssl ای تایید کار شما رو در نظر نمیگیرد.
      و نکته بعدی این که شما میبایستی فایل .pem را حتما روی همون هاست و با توجه به فایل کلیدی خود بسازید.

      پیشنهاد میکنیم این آموزش زیر رو بهش توجه کنین مناسب هست:

      https://www.digitalocean.com/community/tutorials/how-to-create-a-self-signed-ssl-certificate-for-apache-in-ubuntu-16-04

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *