অ্যাপাচি ডকুমেন্টের রুট ফোল্ডারটিকে মাধ্যমিক হার্ড ড্রাইভে পরিবর্তন করুন


28

আমি আমার সার্ভার পিসির জন্য উবুন্টু 12.04 সার্ভার সংস্করণ ইনস্টল করেছি। আমি ল্যাম্প সার্ভারটি ইনস্টল করেছিলাম। আমার var / www অবস্থানটি আমার দ্বিতীয় মাধ্যমিক হার্ড ডিস্কের স্থানে পরিবর্তন করতে হবে। আমি gedit / etc / apache2 / সাইট-উপলব্ধ / ডিফল্ট এ এখানে অনেক সময় কনফিগার করা হয়েছিল আমার কোড

<VirtualHost *:80>
    ServerAdmin webmaster@localhost

    #DocumentRoot /var/www
    DocumentRoot /media/myserver/
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    #<Directory /var/www/>
        <Directory /media/myserver/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

</VirtualHost>

এবং ব্যবহৃত

sudo chown -R var/www /media/myserver/

এবং

chmod -R 755 /media/myserver/

তবুও আমি আমার / মিডিয়া / মাইজারের সাথে সংযোগ করতে সক্ষম হইনি এবং আমার ব্রাউজারটি নীচের বার্তাটি দেখায়

Forbidden

You don't have permission to access / on this server.

আমার var / www এ মাইজারের মাউন্ট কীভাবে কাউকে বলুন, অগ্রিম ধন্যবাদ


দ্বিতীয় ড্রাইভটি ফর্ম্যাট করা হয়েছিল এবং / মিডিয়া / মাইজারের ডিরেক্টরিতে লাগানো হয়েছিল? আপনি কি সেই ড্রাইভের জন্য একটি fstab এন্ট্রি যুক্ত করেছেন?
দামিয়েন

আপনি কি ডকুমেন্টের মূলের পিছনে থাকা স্ল্যাশ সমস্যা কিনা তা পরীক্ষা করে দেখেছেন, লক্ষ্য করুন যেখানে এটিতে মন্তব্য করা হয়নি সেখানে রয়েছে, তবে আপনার সম্পাদনায় রয়েছে।
ক্রিস

আপনি কি apache2.conf ফাইল পরিবর্তন করার চেষ্টা করেছেন?
গোল্ডেন_ফ্লেশ

উত্তর:


40

সম্পাদনা করতে হবে apache2.confএবং 000-default.confApache দস্তাবেজের রুট পরিবর্তন।

অ্যাপাচি সার্ভারটি ইনস্টল করা আছে var/www/html। এটি অ্যাপাচের ডিফল্ট রুট ডিরেক্টরি is

হয় অ্যাপাচি এর মূল ডিরেক্টরি পরিবর্তন করুন বা প্রকল্পে সরান /var/www/html

  1. অ্যাপাচের রুট ডিরেক্টরি পরিবর্তন করতে, চালান:

    cd /etc/apache2/sites-available
    
  2. তারপরে 000-default.confকমান্ডটি ব্যবহার করে ফাইলটি খুলুন :

    nano 000-default.conf
    
  3. DocumentRootবিকল্পটি সম্পাদনা করুন :

    DocumentRoot /path/to/my/project
    
  4. তারপরে অ্যাপাচি সার্ভারটি পুনরায় চালু করুন:

    sudo service apache2 restart
    

যদি আপনি Forbidden You don't have permission to access / on this serverঅ্যাপাচে এর রুট পরিবর্তন করার পরে পান তবে এই পদক্ষেপগুলি অনুসরণ করুন

  1. এই apache2.confমধ্যে অবস্থিত /etc/apache2এবং ব্যবহার করে এটি খুলুন

    nano apache2.conf
    
  2. ব্যবহারের Ctrl+ + Wএবং ডিরেক্টরির জন্য অনুসন্ধান (এটা লাইন 153 থাকবে)

  3. এটিকে ঐটির মত দেখতে হবে

    <Directory />
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all denied
    </Directory>
    
  4. এটিতে পরিবর্তন করুন

    <Directory />
        Options Indexes FollowSymLinks Includes ExecCGI
        AllowOverride All
        Require all granted
    </Directory>
    
  5. অ্যাপাচি পুনরায় চালু করুন

    sudo service apache2 restart
    

আমি একটি স্ক্রিপ্ট তৈরি করেছি যা একক কমান্ডে অ্যাপাচি রুট পরিবর্তন করে। আপনি আমার গিথুব এ এটি পেতে পারেন ।


এটি আমার জন্য একধরণের কাজ তবে আমাকে যুক্ত করতে হবে <Directory /path/to/my/project>Options Indexes FollowSymLinks AllowOverride All Require all denied </Directory>। ইন /etc/apache2/apahce2.confapache2 সেবা পুনরায় চালু করার আগে।
r0ng

19

কিছুটা দেরি হতে পারে। কিন্তু এখনো..

আপনার / etc / apache2 এর অধীনে apache.conf এ আপনার ডিরেক্টরি অনুমতিগুলি সম্পাদনা করা উচিত

এটি অনুসন্ধান করুন

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

