linux - কিভাবে আমি একটি apache সার্ভারের রুট ডিরেক্টরি পরিবর্তন করতে পারি?




lamp (12)

কেউ কি Apache সার্ভারের নথি রুট পরিবর্তন করতে জানে? আমি মূলত localhost /users/spencer/projects ডিরেক্টরি /var/www পরিবর্তে আসতে চাই।

সম্পাদন করা

আমি এটা figuring আপ সমাপ্ত। কিছু সুপারিশ করেছে যে আমি httpd.conf ফাইলটি পরিবর্তন করেছি, কিন্তু আমি /etc/apache2/sites-available/default একটি ফাইল খুঁজে পেয়েছি এবং root ডিরেক্টরিটি /var/www থেকে /home/myusername/projects_folder এবং এটি কাজ করেছে।


Apache সংস্করণ 2.4.18 (উবুন্টু)।

1. এই ফাইলটিতে /etc/apache2/apache2.conf অনুসন্ধান করুন <Directory /var/www/> এবং আপনার ডিরেক্টরিতে প্রতিস্থাপন করুন ......

2.go /etc/apache2/sites-available/000-default.conf এ DocumentRoot /var/www/html জন্য অনুসন্ধান করুন এবং আপনার DocumentRoot এ প্রতিস্থাপন করুন।


Apache2 এর জন্য বিভিন্ন পোর্টের অধীনে ডিরেক্টরি পরিবর্তন বা একাধিক ডিরেক্টরি থেকে চালানোর সঠিক উপায় নিম্নরূপ:

Apache2 এর জন্য কনফিগারেশন ফাইলগুলি /etc/apache2 অধীনে অবস্থিত এবং পুরোনো ভার্সনের মতো একটি কনফিগারেশন ফাইল ব্যবহার করা হয় না তবে ছোট কনফিগারেশন ফাইলগুলিতে বিভক্ত করা হয়, /etc/apache2/apache2.conf সাথে প্রধান কনফিগারেশন ফাইল। একটি ভিন্ন ডিরেক্টরি থেকে ফাইল পরিবেশন করার জন্য আমাদের একটি নতুন ভার্চুয়াল হোস্ট কনফারেন্স ফাইল প্রয়োজন। ভার্চুয়াল হোস্ট ফাইলগুলি /etc/apache2/sites-available (সাইট-সক্ষম ফাইলগুলির মধ্যে ফাইল সম্পাদনা করবেন না)। ডিফল্ট অ্যাপাঞ্চ ইনস্টলেশন ভার্চুয়াল হোস্ট ফাইল 000-default.conf

ডিফল্ট ইনস্টলেশনের দ্বারা ব্যবহৃত ডিফল্ট ভার্চুয়ালহস্ট ফাইলটি অনুলিপি করে একটি নতুন ভার্চুয়ালহস্ত ফাইল তৈরি করে শুরু করুন (পোর্ট 80 এ স্থানীয় হোস্টে চালানো হয় এমন একটি)। ডিরেক্টরি /etc/apache2/sites-available পরিবর্তন করুন এবং তারপর sudo cp 000-default.conf example.com.conf দ্বারা অনুলিপি করুন, এখন sudo gedit example.com.conf দ্বারা ফাইলটি এডিট করুন:

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot /home/ubuntu/example.com    
</VirtualHost>

আমি সংক্ষিপ্তত্ব জন্য উপরের ফাইল থেকে অ গুরুত্বপূর্ণ লাইন মুছে ফেলা হয়েছে। এখানে DocumentRoot ডিরেক্টরিটির যে পথ থেকে ওয়েবসাইট ফাইলগুলি পরিবেশন করা হবে যেমন index.html

আপনি ফাইলটি পরিসেবা করতে চান এমন ডিরেক্টরি তৈরি করুন, উদাহরণস্বরূপ; mkdir example.com এবং ডিরেক্টরিটির মালিক এবং ডিফল্ট গোষ্ঠী পরিবর্তন করুন, উদাহরণস্বরূপ, যদি আপনার লগ ইন ইউজার নামটি ubuntu পরিবর্তনের অনুমতি হয় sudo chown ubuntu:www-data example.com । এটি ব্যবহারকারী ubuntu সম্পূর্ণ অ্যাক্সেস দেয় এবং গোষ্ঠী www-data অ্যাক্সেসটি পড়তে এবং চালাতে সক্ষম www-data

এখন sudo gedit apache2.conf কমান্ডটি প্রয়োগ করে apache conf file /etc/apache2/apache2.conf এডিট করুন এবং লাইন <Directory /var/www/> এবং ক্লোজিং ট্যাগের নিচে </Directory> , নীচেরটি যোগ করুন:

