ডেবিয়ান মেশিনে অ্যাপাচি কোন সংস্করণ ইনস্টল করা আছে তা আমি কীভাবে পরীক্ষা করতে পারি?
এটি করার জন্য কোন আদেশ আছে?
ডেবিয়ান মেশিনে অ্যাপাচি কোন সংস্করণ ইনস্টল করা আছে তা আমি কীভাবে পরীক্ষা করতে পারি?
এটি করার জন্য কোন আদেশ আছে?
উত্তর:
অ্যাপাচিেক্টল-ভি চেষ্টা করুন:
$ 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
।
apache2ctl -V
রুট সুবিধাগুলি ছাড়া কাজ করে না (... এবং এটি সংস্করণটি মুদ্রণ করে না)। যেখানে এটি অ্যাপাচি 2.2 সহ উবুন্টু 12 এ কাজ করে। কৌশলী.
Debian 7.1
এটি আমার ডেবিয়ানের পক্ষে কাজ করে:
$ /usr/sbin/apache2 -v
নতুন দেবিয়ান বা উবুন্টু বিতরণের জন্য আপনার 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....
আপনার লিনাক্স সংস্করণ অ্যাপাচি সার্ভারের নামকরণ করে তার উপর নির্ভর করে কমান্ডটি পরিবর্তিত হয়।
ডেবিয়ান এবং ম্যাক ওএসে:
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
$ /usr/sbin/apache2 -v
কারণ শুধু $ apache2 -v
আয় command not found
। এই কমান্ডটি ব্যবহারকারীদের প্রয়োজনে অ্যাপাচি-এর পথ সনাক্ত করতে সহায়তা করবে:ps -ef | grep apache
apache2 -v
এছাড়াও ডেবিয়ানে (কমপক্ষে ডেবিয়ান 8 (জেসি) রাস্পবেরি পাই-তে) কাজ করে।
আমি রেড হ্যাট লিনাক্স ব্যবহার করছি এবং নিম্নলিখিত কমান্ডটি কাজ করে:
httpd -V
এটি 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....
আমি মনে করি আপনার কাছে বাইনারি বা উত্স কী ধরনের ইনস্টলেশন রয়েছে তা নিশ্চিত হওয়া উচিত। কোন বাইনারি প্যাকেজ ইনস্টল করা আছে তা পরীক্ষা করতে: মূল অধিকার সহ নিম্নলিখিত কমান্ডটি কার্যকর করুন:
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 (দেবিয়ান)
আপনি সরাসরি প্যাকেজ পরিচালক ব্যবহার করতে পারেন:
dpkg -l | grep apache
এটি কেবল সংস্করণ সংখ্যার উপর केंद्रित নয় , তবে এটি একটি বিস্তৃত অনুসন্ধান করবে যা মডিউল সংস্করণগুলির মতো আপনাকে অন্যান্য দরকারী তথ্য দেবে।
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
।
ডেবিয়ান-ভিত্তিক সিস্টেমে একটি প্যাকেজ (অ্যাপাচি সহ) ইনস্টল করা সংস্করণটি পরীক্ষা করার জন্য অন্য উপায়, আমরা ব্যবহার করতে পারি:
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 (স্কুইজ) এ কাজ করে :
লিনাক্স 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
আমি "httpd -V" এবং "apachectl -V" কমান্ডটি চালানোর চেষ্টা করেছি, কিন্তু আমি কার্যকর করতে পারিনি এবং ত্রুটিটি পেয়েছিলাম:
-ksh: php: পাওয়া যায় নি [এ জাতীয় কোনও ফাইল বা ডিরেক্টরি নেই]
তারপরে আমি অন্যভাবে চেষ্টা করেছি। আমি আমার সার্ভারের অ্যাপাচি ডিরেক্টরিতে গিয়ে কমান্ডটি কার্যকর করার চেষ্টা করেছি:
./apachectl -v
এটি আমার পক্ষে কাজ করেছে এবং ফলাফলটি ফিরিয়ে দিয়েছে:
Server version: Apache/2.2.20 (Unix)
Server built: Sep 6 2012 17:22:16
আশা করি এটা কাজে লাগবে.
আপনি ব্যবহার করতে পারেন 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"
আপনি আরও ব্যবহার মত 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"
আমার জন্য apachectl -V
কাজ করেনি, তবে apachectl fullstatus
আমার সংস্করণটি দিয়েছেন।
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
কাজ করেছেন।
অ্যাপাচি এর কয়েকটি ইনস্টলেশন হ'ল ফুবার (মনে করুন ওরাকলের এটির প্যাকেজিং, ওএইচএস) এবং -ভি পতাকা বুঝতে পারে না, হারিয়ে যাওয়া লাইব্রেরির ত্রুটিগুলি না চালিয়ে সরাসরি আহ্বান করা যেতে পারে।
সবচেয়ে সহজ উপায় হ'ল 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
কাজ করার জন্য কি বর্তমান ডিরেক্টরিতে থাকা প্রয়োজন?
বা, কম সরাসরি:
nmap -A localhost -p 80
-bash: nmap: command not found
শেলটিতে অবশ্যই / usr / sbin / apache2 -v টাইপ করা সবচেয়ে ভাল এবং দ্রুততম উপায়, এখানেই অন্য একটি বিকল্প রয়েছে, ঠিক আপনার ক্ষেত্রে যদি আপনার সার্ভারে পিএইচপি খুব বেশি থাকে এবং আপনি অ্যাপাচি সংস্করণ সংগ্রহ করতে আগ্রহী হন (এবং আরও অনেক কিছু আরও প্রোগ্রাম) দ্রুত প্রোগ্রামেটিক পদক্ষেপে।
আপনার অ্যাপাচি ওয়েব রুট ফোল্ডারে (বা আপনি যা পছন্দ করুন) কেবল একটি তথ্য.এফপিপি ফাইল তৈরি করুন এবং এটির ভিতরে এটি লিখুন:
<?php
phpinfo();
?>
এখন thyite.com/info.php (অথবা লোকালহোস্ট / স্থানীয় মেশিনগুলির জন্য তথ্য.এফপি ) যান।
আপনি পিএইচপি ভেরিয়েবল বিভাগে আপনার অ্যাপাচি সংস্করণটি দেখতে পাবেন , এখানে একটি উদাহরণ রয়েছে:
phpinfo () উদাহরণ ডাম্প পৃষ্ঠা
এছাড়াও, দয়া করে লক্ষ্য করুন যে এই পদক্ষেপগুলি অবশ্যই পিএইচপি সংহতকরণের সাথে কোনও ওয়েব সার্ভারে স্পষ্টভাবে প্রযোজ্য , তাই এটি অ্যাপাচি-তে সীমাবদ্ধ নয় এবং একবার তৈরি করা হয়েছিল যে পৃষ্ঠাটি বিকাশের সময় কার্যকর হতে পারে (কেবলমাত্র উত্পাদন পরিবেশে এটি সরাতে ভুলবেন না !!)