অ্যাপাচি ম্যাকোস 10.13 হাই সিয়েরাতে ব্যবহারকারী সাইট ফোল্ডারের সাথে কাজ করছে না


8

আমি হাই সিয়েরায় অ্যাপাচি সেট আপ করতে এই গাইডটিকে অনুসরণ করেছি: https://coolestguidesontheplanet.com/get-apache-mysql-php-and-phpmyadmin-working-on-macos-sierra/

আমি এটি সিয়েরায় সেট আপ করতে ব্যবহার করেছি।

তবে আমি যখন যাই http://localhost/~scott/আমি "নিষিদ্ধ" পাই get আপনার কাছে এই সার্ভারে / ~ স্কট / অ্যাক্সেসের অনুমতি নেই।

এই অনুরূপ প্রশ্নের জন্য একটি পরামর্শ: ম্যাকোস হাই সিয়েরায় লোকালহোস্ট / ইউজারডির হ'ল ভোস্টগুলি লোড করা। যা আমি চেষ্টা করেছি, তবে এখনও "নিষিদ্ধ" পেয়েছি।

সিয়েরা এবং হাই সিয়েরার মধ্যে কি এমন কোনও পরিবর্তন হয়েছে যা অ্যাপাচি ব্যবহারকারীদের সাইটের ফোল্ডারগুলির সাথে কাজ করা থেকে বিরত রাখবে?


চেষ্টা করুন apachectl configtest, এবং আউটপুট আপডেট করুন
রকেশ কুমার

রিটার্নসSyntax OK
sfyfedotcom


"নিষিদ্ধ। আপনার কাছে এই সার্ভারে / ~ স্কট / অ্যাক্সেসের অনুমতি নেই" "
sfyfedotcom

উত্তর:


8

আমি যখন একই সমস্যায় পড়ি তখন এটি আমার পক্ষে কাজ করে।

দয়া করে "/private/etc/apache2/extra/httpd-userdir.conf" ফাইলটি পরীক্ষা করুন।

পরিবর্তন

#Include /private/etc/apache2/users/*.conf

প্রতি

Include /private/etc/apache2/users/*.conf

এবং অ্যাপাচি পুনরায় চালু করুন।

প্রেরণ: /programming/39631351/apache-localhost-403-forbmitted-with-macos-sierra


আমি /private/etc/apache2/extra/httpd-userdir.confযে নির্দেশিকাটি অনুসরণ করেছি সেই লিঙ্কটি ইতিমধ্যে নিরবিচ্ছিন্ন।
sfyfedotcom

আপনি কি অ্যাপাচি "সুডো অ্যাপাচিটল রিস্টার্ট" পুনরায় চালু করেছেন
রবার্ট

হ্যাঁ. আমি অ্যাপাচি এর কনফিগারেশন ফাইলগুলিতে সমস্ত পরিবর্তন নিয়ে করেছি
sfyfedotcom

4

সাইট ডিরেক্টরিতে অ্যাক্সেসের অনুমতি দেওয়ার জন্য আপনাকে নিম্নলিখিতটি যুক্ত করতে হবে /etc/apache2/httpd.conf:

<DirectoryMatch "/Users/.*/Sites">
  Require all granted
</DirectoryMatch>

ডিফল্ট অ্যাপাচি কনফিগারেশনটি অন ​​/ এ অস্বীকৃত সেট করা আছে, সুতরাং আপনাকে স্পষ্টভাবে সমস্ত কিছুতে অ্যাক্সেসের অনুমতি দিতে হবে।


অ্যাপাচি যুক্ত এবং পুনরায় চালু করা হয়েছে। কোনও পার্থক্য করেনি
sfyfedotcom

আমারও একই সমস্যা ছিল। "এটি কাজ করে!" পাচ্ছিল লোকাহোস্টে থাকলেও ব্যবহারকারী ডিরেক্টরিতে কাজ করতে পারেনি। ডাইরেক্টরি ম্যাচের নিয়ম ঠিক করা এটি সমাধান করেছে। ধন্যবাদ!
কররা