<Directory /home/ubuntu/example.com>
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride All
    Require all granted
</Directory>

ভার্চুয়াল হোস্ট কনফিগারেশন ফাইলগুলি সক্রিয় অথবা নিষ্ক্রিয় করার জন্য দুটি কমান্ড রয়েছে, যা যথাক্রমে a2ensite এবং a2dissite । এখন থেকে আমাদের example.com.conf ফাইলটি একই পোর্ট ( 80 ) ব্যবহার করে ডিফল্ট কনফিগারেশন ফাইল ( 000-default.conf ডিফল্ট. sudo a2dissite 000-default.conf ) দ্বারা ব্যবহৃত হিসাবে, আমাদের sudo a2dissite 000-default.conf কমান্ডটি দিয়ে ডিফল্ট কনফিগারেশন ফাইলটি অক্ষম করতে হবে এবং sudo a2ensite example.com.conf দ্বারা আমাদের ভার্চুয়ালহাস্ট কন conf file সক্ষম করুন

কমান্ড sudo service apache2 restart করুন সার্ভার পুনরায় সার্ভার বা পুনরায় লোড করুন। এখন apache ডিফল্ট পোর্টে localhost এ ডিরেক্টরিতে example.com থেকে ফাইলগুলি সরবরাহ করে।

a2ensite কমান্ড মূলত সাইট-সক্ষম ডিরেক্টরি অধীনে conf ফাইলটি একটি প্রতীকী লিঙ্ক তৈরি করে

সাইটস-সক্ষম (অথবা * -এবল্ড) ডাইরেক্টয়ির মধ্যে ফাইলগুলি সম্পাদনা করবেন না, যেমন এই উত্তরটি উল্লেখ করেছে https://.com/a/41568701/2532763

পোর্ট পরিবর্তন এবং বিভিন্ন পোর্টে একাধিক ডিরেক্টরি থেকে চালানোর জন্য:

এখন যদি আপনি একটি পৃথক পোর্টে ডিরেক্টরিটি চালাতে চান তবে ভার্চুয়ালহস্ত ফাইলটি সম্পাদনা করে পোর্ট নম্বরটি 80 থেকে 8080 এ পরিবর্তন করুন:

<VirtualHost *:8080>
    ServerAdmin [email protected]
    DocumentRoot /home/ubuntu/work
</VirtualHost>

এবং /etc/apache2/ports.conf সম্পাদনা /etc/apache2/ports.conf এবং Listen 8080 নিচে Listen 80 /etc/apache2/ports.conf

এখন আমরা পোর্ট 80 তে চলমান ডিফল্ট ভার্চুয়াল হোস্ট ফাইলটি সক্ষম করতে পারি, উদাহরণস্বরূপ ডিরেক্টরি sudo a2ensite 000-default.conf পোর্ট 8080 ব্যবহার করে, sudo a2ensite 000-default.conf

কমান্ড sudo service apache2 restart করুন সার্ভার পুনরায় সার্ভার বা পুনরায় লোড করুন। এখন উভয় ডিরেক্টরি localhost এবং localhost:8080 থেকে অ্যাক্সেস করা যেতে পারে localhost:8080


আপনার ওয়েব সার্ভারের ডিফল্ট ডিরেক্টরি পরিবর্তন করার পরিবর্তে, আপনি একটি Alias তৈরি করতে পারেন।

অতএব আপনাকে দুটি ফাইল তৈরি করতে হবে:

  • এক /etc/apache2/sites-available/ এবং মধ্যে
  • এক /etc/apache2/sites-enabled/

উভয়কেই example.conf এবং উভয় ফাইলগুলিতে Alias <where you want to access (eg. /example)> "<your files directory (eg. /home/user/host/example)>"

তারপরে আপনি //localhost/example সাথে এটি অ্যাক্সেস করতে সক্ষম হবেন।

সম্পাদনা করুন:

হয়তো আমি কিছু কমান্ড উল্লেখ করতে ভুলে গেছি কারণ আমি ভুলে যাই
অথবা আপনার অ্যাক্সেস করার চেষ্টা করা ফোল্ডার / ফাইলের অনুমোদন সম্পাদনা করতে হবে।


আপনি উবুন্টু 16.04 ব্যবহার করছেন। ডিরেক্টরি / etc / apache2 / সাইট-উপলব্ধ ডিরেক্টরির মধ্যে 000-default.conf আপডেট করুন

এখানে -> সার্ভার অ্যাডমিন ওয়েবমাস্টার @ স্থানীয় হোস্ট ডকুমেন্টরুট / var / www / html / আপনার ফোল্ডার


আমি /etc/apache2/sites-available/default । লাইন আরডিএল হিসাবে উল্লেখ করা একই।


