অ্যাপাচের পিডফিল ডিরেক্টরিটি প্রতিটি বুটে মুছে ফেলা হয়


11

প্রতিবার সার্ভারটি পুনরায় বুট করা হলে ডিরেক্টরি / চালানো / httpd সরিয়ে ফেলা হয়। / রান একটি tmpfs ফাইল সিস্টেম, অতএব, র‌্যামে মাউন্ট করা।

/ রান / httpd শুধুমাত্র ইনস্টলেশন চলাকালীন তৈরি করা হয়। আমি পুনরায় বুট করার পরে যখন httpd শুরু করি, ডিরেক্টরিটি পুনরায় তৈরি করা হয় না।

সার্ভারটি CentOS 7 এবং থিসিকাল রিপোজিটরি অ্যাপাচি প্যাকেজ ইনস্টল করেছে (বনাম 2.4.6-18)।

অ্যাপাচি ইনস্টল ও শুরুর পরে ডিরেক্টরিটি হ'ল নমুনা:

# ls -alR /run/httpd/
/run/httpd/:
total 8
drwx--x---.  3 root   apache  120 Sep 30 08:39 .
drwxr-xr-x. 28 root   root   1020 Sep 30 08:37 ..
-rw-r--r--.  1 root   root      8 Sep 30 08:39 authdigest_shm.2953
drwx------.  2 apache apache   40 Jul 23 10:48 htcacheclean
-rw-r--r--.  1 root   root      5 Sep 30 08:39 httpd.pid
srwx------.  1 apache root      0 Sep 30 08:39 wsgi.2953.0.1.sock

/run/httpd/htcacheclean:
total 0
drwx------. 2 apache apache  40 Jul 23 10:48 .
drwx--x---. 3 root   apache 120 Sep 30 08:39 ..

পুনরায় বুট করার পরে:

# ls -l /run/httpd
ls: cannot access /run/httpd: No such file or directory

অ্যাপাচি পুনরায় চালু করার চেষ্টা করার সময় লগগুলি এখানে রয়েছে:

প্রথমেই / var / log /? Httpd 'র / error_log

[Tue Sep 30 09:30:32.310825 2014] [core:notice] [pid 3370] SELinux policy enabled; httpd running as context system_u:system_r:httpd_t:s0
[Tue Sep 30 09:30:32.312072 2014] [suexec:notice] [pid 3370] AH01232: suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Tue Sep 30 09:30:32.330380 2014] [auth_digest:notice] [pid 3370] AH01757: generating secret for digest authentication ...
[Tue Sep 30 09:30:32.330421 2014] [auth_digest:error] [pid 3370] (2)No such file or directory: AH01762: Failed to create shared memory segment on file /run/httpd/authdigest_shm.3370
[Tue Sep 30 09:30:32.330440 2014] [auth_digest:error] [pid 3370] (2)No such file or directory: AH01760: failed to initialize shm - all nonce-count checking, one-time nonces, and MD5-sess algorithm disabled
[Tue Sep 30 09:30:32.330445 2014] [:emerg] [pid 3370] AH00020: Configuration Failed, exiting
Job for httpd.service failed. See 'systemctl status httpd.service' and 'journalctl -xn' for details.

প্রথমেই / var / log /? বার্তা

Sep 30 08:56:09 brejetuba2 systemd: Starting The Apache HTTP Server...
Sep 30 08:56:09 brejetuba2 systemd: httpd.service: main process exited, code=exited, status=1/FAILURE
Job for httpd.service failed. See 'systemctl status httpd.service' and 'journalctl -xn' for details.
Sep 30 08:56:09 brejetuba2 systemd: Failed to start The Apache HTTP Server.
Sep 30 08:56:09 brejetuba2 systemd: Unit httpd.service entered failed state.

/var/log/audit/audit.log

Job for httpd.service failed. See 'systemctl status httpd.service' and 'journalctl -xn' for details.
type=SERVICE_START msg=audit(1412083740.602:469): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg=' comm="httpd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=failed'