4

ডায়োগো লিমার উত্তরে কেবল প্রসারিত করতে।

হাই সিয়েরায় আপগ্রেড হওয়ার সাথে সাথে অ্যাপল আপনার পূর্ববর্তী অ্যাপাচি সেটিংসের অনুলিপি তৈরি করেছিল এবং / ইত্যাদি / অ্যাপাচি 2 এবং / ইত্যাদি / অ্যাপাচি 2 / অতিরিক্ত ফোল্ডারে উভয়ই .conf ফাইলগুলিতে একটি আগের যুক্ত করে। আপনি যদি ভার্চুয়াল হোস্ট বা এসএসএল-ভার্চুয়াল হোস্টগুলি ব্যবহার করে থাকেন তবে আপনার সেই আগের .কনফ ফাইলগুলির জন্য আপনার পূর্ববর্তী সংস্করণগুলিও সরানো দরকার।

mv /etc/apache2/extra/httpd-vhosts.conf~previous /etc/apache2/extra/httpd-vhosts.conf
mv /etc/apache2/extra/httpd-ssl.conf~previous /etc/apache2/extra/httpd-ssl.conf

এটি হাই সিয়েরার একটি পরিষ্কার ইনস্টল ছিল, সুতরাং আমার কোনও পূর্ববর্তী কনফিগারেশন ফাইল নেই
sfyfedotcom

সুতরাং, কেবল পরিষ্কার করার জন্য, আপনি এটি সিয়েরাতে কাজ করে এসেছিলেন, তবে একটি আপগ্রেড করেননি, বরং একটি সম্পূর্ণ পরিষ্কার ইনস্টল করেছেন? আমার মনে আছে যখন সিয়েরার উপর এটি কাজ করা সেট আপ করেছি যে আমি আমার সাইট ফোল্ডার থেকে / লাইব্রেরি / ওয়েবসার্ভার / নথি ফোল্ডারে একটি প্রতীকী লিঙ্ক তৈরি করেছি এবং নিশ্চিত করেছি যে আমি নিজেকে অনুমতি দিয়েছি (পড়ুন এবং লিখুন)। যেহেতু এই পর্যায়ে কেবল কোনও অনুমতি বিষয় হিসাবে মনে হচ্ছে তাই আপনি কি প্রতীকী লিঙ্কটি তৈরি করেছেন এবং অনুমতিগুলি পরিবর্তন করেছেন?
জেমস মার্টিন

হ্যাঁ, এটা সঠিক। আমি সর্বদা নতুন ম্যাকস সংস্করণগুলির একটি পরিষ্কার ইনস্টল করি। আমি সচেতন যে আমি এটি করতে পারি, তবে আমি ওয়েব প্রকল্পগুলির জন্য /Library/WebServer/Documentsএবং উভয় Users/username/Sitesপৃথক অবস্থান বজায় রাখতে চাই , কারণ এটিই আমি গত 10+ বছর ধরে ম্যাকোএসে করতে সক্ষম হয়েছি।
sfyfedotcom

সুতরাং দেখে মনে হচ্ছে আপনার একই মেশিনে অ্যাপাচি দুটি পৃথক দৃষ্টান্ত চালানো দরকার তবে একা উদাহরণ থেকে চালানোর সময় অ্যাপাচি এখন যে ওয়েবসাইটগুলি অফার করে সেটি লোড ব্যালান্সিংয়ের পুরো উদ্দেশ্যকে পরাভূত করবে না? অ্যাপলের সেরা অনুশীলনের সুপারিশটি হ'ল ব্যবহারকারী / ব্যবহারকারীর নাম / সাইটগুলি ব্যবহার করা এবং লাইব্রেরি / ওয়েবসার্ভার / ডকুমেন্টগুলির সাথে আটকে থাকা
জেমস মার্টিন

