কীভাবে ফোল্ডারটি সবসময় আপাচে লেখা যায়?


0

আমি পিএইচপি দ্বারা সর্বদা লিখনযোগ্য একটি ফোল্ডার তৈরি করতে চাই।

আমি অস্থায়ীভাবে ফোল্ডারের অনুমতিটি 77 777 তে পরিবর্তন করেছি, তবে ফোল্ডারের সামগ্রীটি একটি এফটিপি ব্যবহারকারী দ্বারা আপলোড করা হয়, তাই প্রতিবারই আমি স্ক্রিপ্টটি পুনরায় চালু করি:

Warning: file_get_contents(/var/www/html/.../file.txt): failed to open stream: Permission denied in /var/www/html/.../autoimport.php on line 25

এই স্ক্রিপ্টটিতে আমার ক্ষেত্রেও একই ঘটনা ঘটছে, যেখানে আমি ত্রুটি.লগের বিষয়বস্তু প্রদর্শন করি। আমি এটি 77 777 এ পরিবর্তন করি তবে এটি পুনরায় উত্পন্ন হওয়ার পরে আমি আবার অ্যাক্সেস হারিয়েছি।

Warning: fopen(/var/log/apache2/error.log): failed to open stream: Permission denied in /var/www/html/admin/errorlog.php on line 48
Could not get lines from file - /var/log/apache2/error.log

এর অনুমতি কী /var/log/apache2/error.log?
রামহাউন্ড

-rw-r ----- 1 টি রুট 75430 নভেম্বর 20 12:50 ত্রুটি.লগ
ব্যবহারকারী 1532587

উত্তর:


1

আমার সার্ভার সেটআপগুলিতে আমি সাধারণত যেভাবে এটি করি তা হ'ল ওয়েবসাইটের জন্য একটি গ্রুপ তৈরি করা, তারপরে সেটগ্রিড এবং উমাস্কের সংমিশ্রণটি ব্যবহার করে নিশ্চিত করুন যে অ্যাপ্লিকেশনগুলি আমি চাই সেগুলি দ্বারা ফাইলগুলি লেখার যোগ্য হয়। নীচে ধাপে গাইড:

1 / আপনার ওয়েবসাইটের জন্য একটি নতুন গ্রুপ তৈরি করুন:

$ sudo groupadd web-grp

2 / ওয়েবসার্ভারটি গোষ্ঠী হিসাবে চলমান ব্যবহারকারীকে যুক্ত করুন:

$ sudo gpasswd -a www-data web-grp

3 / আপনি যে ডিরেক্টরিটি এবং সার্ভারের অ্যাক্সেস রাখতে চান সেগুলি ফাইলগুলি ছড়িয়ে দিন:

$ sudo chown -R :web-grp /path/to/website

4 / এই ডিরেক্টরিগুলিতে গিড বিট এবং অন্যান্য অনুমতি সেট করুন:

$ sudo chmod -R ug+rw /path/to/website
$ find /path/to/website -type d -exec chmod g+xs {} \;

5 / আপনার ftp প্রোগ্রামের umask এ সেট করুন 002। এটি আপনার এফটিপি ক্লায়েন্ট এবং সার্ভারের উপর নির্ভর করবে, আপনার নির্দিষ্ট সেটআপের জন্য এটি কীভাবে করবেন তা নির্ধারণের জন্য চারপাশে অনুসন্ধান করুন।

6 / নতুন গোষ্ঠীটির অনুমতি নিতে আপনার ওয়েব সার্ভারটি পুনরায় চালু করুন:

$ sudo service apache2 restart

মজার বিষয়টি এখানে setgidসেই ডিরেক্টরিগুলির বিটটি হ'ল ডিরেক্টরিগুলিতে তৈরি হওয়া নতুন ফাইলগুলি ডিফল্টরূপে একই গ্রুপে থাকতে পারে। এর অর্থ আপনার 777অনুমতির দরকার নেই means যার অর্থ আপনার আরও সুরক্ষার পাশাপাশি একটি সিস্টেম রয়েছে যা কাজ চালিয়ে যাওয়া উচিত।

umaskঅংশ গুরুত্বপূর্ণ। নতুন ফাইলগুলির স্ট্রিপগুলিতে অনুমতি বিট থাকবে umask, সুতরাং যদি umaskএটি হয় 022তবে নতুন ফাইলগুলি গ্রুপ লিখনযোগ্য হবে না এবং জিনিসগুলি খুব ভালভাবে কাজ করবে না।

আমি এখন বেশ কয়েক বছর ধরে এই সেটআপটি খুব সফলভাবে ব্যবহার করছি।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.