আমার আপাচি উবুন্টু 14.04 এ আপগ্রেড করার পরেও কেন কাজ করছে না?


36
[aman@aman-Inspiron-1440:~$ apache2
[Mon Apr 21 17:36:38.019213 2014] [core:warn] [pid 4134] AH00111: Config variable ${APACHE_LOCK_DIR} is not defined
[Mon Apr 21 17:36:38.019345 2014] [core:warn] [pid 4134] AH00111: Config variable ${APACHE_PID_FILE} is not defined
[Mon Apr 21 17:36:38.019370 2014] [core:warn] [pid 4134] AH00111: Config variable ${APACHE_RUN_USER} is not defined
[Mon Apr 21 17:36:38.019385 2014] [core:warn] [pid 4134] AH00111: Config variable ${APACHE_RUN_GROUP} is not defined
[Mon Apr 21 17:36:38.019414 2014] [core:warn] [pid 4134] AH00111: Config variable ${APACHE_LOG_DIR} is not defined
[Mon Apr 21 17:36:38.028756 2014] [core:warn] [pid 4134] AH00111: Config variable ${APACHE_LOG_DIR} is not defined
[Mon Apr 21 17:36:38.029032 2014] [core:warn] [pid 4134] AH00111: Config variable ${APACHE_LOG_DIR} is not defined
[Mon Apr 21 17:36:38.029056 2014] [core:warn] [pid 4134] AH00111: Config variable ${APACHE_LOG_DIR} is not defined
AH00526: Syntax error on line 74 of /etc/apache2/apache2.conf:
Invalid Mutex directory in argument file:${APACHE_LOCK_DIR}

এটি/etc/apache2/apache2.conf ফাইলের বিষয়বস্তু ।


3
এটি কাজ করছে না কারণ আপনার /etc/apache2/apache2.conf এর 74 লাইনে সিন্ট্যাক্স ত্রুটি রয়েছে । দয়া করে কী ভুল তা দেখার জন্য সেই ফাইলটির সামগ্রী আপলোড করুন।
লুসিও

2
গতকাল থেকে গুগল অনুসন্ধান করা,
অমানদীপ সিং

ফাইলটি আপলোড করেছেন: পেস্টবিন.উবুন্টু.
com

পাওয়া গেছে: Askubuntu.com
অমনদীপ সিং

আমার কি ভেরি / www / ভেরি / ডাব্লু / এইচটিএমএল সরানো দরকার ??
অমনদীপ সিং

উত্তর:


31

আমার এই সমস্যা ছিল: কারণটি ফাইলটিতে রয়েছে

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

যেখানে রুট পরিবর্তিত হয়েছে:

আপগ্রেডের আগে = আপগ্রেডের /var/www
পরে =/var/www/html

সুতরাং এই ফাইলটি পরিবর্তন করতে সম্পাদনা করুন

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

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

sudo service apache2 restart

যেহেতু এটি ওপি-র সমস্যার মুখোমুখি হতে পারে, এই মুহুর্তে তিনি যে সমস্যাটি করছেন তা নয়। যে কোনও ক্ষেত্রে, যেমন আমি এই উত্তরে ব্যাখ্যা করেছি , আমি 000-default.confফাইলটি সম্পাদনা করার পরামর্শ দিচ্ছি না ।
ড্যান

/ Var / www / html এ যাওয়ার পরে এটির কাজ
অমনদীপ সিং

2
+1 আমি এটিও বের করতে পারিনি। তুমি সেই লোক!
gion_13

2
আমার ক্ষেত্রে আমি এখনও এই সমস্যাটি নিয়ে এসেছি এবং htmlসাব
ফোল্ডারটি

4
এই উত্তর হতে পারে না! উপরের ত্রুটিটি DocumentRootসেটিংসের সাথে সম্পর্কিত নয় ।
রেইনিয়ার পোস্ট

50

অ্যাপাচি আমার জন্য কাজ করছিল যদিও আমার এই সমস্যা ছিল। আমি কেবল একটি দ্রুত করতে চেয়েছিলাম

$ /usr/sbin/apache2 -V

মান খুঁজে পেতে SERVER_CONFIG_FILE। কারণ এপিচ পোস্টগুলি ত্রুটির সাথে ব্যর্থ হয় আর এপাচি 2 শুরু করার উপায় নয়। দ্রুত এবং নোংরা কাজটি হ'ল প্রথম যে অনুভূতিগুলি অনুপস্থিত তা সেট করা:

$ source /etc/apache2/envvars
$ /usr/sbin/apache2 -V

এটি APachE_LOCK_DIR ভেরিয়েবল সেট করে এবং সব কিছু ঠিক আছে ( -D SERVER_CONFIG_FILE="apache2.conf")।


1
এটি আমার পক্ষে কাজ করেছে। একই সমস্যা, অ্যাপাচি চলমান এবং অপারেটিং ছিল, তবুও চলমান apache2 -Sব্যর্থ। সব ঠিক আছে।
টুইস্টি

স্ট্রেঞ্জ। এটি আমার পক্ষে কাজ করবে বলে মনে হয় না। কেন এটি করা উচিত তা বোঝায় ।
টাইলার ক্রম্পটন

@ টাইলারক্রম্পটন - কীভাবে এটি ব্যর্থ হয়েছিল? ত্রুটি কি ছিল?
লেন

এটি কোনও পার্থক্য করেনি। ওপির যে সমস্যাটি ছিল তা আমি এখনও অভিজ্ঞতা করে আসছিলাম। apache2মূল হিসাবে চালানো সমস্যাটি স্থির করেছে।
টাইলার ক্রম্পটন

4
একটি সহজ বিকল্প:apache2ctl -V
রেইনিয়ার পোস্ট

14

লক্ষণ এবং সমাধান

অনেক প্রশ্নোত্তর ওয়েবসাইট বা ফোরামে লোকেরা লক্ষণগুলি এবং আসল কারণগুলিকে বিভ্রান্ত করে। আমি মাত্র একটি উবুন্টু সার্ভারকে 13.10 থেকে 14.04.1 এ আপগ্রেড করেছি এবং ওপি দ্বারা বর্ণিত ঠিক একই লক্ষণগুলিতে পৌঁছেছি, যার মধ্যে রয়েছে:
1- অ্যাপাচি দৃশ্যত কাজ করছে না। 2- অ্যাপাচি কনফিগারেশন ভেরিয়েবল অপরিজ্ঞাত। 3- ওপি দ্বারা উল্লিখিত বাক্য গঠন ত্রুটি।

সমস্যাটি হ'ল এই সমস্ত লক্ষণগুলি প্রকৃত সমস্যার কাছে আসলে জার্মানি হয় না এবং তারা কেবল তাদের ক্ষেত্রে বিরক্তি হিসাবে কাজ করে যারা সাহায্যের জন্য সর্বাত্মক চেষ্টা করেন।

বিভিন্ন মূল সমস্যাগুলি প্রায় একই বর্ণনার সাথে প্রশাসকের মতো এই সাইটে আসতে পারে: "আমি ওএস আপগ্রেড করেছি এবং এখন অ্যাপাচি কাজ করছে না ..."

একটি নির্দিষ্ট কারণ

ওপি হিসাবে ঠিক একই আপাত লক্ষণগুলি পেয়ে আমি এই প্রশ্নের প্রতি আকৃষ্ট হয়েছি। দুর্ভাগ্যক্রমে, আমার সমস্যার আসল মূল কারণের জন্য একটি বৈধ ইঙ্গিতযুক্ত একমাত্র উত্তরটি হ্রাস করা হয়েছিল (-1), 1 দ্বারা প্রকাশিত ব্যবহারকারী 1469291 পোস্ট করেছেন !! আমি সমস্যার স্পষ্ট ব্যাখ্যা না পাওয়া পর্যন্ত আমি আরও অন্যান্য ওয়েবসাইট অনুসন্ধান করেছি (এবং এর মাধ্যমে সমাধানটি)।

নিম্নলিখিত সমাধানটি ওপির আসল সমস্যাটি সমাধান নাও করতে পারে তবে আমি নিশ্চিত যে এটি অন্যদের যারা এই প্রশ্নে আকৃষ্ট হতে পারে আমার মতো একই কারণে তাদের সহায়তা করবে।

/etc/apache2/apache2.conf এ রয়েছে:

# Include generic snippets of statements
IncludeOptional conf-enabled/*.conf

# Include the virtual host configurations:
IncludeOptional sites-enabled/*.conf

যার অর্থ হ'ল কেবলমাত্র। সেই ডিরেক্টরিতে পুরানো সিমিলিংক উপেক্ষা করা হবে।

এটি কেবলমাত্র সাইট-সক্ষম / * হতে ব্যবহৃত হত। এ কারণেই আমার সমস্ত ভার্চুয়াল হোস্ট কনফিগারেশন ফাইল যা আমি কেবল ww1.example.com, ww2.example.com, ইত্যাদি নামে কাজ করেছি, কিন্তু হঠাৎ এবং প্রাথমিকভাবে অনিবার্যভাবে আপগ্রেডের পরে কাজ করা বন্ধ করে দিয়েছে।

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

উপরন্তু, apache.conf- এ ডিফল্ট নির্দেশাবলী আরও কঠোর:

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

সুতরাং আপনি যদি নিজের ভার্চুয়াল সাইটগুলিকে / হোম / ব্যবহারকারী / কোথাও হোস্ট করেন তবে সঠিকভাবে নির্দেশকে ওভাররাইড করার বিষয়টি নিশ্চিত করুন।


1
এটি একটি ভাল উত্তর। ছুটে যাওয়ার আগে এবং জিনিসগুলি ঠিকভাবে কাজ করে না বলে অভিযোগ করার আগে পরিবর্তনগুলি বোঝার পক্ষে সেরা।
মাইকএনগারেট

1
এর জন্য ধন্যবাদ, আমি বুঝতে পারিনি যে ফাইলটির নাম পরিবর্তন করা সাইট-সক্ষম হওয়া থেকে সিমলিংকটি সরিয়ে ফেলেনি।
বেনো

এটি কোনও সমাধান দেয় না।
রেইনিয়ার পোস্ট

6

আপনার সমস্যাটিকে ঘনিষ্ঠভাবে দেখলে আপনি কেবল দৌড়াচ্ছেন apache2। উবুন্টুতে অ্যাপাচি শুরু করতে নিম্নলিখিত কমান্ডটি চালান:

sudo apache2ctl start

অ্যাপাচি কনফিগারেশন একাধিক ফাইলে বিভক্ত হয়, এই ফাইলগুলির মধ্যে একটি হ'ল পরিবেশের ভেরিয়েবল। আপনি যখন চলছেন তখন apache2এই ভেরিয়েবলগুলি সেট করা হয় না।

অ্যাপাচি 2 কেটিএল স্ক্রিপ্টটি অ্যাপাচি শুরু করার আগে ভেরিয়েবলগুলি লোড করবে (এবং প্রয়োজনের সাথে সাথে অন্যান্য কিছু জিনিসও করবে) apache2 -k start


1
# সুডো অ্যাপাচি 2 সিটিএল শুরু করুন httpd (পিড 1390) ইতিমধ্যে চলছে
আমনদীপ সিং

তাহলে আপনার তখন সমস্যাটি কী?
ড্যান

@ অমনদীপসিংহ: sudo apache2ctl restartপরিবর্তে চেষ্টা করুন।
স্কিফিল্ড

1
@ শেফিল্ড এই আদেশটি কয়েকবার চেষ্টা করেছে। সমস্যাটি হ'ল / var / www থেকে / var / www / html এ অ্যাপাচি-র নতুন সংস্করণে রুট ফোল্ডারের অবস্থান পরিবর্তনের কারণে। আমি সমস্ত ফাইল একটি সাবফোল্ডার / এইচটিএমএল এ সরিয়েছি এবং এটি কাজ করে।
অমনদীপ সিং

4

কনফিগারেশন সম্পাদনা করুন sudo leafpad /etc/apache2/apache2.conf:

# Include the virtual host configurations:

#before upgrade = 
IncludeOptional sites-enabled/*
#after upgrade = 
/IncludeOptional sites-enabled/*.conf

বা ফাইল সরান।


+1 টি। উত্তরটি নিম্নচঞ্চল করা হয়েছিল তবে এতে অনেক প্রশাসক যারা এই প্রশ্নটি দেখতে পারেন তাদের সমস্যার সমাধান রয়েছে।
অগাস্টিন

2

অগাস্টিনের উত্তর আমার পক্ষে কাজ করেছিল যখন আমার সমস্ত ভার্চুয়াল হোস্টগুলি 12.04 এলটিএস থেকে 14.04 এলটিএসে সার্ভার আপগ্রেড হওয়ার পরে অদৃশ্য হয়ে যায়। আমার যদি এটির সুনাম থাকে তবে আমি এটি উত্সাহিত করব।

নিম্নলিখিত কমান্ডটি .confসমস্ত সিমলিঙ্কগুলিতে প্রত্যয় যুক্ত করবে /etc/apache2/sites-enabledযার মধ্যে এটি ইতিমধ্যে নেই:

sudo find /etc/apache2/sites-enabled -type l ! -name '*.conf' -exec rename 's/$/.conf/' {} \;

এ ছাড়াও ব্যবহার করা থেকে পরিবর্তন হয়েছে Allow from/ Deny fromসিনট্যাক্স Requireমধ্যে mod_authz_host মডিউল ( এখানে 2.2 নথিপত্রের জন্য লিঙ্ক)।

নিম্নলিখিত কমান্ডের সাধারণ ব্যবহারের সম্পাদনা হবে Order allow, denyদ্বারা অনুসরণ Allow from allকরা Require all grantedপরিবর্তে:

perl -0777 -pi.bak -e 's/Order\s+allow\s*,\s*deny\s*\n\s*Allow\s+from\s+all/Require all granted/sg' /etc/apache2/sites-available/* 

1

প্রকৃতপক্ষে, ডক্রুটটি / var / www থেকে / var / www / html থেকে সুনির্দিষ্ট এবং বিশ্বাসযোগ্যর মধ্যে পরিবর্তন করে। এটি দরিদ্র যে ডু-রিলিজ-আপগ্রেড স্ক্রিপ্টটি ডক্রুটকে পিছনে ফেলে না।

ক) হয় বৈধ, তবে এইচটিএমএল আরও প্রচলিত। CentOS এক্ষেত্রে প্রভাবশালী। "এটি কাজ করে" পৃষ্ঠাটি এখন আরও পরিপক্ক।

খ) আপনাকে / var / www / html ব্যবহার করতে হবে না, তবে আপনি যদি তা করেন ...

  • আপনাকে আপনার সামগ্রীটি স্থানান্তর করতে হবে বা এটির নাম থাকতে হবে (প্রস্তাবিত নয়)।
  • পুরানো অবস্থানটি রেফারেন্সযুক্ত আপনাকে যে কোনও জায়গায় আপডেট করতে হবে।
  • বিশেষত ব্যাকআপ / পুনরুদ্ধার / কাস্টমাইজেশন স্ক্রিপ্ট।

গ) এবং স্থল থেকে তৈরি এবং স্থানান্তর করা আরও সহজ হতে পারে।

ডি) এই লক্ষণটি ঘটবে যদি আপনি বিশ্বাসের বক্সের বাইরে "সুডো অ্যাপাচি 2-কে গ্রেফুল" হন, আপগ্রেড হয়ে থাকেন বা এনভায়ার্সদের সুযোগ না পাওয়ায়? পরিবর্তে "sudo apache2ctl স্টার্ট / স্টপ / পুনঃসূচনা" ব্যবহার করুন।


0

আমার ক্ষেত্রে:

  • htmlএ subfolder /var/www/ইতিমধ্যে অস্তিত্ব কিন্তু এখনও আমি ত্রুটি পেয়ে ছিল:AH00526: Syntax error on line 74 of /etc/apache2/apache2.conf
  • আমি ইতিমধ্যে /home/{user}/sites/ডিফল্ট পরিবর্তে আমার ব্যবহারকারীর মূল যেমন আমার ওয়েবসাইটগুলি হোস্ট করার সিদ্ধান্ত নিয়েছি/var/www/html
  • আমি অ্যাপাচি ২.৪. using ব্যবহার করছি (এর মাধ্যমে আপনি আপনার সংস্করণটি পরীক্ষা করতে পারেন apache2 -v)

আমি কীভাবে পাঁচটি সহজ পদক্ষেপে সমস্যার সমাধান করেছি:

  1. ইন /etc/apache2/apache2.confআমি লাইন 169 এর পরে নিম্নলিখিতগুলি যুক্ত করেছি:

    <Directory /home/{user}/sites/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
    </Directory>
    
  2. আমি নিশ্চিত করেছি যে আমার ভার্চুয়াল হোস্ট কনফিগারেশনটি ডিফল্ট থেকে অনুলিপি website.confকরা /etc/apache2/sites-availableহয়েছিল 000-default.confএবং দেখে মনে হচ্ছে:

    <VirtualHost *:80>
        ServerAdmin webmaster@localhost
        ServerName website.dev
        ServerAlias www.website.dev
        DocumentRoot /home/{user}/sites/website
    </VirtualHost>
    
  3. আমি আমার সাইট ( sudo a2dissite website && sudo a2ensite website) এবং আমার সার্ভার পুনরায় লোড করেছি এবং প্রাথমিক ত্রুটি চলে গেছে। সাব্বাস! তবে একটি নতুন উদ্ভব হয়েছে: "এএইচ 200035: অ্যাক্সেস / অস্বীকৃত (ফাইল সিস্টেমের পাথ '/ হোম / {ব্যবহারকারী} / সাইটস") কারণ অনুসন্ধানের অনুমতিগুলি পাথের কোনও অংশে অনুপস্থিত "। এটি আমি 4 ধাপে সমাধান করেছি।

  4. নতুন সমস্যাটি ছিল অনুমতিগুলির কারণে, সুতরাং আমি কেবল websiteফোল্ডারে আগত প্রতিটি ডিরেক্টরি সেট করেছিলাম chmod 755। একক এক! homeফোল্ডার {ব্যবহারকারী} ফোল্ডারের, সাইট ফোল্ডারের, এবং এমনকি আমার ওয়েবসাইট ফোল্ডারের

  5. আমার ব্রাউজারটি রিফ্রেশ করার পরে website.devসবকিছু লোড হয়ে গেছে!

পিএস আমি ইতিমধ্যে website.devআমার /etc/hostsফাইল সেটআপ ছিল ।

বোনাস টিপ: একটি নির্দিষ্ট ফোল্ডারের অনুমতি পরীক্ষা করতে আপনি কমান্ডটি ব্যবহার করতে পারেন stat -c %a /path/to/file/or/folder। ডিরেক্টরি ব্যবহারের প্রতিটি অংশের অনুমতি পরীক্ষা করতে namei -m /path/to/final/folder

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