/ Var / www এবং ওয়ার্ডপ্রেসের জন্য সঠিক অনুমতি


41

আমি একটি এলএএমপি সার্ভার সেট আপ করেছি এবং আমার নেটওয়ার্কের ভিতরে (আইপি অ্যাড্রেসের মাধ্যমে) এবং বাইরের ডায়ন্ডস ব্যবহার করে এসএসএইচ এর মাধ্যমে এবং একটি ওয়েব ব্রাউজারের "এটি কাজ করে" পৃষ্ঠাতে অ্যাক্সেস পেয়েছি।

আমাদের কিছু ওয়ার্ডপ্রেস প্রকল্প রয়েছে যা / var / www / ওয়ার্ডপ্রেস 1 / var / www / ওয়ার্ডপ্রেস 2 ইত্যাদিতে উপ-ডিরেক্টরিতে বসে থাকে W একটি ব্রাউজারে বিষয়বস্তু। আমি আমার ব্রাউজারে একটি 403 নিষিদ্ধ ত্রুটি পেয়েছি।

আমি ধরে নিলাম যে এটি কোনও অনুমতিের সমস্যা। আপনি দয়া করে আমাকে অনুমতিগুলির জন্য সঠিক সেটিংস বলতে পারেন:

  1. বিকাশকারী এবং আমাকে পড়তে / লিখতে অনুমতি দিন।
  2. WP সেট আপ করতে এবং তার কাজটি করার অনুমতি দেয়
  3. ওয়েবের মাধ্যমে দর্শকদের সাইট (গুলি) অ্যাক্সেস করার অনুমতি দিন।

আমার আরও উল্লেখ করা উচিত যে সাবফোল্ডারটি অন্য একটি অভ্যন্তরীণ এইচডিডি ফোল্ডারের সাথে আসলে সিমিলিংক - আমি মনে করি না এটির কোনও পার্থক্য হবে, তবে আমি ভেবেছিলাম আমার প্রকাশ করা উচিত।

total 12
drwxr-xr-x  2 root root 4096 2012-07-12 10:55 .
drwxr-xr-x 13 root root 4096 2012-07-11 20:02 ..
lrwxrwxrwx  1 root root   43 2012-07-11 20:45 admin_media ->     /root/django_src/django/contrib/admin/media
-rw-r--r--  1 root root  177 2012-07-11 17:50 index.html
lrwxrwxrwx  1 root root   14 2012-07-11 20:42 media -> /hdd/web/media
lrwxrwxrwx  1 root root   18 2012-07-12 10:55 wordpress -> /hdd/web/wordpress

এখানে ব্যবহারের ফলাফল chown -R www-data:www-data /var/www

total 12
drwxr-xr-x  2 www-data www-data 4096 2012-07-12 10:55 .
drwxr-xr-x 13 root     root     4096 2012-07-11 20:02 ..
lrwxrwxrwx  1 www-data www-data   43 2012-07-11 20:45 admin_media -> /root/django_src/django/contrib/admin/media
-rw-r--r--  1 www-data www-data  177 2012-07-11 17:50 index.html
lrwxrwxrwx  1 www-data www-data   14 2012-07-11 20:42 media -> /hdd/web/media
lrwxrwxrwx  1 www-data www-data   18 2012-07-12 10:55 wordpress -> /hdd/web/wordpress

আমি এখনও ব্রাউজারের মাধ্যমে অ্যাক্সেস করতে অক্ষম।


কমান্ডের আউটপুট পোস্ট করুন ls -la /var/www
স্যারচার্লো

আপনার প্রশ্নে দয়া করে তথ্য রাখুন!
হোর্হে কাস্ত্রো

ঠিক আছে, কোড পোস্ট করার
পদ্ধতিটি

ঠিক আছে, ভাল চেষ্টা করুনchown -R www-data:www-data /var/www
স্যারচার্লো

2
আমি মনে করি আপনার এখন সমস্যা হ'ল আপনি লিঙ্কগুলি ব্যবহার করছেন। অ্যাপাচি লিঙ্কগুলি অনুসরণ করবে না। আপনি যা করবেন তা হ'ল সেই ফাইলগুলিকে / var / www এ সরিয়ে নিয়ে যাওয়া এবং ভিটা ভিয়ালহোস্টগুলি ব্যবহার করতে অ্যাপাচি কনফিগার করা। Help.ubuntu.com/10.04/serverguide/httpd.html বিকল্পগুলি দেখুন , আপনি যদি ব্যবহার করতে চান তবে /hdd/web/wordpressঅ্যাপাচি (মূল ডিরেক্টরি) সঠিকভাবে কনফিগার করতে হবে। লিঙ্কগুলি ব্যবহার করতে আপনি অ্যাপাচি কনফিগার করতে পারেন, তবে আমি এটির পরামর্শ দিই না। এছাড়াও help.ubuntu.com/commune/WordPress
প্যান্থার

উত্তর:


81

প্রথমত, আপনাকে অবশ্যই নিশ্চিত করা উচিত যে আপনার ব্যবহারকারীর নামটি দলে অন্তর্ভুক্ত রয়েছে www-data। যদি তা না হয় তবে আপনি নিজের ব্যবহারকারীর নামটি www-dataগ্রুপ হিসাবে যুক্ত করতে পারেন

sudo adduser $USER www-data

এর পরে, আপনার নিজের ব্যবহারকারীর নাম / var / www এর মালিকানা পরিবর্তন করা উচিত

sudo chown $USER:www-data -R /var/www

পরবর্তী পদক্ষেপ, সাধারণ অনুশীলনের জন্য , আপনার অনুমতিটি 755 (rwxr-xr-x) এ পরিবর্তন করা উচিত, সুরক্ষার কারণে for 777 এ অনুমতি পরিবর্তন করার প্রস্তাব দেওয়া উচিত নয়

sudo chmod u=rwX,g=srX,o=rX -R /var/www

ওয়ার্ডপ্রেস বা লারাভেল বা অন্য কাঠামোর জন্য নির্দিষ্ট অনুমতি সম্পর্কিত , তারপরে আপনি যথাক্রমে ডকুমেন্টেশন পড়তে পারেন।

আশা করি এটা সাহায্য করবে...


1
আমার জন্য কাজ করেনি, আমি যুক্ত করতে চাইsudo chown www-data:www-data -R mywordpressdirectory/
লুই

মালিকানা পরিবর্তনের পরে আপনারও অনুমতি পরিবর্তন করা উচিত। আপনি কি নিজের অনুমতিটি 755 এ পরিবর্তন করেছেন?
রূপান্তর

1
তিনি দিয়েছিলেন chmod। তিনি স্টিকি বিট সহ 755-তে অনুমতি পরিবর্তন করছেন (www- ডেটার মালিকানাধীন নতুন ফাইলগুলি রাখার জন্য)
জাচারি দহন

সংক্ষিপ্ত এবং মিষ্টি আমি সবচেয়ে ভাল ব্যাখ্যা খুঁজে পেতে পারি। ধন্যবাদ।
বানাগো

1
সুতরাং আপনি অ্যাডমিন প্যানেল থেকে প্লাগইন / থিম ইত্যাদি ইনস্টল / মুছে ফেলতে পারবেন না কারণ ওয়ার্ডপ্রেসে লেখার অনুমতি নেই।
ইগোর স্কলডিন

3

আপাতদৃষ্টিতে উবুন্টু সার্ভার গাইড এ এটির প্রস্তাব দেওয়া হয়:

অধ্যায় 11. ওয়েব সার্ভার।

1.4। ভাগ করে নেওয়ার অনুমতি

একাধিক ব্যবহারকারীর একই ডিরেক্টরিতে লিখতে সক্ষম হওয়ার জন্য তারা যে গোষ্ঠীটি ভাগ করে নিয়েছে তাদের লিখিত অনুমতি দেওয়ার প্রয়োজন হবে। নিম্নলিখিত উদাহরণটি "ওয়েবমাস্টার্স" গোষ্ঠীতে / var / www / html এ ভাগ করে লেখার অনুমতি প্রদান করে

আমি www-ডেটা ব্যবহার করি আপনার গ্রুপের সাথে কেবল "ওয়েবমাস্টারগুলি" প্রতিস্থাপন করুন, নিশ্চিত হয়ে নিন যে আপনি অবশ্যই ব্যবহারকারীদের গ্রুপে যুক্ত করেছেন।

sudo chgrp -R webmasters /var/www/html
sudo find /var/www/html -type d -exec chmod g=rwxs "{}" \;
sudo find /var/www/html -type f -exec chmod g=rws "{}" \;

আমি কেবল এটি আমার ম্যাক ডেস্কটপ থেকে ড্রিমউইভার দিয়ে পরীক্ষা করেছিলাম এবং ফাইলগুলি যুক্ত করা ইত্যাদি আপলোড করে প্রতিস্থাপন করেছি এবং এটি এক ব্যতিক্রম সহ সঠিক অনুমতিগুলি বজায় রাখে, স্থানীয় ব্যবহারকারী www-ডেটা সহ নতুন ফাইলগুলির মালিক হয়ে যায়, তবে রুটে তৈরি হওয়া যে কোনও ফাইল এইচটিএমএল ডিরেক্টরি তাদের মালিকানা মূল হিসাবে ধরে রাখে তবে স্থানীয় ব্যবহারকারীর দ্বারা সম্পাদনাযোগ্য ed