একক অ্যাপাচি উদাহরণটি একাধিক ডিরেক্টরি থেকে ওয়েব প্রকল্পগুলি পড়ার তার is বছরের পর বছর ধরে এভাবেই সেট আপ করেছি।
sfyfedotcom

3

উপরোক্ত সমস্ত পদ্ধতি ব্যবহারের পরে, লোকালহোস্ট অ্যাক্সেস করার সময় আপনি যদি এখনও "নিষিদ্ধ" হন তবে আপনার /etc/apache2/extra/httpd-vhosts.conf এ ভার্চুয়ালহোস্ট যুক্ত করার চেষ্টা করুন

যোগ করুন

<VirtualHost *:80>
ServerName localhost
DocumentRoot /Library/WebServer/Documents/
</VirtualHost>

তারপরে অ্যাপাচি পুনরায় চালু করুন।

https://coolestguidesontheplanet.com/set-up-virtual-hosts-in-apache-on-macos-high-sierra-10-13/

আমার জন্য ভাল কাজ করে


1

আমি একই পরিস্থিতিতে ছিলাম, স্পষ্টতই httpd.conf এ অসুস্থ হওয়ার জন্য আরও কয়েকটি লাইন রয়েছে, হাই সিয়েরায় ভোস্টগুলি সক্রিয় হয় না। - https://apple.stackexchange.com/a/299929/259065


আমি ইতিমধ্যে দু'টি লাইনই সংক্ষিপ্ত করে রেখেছি। কোনও পার্থক্য নেই
sfyfedotcom

1

আজ সকালে সবেমাত্র আপডেট হয়েছে। সাইট / ফোল্ডার / ব্যবহারকারী / ব্যবহারকারী নাম ব্যবহার করে।

ব্যাক আপ করা হয়েছে এবং httpd.conf, httpd-userdir.conf এবং https-vhosts.conf ডাব্লু / পূর্ববর্তী রূপগুলি প্রতিস্থাপন করেছে।

দৌড়ে sudo apachectl configtestগিয়ে পিএইচপি ত্রুটি পেয়েছে (পিএইচপি হাই সিয়েরায় 7 এ আপডেট হয়েছে)। পিএইচপি 7 শুরু করার জন্য http.conf সম্পাদিত এবং এখন সবকিছু আবার কাজ করছে।


নোট অন্তর্ভুক্ত করার জন্য +1sudo apachectl configtest
ডেভিড সি

1

সম্ভাব্য সমাধান (উপরের সমস্ত পরামর্শ ব্যর্থ হওয়ার পরে)। সমস্যাটি হোম ডিরেক্টরিটির অনুমতি নিয়ে। এটি গ্রুপ / অন্যদের জন্য কার্যকর করা উচিত:

sudo chmod গো + এক্স / ব্যবহারকারী / ব্যবহারকারীর নাম

যেখানে "ব্যবহারকারীর নাম" প্রকৃত ব্যবহারকারীর নাম দিয়ে প্রতিস্থাপন করতে হবে। এর পরে, এটি কাজ করে!


0

ইসস !! আমি নিজেই এটি আবিষ্কার।

এই পদক্ষেপগুলি করুন

পদক্ষেপ 1: আপনার টার্মিনালটি খুলুন এবং নীচে এই কমান্ডটি চালান

sudo atom /etc/apache2/httpd.conf

এবং তারপরে "#"সাইনটি সরিয়ে দিয়ে লাইনটি কমেন্ট করুন

LoadModule php7_module libexec/apache2/libphp7.so

পদক্ষেপ 2: নীচে উল্লিখিত নিম্নলিখিত কমান্ডটি চালান

cd /private/etc

sudo cp php.ini.default php.ini

পদক্ষেপ 3: তারপরে আপনার /Library/WebServer/Documentsডিরেক্টরিতে যান এবং একটি করুন

sudo chown -R  root yourprojectname

আপনার সাফারি ব্রাউজারে ফিরে যান এবং টাইপ করুন "http://localhost/yourprojectname"

আপনি যেতে প্রস্তুত।