এবং এর নীচে এই কোডটি যুক্ত করুন, যা আপনার ডিরেক্টরিতে অ্যাক্সেসের অনুমতি দেয়

 <Directory /media/myserver/>
            Options Indexes FollowSymLinks
            AllowOverride None
            Require all granted
    </Directory>

3

আপনার অ্যাক্টিভেটেড কনফিগারেশনে ডকুমেন্টের রুটটি কেবল পরিবর্তন করুন। /etc/apache2/sites-enabled/000-default এবং তারপরে আপনার অ্যাপাচি পুনরায় লোড করার বিষয়টি নিশ্চিত করুন।

সুতরাং এটি দিয়ে চেষ্টা করুন:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost

    DocumentRoot /media/myserver/
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /media/myserver/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

তারপরে যথাযথ অনুমতিটি দেওয়া উচিত:

sudo adduser <username> www-data
sudo chown -R www-data:www-data /media/myserver/
sudo chmod -R g+rw /media/myserver/

হ্যাঁ আমার বন্ধু আমি ইতিমধ্যে এটি সম্পন্ন হয়েছিল। উপরের কোডটি দেখুন আমি ডিফল্ট ডকুমেন্ট রুট মন্তব্য করেছিলাম এবং নতুন ডকুমেন্ট রুট .োকানো হয়েছিল। Apache2 পরে থামুন এবং শুরু করুন। এটা কাজ হয়নি। এটি 403 ত্রুটি, এবং অনুমতি অ্যাক্সেস প্রত্যাখাত হয়েছে এবং আমার ব্রাউজার
কেভিন - ধীনেশ বাবু

আপনি আমার শেষ এডিট দেখেছেন?
আছু

হ্যাঁ আমি এই দেখেছি তবুও এটি আপনাকে দেখায় যে এই সার্ভারটিতে আপনার / অ্যাক্সেসের অনুমতি নেই
কেভিন - ধীনেশ বাবু

2

দ্রুত কাজ (নিরাপদ এবং দ্রুত) হিসাবে আপনি আপনার বাহ্যিক হার্ড ড্রাইভারের মাউন্টিং পয়েন্টটিকে ডিফল্ট রুট ডিরেক্টরিতে (/ var / www ডিফল্ট) করতে পারেন make

প্রতিটি বিদ্যমান ডিরেক্টরিতে মাউন্টিং পয়েন্ট নির্ধারণ করা নিরাপদ তবে আপনি চালককে আনমাউন্ট না করলে পুরানো সামগ্রী পৌঁছানো যাবে না।

আরো একটি মাউন্ট পয়েন্ট তৈরি পড়ুন করা শিখতে এই


সেই ধারণা অনুসারে আমি এখানে নির্দিষ্ট কিছু ফোল্ডার মাউন্ট করব bindfs, যেমন এটি এখানে বর্ণিত হয়েছে: Askubuntu.com/a/1024308/566421
pa4080

1

sudo gedit etc/apache2/apache2.conf এই বিকল্পগুলি যুক্ত করুন সূচি অনুসরণ করুন সিমলিংক্স মাল্টিভিউগুলি অনুমোদন করুন ওভাররাইড কিছুই নয় আদেশের অনুমতি দিন, সকলের থেকে অনুমতি অস্বীকার করুন

ভার্চুয়াল কনফিগারেশন:/etc/apache2/sites-available/site.conf

ServerAdmin anilrmg@localhost.com
ServerName anilrmg.localhost.com
ServerAlias www.anilrmg.localhost.com
DocumentRoot /home/anilrmg/projects/code/anilrmg

sudo a2dissite 000-default.conf


1

যারা ভার্চুয়ালবক্স গেস্ট সংযোজন ব্যবহার করেন এবং you don't have permission to access /on this serverউপরে উল্লিখিত সমস্ত কিছু সত্ত্বেও পান:

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

সংক্ষেপে, সমাধানটি হ'ল ব্যবহারকারীর 'www-ডেটা' গোষ্ঠী 'vboxsf' এ যুক্ত করা:

sudo usermod -a -G vboxsf www-data

আপনি ভার্চুয়ালবক্স ভাগ করা ফোল্ডারের মালিক এবং / অথবা গ্রুপটি পরিবর্তন করতে পারবেন না, তবে উপরের সমাধানটি আমার পক্ষে ভাল কাজ করেছে।


1

আমি একই সমস্যা মধ্যে চালানো এবং এটি সমাধান করতে পারে!

আপনার যা করা দরকার তা হ'ল

  1. আপনি apache2.conf পরিবর্তন করুন। /var/www/আপনার পথে বিনিময় : <Directory /your/path/> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory>

  2. 000-default.conf পরিবর্তন করুন:

    DocumentRoot /your/path/

  3. ফাইল ম্যানেজার বা টার্মিনাল থেকে ডিরেক্টরিগুলির মালিকানা নিজের কাছে পরিবর্তন করুন (উদাঃ sudo chown pi: path) এটি ছাড়া আপনি পাবেন "আপনার কাছে এই সার্ভারটিতে অ্যাক্সেসের / অনুমতি নেই"। ভুল বার্তা.

এখানেই শেষ.

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