$ls -l
$-rw-rw-r-- 1 localUser www-data 11505 May 28 09:56 index2.html
$-rw-rwSr-- 1 root  www-data 11535 May 28 09:58 index.html

আশা করি এটি জিনিস পরিষ্কার করে দেয় এবং ক্লান্তিতে সহায়তা করে, কারণ আমি জানি যে আমি সবসময় এই পরিস্থিতি থেকে ক্লান্ত ছিলাম তবে এখন তা আমার কাছে স্পষ্ট।

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

লিনাক্স সার্ভারে কীভাবে এসএসএইচ কী-ভিত্তিক প্রমাণীকরণ কনফিগার করবেন


1) ফাইলগুলিতে সেট বিড বিট ছেড়ে দেয়। অদ্ভুত দেখায়, কিছুই করে না, ব্যবহারকারীরা যদি ফাইলগুলিকে এক্সিকিউটেবল করতে এবং সেগুলি চালাতে পারেন তবে সুরক্ষা সমস্যাগুলির দরজা খুলে দেয়। কিন্তু যদি তুমি ফাইল setgid নিয়ে খুশি, জটিল প্রতিস্থাপন findশুধু সঙ্গে গুলি sudo chmod -R g=srwX /var/www/html
temoto

2) find -exec chmodপ্রতিটি ফাইলের জন্য একটি পৃথক প্রোগ্রাম উত্সাহিত করবে, যা সময় সাশ্রয়ী এবং যদি আপনার অনেকগুলি ফাইল থাকে তবে সিস্টেমে বিনা চাপে চাপ দেয়। সমাধান: sudo find /var/www/html -type f -print0 |sudo xargs -0 chmod g=rw। xargs এর একক দৃষ্টিতে যতগুলি সম্ভব ফাইলের পথ খাওয়ার চেষ্টা করবে chmod
temoto

0

পরীক্ষা করে দেখুন যে অ্যাপাচি /hdd/web/mediaএবং এর জন্য অধিকার কার্যকর করেছে /hdd/web/wordpress

চালান:

chmod o+x /root /root/site /root/site/about

তদুপরি, ফাইল সিস্টেমের ডিরেক্টরিতে অ্যাক্সেসের অনুমতি দেওয়ার জন্য অ্যাপাচি কনফিগার করতে হবে। এটি অ্যাপাচি কনফিগারেশন ফাইলগুলিতে (httpd.conf) একটি নির্দেশিকা সন্নিবেশ করে সিস্টেম প্রশাসককে করতে হবে।

যেহেতু প্রকৃত ডিরেক্টরিটি ওয়েবের মূলের অভ্যন্তরে রয়েছে এটি অবশ্যই অ্যাক্সেসযোগ্য হবে, তবে ফলোসিমলিংকগুলি ডিরেক্টরিটির জন্য সক্ষম নাও থাকতে পারে - এটিও নির্দেশিকায় যুক্ত করতে হবে।

Http://httpd.apache.org/docs/2.0/mod/core.html# ডিরেক্টরিটি দেখুন


সবাইকে ধন্যবাদ ... আমি সর্বনিম্ন প্রতিরোধের পথে যেতে সিদ্ধান্ত নিয়েছি ... সিমলিংকগুলি সরিয়েছি। সমস্ত নিখুঁতভাবে কাজ করে।
dpbklyn

0

উবুন্টু জন্য ইনস্টলেশন গাইড কাছাকাছি পড়া ..

chown -R www-data /usr/share/wordpress

ফাইলগুলি আনজিপ করার চেষ্টা করার পরিবর্তে এভাবে ইনস্টল করা আরও সহজ হতে পারে /var/www

https://help.ubuntu.com/commune/WordPress ...

কোনওভাবেই ওয়ার্ডপ্রেস আপাচে চলে ... ঠিক আছে? আপনি যদি সেভাবে এটি করতে চান .. আপনি @ মেটামॉর্ফ হিসাবে এটি দেখান তবে এপাচে 2 তে পার্মিসনটি এইভাবে দিন httpd.conf:

<VirtualHost *:80>
        ServerName site
        ServerName site.domain
        DocumentRoot /srv/www/wordpress.site

        DirectoryIndex index.php

</VirtualHost>

এবং তারপর default-server.conf

<Directory "/srv/www/wordpress.site">
        Options None
        AllowOverride None
        Order allow,deny
        Allow from all
</Directory>

হয়ত ধাপে ধাপে https://help.ubuntu.com/commune/WordPress করতে ভাল

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