تبلیغات :
آکوستیک ، فوم شانه تخم مرغی، صداگیر ماینر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 10 از 10

نام تاپيک: مشکل در ساختن دایرکتوری در لینوکس با کد php

  1. #1
    پروفشنال
    تاريخ عضويت
    May 2006
    محل سكونت
    کرج
    پست ها
    746

    پيش فرض مشکل در ساختن دایرکتوری در لینوکس با کد php

    سلام
    من می خوام از توی کدم که با php نوشته شده یه فولدر در /var/www بسازم.مشکل اینجاست که ارور permission میده.من فایل رو با bluefish از طریق ترمینال و با کاربر root باز می کنم و ویرایش می کنم.وقتی فایل رو از روی لوکال باز می کنم پیغام خطا میده.
    بعد گفتم شاید باید permission شاخه رو عوض کنم.یه دایرکتوری توسط کاربر root توی مسیر /var/www ساختم و بعد با دستور chgrp zeperto profile پرمیژن فولدر پروفایل رو به زپرتو تغییر دادم.بازم نشد.یعنی پیغام خطا داد.مشکل کجاست؟
    من در کل می خوام از طریق کد پی اچ پی فولدر در هر مسیری روی سیستمم بسازم.اولویت با مسیر /var/www .

  2. #2
    حـــــرفـه ای taia's Avatar
    تاريخ عضويت
    Aug 2005
    محل سكونت
    چو ایران نباشد تن من مباد
    پست ها
    2,107

    پيش فرض

    سلام
    من می خوام از توی کدم که با php نوشته شده یه فولدر در /var/www بسازم.مشکل اینجاست که ارور permission میده.من فایل رو با bluefish از طریق ترمینال و با کاربر root باز می کنم و ویرایش می کنم.وقتی فایل رو از روی لوکال باز می کنم پیغام خطا میده.
    بعد گفتم شاید باید permission شاخه رو عوض کنم.یه دایرکتوری توسط کاربر root توی مسیر /var/www ساختم و بعد با دستور chgrp zeperto profile پرمیژن فولدر پروفایل رو به زپرتو تغییر دادم.بازم نشد.یعنی پیغام خطا داد.مشکل کجاست؟
    من در کل می خوام از طریق کد پی اچ پی فولدر در هر مسیری روی سیستمم بسازم.اولویت با مسیر /var/www .
    اصولا این مشکل وجود نداره ولی خوب، شما دو راه دارید که راه اصلی دادن اختیارات کامل به کاربر آپاچ سرور هست، که www-data نام داره، شما باید به این کاربر اجازه ی ایجاد و نوشتن روی فولدر ها رو بدید، که باز دو حالت داره:
    اول با رفتن به مسیر system - > administration -> user and groups و دخیل کردن تغییرات مد نظرتون.

    یا به وسیله ی کدی مثلا این چنین این اجازه رو صادر کنید، مثلا من می خوام در فولدر :
    /home/taha/Public/www
    تغییرات را اعمال کنم، یا کدی اینچنین این اجازه رو صادر می کنم:
    chown -R taha:www-data /home/taha/Public/www

    راه حل بدون امنیت دیگه هم این هست که به فولدر مورد نظرتون دسترسی برای تمام اعملات ها رو بدید مثلا:
    chmod -R 777 /home/taha/public/www
    ساده ترین راه همین همین راه اخیر هست!

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


  4. #3
    داره خودمونی میشه DHT's Avatar
    تاريخ عضويت
    Aug 2007
    پست ها
    168

    پيش فرض

    کاربر آپاچ سرور هست، که www-data نام داره
    البته فکر کنم در دبیان نام این کاربر این باشه.چون داخل فدورا apache است.

  5. #4
    پروفشنال
    تاريخ عضويت
    May 2006
    محل سكونت
    کرج
    پست ها
    746

    پيش فرض

    البته فکر کنم در دبیان نام این کاربر این باشه.چون داخل فدورا apache است.
    من هم با دبیان کار می کنم.

  6. #5
    حـــــرفـه ای taia's Avatar
    تاريخ عضويت
    Aug 2005
    محل سكونت
    چو ایران نباشد تن من مباد
    پست ها
    2,107

    پيش فرض

    من هم با دبیان کار می کنم.
    پیغام خطایی که در بروزر می گیرید دقیقا چی هست؟

  7. #6
    پروفشنال
    تاريخ عضويت
    May 2006
    محل سكونت
    کرج
    پست ها
    746

    پيش فرض

    دوباره سلام.
    می بخشید که اینطوری تاپیک رو دنبال می کنم.توضیحات:اون موقع در حال انجام یه پروژه بودم که زمان زیادی برای تموم کردنش نداشتم.به خاطر همین علی رغم اینکه مایل بودم کارم رو روی لینوکس انجام بدم منتها به خاطر این مسایل پیش اومده (مثل موضوع همین تاپیک)نتونستم و تا پایان کار پروژه از یه سیستم عامل دیگه استفاده کردم.الان دیگه مشکلم اون نیست و می خوام که داستان این permission ها رو به امید خدا حلش کنم که دیگه دردسر نشه.ضمنا الان در مراحل ابتدای یه کار دیگه ام و م یخوام تا وقت هست این مشکلم رو با کمک شما جناب taia خان حل کنم.
    تو پست قبلی فرمودید که اروری که مرورگر میده رو بذارم.
    Warning: fopen(maxim.txt) [function.fopen]: failed to open stream: Permission denied in /var/www/nnn.php on line 5
    من تو یکدم الان می خوام که یه فایل روی مسیر /var/www باز کنم یعنی بسازم.فایله وجود نداره بلکه قراره ساخته شه.
    قبلا هم این دستور رو تو یترمینال زدم
    chown -R ali-zi-zeperto:www-data /var/www
    و بدون ارور انجام شد.عکسای پایین هم که دیگه توضیح نداره.



  8. #7
    حـــــرفـه ای taia's Avatar
    تاريخ عضويت
    Aug 2005
    محل سكونت
    چو ایران نباشد تن من مباد
    پست ها
    2,107

    پيش فرض

    پس بگزارید از پایه بریم جلو با فرض بر اینکه تنظیمات خود به خود انجام نشده! (گرچه من هر بار در دبیان سرور آپاچ نصب کردم بدون مشکل کار کرده!)
    دستورات زیر رو یک به یک وارد کنید:
    برای اطمینان از اینکه گروه ست شده برای فولدر همون www-data هست
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    برای اطمینان از اینکه گروه توانایی انجام عملیات رو داره:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    تنظیم GID برای www-data برای تمام زیر شاخه ها
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    اگر دستور ls -l رو اجرا کنید باید دایرکتوری مورد نظر اینگونه باشه: drwxrwsr-x
    نهایتا نام کاربریتون رو به گروه www-data اضافه کنید:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    و
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    البته دستور آخر رو اگر با -r اجرا کنید هم بهتره.

    امیدوارم مشکلتون رو حل کنه، اگر نشد روشهای دیگه رو می ریم!

  9. 2 کاربر از taia بخاطر این مطلب مفید تشکر کرده اند


  10. #8
    پروفشنال
    تاريخ عضويت
    May 2006
    محل سكونت
    کرج
    پست ها
    746

    پيش فرض

    خیلی خیلی ممنون.درست شد.از دستوراتی که دادید بجز 3 تا بقیه رو کم و بیش می فهمم چیکار می کنن.
    یکی اینکه چرا از ۷۷۵ توی chmod استفاده کردی.معنیش چیه؟
    یکی دیگه هم chown آخر برای چیه؟
    GID چیه؟
    اینا رو می پرسم که بعدا اگر جای دیگه به مشکل خوردم دوباره مزاحم نشم.
    بازم خیلی خیلی ممنون.اینطوری الان همه کارم رو تو لینوکس میکنم و بخاطر یکی دو مورد نمی رم سراغ بعضی چیزا!!!
    Last edited by ali zi zeperto; 09-09-2010 at 12:46.

  11. #9
    حـــــرفـه ای taia's Avatar
    تاريخ عضويت
    Aug 2005
    محل سكونت
    چو ایران نباشد تن من مباد
    پست ها
    2,107

    پيش فرض

    ببینید ساختار دستور chmod به این شکل هست که در جلوش سه عدد می آد، عدد اول مربوط به owner یا همون صاحب فایل هست، که با دستور chown کاربر صاحب فایل رو مشخص می کنیم، عدد دوم مربوط به گروه هست، و عدد سوم مربوط به همه(همه یعنی هر کسی که می تونه به نحوی به فایل دسترسی داشته باشه.
    یک مسئله ی ساده رو به یاد داشته باشید، عدد 4 یعنی خواندن. عدد 2 یعنی نوشتن و عدد 1 یعنی اجرا!
    بنابراین chmod 421 یعنی، کاربر owner می تونه فقط فایل رو بخونه، گروه ست شده بر روی فایل می تونه فایل رو ویرایش کنه، و کاربرهای دیگه فقط می تونند فایل رو اجرا کنند.
    حالا شما با جمع این اعداد می تونید دسترسی ها رو تغییر بدید مثلا برای دادن دسترسی هم خواندن و هم اجر 1+4 میشه5، همه دسترسی ها می شه 4 + 2 + 1 که میشه 7.
    بنابراین دستور chmod 775 یعنی، اجازه ی همه کارها برای کاربر owner و گروه مربوطه، و اجازه فقط خواندن و اجرا برای تمامی کاربران.
    chown رو هم فکر کنم متوجه شدید با توجه به توضیح بالا.
    و اما GID ، در واقع به نوعی می شه گفت یک مشخصه برای عضوهای گروه هست، مخقق group ID هست.

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


  13. #10
    پروفشنال
    تاريخ عضويت
    May 2006
    محل سكونت
    کرج
    پست ها
    746

    پيش فرض

    بالاخره داستان این عددها رو هم فهمیدم.من فکر می کردم که هر عددی مثلا 600 یه معنی داره ولی نمی دونستم هر رقمش اینطوری درست میشه و معنی داره.باز هم بابت این راهنمایی ها ممنون.
    عید فطر رو به شما هم تبریک می گم.آرزوی سلامتی و قبولی طاعات برای همه و بر و بچه های لینوکسی بالاخص مدیرا و همکاران این انجمن که سالهاست که می بینم رونق این فروم رو نگه داشتن.در واقع به جامعه کاربرای لینوکس کمک بزرگی می کنید.موفق باشید

  14. این کاربر از ali zi zeperto بخاطر این مطلب مفید تشکر کرده است


Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •