ফেডোরা 23-তে নতুন অ্যাপাচি সেটআপে 500 ত্রুটি


0

ঠিক আছে, আমি এটি কিছুটা উদ্ভট খুঁজছি।

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

যাইহোক, আমি httpd (অ্যাপাচি), পিএইচপি, পোস্টগ্র্যাসকিএল এবং পিএইচপি-পিএসএসকিএল ইনস্টল করেছি। এবং তারপরে আমি আমার সমস্ত পুরানো সাইট পৃষ্ঠাগুলি নতুন ওয়েব ডিরেক্টরিতে (/ var / www / html /) এ সরিয়েছি। তখন আমি 500 ত্রুটি পেয়েছি।

আমি স্ক্র্যাচ থেকে শুরু করার জন্য লার্কের সিদ্ধান্ত নিয়েছি। আমার ওয়েবপৃষ্ঠাগুলি পাশের দিকে সরানো হয়েছে (/ var / www / html2 /) এ, এবং এটি পরীক্ষা করার জন্য একটি ছোট পৃষ্ঠা তৈরি করেছে। কেবলমাত্র বেসিক এইচটিএমএল, অভিনব কিছুই নয়, পিএইচপি নেই, কেবলমাত্র বেসিক।

<html>
<head>
<title>HOME!!!</title>
</head>
<body>
<h1>THIS WORKS!!!</h1>
</body>
</html>

এটি ইস্যু ছাড়াই লোড হয়েছে।

তারপরে আমি প্রতিটি পৃষ্ঠাকে মূল ফোল্ডারে ফিরিয়ে নিয়েছি (আপাতত .htaccess ব্যতীত) এবং আমি সবে তৈরি পৃষ্ঠাটি এখনও ভাল কাজ করেছে। সমস্যাটি সন্দেহজনকভাবে পিএইচপি করার সাথে সাথে, আমি নীচে পিএইচপি কোডটি কিছুটা যুক্ত করেছি:

echo 'hello';

ভাল কাজ করেছেন।

এখানে যেখানে এটি অদ্ভুত হয়। আমি আমার সাইট থেকে এই ছোট্ট পরীক্ষার পৃষ্ঠায় পুরানো পাদলেখ.এফপি অন্তর্ভুক্ত করার চেষ্টা করেছি এবং সমস্যাগুলি এখানেই শুরু হয়। ফুটারটি কেবল লোড হবে না।

<?php include 'footer.php'; ?>

বাকী পৃষ্ঠাটি কেবল ফুটারের সাথে নয়। তারপরে, একটি লার্কে, আমি পাদলেখের ফাইলের সমস্ত বিষয়বস্তুকে একটি নতুন ফাইলে কপি করেছিলাম যার নাম পাদলেখ। পিএফপি এবং পরিবর্তে পরীক্ষার পৃষ্ঠাটি রেফারেটর পাদলেখ 2। পিএফপিতে পরিবর্তন করেছি এবং এটি পুরোপুরি কোনও বাধা ছাড়াই লোড হয়।

সুতরাং আমি অবশেষে মনে করি আমি কোনও কিছুর উপরে আছি তাই আমি পাদলেখ.পি.পি. এর অনুমতিগুলি পাদদেশ 2.php এর সাথে মেলে change এবং এটি এখনও লোড হবে না।

কোনও কারণে, footer.php লোড হবে না, তবে footer2.php হবে।

তাহলে কী পার্থক্য !?

এই ফাইলগুলি ঠিক একই রকম! এখানে প্রমাণ:

[blackwidower@Twilight html]$ md5sum footer*
257cbd773ed765deb5ad0015852cdf20  footer2.php
257cbd773ed765deb5ad0015852cdf20  footer.php
[blackwidower@Twilight html]$ ls -l footer*
-rw-rw-r--. 1 blackwidower blackwidower 1271 Feb  1 00:08 footer2.php
-rw-rw-r--. 1 blackwidower blackwidower 1271 Feb  1 00:08 footer.php

তবুও একটি বোঝা, এবং অন্য না।

এই ফাইলগুলি পৃথক করতে পারে এমন আরও কোনও ডেটা খুঁজে পাওয়ার জন্য আমি কি কিছু করতে পারি?

রেফারেন্সের জন্য, এখানে অ্যাপাচি ত্রুটি_লগ:

