Saya mencoba menginstal apache2, saya menghadapi masalah ini. Beri saya beberapa solusi
Restart server web apache2 memberikan kesalahan:
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
(98)Address already in use: AH00072: make_sock: could not bind to address [::]:80
(98)Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
AH00015: Unable to open logs
Action 'start' failed.
The Apache error log may have more information.
[fail]
* The apache2 instance did not start within 20 seconds. Please read the log files to discover problems
/etc/apache2/apache2.conf
,/etc/apache2/sites-enabled/000-default.conf
dan jika Anda telah menetapkan Anda/etc/apache2/sites-available/yourFile.conf
Jawaban:
Lari
dan Anda akan mendapatkan output seperti
perhatikan pid dari proses mendengarkan port, dalam kasus saya itu 1066. Kemudian jalankan
Ingatlah untuk mengubah pid ke yang sedang mendengarkan port, Mungkin tidak sama dengan 1066
sumber
Seperti banyak aplikasi server, Anda tidak dapat mengikat ke port yang sudah terikat oleh aplikasi lain (dalam hal ini, port 80, untuk
http
). Penyebab kesalahan Anda adalah bahwa Apache tidak dapat mengikat ke port 80 karena sesuatu yang lain sudah mendengarkan di sana.Jalankan
sudo netstat -tulpn | grep :80
dan cari nama proses yang mendengarkan pada port 80. Kemudian, konfigurasikan ulang atau hapus program itu.sumber
Apa jenis server yang Anda jalankan ini?
Untuk mengatasi kesalahan pertama
Anda perlu mengedit
httpd.conf
file, tambahkan baris ini:Untuk mengatasi kesalahan lain, Anda harus memastikan bahwa Anda mencoba menjalankan Apache dengan hak akses root.
sumber
httpd.conf
file. Bisakah saya memasukkan garis itu ke dalamapache2.conf
?ServerName
dalamhttpd.conf
tidak berpengaruh.Saya punya masalah yang sama.
Saya mencoba menginstal LAMP di WSL dengan mengikuti blog ini: LAMP di WSL tetapi ketika saya mengeluarkan perintah ini:
Saya mendapat kesalahan yang sama:
Saya sebelumnya telah mencoba menginstal Nginx pada Windows dengan benar dan gagal tetapi saya ingat saya telah mengikat Nginx ke port 80. Masalahnya adalah saya bukan ahli Linux dan saya tidak dapat melihat di apache2 file conf area untuk mengikat ke port.
Saya mencoba berlari:
dan tidak mendapat apa-apa. Saya juga telah meneruskan port di router saya jadi saya tidak bisa mengerti bagaimana menyelesaikan kesalahan.
Saya tahu Nginx tidak berjalan sehingga port 80 seharusnya baik-baik saja kecuali untuk chrome yang saya asumsikan juga berjalan pada port 80 Jadi dengan frustrasi tidak tahu apa yang akan terjadi, saya melanjutkan perintah dengan
sudo
seperti ini:dan saya mendapat:
Dengan melanjutkan perintah mulai
sudo
, Apache2 memiliki otoritas untuk dijalankan. Ini adalah solusi jangka pendek karena tidak disarankan untuk menjalankan Apache2 dengan hak akses root (jadi kami diberitahu) sehingga solusinya masih di luar sana tetapi untuk saat ini, saya setidaknya bisa melanjutkan dengan tes saya.Jika ada yang tahu solusinya, silakan beri tahu kami.
sumber
sudo
, untuk itu memiliki format itu ... harap Anda menjelaskannya.Anda dapat menginstal server web baru atau cadangan apa pun port 80 memeriksa layanan Anda dan apa yang baru Anda instal
sumber
Dalam kasus saya ini bukan masalah dengan log, tetapi sebenarnya dengan
Listen
arahan - itu diatur untuk Mendengarkan pada IP yang tidak ada (ketika saya memindahkan laptop saya ke jaringan lain).Ini hanya muncul setelah saya menghapus layanan, menginstalnya kembali dan mengatakan:
(OS 10049) The requested address is not valid in its context. : AH00072: make_sock: could not bind to address 0.0.0.0:80 AH00015: Unable to open logs
Jadi, saya hanya berkomentar tentang arahan Listen menyinggung (dan membuat orang lain) sebuah voila.
Saya tahu Q adalah tentang Ubuntu, tetapi beberapa orang mungkin mendarat di sini menemui masalah.
sumber