ডেবিয়ান মেশিনে অ্যাপাচি সংস্করণ ইনস্টল করা হয়েছে


314

ডেবিয়ান মেশিনে অ্যাপাচি কোন সংস্করণ ইনস্টল করা আছে তা আমি কীভাবে পরীক্ষা করতে পারি?

এটি করার জন্য কোন আদেশ আছে?


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

উত্তর:


418

অ্যাপাচিেক্টল-ভি চেষ্টা করুন:

$ apachectl -V
Server version: Apache/2.2.9 (Unix)
Server built:   Sep 18 2008 21:54:05
Server's Module Magic Number: 20051115:15
Server loaded:  APR 1.2.7, APR-Util 1.2.7
Compiled using: APR 1.2.7, APR-Util 1.2.7
... etc ...

যদি এটি আপনার পক্ষে কাজ না করে তবে কমান্ডটি দিয়ে চালান sudo


2
সতর্কতা: উবুন্টু 14 এ অ্যাপাচি 2.4 চালানোর সময়, apache2ctl -Vরুট সুবিধাগুলি ছাড়া কাজ করে না (... এবং এটি সংস্করণটি মুদ্রণ করে না)। যেখানে এটি অ্যাপাচি 2.2 সহ উবুন্টু 12 এ কাজ করে। কৌশলী.
ফিলিপ_বি

এটি উবুন্টু ১২.০৪-তে কাজ করে এবং আমি বিশ্বাস করি যে আমার মতো অনেক লোক এখনও উবুন্টু ১২.০৪ ব্যবহার করছেন, যারা বিভিন্ন সফ্টওয়্যারযুক্ত সমস্ত বাগ সম্পূর্ণ না হওয়া অবধি ১৪
উন্নীত

কাজ করেDebian 7.1
Cyclonecode

apachectl -V suse10.04 এ কাজ করে না এর পরিবর্তে আমাদের শিকড় অনুমতি সহ সঠিক উত্তর পেতে / usr / sbin / apache2ctl -v লিখতে হবে
ফরজাম