আমি ম্যাকস হাই সিয়েরা 10.13 ব্যবহার করছি, এটি গতকাল সকালে আপডেট হয়েছে।


localhostথেকে চালানো /Library/WebServer/Documentsঠিক কাজ করছে। সমস্যা চলছে localhost/~scottথেকে /Users/Scott/Sites
sfyfedotcom 21

0

এটি বের করার জন্য পুরো সকালে ব্যয় করেছেন, তবে শেষ পর্যন্ত এটি কার্যকর হয়েছে। আশা করি এটি কারও পক্ষে কার্যকর হতে পারে।

আমি একটি গাইড অনুসরণ, কিন্তু একটি সামান্য পরিবর্তন সঙ্গে।

  • এটি গাইড: https://websitebeaver.com/set-up-localhost-on-macos-high-sierra-apache-mysql-and-php-7-with-sslhttps (ধন্যবাদ ডেভিড মার্কাস!)
  • সাইটগুলি ফোল্ডার তৈরি করুন বিভাগের আওতায় এটি আমার টুইট : এটি আমার পক্ষে কাজ করতে /users/username/Sites/আমি শেষ স্ল্যাশ যুক্ত করেছি।

এখন আমি লোকালহোস্ট ফোল্ডারগুলি অ্যাক্সেস করতে পারি, তবে ...

হাই-সিয়েরার আগে এটি ছিল: http://localhost/~username/smomesite.local

এখন এর মতো: http://localhost/smomesite.local

আর ~usernameদরকার নেই।


আমি আমার ব্যবহারকারী ফোল্ডারে ডিফল্ট অ্যাপাচি ওয়েব পাথ পরিবর্তন করতে চাই না। ম্যাকোসের আগের সংস্করণে আমি উভয় Users/myname/Sitesডিরেক্টরি থেকে ফাইল / সাইট চালাতে সক্ষম /Library/WebServer/Documents
হয়েছি

0

আমার ঠিক এই একই সমস্যাটি ছিল এবং আপনি যা চান ঠিক তা করতে চেয়েছিলেন (রুটটিকে / লাইব্রেরি / ওয়েবসার্ভার / ডকুমেন্টস এ রাখুন, তবে ব্যবহারকারী সাইট ফোল্ডারগুলিকেও অনুমতি দিন)। এটি নিশ্চিত হবে কিনা তা আমি নিশ্চিত নই, তবে আজ রাতে কয়েক ঘন্টার জন্য এটি উপভোগ করার পরে, সমস্ত .conf ফাইলের মধ্য দিয়ে লাইন দিয়ে তাকিয়ে কী কী ভুল হয়েছে তা অবাক করে আমি বুঝতে পেরেছি যে httpd প্রক্রিয়াটি আমার পড়তে সক্ষম হয়নি নিজস্ব ব্যবহারকারী ডিরেক্টরি। কোনও কারণে এটি 750 হিসাবে সেট করা হয়েছিল এবং _www ব্যবহারকারী এটি পড়তে অক্ষম। একবার আমি এটি "chmod 755" চালিয়ে ঠিক করেছিলাম। আমার ব্যবহারকারী ডিরেক্টরিতে, সাইট ফোল্ডারটি ঠিক উপরে প্রদর্শিত হয়েছিল।

আমি নিশ্চিত নই যে আমার নিজস্ব ব্যবহারকারী ডিরেক্টরিটি কীভাবে এরকম হয়েছিল, কারণ দেখা যাচ্ছে যে আমি যখন নতুন ব্যবহারকারী তৈরি করি তখন তারা 755 এ ডিফল্ট হয়। আমি ইতিমধ্যে বহুবার ডাবল-চেক করেছিলাম যে আমার সাইট ফোল্ডারটি 755 তে সেট করা আছে।


কেবল এটি চেষ্টা করে অ্যাপাচি পুনরায় চালু করলেন। তবুও "নিষিদ্ধ: আপনার কাছে এই সার্ভারে / ~ ব্যবহারকারীর নাম / অ্যাক্সেসের অনুমতি নেই"
sfyfedotcom