আমি LAMP এর সাথে কাজ করছিলাম এবং ডকুমেন্ট রুট ফোল্ডারটি পরিবর্তন করতে আমি ডিফল্ট ফাইল সম্পাদনা করেছি যা / etc / apache2 / সাইট-উপলব্ধ ফোল্ডারে আছে। আপনি যদি একই কাজ করতে চান তবে নিম্নরূপ সম্পাদনা করুন

DocumentRoot /home/username/new_root_folder
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /home/username/new_root_folder>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>

এর পরে যদি আপনি ব্রাউজারে স্থানীয় হোস্ট টাইপ করেন তবে এটি * / home / username / new_root_folder * সামগ্রী লোড করবে।


এটি উবুন্টু 14.04 এর জন্য:

ফাইল /etc/apache2/apache2.conf ফাইলের /etc/apache2/apache2.conf এটি ডিরেক্টরি নাম ছাড়া নীচের হওয়া উচিত:

<Directory /home/username>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

এবং ফাইল /etc/apache2/sites-available/000-default.conf ফাইলে আপনাকে কাস্টম ডিরেক্টরি নাম যেমন www:

DocumentRoot /home/username/www

উপরের হিসাবে যদি এটি সার্ভার লোড করার সময় আপনাকে একটি ত্রুটি দেয়: Forbidden You don't have permission to access / on this server


যদি আপনি http.conf খুঁজে না http.conf এবং নিক এর অনুসরণ করেন।

sudo service apache2 restart ব্যবহার করে sudo service apache2 restart


যদি কেউ /opt ফোল্ডারে LAMP ইনস্টল করে তবে /etc/apache2 আপনি যা খুঁজছেন তা নয়।

/opt/lampp/etc/httpd.conf ফাইলটি /opt/lampp/etc/httpd.conf

এই ফোল্ডারে লাইন পরিবর্তন করুন এবং টার্মিনাল থেকে সংরক্ষণ করুন।


রেডহ্যাট 7.0: /etc/httpd/conf/httpd.conf


দয়া করে মনে রাখবেন, এটি শুধুমাত্র উবুন্টু 14.04 LTS এবং নতুন রিলিজগুলির জন্য প্রযোজ্য।

আমার উবুন্টু 14.04 এলটিএস-তে, ডকুমেন্ট রুট /var/www/html তে সেট করা হয়েছিল। এটি নিম্নলিখিত ফাইলে কনফিগার করা হয়েছিল:

/etc/apache2/sites-available/000-default.conf

তাই শুধু একটি

sudo nano /etc/apache2/sites-available/000-default.conf

এবং আপনি চান কি নিম্নলিখিত লাইন পরিবর্তন:

DocumentRoot /var/www/html

এছাড়াও একটি

sudo nano /etc/apache2/apache2.conf

এবং এই খুঁজে

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

এবং আপনার পছন্দের ডিরেক্টরিতে /var/www/html পরিবর্তন করুন

এবং এটি সংরক্ষণ করুন।

আপনার পরিবর্তনগুলি সংরক্ষণ করার পরে, শুধুমাত্র apache2 ওয়েব সার্ভারটি পুনরায় চালু করুন এবং আপনার কাজ সম্পন্ন হবে :)

sudo service apache2 restart

আপনি যদি গ্রাফিকাল পাঠ্য সম্পাদক পছন্দ করেন তবে আপনি কেবল একটি gksu gedit দ্বারা sudo nano প্রতিস্থাপন করতে পারেন।


লিনাক্স মিন্টে apache2 এর জন্য 17.3 দারুচিনি 64-বিট নিম্নলিখিত কাজগুলি করে:

  1. /etc/apache2/sites-available/ 000-default.conf ফাইলটি খুলুন এবং ডকুমেন্ট রুট আপনার ডিরেক্টরিটির পরম পথে পরিবর্তন করুন।

    sudo vim /etc/apache2/sites-available/000-default.conf

  2. /etc/apache2/ httpd.conf খুলুন এবং আপনার ডিরেক্টরি উল্লেখ করে <Directory> ট্যাগ যোগ করুন এবং var/www জন্য ট্যাগের মতো একই সেটিংস যুক্ত করুন।

    sudo vim /etc/apache2/apache2.conf

    আমার মেশিনে এটি এই মত লাগছিল:

<Directory /home/my_user_name/php/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>

দ্রষ্টব্য: প্রথম ধাপে সম্ভবত আপনি default-ssl.conf ফাইলের default-ssl.conf ডকুমেন্ট রুট পরিবর্তন করতে চান SSL এর উদ্দেশ্যে। কিন্তু যতদূর আমি বলতে পারি, সাধারণ উন্নয়ন পরিবেশ চলার প্রয়োজন নেই।





lamp