1
রেড হ্যাট এন্টারপ্রাইজ লিনাক্স 6 (
-৪


34

নতুন দেবিয়ান বা উবুন্টু বিতরণের জন্য আপনার Apache2ctl -v বা apache2 -v ব্যবহার করা উচিত ।

apache:/etc/apache2# apache2ctl -v
Server version: Apache/2.2.16 (Debian)
Server built:   May 12 2011 11:58:18

অথবা আপনি আরও তথ্য পেতে apache2 -V ব্যবহার করতে পারেন ।

apache2 -V
Server version: Apache/2.2.16 (Debian)
Server built:   May 12 2011 11:58:18
Server's Module Magic Number: x
Server loaded:  APR 1.4.2, APR-Util 1.3.9
Compiled using: APR 1.2.12, APR-Util 1.3.9
Architecture:   64-bit
Server MPM:     Worker
  threaded:     yes (fixed thread count)
    forked:     yes (variable process count)
Server compiled with....

উপরের-ভি বা লোয়ারকেস-ভি ঠিক আছে তবে আপনি রুট হিসাবে লগ ইন না করে আপনাকে sudo ব্যবহার করতে হবে।
sdexp

27

আপনার লিনাক্স সংস্করণ অ্যাপাচি সার্ভারের নামকরণ করে তার উপর নির্ভর করে কমান্ডটি পরিবর্তিত হয়।

ডেবিয়ান এবং ম্যাক ওএসে:

apachectl -v

রেড হ্যাট এবং অ্যামাজনের ইসি 2 লিনাক্স ব্যবহার করুন:

httpd -v

লিনাক্সের অন্যান্য ভার্জনে চেষ্টা করুন:

apache2 -v

আপনি দুটি পৃথক পতাকা ব্যবহার করতে পারেন:

-v # gives you the version number
-V # gives you the compile settings including version number.

আপনি যদি ইউজার3786265 এর মতো পুরো ডিরেক্টরি দিয়ে কমান্ডটি চালাতে চান তবে আপনার অ্যাপাচি কোথায় রয়েছে তা জানেন না, তবে whereisকমান্ডটি ব্যবহার করুন :

whereis httpd

1
উজ্জ্বল। আপনার উত্তরটিতে সার্ভারের পরিবেশগুলির পরিসীমা জুড়ে রয়েছে যার মধ্যে কেউ অ্যাপাচি সংস্করণটি সন্ধান করার চেষ্টা করছে। যদি এটি আমার প্রশ্ন হত তবে আমি এটিকে উত্তর হিসাবে চিহ্নিত করতাম । আপনার উত্তরটি যুক্ত করার জন্য আমি কেবলমাত্র একটাই পরামর্শ করব, এটি সাধারণ পাথ। কিছু পরিবেশে কমান্ডটি AT PATH এ নাও থাকতে পারে, সুতরাং এই কমান্ডগুলির চেষ্টা করে লোকেরা আটকে যেতে পারে। যেমন আমার ডেবিয়ান Enviro, আমি ব্যবহার ছিল $ /usr/sbin/apache2 -vকারণ শুধু $ apache2 -vআয় command not found। এই কমান্ডটি ব্যবহারকারীদের প্রয়োজনে অ্যাপাচি-এর পথ সনাক্ত করতে সহায়তা করবে:ps -ef | grep apache
অনুপ্রেরণা

apache2 -vএছাড়াও ডেবিয়ানে (কমপক্ষে ডেবিয়ান 8 (জেসি) রাস্পবেরি পাই-তে) কাজ করে।
পিটার মর্টেনসেন


15

এটি sudo দিয়ে চেষ্টা করুন

apachectl -V
-bash: apachectl: command not found

sudo apachectl -V
Server version: Apache/2.4.6 (Debian)
Server built:   Aug 12 2013 18:20:23
Server's Module Magic Number: 20120211:24
Server loaded:  APR 1.4.8, APR-UTIL 1.5.3
Compiled using: APR 1.4.8, APR-UTIL 1.5.2
Architecture:   32-bit
Server MPM:     prefork
  threaded:     no
  forked:     yes (variable process count)
Server compiled with....
bla bla....

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

12

আমি মনে করি আপনার কাছে বাইনারি বা উত্স কী ধরনের ইনস্টলেশন রয়েছে তা নিশ্চিত হওয়া উচিত। কোন বাইনারি প্যাকেজ ইনস্টল করা আছে তা পরীক্ষা করতে: মূল অধিকার সহ নিম্নলিখিত কমান্ডটি কার্যকর করুন:

dpkg -l |grep apache2

ফলাফলটি এমন কিছু হওয়া উচিত:

dpkg -l |grep apache2
ii  apache2                               2.4.10-10+deb8u8                      amd64        Apache HTTP Server
ii  apache2-bin                           2.4.10-10+deb8u8                      amd64        Apache HTTP Server (modules and other binary files)
ii  apache2-data                          2.4.10-10+deb8u8                      all          Apache HTTP Server (common files)
ii  apache2-doc                           2.4.10-10+deb8u8                      all          Apache HTTP Server (on-site documentation)

সংস্করণ সন্ধান করতে আপনি চালাতে পারেন:

apache2ctl -V |grep -i "Server version"

ফলাফলের মতো কিছু হওয়া উচিত: সার্ভার সংস্করণ: অ্যাপাচি / 2.4.10 (দেবিয়ান)


11

আপনি সরাসরি প্যাকেজ পরিচালক ব্যবহার করতে পারেন:

dpkg -l | grep apache

এটি কেবল সংস্করণ সংখ্যার উপর केंद्रित নয় , তবে এটি একটি বিস্তৃত অনুসন্ধান করবে যা মডিউল সংস্করণগুলির মতো আপনাকে অন্যান্য দরকারী তথ্য দেবে।


অ্যাপাচে সীমাবদ্ধতা সরাসরি dpkg এ যেতে পারে। একটি স্বয়ংক্রিয় ব্যাখ্যার জন্য আপনার তালিকার চেয়েও একক মান প্রয়োজন এবং আপনার "আনইনস্টল" অ্যাপাচি 2- * প্যাকেজগুলি প্রদর্শিত হবে না। দয়া করে বিবেচনা করুন dpkg -l apache2 | grep ^ii | awk '{print $3}' | cut -f1 -d-বা dpkg -l "apache2*" | grep ^ii | awk '{print $3}' | cut -f1 -d- | head -n 1
ধূমপান

6

ডেবিয়ান-ভিত্তিক সিস্টেমে একটি প্যাকেজ (অ্যাপাচি সহ) ইনস্টল করা সংস্করণটি পরীক্ষা করার জন্য অন্য উপায়, আমরা ব্যবহার করতে পারি:

apt-cache policy <package_name>

যেমন অ্যাপাচি

apt-cache policy apache2

যা এমন কিছু দেখায় ( Installedলাইনের দিকে দেখুন ):

$ apt-cache policy apache2
apache2:
  Installed: (none)
  Candidate: 2.2.22-1ubuntu1.9
  Version table:
     2.2.22-1ubuntu1.9 0
        500 http://hk.archive.ubuntu.com/ubuntu/ precise-updates/main amd64 Packages
        500 http://security.ubuntu.com/ubuntu/ precise-security/main amd64 Packages
     2.2.22-1ubuntu1 0
        500 http://hk.archive.ubuntu.com/ubuntu/ precise/main amd64 Packages

6

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

লিনাক্স www809 2.6.26-2-xen-686 # 1 এসএমপি বুধ 21 সেপ্টেম্বর 09:56:47 ইউটিসি 2011 i686 জিএনইউ / লিনাক্স

আমাকে সঠিক পথে যেতে হয়েছিল:

/usr/local/apache/bin** $ **./apachectl -v

./apachectl: লাইন 71: ulimit: ফাইল খুলুন: সীমা সংশোধন করতে পারবেন না: অপারেশন অনুমতিপ্রাপ্ত নয়
সার্ভার সংস্করণ: অ্যাপাচি / 2.2.21 (ইউনিক্স)
সার্ভার নির্মিত: ডিসেম্বর 17 2011 19:57:53


5

আমি "httpd -V" এবং "apachectl -V" কমান্ডটি চালানোর চেষ্টা করেছি, কিন্তু আমি কার্যকর করতে পারিনি এবং ত্রুটিটি পেয়েছিলাম:

-ksh: php: পাওয়া যায় নি [এ জাতীয় কোনও ফাইল বা ডিরেক্টরি নেই]

তারপরে আমি অন্যভাবে চেষ্টা করেছি। আমি আমার সার্ভারের অ্যাপাচি ডিরেক্টরিতে গিয়ে কমান্ডটি কার্যকর করার চেষ্টা করেছি:

./apachectl -v

এটি আমার পক্ষে কাজ করেছে এবং ফলাফলটি ফিরিয়ে দিয়েছে:

Server version: Apache/2.2.20 (Unix)
Server built:   Sep  6 2012 17:22:16

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


5
  1. আপনি ব্যবহার করতে পারেন apachectl -Vবা apachectl -v। দুজনেই অ্যাপাচি ভার্সনের তথ্য ফিরিয়ে দেবে!

        xgqfrms:~/workspace $ apachectl -v
    
        Server version: Apache/2.4.7 (Ubuntu)
        Server built:   Jul 15 2016 15:34:04
    
    
        xgqfrms:~/workspace $ apachectl -V
    
        Server version: Apache/2.4.7 (Ubuntu)
        Server built:   Jul 15 2016 15:34:04
        Server's Module Magic Number: 20120211:27
        Server loaded:  APR 1.5.1-dev, APR-UTIL 1.5.3
        Compiled using: APR 1.5.1-dev, APR-UTIL 1.5.3
        Architecture:   64-bit
        Server MPM:     prefork
          threaded:     no
            forked:     yes (variable process count)
        Server compiled with....
         -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=256
         -D HTTPD_ROOT="/etc/apache2"
         -D SUEXEC_BIN="/usr/lib/apache2/suexec"
         -D DEFAULT_PIDLOG="/var/run/apache2.pid"
         -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
         -D DEFAULT_ERRORLOG="logs/error_log"
         -D AP_TYPES_CONFIG_FILE="mime.types"
         -D SERVER_CONFIG_FILE="apache2.conf"

  2. আপনি আরও ব্যবহার মত apache2 -Vবা হতে পারে apache2 -v। মনে রাখা সহজ মনে হচ্ছে!

        xgqfrms:~/workspace $ apache2 -v
    
        Server version: Apache/2.4.7 (Ubuntu)
        Server built:   Jul 15 2016 15:34:04
    
    
        xgqfrms:~/workspace $ apache2 -V
    
        Server version: Apache/2.4.7 (Ubuntu)
        Server built:   Jul 15 2016 15:34:04
        Server's Module Magic Number: 20120211:27
        Server loaded:  APR 1.5.1-dev, APR-UTIL 1.5.3
        Compiled using: APR 1.5.1-dev, APR-UTIL 1.5.3
        Architecture:   64-bit
        Server MPM:     prefork
          threaded:     no
            forked:     yes (variable process count)
        Server compiled with....
         -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=256
         -D HTTPD_ROOT="/etc/apache2"
         -D SUEXEC_BIN="/usr/lib/apache2/suexec"
         -D DEFAULT_PIDLOG="/var/run/apache2.pid"
         -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
         -D DEFAULT_ERRORLOG="logs/error_log"
         -D AP_TYPES_CONFIG_FILE="mime.types"
         -D SERVER_CONFIG_FILE="apache2.conf"


3

আমার জন্য apachectl -Vকাজ করেনি, তবে apachectl fullstatusআমার সংস্করণটি দিয়েছেন।


'অ্যাপাচ্যাক্টেল-ভি' ম্যাক, সেন্টোস এবং উবুন্টুতে আমার জন্য কাজ করে। আপনি কোন ডিস্ট্রো চালিয়ে যাচ্ছেন? এই কাজটি করার জন্য অ্যাপাচিেক্টল ফুলস্ট্যাটাসের Mod_status প্রয়োজন। সুতরাং এটি সর্বজনীন সমাধান নয়।
কনজুলিক

apachectl fullstatusআমার জন্য কাজ করে না। আমি পেয়েছি /usr/sbin/apachectl: 101: /usr/sbin/apachectl: www-browser: not found 'www-browser -dump http://localhost:80/server-status' failed.(ডেবিয়ান 8 - একটি রাস্পবেরি পাইতে রাস্পবিয়ান)। তবে, apachectl -Vকাজ করেছেন।
পিটার মর্টেনসেন

3

অ্যাপাচি এর কয়েকটি ইনস্টলেশন হ'ল ফুবার (মনে করুন ওরাকলের এটির প্যাকেজিং, ওএইচএস) এবং -ভি পতাকা বুঝতে পারে না, হারিয়ে যাওয়া লাইব্রেরির ত্রুটিগুলি না চালিয়ে সরাসরি আহ্বান করা যেতে পারে।

সবচেয়ে সহজ উপায় হ'ল httpd বাইনারিতে stringsকমান্ড (অংশ binutils) ব্যবহার করে কোনও স্ট্রিংয়ের জন্য গ্রেপ করা যেতে পারে যা কোনও সংস্করণের অনুরূপ। উদাহরণস্বরূপ, ধরে নেওয়া আপনার httpdবাইনারি ডিরেক্টরিতে রয়েছে /foo/bar:

$ strings /foo/bar/httpd  | grep 2.2
GLIBC_2.2.5
Oracle-HTTP-Server/2.2.22 (Unix)
Success_Accepted_202
202 Accepted

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


এটি httpdকাজ করার জন্য কি বর্তমান ডিরেক্টরিতে থাকা প্রয়োজন?
পিটার মর্টেনসেন

1
এটি আমাকে নতুন উবুন্টু ইনস্টলেশনের মধ্য থেকে আমার মাউন্ট করা পুরাতন মূলের পূর্ববর্তী সংস্করণটি খুঁজে পেতে সহায়তা করেছে। উল্লেখযোগ্য: "স্ট্রিংস" প্যাকেজ "বাইনুটিলেস" এর অংশ
জেফিরো

@ পিটারমোরটেনসেন, হ্যাঁ আমি অনুমান করি যে আমার উদাহরণটি ধরে নেওয়া হয়েছে যে httpd বর্তমান ডিরেক্টরিতে হবে (এবং পাঠক উদাহরণ থেকে অনুমান করতে এবং প্রয়োজনীয় হিসাবে সামঞ্জস্য করবে)) আমি এখনই আমার উত্তর সম্পাদনা করছি যা প্রতিফলিত করতে
luis.espinal