0

আমারও একই সমস্যা ছিল। আমি নীচের দুটি লাইনটি uncommented (ইতিমধ্যে অন্য প্রতিক্রিয়া হিসাবে প্রস্তাবিত)

#LoadModule vhost_alias_module libexec/apache2/mod_vhost_alias.so 
#Include /private/etc/apache2/extra/httpd-vhosts.conf

তবে এখনও একই ত্রুটি পেয়েছি। আমার জন্য কৌতুকটি এই অতিরিক্ত লাইনগুলিকে httpd.conf ফাইলটিতে অস্বস্তিকর করছিল:

#LoadModule userdir_module libexec/apache2/mod_userdir.so 
#LoadModule include_module libexec/apache2/mod_include.so 
#LoadModule rewrite_module libexec/apache2/mod_rewrite.so

আশা করি এইটি কাজ করবে.


আমি ইতিমধ্যে এই লাইনগুলি uncommented করেছি
sfyfedotcom

0

এটি ঘটে যে আপডেটটি আপনার সমস্ত পূর্ববর্তী কনফিগারেশন ফাইলগুলিতে সরিয়ে নিয়েছিল। পূর্ববর্তী। আপনি যদি /etc/apache2/extra/httpd-userdir.conf~rePreGP /etc/apache2/extra/httpd-userdir.conf এ যান, এবং /etc/apache2/extra/httpd.conf~rep to / etc / apache2 / অতিরিক্ত / httpd.conf, এটি আগের মতো কাজ করা উচিত।

mv /etc/apache2/extra/httpd-userdir.conf /etc/apache2/extra/httpd-userdir.conf~high-sierra
mv /etc/apache2/httpd.conf /etc/apache2/httpd.conf~high-sierra
mv /etc/apache2/extra/httpd-userdir.conf~previous /etc/apache2/extra/httpd-userdir.conf
mv /etc/apache2/httpd.conf~previous /etc/apache2/httpd.conf
apachectl restart

এটি হাই সিয়েরার একটি পরিষ্কার ইনস্টল ছিল, সুতরাং আমার কোনও পূর্ববর্তী কনফিগারেশন ফাইল নেই
sfyfedotcom

0

আমি একই সমস্যা ছিল। সমাধান সহজ ছিল। এখানে পোস্ট করা উত্তর দেখুন: https://apple.stackexchange.com/a/306390/129503

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

ফোল্ডারে /etc/apache2:

./httpd.conf
./extra/httpd-vhosts.conf
./extra/httpd-ssl.conf

উদাহরণ:

cp /etc/apache2/httpd.conf~previous /etc/apache2/httpd.conf

0

প্রতিস্থাপন করা

./httpd.conf
./extra/httpd-vhosts.conf
./extra/httpd-ssl.conf

পুরানো ~ আগের ফাইলগুলি থেকে

আপনি httpd.conf এ php5 মডিউল ত্রুটি পেতে পারেন, পিএইচপি 5 কে পিএইচপি 7 এর সাথে প্রতিস্থাপন করুন এবং আপনার সাইটগুলি কাজ করা শুরু করবে।

প্রতিস্থাপন করা

LoadModule php5_module libexec/apache2/libphp5.so

সঙ্গে

LoadModule php7_module libexec/apache2/libphp7.so

0

আমি ঠিক আপগ্রেড করেছি এবং ঠিক একই সমস্যা ছিল had আমি vhosts ব্যবহার করি না। আমার জন্য সমাধানটি নিশ্চিত করছিল:

ইন https.confuncomment

LoadModule userdir_module libexec/apache2/mod_userdir.so

LoadModule authz_host_module libexec/apache2/mod_authz_host.so

LoadModule authz_user_module libexec/apache2/mod_authz_user.so

LoadModule authz_core_module libexec/apache2/mod_authz_core.so

এবং extra/httpd-user.confলাইন আছে তা নিশ্চিত করুন :

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