আমি যেখানে আপাচি লগ ফাইলগুলি রাখি তা কীভাবে খুঁজে পাব?


11

অ্যাপাচি কোনও সাইটের অ্যাক্সেস এবং ত্রুটি লগগুলি কোথায় রাখছে তা আমার সন্ধান করতে হবে ।

আমার এমন সার্ভারে রুট অ্যাক্সেস রয়েছে যেখানে কয়েক ডজন সাইট হোস্ট করা আছে। আমি সেই সাইটগুলির মধ্যে একটি ডিবাগ করার চেষ্টা করছি। আমি যখন সাইট ব্রাউজ, এটা এ প্রদর্শিত না /var/logs/apache2/access.logবা /var/logs/apache2/error.log। (ফাইলগুলি সেখানে রয়েছে এবং অন্যান্য সাইটগুলি সেগুলিতে লগ হয় In বাস্তবে, শত শত বিভিন্ন লগ ফাইল রয়েছে)।

কোনও ফলাফল ইস্যুতে locate httpd.logনা find . -iname httpd.logপারফর্ম করা /

সাইটের জন্য অ্যাপাচি কনফিগারেশনটি হ'ল:

ServerName REDACTED.com.br
DocumentRoot /var/www/xyz/wiki
AssignUserId xyz_wiki xyz_wiki

<Directory /var/www/xyz/wiki/data>
order allow,deny
deny from all
</Directory>
<Directory /var/www/xyz/wiki/conf>
order allow,deny
deny from all
</Directory>
<Directory /var/www/xyz/wiki/bin>
order allow,deny
deny from all
</Directory>
<Directory /var/www/xyz/wiki/inc>
order allow,deny
deny from all
</Directory>

php_admin_value open_basedir /var/www/xyz/wiki/:/mnt/vdImagem/www/xyz/wiki/

6
এটি কোনও ডুপ নয়, ওপিতে নিজেই প্রশ্নের প্রস্তাবিত সদৃশটির সাথে সংযুক্ত করেছেন এবং স্পষ্টভাবে বলেছেন যে নকলটি যা বলে তাতে তথ্যটি নেই /var/log/apache2/access.log
টেরডন

চেষ্টা করুনsudo lsof -nP -c apache2 -c httpd | grep -i log
স্টাফেন চেজেলাস

উত্তর:


5

আপনি আপাচের লগ ফাইলগুলি থেকে তাঁর তথ্য সম্পর্কে জিজ্ঞাসা করতে পারেন তবে প্রকৃত নির্বাহী থেকে এই বিষয়গুলি সম্পর্কে জিজ্ঞাসা করা ভাল। লগগুলি পার্সিং করা জটিল হতে পারে এবং আপনি সম্ভবত কোনও ভুল করতে পারেন যদি আপনি কোনও বাক্সে কোনও নির্দিষ্ট সেটআপ কীভাবে করা হয়েছিল তার সাথে পরিচিত না হন।

httpd -V

$ httpd -V
Server version: Apache/2.2.15 (Unix)
Server built:   Feb 13 2012 22:31:42
Server's Module Magic Number: 20051115:24
Server loaded:  APR 1.3.9, APR-Util 1.3.9
Compiled using: APR 1.3.9, APR-Util 1.3.9
Architecture:   64-bit
Server MPM:     Prefork
  threaded:     no
    forked:     yes (variable process count)
Server compiled with....
 -D APACHE_MPM_DIR="server/mpm/prefork"
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_SYSVSEM_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=128
 -D HTTPD_ROOT="/etc/httpd"
 -D SUEXEC_BIN="/usr/sbin/suexec"
 -D DEFAULT_PIDLOG="run/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_LOCKFILE="logs/accept.lock"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="conf/mime.types"
 -D SERVER_CONFIG_FILE="conf/httpd.conf"

আপনি যে মূল আইটেমগুলি দেখতে চান তা নীচে রয়েছে।

  1. এটি আপনাকে "রুট" ডিরেক্টরিটি বলবে যা সমস্ত ফাইল অ্যাপাচি থেকে শুরু হবে:

     -D HTTPD_ROOT="/etc/httpd"
    
  2. এখানে কনফিগার করা ফাইলগুলি সংজ্ঞায়িত করা হয়। নোট করুন যে এই পথটি # 1 এ উল্লিখিত পথের সাথে আপেক্ষিক, সুতরাং এটি হবে /etc/httpd/conf/httpd.conf

     -D SERVER_CONFIG_FILE="conf/httpd.conf"
    
  3. ত্রুটি লগ এখানে।

     -D DEFAULT_ERRORLOG="logs/error_log"
    

    দ্রষ্টব্য: এটি প্রথমে কিছুটা বিভ্রান্তিকর হতে পারে তবে রেড হ্যাট ডিস্ট্রোজে একটি লিঙ্ক রয়েছে যা প্রায়শই এই ডিরেক্টরিতে তৈরি হয়, /etc/httpdযাকে বলে logs

    $ ls -ld /etc/httpd/logs
    lrwxrwxrwx. 1 root root 19 Jul  9  2012 /etc/httpd/logs -> ../../var/log/httpd
    
  4. অন্যান্য লগ ফাইলগুলি যা অ্যাপাচি ব্যবহার করতে পারে তা কনফিগার ফাইলে আরও সংজ্ঞায়িত করা হবে /etc/httpd/conf/httpd.conf,।


1
httpd -V কমান্ড ডিবিয়ান 9
ক্রিশ্চিয়া

চেষ্টা করুনapache2 -V
Draex_

3

স্ট্রিংয়ের জন্য আপনার অ্যাপাচি কনফিগারেশনটি দেখুন ErrorLog

সাধারণত অ্যাপাচি প্রক্রিয়াটির জন্য একটি থাকে। প্রতিটি ভার্চুয়ালহোস্ট তার নিজস্ব লগ ফাইলগুলি সংজ্ঞায়িত করতে পারে তাই সেগুলিও পরীক্ষা করে দেখুন।

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


1
/etc/apache2# rgrep "ErrorLog" .উল্লেখ করে এমন কয়েক ডজন কনফিগার ফাইল প্রদর্শন করে ${APACHE_LOG_DIR}/error.sitename.logতবে এটি এর মধ্যে একটি নয়। /etc/apache2# rgrep "LogLevel" .আমাকে কেবল কয়েকটি ডিফল্ট ফাইল দেয়।
ব্রাজিলিয়ান গায়

2
ডিবিয়ান অন ডিফল্ট ${APACHE_LOG_DIR}হিসাবে সংজ্ঞায়িত করা /var/log/apache2হয়। /etc/defaults/apache2এটি পরিবর্তন করা হয়েছে কিনা তা পরীক্ষা করে দেখুন।
বাহামত

যদি কোনও LogLevelনির্দিষ্ট ভার্চুয়ালহোস্টের জন্য কোনও সেট না থাকে আপনি একটি যুক্ত করতে পারেন।
বাহামত

1

আমি শুধু একটি ফাইল পাওয়া /etc/apache2/conf.d/other-vhosts-access-logযা রয়েছে

# Define an access log for VirtualHosts that don't define their own logfile
CustomLog ${APACHE_LOG_DIR}/other_vhosts_access.log vhost_combined

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

( উত্স )

সেই সাইটের জন্য কনফিগার ফাইলে একটি ত্রুটিযুক্ত এবং একটি অ্যাক্সেসলগ নির্দেশিকা সন্নিবেশ করানো আমাকে পৃথক লগ ফাইল সরবরাহ করে।

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