Peringatan: ketika menjalankan Apache 2.4 di Ubuntu 14, apache2ctl -Vtidak berfungsi tanpa hak akses root (... dan tidak mencetak versi). Sedangkan itu berfungsi di Ubuntu 12 dengan Apache 2.2. Rumit.
philippe_b
Ia bekerja pada Ubuntu 12.04 dan saya percaya banyak orang masih menggunakan Ubuntu 12.04, seperti saya, yang tidak ingin meng-upgrade ke 14 belum sampai semua bug dengan berbagai software dieliminasi complete.y
JohnMerlino
Bekerja padaDebian 7.1
Cyclonecode
apachectl -V tidak dapat bekerja pada suse10.04 alih-alih kita harus mengetik / usr / sbin / apache2ctl -v untuk mendapatkan jawaban yang benar dengan izin root
farzam
1
Bekerja dengan baik di Red Hat Enterprise Linux 6 (64-bit)
Baik huruf -V atau huruf kecil -v tidak apa-apa, tetapi Anda mungkin perlu menggunakan sudo kecuali Anda masuk sebagai root.
sdexp
27
Perintah bervariasi tergantung pada bagaimana versi Linux Anda menamai Server Apache.
Di Debian dan Mac OS:
apachectl -v
Di Red Hat dan Amazon menggunakan EC2 Linux:
httpd -v
Di Linux lain coba:
apache2 -v
Anda dapat menggunakan dua flag berbeda:
-v # gives you the version number
-V # gives you the compile settings including version number.
Jika Anda ingin menjalankan perintah dengan direktori lengkap seperti yang dilakukan user3786265 tetapi tidak tahu di mana apache Anda berada, gunakan whereisperintah:
Cemerlang. Jawaban Anda mencakup rentang lingkungan server yang mungkin berusaha ditemukan versi Apache di dalamnya. Jika itu pertanyaan saya, saya akan menandai ini sebagai jawabannya . Mungkin satu-satunya hal yang saya sarankan untuk ditambahkan ke jawaban Anda, adalah jalur umum. Di beberapa lingkungan, perintah mungkin tidak ada di $ PATH, jadi orang yang mencoba perintah ini mungkin macet. mis. Di lingkungan Debian saya, saya harus menggunakan $ /usr/sbin/apache2 -vkarena hanya $ apache2 -vmengembalikan command not found. Perintah ini akan membantu pengguna menemukan path ke apache, jika diperlukan:ps -ef | grep apache
terinspirasinz
apache2 -vjuga bekerja pada Debian (setidaknya Debian 8 (Jessie) di Raspberry Pi).
Peter Mortensen
25
Saya menggunakan Red Hat Linux dan perintah berikut berfungsi:
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....
Ini tidak akan berfungsi jika saat ini ada kesalahan sintaksis dalam file konfigurasi Anda
Wolfgang Fahl
12
Saya pikir Anda harus yakin jenis instalasi apa yang Anda miliki biner atau sumbernya. Untuk memeriksa paket binary apa yang diinstal: dengan hak root jalankan perintah berikut:
dpkg -l |grep apache2
hasil harus berupa:
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)
Untuk menemukan versi Anda dapat menjalankan:
apache2ctl -V |grep -i "Server version"
Hasilnya harus seperti: Versi server: Apache / 2.4.10 (Debian)
Anda juga dapat menggunakan manajer paket secara langsung:
dpkg -l | grep apache
Ini tidak berfokus pada nomor versi saja , tetapi akan membuat pencarian yang lebih luas, yang akan memberi Anda informasi berguna lainnya, seperti versi modul.
Pembatasan apache dapat diteruskan ke dpkg secara langsung. Untuk interpretasi otomatis, Anda juga memerlukan nilai tunggal daripada daftar, dan Anda seharusnya tidak menampilkan paket apache2- * yang "dihapus". Harap pertimbangkan dpkg -l apache2 | grep ^ii | awk '{print $3}' | cut -f1 -d-atau dpkg -l "apache2*" | grep ^ii | awk '{print $3}' | cut -f1 -d- | head -n 1.
smoe
6
Cara lain untuk memeriksa paket (termasuk Apache) versi yang diinstal pada sistem berbasis Debian, kita dapat menggunakan:
apt-cache policy <package_name>
misalnya untuk Apache
apt-cache policy apache2
yang akan menampilkan sesuatu seperti (lihat Installedbaris):
Bagi saya ini berfungsi pada Debian 6 (Pemerasan):
Linux www809 2.6.26-2-xen-686 # 1 SMP Rabu 21 September 09:56:47 UTC 2011 i686 GNU / Linux
Saya harus pergi ke jalan yang benar:
/usr/local/apache/bin** $ **./apachectl -v
./apachectl: line 71: ulimit: buka file: tidak dapat mengubah batas: Operasi tidak diizinkan
Versi server: Apache / 2.2.21 (Unix)
Server dibangun: 17 Desember 2011 19:57:53
'apachectl -v' bekerja untuk saya di Mac, CentOS dan Ubuntu. Distro mana yang Anda jalankan? apachectl fullstatus membutuhkan mod_status untuk membuat ini berfungsi. Jadi itu bukan solusi universal juga.
Konzulic
apachectl fullstatustidak bekerja untuk saya. Saya mendapat /usr/sbin/apachectl: 101: /usr/sbin/apachectl: www-browser: not found 'www-browser -dump http://localhost:80/server-status' failed.(Debian 8 - Raspbian dengan Raspberry Pi). Namun, apachectl -Vberhasil.
Peter Mortensen
3
Beberapa instalasi Apache adalah fubar (bayangkan Oracle mengemasnya, OHS) dan tidak memahami flag -V, juga tidak dapat dipanggil secara langsung tanpa mengalami kesalahan pustaka yang hilang.
Cara termudah adalah dengan menggunakan stringsperintah (bagian dari binutils) pada biner httpd dan grep untuk string yang mungkin menyerupai versi. Misalnya, dengan asumsi httpdbiner Anda berada di bawah direktori /foo/bar:
Kebanyakan binari (tidak semua) mengandung versinya (setidaknya versi utamanya) sebagai string statis. Ini adalah cara saya untuk mendapatkan versi (atau untuk menguatkan apa pesan bantuan biner cocok dengan kenyataan di lapangan sebenarnya.)
Tidak httpdharus berada di direktori saat ini agar ini berfungsi?
Peter Mortensen
1
Ini membantu saya mengetahui versi saya sebelumnya pada root lama saya yang terpasang dari dalam instalasi Ubuntu baru. Layak disebutkan: "string" adalah bagian dari paket "binutils"
Zefiro
@PeterMortensen, ya. Saya kira contoh saya mengasumsikan httpd akan berada di direktori saat ini (dan bahwa pembaca akan menyimpulkan itu dari contoh dan menyesuaikan sesuai kebutuhan.) Saya mengedit jawaban saya sekarang untuk mencerminkan itu .
luis.espinal
@ Zefiro, terima kasih untuk kepala. Saya akan memperbarui jawaban saya untuk menyebutkan binutils.
Jika apache dikonfigurasi untuk tidak menambahkan informasi versi ke header HTTP, Anda tidak akan menemukan apa pun.
Marki555
nmap mungkin tidak diinstal (misalnya pada Raspberry Pi):-bash: nmap: command not found
Peter Mortensen
2
Tentunya mengetik / usr / sbin / apache2 -v ke dalam shell adalah cara terbaik dan tercepat untuk pergi, dengan cara inilah pilihan lain, kalau-kalau ada PHP juga di server Anda dan Anda tertarik untuk mengumpulkan versi Apache (dan banyak lagi lebih banyak info) dalam langkah-langkah pemrograman cepat.
Cukup buat file info.php di folder root web Apache Anda (atau apa pun yang Anda suka) dan tulis di dalamnya:
<?php
phpinfo();
?>
Sekarang buka yoursite.com/info.php (atau localhost / info.php untuk mesin lokal).
Anda akan melihat versi Apache Anda di bagian Variabel PHP , berikut ini sebuah contoh:
Juga, harap perhatikan bahwa langkah-langkah ini jelas berlaku untuk server web mana pun dengan integrasi PHP, jadi itu tidak terbatas pada Apache dan sekali dibuat halaman itu bisa berguna saat mengembangkan (jangan lupa untuk menghapusnya di lingkungan produksi !!)
Jawaban:
Coba apachectl -V:
Jika tidak berhasil untuk Anda, jalankan perintah dengan
sudo
.sumber
apache2ctl -V
tidak berfungsi tanpa hak akses root (... dan tidak mencetak versi). Sedangkan itu berfungsi di Ubuntu 12 dengan Apache 2.2. Rumit.Debian 7.1
Ini berfungsi untuk Debian saya:
sumber
Anda harus menggunakan apache2ctl -v atau apache2 -v untuk distribusi Debian atau Ubuntu yang lebih baru.
atau Anda dapat menggunakan apache2 -V untuk mendapatkan informasi lebih lanjut.
sumber
Perintah bervariasi tergantung pada bagaimana versi Linux Anda menamai Server Apache.
Di Debian dan Mac OS:
Di Red Hat dan Amazon menggunakan EC2 Linux:
Di Linux lain coba:
Anda dapat menggunakan dua flag berbeda:
Jika Anda ingin menjalankan perintah dengan direktori lengkap seperti yang dilakukan user3786265 tetapi tidak tahu di mana apache Anda berada, gunakan
whereis
perintah:sumber
$ /usr/sbin/apache2 -v
karena hanya$ apache2 -v
mengembalikancommand not found
. Perintah ini akan membantu pengguna menemukan path ke apache, jika diperlukan:ps -ef | grep apache
apache2 -v
juga bekerja pada Debian (setidaknya Debian 8 (Jessie) di Raspberry Pi).Saya menggunakan Red Hat Linux dan perintah berikut berfungsi:
sumber
Cobalah dengan sudo
sumber
Saya pikir Anda harus yakin jenis instalasi apa yang Anda miliki biner atau sumbernya. Untuk memeriksa paket binary apa yang diinstal: dengan hak root jalankan perintah berikut:
hasil harus berupa:
Untuk menemukan versi Anda dapat menjalankan:
Hasilnya harus seperti: Versi server: Apache / 2.4.10 (Debian)
sumber
Anda juga dapat menggunakan manajer paket secara langsung:
Ini tidak berfokus pada nomor versi saja , tetapi akan membuat pencarian yang lebih luas, yang akan memberi Anda informasi berguna lainnya, seperti versi modul.
sumber
dpkg -l apache2 | grep ^ii | awk '{print $3}' | cut -f1 -d-
ataudpkg -l "apache2*" | grep ^ii | awk '{print $3}' | cut -f1 -d- | head -n 1
.Cara lain untuk memeriksa paket (termasuk Apache) versi yang diinstal pada sistem berbasis Debian, kita dapat menggunakan:
misalnya untuk Apache
yang akan menampilkan sesuatu seperti (lihat
Installed
baris):sumber
Bagi saya ini berfungsi pada Debian 6 (Pemerasan):
Saya harus pergi ke jalan yang benar:
sumber
Saya mencoba menjalankan perintah "httpd -V" dan "apachectl -V", tapi saya tidak bisa menjalankan dan mendapatkan kesalahan:
Kemudian saya mencoba cara lain. Saya pergi ke direktori Apache di server saya dan kemudian mencoba menjalankan perintah:
Ini bekerja untuk saya dan mengembalikan hasilnya:
Saya harap ini membantu.
sumber
Anda bisa menggunakan
apachectl -V
atauapachectl -v
. Keduanya akan mengembalikan informasi versi Apache!Anda mungkin lebih suka menggunakan
apache2 -V
atauapache2 -v
. Tampaknya lebih mudah diingat!sumber
Bagi saya
apachectl -V
tidak bekerja, tetapiapachectl fullstatus
memberi saya versi saya.sumber
apachectl fullstatus
tidak bekerja untuk saya. Saya mendapat/usr/sbin/apachectl: 101: /usr/sbin/apachectl: www-browser: not found 'www-browser -dump http://localhost:80/server-status' failed.
(Debian 8 - Raspbian dengan Raspberry Pi). Namun,apachectl -V
berhasil.Beberapa instalasi Apache adalah fubar (bayangkan Oracle mengemasnya, OHS) dan tidak memahami flag -V, juga tidak dapat dipanggil secara langsung tanpa mengalami kesalahan pustaka yang hilang.
Cara termudah adalah dengan menggunakan
strings
perintah (bagian daribinutils
) pada biner httpd dan grep untuk string yang mungkin menyerupai versi. Misalnya, dengan asumsihttpd
biner Anda berada di bawah direktori/foo/bar
:Kebanyakan binari (tidak semua) mengandung versinya (setidaknya versi utamanya) sebagai string statis. Ini adalah cara saya untuk mendapatkan versi (atau untuk menguatkan apa pesan bantuan biner cocok dengan kenyataan di lapangan sebenarnya.)
sumber
httpd
harus berada di direktori saat ini agar ini berfungsi?Atau, kurang langsung:
nmap -A localhost -p 80
sumber
-bash: nmap: command not found
Tentunya mengetik / usr / sbin / apache2 -v ke dalam shell adalah cara terbaik dan tercepat untuk pergi, dengan cara inilah pilihan lain, kalau-kalau ada PHP juga di server Anda dan Anda tertarik untuk mengumpulkan versi Apache (dan banyak lagi lebih banyak info) dalam langkah-langkah pemrograman cepat.
Cukup buat file info.php di folder root web Apache Anda (atau apa pun yang Anda suka) dan tulis di dalamnya:
Sekarang buka yoursite.com/info.php (atau localhost / info.php untuk mesin lokal).
Anda akan melihat versi Apache Anda di bagian Variabel PHP , berikut ini sebuah contoh:
phpinfo () contoh halaman dump
Juga, harap perhatikan bahwa langkah-langkah ini jelas berlaku untuk server web mana pun dengan integrasi PHP, jadi itu tidak terbatas pada Apache dan sekali dibuat halaman itu bisa berguna saat mengembangkan (jangan lupa untuk menghapusnya di lingkungan produksi !!)
sumber
sumber