[Mon Feb 01 00:14:15.160242 2016] [core:notice] [pid 1800] SELinux policy enabled; httpd running as context system_u:system_r:httpd_t:s0
[Mon Feb 01 00:14:15.161310 2016] [suexec:notice] [pid 1800] AH01232: suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 192.168.7.2. Set the 'ServerName' directive globally to suppress this message
[Mon Feb 01 00:14:15.192180 2016] [auth_digest:notice] [pid 1800] AH01757: generating secret for digest authentication ...
[Mon Feb 01 00:14:15.192361 2016] [http2:warn] [pid 1800] AH02951: mod_ssl does not seem to be enabled
[Mon Feb 01 00:14:15.193015 2016] [lbmethod_heartbeat:notice] [pid 1800] AH02282: No slotmem from mod_heartmonitor
[Mon Feb 01 00:14:15.218713 2016] [mpm_prefork:notice] [pid 1800] AH00163: Apache/2.4.18 (Fedora) PHP/5.6.17 configured -- resuming normal operations
[Mon Feb 01 00:14:15.218762 2016] [core:notice] [pid 1800] AH00094: Command line: '/usr/sbin/httpd -D FOREGROUND'
[Mon Feb 01 00:14:43.969957 2016] [:error] [pid 1801] [client 192.168.7.7:49878] PHP Fatal error:  Call to undefined function displayCopyrightInfo() in /var/www/html/footer2.php on line 13
[Mon Feb 01 00:14:44.086110 2016] [core:error] [pid 1802] (13)Permission denied: [client 192.168.7.7:49880] AH00035: access to /images/cc-by-nc-nd-88x31.png denied (filesystem path '/var/www/html/images/cc-by-nc-nd-88x31.png') because search permissions are missing on a component of the path, referer: http://192.168.7.2/index2.php
[Mon Feb 01 00:14:44.087064 2016] [core:error] [pid 1804] (13)Permission denied: [client 192.168.7.7:49882] AH00035: access to /images/valid-xhtml10-blue.png denied (filesystem path '/var/www/html/images/valid-xhtml10-blue.png') because search permissions are missing on a component of the path, referer: http://192.168.7.2/index2.php
[Mon Feb 01 00:14:44.087737 2016] [core:error] [pid 1806] (13)Permission denied: [client 192.168.7.7:49884] AH00035: access to /images/vcss-blue.png denied (filesystem path '/var/www/html/images/vcss-blue.png') because search permissions are missing on a component of the path, referer: http://192.168.7.2/index2.php
[Mon Feb 01 00:15:47.538488 2016] [:error] [pid 1808] [client 192.168.7.7:49890] PHP Warning:  include(footer.php): failed to open stream: Permission denied in /var/www/html/index2.php on line 7
[Mon Feb 01 00:15:47.538534 2016] [:error] [pid 1808] [client 192.168.7.7:49890] PHP Warning:  include(): Failed opening 'footer.php' for inclusion (include_path='.:/usr/share/pear:/usr/share/php') in /var/www/html/index2.php on line 7

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

একজনের পরামর্শে আমি দৌড়ে এল-জেড। আমি যা পেয়েছি তা এখানে:

unconfined_u:object_r:httpd_sys_content_t:s0 /var/www/html/footer2.php
               system_u:object_r:fusefs_t:s0 /var/www/html/footer.php

সুতরাং আমি একটি পার্থক্য খুঁজে। প্রশ্নটি: এর অর্থ কী এবং কীভাবে এটি সংশোধন করে?


2
আপনি যদি SELinux চালাচ্ছেন তবে দয়া করে এর আউটপুট যুক্ত করুন ls -lZ footer*.php। আপনি দেখতে পাচ্ছেন যে ফাইলগুলির প্রসঙ্গটি ভিন্ন। তারা যদি সমান হয় তবে আপাতত আমার কাছে এর চেয়ে ভাল ধারণা নেই।
ডার্ক

উত্তর:


2

সুতরাং আমি একটি পার্থক্য খুঁজে। প্রশ্নটি: এর অর্থ কী এবং কীভাবে এটি সংশোধন করে?