আমি যখন ডিরেক্টরিটি ম্যানুয়ালি তৈরি করি তখন অ্যাপাচি শুরু হয়:

# mkdir /run/httpd
# systemctl restart httpd
# ls -lRa /run/httpd/
/run/httpd/:
total 8
drwxr-xr-x.  2 root   root  100 Sep 30 09:36 .
drwxr-xr-x. 28 root   root 1020 Sep 30 09:36 ..
-rw-r--r--.  1 root   root    8 Sep 30 09:36 authdigest_shm.3452
-rw-r--r--.  1 root   root    5 Sep 30 09:36 httpd.pid
srwx------.  1 apache root    0 Sep 30 09:36 wsgi.3452.0.1.sock

এবং পুনরায় বুট করার পরে, এটি আবার চলে গেছে।

কেন এমন হচ্ছে এর কোন চিন্তাভাবনা?

উত্তর:


8

সমস্যাটি হল এই যে, যখন অ্যাপাচি ইনস্টল, গ্রুপ ছিল Apache তৈরি করা হচ্ছে।

# systemctl status systemd-tmpfiles-setup.service
systemd-tmpfiles-setup.service - Create Volatile Files and Directories
  Loaded: loaded (/usr/lib/systemd/system/systemd-tmpfiles-setup.service; static)
  Active: failed (Result: exit-code) since Tue 2014-09-30 09:40:30 EDT; 3h 24min ago
Docs: man:tmpfiles.d(5)
      man:systemd-tmpfiles(8)
  Process: 724 ExecStart=/usr/bin/systemd-tmpfiles --create --remove --boot --exclude-prefix=/dev (code=exited, status=1/FAILURE)
Main PID: 724 (code=exited, status=1/FAILURE)

Sep 30 09:40:30 servername systemd-tmpfiles[724]: [/usr/lib/tmpfiles.d/httpd.conf:1] Unknown group 'apache'.
Sep 30 09:40:30 servername systemd-tmpfiles[724]: [/usr/lib/tmpfiles.d/httpd.conf:2] Unknown user 'apache'.
Sep 30 09:40:30 servername systemd[1]: systemd-tmpfiles-setup.service: main process exited, code=exited, status=1/FAILURE
Sep 30 09:40:30 servername systemd[1]: Failed to start Create Volatile Files and Directories.
Sep 30 09:40:30 servername systemd[1]: Unit systemd-tmpfiles-setup.service entered failed state.

এটা এ কারণে যে আমি একটি NIS সার্ভার কনফিগার করা, সাথে থাক একটি NIS করেছি Apache ব্যবহারকারী। এটি একটি হয়েছে হিসাবে Apache ব্যবহারকারী, এ্যাপাচি ইনস্টলেশন তৈরি করে না Apache গ্রুপ। কিন্তু Apache গ্রুপ এছাড়াও NIS বিদ্যমান! ঠিক আছে, এনআইএস জিনিসগুলিতে গোলযোগ করছে।

বটম লাইন হল: আমি, ypbind থামাতে অ্যাপাচি ইনস্টল এবং তারপর রিস্টার্ট ypbind (অথবা শুধু নিজে একটি তৈরি আছে Apache গ্রুপ / etc / গ্রুপ)।


2

আমার সমস্যাটির জন্য আমার একই সমাধান ছিল যেমন @ ডাটাকিড এই পার্থক্যের সাথে যে রিবুট হওয়ার পরে systemd-tmpfiles-setup.serviceআবার মারা গেল।

আমার সমাধানের জন্য আপনাকে প্রথমে জানতে হবে যে আমি আমার / ভার ডিরেক্টরিটি অন্য ডিস্কে স্থাপন করেছি। এবং সমস্যা ছিল। আমার এইরকম দেখার /etc/fstabজন্য /var:

/dev/xvdb1 /var ext4 defaults,noatime,_netdev,nofail 0 2

