Aldığınız hatalarla ilgili bazı kelimeler sizi umarım gelecekte benzer durumlardan kurtaracaktır.
Linux'ta 0 - 1024 portları sistem kullanımı için ayrılmıştır. Bunun anlamı, birini kullanabilmek için, değişiklik yapma yetkisine sahip olmanız gerektiğidir - temel sistem ayarlarına erişin. Kök kullanıcının bu ayrıcalıkları vardır ve aslında 0 - 1024 aralığındaki bir bağlantı noktasını kullanabilir.
Gördüğünüz gibi probleminizde Apache2 cevabı ile gelen sistem problemin kökenini belirtir ([...] falan filan 80'i adreslemek için bağlanamadı ):
(13)Permission denied: make_sock: could not bind to address [::]:80
(13)Permission denied: make_sock: could not bind to address 0.0.0.0:80
Apache2 http arka plan programı başladığında, 80 numaralı bağlantı noktasını, bkz . Sistem atanan bağlantı noktaları içindeki bir bağlantı noktası olan ve yalnızca kök tarafından erişilebilen HTTP görmek için varsayılan bağlantı noktası olan 80 bağlantı noktasını bağlamaya çalışır .
Start komutunu root haklarına sahip olmayan tipik bir kullanıcı olarak uyguladınız ve başarısızlıkla sonuçladınız.
Basit bir deyişle:
Sen:
Merhaba Apache2. Ben Kongthap'im ve başlamanızı söylüyorum ( /etc/init.d/apache2 start
).
Apache2:
TAMAM. Başlıyorum (Web sunucusu apache2'yi başlatıyorum)
Sistem, lütfen bağlantıları kullanmam ve dinlemem için bana 80 numaralı bağlantı noktasını ver.
Sistem:
TAMAM. Kontrol etmek için bir dakika ...
Ahh ... Üzgünüm Apache2 ama 80 limanda koşmana izin veremem, kişisel kullanım içindir.
Ve onu bağlamak için doğru ayrıcalıklarınız yok. ( Operation not permitted
)
Apache2:
Ohh, Kongthap başlayamadım, Sistem yapmama izin vermedi ( (13)Permission denied:[...]
)
Sonuç
Bu sorunun başlıca iki çözümü vardır:
Kullanılarak kök ayrıcalıklarıyla apache2 HTTP Daemon çalıştırın sudo
:
sudo service apache2 start
veya:
sudo /etc/init.d/apache2 start
Varsayılan bağlantı noktasını değiştirmek 80
daha bir şey Büyüktür 1024
, diyelim ki 2000
, 2500
, 9000
böyle bir durumda iken, vb Tipik liman çalıştırmak için8080
sudo vi /etc/apache2/ports.conf
arayın veya eklenmemişse ekleyin:
Listen 8080
ya da bağlantı noktası olarak seçtiğiniz herhangi bir başka liman > 1024
ve seçilen bağlantı olduğunu değil başka bir işlem tarafından kullanılan.