ব্যবহারকারী @ ডার্ক কী বলেছে সে সম্পর্কে বিস্তৃত করে, সেলইনাক্স এমন একটি সিস্টেম যা আপনার সিস্টেমের সুরক্ষা বাড়ানোর জন্য "প্রসঙ্গ" এর উপর নির্ভর করে, একটি প্রসঙ্গে একটি নির্দিষ্ট ফাইল বা ডিরেক্টরিতে কোন ধরণের ক্রিয়া সম্পাদন করা যায় বা কোন ফাইলের জন্য কোন ফাইল ব্যবহার করা যেতে পারে তা বর্ণনা করা হয় । এই ক্ষেত্রে, footer2.phpএর একটি প্রসঙ্গ রয়েছে httpd_sys_content_t, সুতরাং এর অর্থ এই যে ফাইলটি " HTTP উদ্দেশ্যে " ব্যবহার করা যেতে পারে footer.php, সেলিনাক্স সুরক্ষা সিস্টেমের মাধ্যমে অ্যাক্সেসযোগ্য হতে দেওয়ার জন্য আপনাকে যা করতে হবে তা একই প্রসঙ্গে লেবেল যুক্ত করা উচিত just অভিভাবক ডিরেক্টরিতে প্রসঙ্গটি পুনরুদ্ধার করুন (বেশিরভাগ সিস্টেমে ডিফল্টরূপে, /var/wwwঅবস্থানের ফাইলগুলি " HTTP উদ্দেশ্যে " লেবেলে সেট করা থাকে )। এর বিকল্প হ'ল পুরোপুরি সেলইনাক্সকে অক্ষম করা, তবে এটি একটি ভাল অনুশীলন নয়।

সুতরাং,

(স্থায়ীভাবে) footer.phpফাইলে প্রসঙ্গ লেবেল সেট করতে :

semanage fcontext -a -t httpd_sys_content_t /var/www/html/footer.php
restorecon /var/www/html/footer.php

আপনি প্যারেন্ট ডিরেক্টরিতে (এবং এর সমস্ত বিষয়বস্তুতে) একই কাজ করতে পারেন:

semanage fcontext -a -t httpd_sys_content_t "/var/www/html(/.*)?"
restorecon -R "/var/www/html(/.*)?"

সুরক্ষা-বর্ধিত লিনাক্সের জন্য Red Hat গ্রাহক পোর্টালে আপনি আরও তথ্য পেতে পারেন ।


তোমাকে অনেক ধন্যবাদ! এটি এইচটিএমএল ডিরেক্টরিতে প্রতিটি ফাইলে কাজ করেছে। তবে, এখানে একটি সমস্যা রয়েছে: আমার হাতে লিখিত অ্যাপ্লিকেশনগুলির একটি (একটি স্বয়ংক্রিয় ভিডিও স্ট্রিম) এর জন্য আমার কাছে একটি প্রতীকী লিঙ্ক রয়েছে যা সুবিধার জন্য সরাসরি আমার হোম ফোল্ডারে নিয়ে যায়। এবং এখন, আমি মনে করি না যে এটি একটি ডিরেক্টরিতে প্রসঙ্গটি পরিবর্তন করতে পারে। আমি ডিরেক্টরিতে লিঙ্কটি করতে পারি, তবে ডিরেক্টরিটি নিজেই নয়। আপনি কি জানেন কি হচ্ছে?
theblackwidower

SELinux নিষ্ক্রিয় করার সুপারিশ না করার জন্য এবং আসলে কীভাবে সঠিক জিনিসটি করবেন তা দেখানোর জন্য ধন্যবাদ! আপনি যদি কোনও নেটওয়ার্ক অ্যাক্সেসযোগ্য সার্ভারে পিএইচপি অ্যাপ্লিকেশন চালিয়ে যাচ্ছেন তবে সেলইনাক্স সুরক্ষার একটি গুরুত্বপূর্ণ যুক্ত স্তর।
mattdm

1
সেলথাক্স এবং সিমলিংকের জন্য @thelalawwower দেখুন সার্ভারফল্ট / প্রশ্ন / 177061/… । নোট করুন যে অ্যাপাচিকে সেই সিমলিংকটি অনুসরণ করতে এবং সেখান থেকে সার্ভারের সামগ্রীগুলিতে আপনাকে অন্য কয়েকটি জিনিস পরিবর্তন করতে হবে।
mattdm

@ থেব্ল্যাকউইডওয়ার হ্যাঁ, @ মেট্টেম হিসাবে উল্লেখ করা হয়েছে, আপনাকে কিছুটা আরও আগে সেলিনাক্স লেবেলগুলি এবং বুলিয়ানগুলি টুইঙ্ক করতে হবে, যেমন হোম-ডায়ারে HTTP- পরিবেশনকারী setsebool -P httpd_enable_homedirs=1
ডেমোনগুলিকে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.