সুতরাং সমস্যাটি ছিল _ নেটদেব। কারণ এটি কোনও এনএফএসের জন্য কার্যকর হতে পারে, যেখানে আপনার নেটওয়ার্ক দরকার তবে /varডিরেক্টরিটি আমার ক্ষেত্রে নয়

_নেদেব এর ব্যাখ্যা এখানে:

ফাইলসিস্টেমটি এমন একটি ডিভাইসে থাকে যা নেটওয়ার্ক অ্যাক্সেসের প্রয়োজন হয় (সিস্টেমে নেটওয়ার্কটি সক্ষম না হওয়া পর্যন্ত এই ফাইল-সিস্টেমগুলি মাউন্ট করার চেষ্টা থেকে সিস্টেমকে রোধ করতে ব্যবহৃত হয়)।

আমি _ নেটদেব সরানোর পরে পুনরায় বুট করার পরেও সবকিছু আবার কাজ করছে


1

আমার এই একই সমস্যা ছিল তবে কিছুটা ভিন্ন সমাধান।

@ জোআওলাভোর সমাধান ব্যবহার করে , আমি চেষ্টা করেছি systemctl status systemd-tmpfiles-setup.service:

[root@server ~]# systemctl status systemd-tmpfiles-setup.service
● systemd-tmpfiles-setup.service - Create Volatile Files and Directories
   Loaded: loaded (/usr/lib/systemd/system/systemd-tmpfiles-setup.service; static; vendor preset: disabled)
   Active: inactive (dead)
     Docs: man:tmpfiles.d(5)
           man:systemd-tmpfiles(8)

অ্যাক্টিভ নোট করুন: নিষ্ক্রিয় (মৃত)

সিস্টেমেড-টেম্পফিলস-সেটআপ পুনরায় আরম্ভ করার ফলে আমার / চালানো / ফাইলগুলিতে প্রয়োজনীয় ফাইলগুলি তৈরি হয়েছিল এবং স্থিতিটি অ্যাক্টিভ: অ্যাক্টিভ (প্রস্থানিত) এ পরিবর্তিত হয়েছে, যদিও, স্পষ্টতই, httpd (এবং আমার ক্ষেত্রে পোস্টগ্রেসকিএল) লোড হয়নি:

[root@server ~]# systemctl start systemd-tmpfiles-setup.service
[root@server ~]# systemctl status systemd-tmpfiles-setup.service
● systemd-tmpfiles-setup.service - Create Volatile Files and Directories
   Loaded: loaded (/usr/lib/systemd/system/systemd-tmpfiles-setup.service; static; vendor preset: disabled)
   Active: active (exited) since Fri 2016-03-18 13:35:36 AEDT; 8s ago
     Docs: man:tmpfiles.d(5)
           man:systemd-tmpfiles(8)
  Process: 2551 ExecStart=/usr/bin/systemd-tmpfiles --create --remove --boot --exclude-prefix=/dev (code=exited, status=0/SUCCESS)
 Main PID: 2551 (code=exited, status=0/SUCCESS)

Mar 18 13:35:36 server.org systemd[1]: Starting Create Volatile Files and Directories...
Mar 18 13:35:36 server.org systemd[1]: Started Create Volatile Files and Directories.

এটি কি পুনরায় বুট থেকে বাঁচবে?

হ্যাঁ এটা করে. প্রকৃতপক্ষে, রিবুটগুলি এখন যেমনটি আমরা প্রত্যাশা করব সেগুলি উঠে এসেছে - সমস্ত টেম্পফিলগুলি তৈরি করা হয়েছে, এইচডিডিডি এবং পোস্টগ্র্যাসকিএলও শুরু হয়েছে।

দেখে মনে হচ্ছে বুট করার পরে সঠিকভাবে কাজ করতে নিষ্ক্রিয় (মৃত)systemd-tmpfiles-setup.service না হয়ে সক্রিয় অবস্থায় সক্রিয় হওয়া (প্রস্থান করা) হওয়া দরকার ।

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