@ জাফিরো, মাথা উঁচু করার জন্য ধন্যবাদ। আমি আমার উত্তর আপডেট করব বিনুটিসগুলির উল্লেখ করার জন্য।
luis.espinal

2

বা, কম সরাসরি:

nmap -A localhost -p 80


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

এনএমএপ ইনস্টল করা নাও হতে পারে (যেমন একটি রাস্পবেরি পাই এর উপরে):-bash: nmap: command not found
পিটার মর্টেনসেন

2

শেলটিতে অবশ্যই / usr / sbin / apache2 -v টাইপ করা সবচেয়ে ভাল এবং দ্রুততম উপায়, এখানেই অন্য একটি বিকল্প রয়েছে, ঠিক আপনার ক্ষেত্রে যদি আপনার সার্ভারে পিএইচপি খুব বেশি থাকে এবং আপনি অ্যাপাচি সংস্করণ সংগ্রহ করতে আগ্রহী হন (এবং আরও অনেক কিছু আরও প্রোগ্রাম) দ্রুত প্রোগ্রামেটিক পদক্ষেপে।

আপনার অ্যাপাচি ওয়েব রুট ফোল্ডারে (বা আপনি যা পছন্দ করুন) কেবল একটি তথ্য.এফপিপি ফাইল তৈরি করুন এবং এটির ভিতরে এটি লিখুন:

<?php
    phpinfo();
?>

এখন thyite.com/info.php (অথবা লোকালহোস্ট / স্থানীয় মেশিনগুলির জন্য তথ্য.এফপি ) যান।

আপনি পিএইচপি ভেরিয়েবল বিভাগে আপনার অ্যাপাচি সংস্করণটি দেখতে পাবেন , এখানে একটি উদাহরণ রয়েছে:

phpinfo () উদাহরণ ডাম্প পৃষ্ঠা

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


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