Một số từ về các lỗi bạn nhận được mà hy vọng sẽ cứu bạn khỏi các tình huống tương tự trong tương lai.
Trong các cổng Linux từ 0 đến 1024 được dành riêng cho sử dụng hệ thống. Điều này có nghĩa là để sử dụng một, bạn phải có quyền thay đổi - truy cập các cài đặt hệ thống cơ bản. Người dùng root có các đặc quyền như vậy và thực sự có thể sử dụng một cổng từ phạm vi 0 - 1024.
Trong vấn đề của bạn như bạn có thể thấy, hệ thống thông qua phản hồi Apache2 chỉ ra gốc rễ của vấn đề ([...] không thể liên kết với địa chỉ blah blah 80 ):
(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
Khi daemon http của Apache2 khởi động, nó cố gắng liên kết cổng 80 vì đây là cổng mặc định để sử dụng trong HTTP see , là cổng trong hệ thống được gán cổng và do đó chỉ có thể được truy cập bằng root.
Bạn đã thực thi lệnh start như một người dùng thông thường không có quyền root và dẫn đến không thực hiện được.
Nói một cách đơn giản:
Bạn:
Xin chào Apache2. Tôi là Kongthap và tôi đang bảo bạn bắt đầu ( /etc/init.d/apache2 start
)
Apache2:
ĐƯỢC. Tôi đang bắt đầu (Bắt đầu máy chủ web apache2)
Hệ thống, vui lòng cho tôi cổng 80 để sử dụng và lắng nghe các kết nối.
Hệ thống:
ĐƯỢC. Một lát để kiểm tra ...
À ... Xin lỗi Apache2 nhưng tôi không thể cho phép bạn chạy ở cổng 80, nó dành cho sử dụng cá nhân.
Và bạn không có đặc quyền chính xác để ràng buộc nó. ( Operation not permitted
)
Apache2:
Ồ, Kongthap Tôi không khởi động được, Hệ thống không cho tôi làm điều đó ( (13)Permission denied:[...]
)
Phần kết luận
Có hai giải pháp chủ yếu cho vấn đề này:
Chạy trình nền HTTP Apache2 với quyền root bằng cách sử dụng sudo
:
sudo service apache2 start
hoặc là:
sudo /etc/init.d/apache2 start
Thay đổi cổng mặc định từ 80
một cái gì đó lớn hơn 1024
, ví dụ 2000
, 2500
, 9000
, vv Một cổng điển hình để chạy khi trong tình huống như vậy là8080
sudo vi /etc/apache2/ports.conf
tìm kiếm hoặc nếu không có thêm:
Listen 8080
hoặc bất kỳ cổng nào khác bạn chọn, chẳng hạn như cổng > 1024
và cổng đã chọn không được sử dụng bởi quy trình khác.