Apache lỗi "có Thể không đáng tin cậy xác định máy chủ của miền đầy đủ tên"

Khi tôi khởi động lại máy chủ Apache bằng cách sử dụng lệnh

sudo /etc/init.d/apache2 restart

Tôi nhận được sau lỗi:

Restarting web server apache2apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName... waiting apache2:Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName

Là chủ sử dụng 127.0.1.1 thay vì 127.0.0.1? Những gì gây ra lỗi này?

13.04 và cũ

Đây chỉ là một cảnh báo thân thiện và không thực sự là một vấn đề (như ở rằng một cái gì đó không làm việc).

Nếu bạn đi:

/etc/apache2/apache2.conf

và chèn:

ServerName localhost   

và sau đó có thể apache bằng cách gõ vào các thiết bị đầu cuối:

sudo systemctl reload apache2

các báo sẽ biến mất.

Nếu bạn có một cái tên bên trong /etc/hostname bạn cũng có thể sử dụng tên đó thay vì localhost.


Và nó sử dụng 127.0.1.1 nếu nó là bạn /etc/hosts:

127.0.0.1 localhost127.0.1.1 myhostname

Phương pháp ưa thích

Sự Cố Apache

Nếu bạn nhận này lỗi:

apache2: Could not determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

sau đó, sử dụng một văn bản biên tập viên chẳng hạn giới của nano và lần ở dòng lệnh hoặc là sản gksudo gedit và lần trên bàn làm việc để tạo ra một tập tin mới,

sudo nano /etc/apache2/conf.d/fqdn

hay

gksu "gedit /etc/apache2/conf.d/fqdn"

sau đó, thêm

ServerName localhost

để các tập tin và lưu lại. Này, tất cả có thể được thực hiện trong một lệnh duy nhất như sau:

 echo "ServerName localhost" | sudo tee /etc/apache2/conf.d/fqdn

Nhưng trên ổ 14.04:

 echo "ServerName localhost" | sudo tee /etc/apache2/conf-available/fqdn.conf sudo a2enconf fqdn

Đừng quên tương lai.tập tin từ năm (mà sẽ không làm việc).

13.10 hoặc mới hơn

Như của người Apache thể 2,4 - đó là mặc định sẵn là của 13.10 - bạn không thể sử dụng những phương pháp về thêm một tập tin trong những conf.d mục.

Apache không còn sử dụng những conf.d mục. Tất cả các tập tin cấu hình được lưu trữ trong /etc/apache2/conf-available mục và tất cả các tập tin cấu hình nên bây giờ có một .conf mở rộng.

Để giải quyết tin nhắn này trong Apache thể 2,4, chúng tôi phải tạo ra một tập tin cấu hình bên trong các v-có mục. Ví dụ: servername.conf.

sudo vi /etc/apache2/conf-available/servername.conf

Và trong này chúng ta chỉ cần thêm một dòng

ServerName localhost

Bạn có thể kết hợp hai lệnh trong một với:

echo "ServerName localhost" | sudo tee /etc/apache2/conf-available/servername.conf

Nếu bạn muốn sử dụng một tên miền hoặc bất cứ tên nào khác tùy thuộc vào những yêu cầu của nó, tốt, chỉ cần thay thế localhost với bất cứ điều gì anh cần. Tiếp theo, bạn có để kích hoạt cấu hình này. Này, bạn cần phải chạy theo lệnh:

sudo a2enconf servername

a2enconf là một lệnh để kích hoạt một cấu hình tập tin trong người Apache thể 2,4. Cũng có lưu ý rằng servername trên lệnh trên là tên của các tập tin cấu hình servername.conf. Nếu bạn tập tin đã được ngenericserver.conf sau đó bạn sẽ phải viết sudo a2enconf ngenericserver.

Sau này lại chủ và các tin nhắn trên sẽ không còn lỗi bạn.

sudo service apache2 reload

hay

sudo apache2ctl graceful

Bây giờ, sau này anh sẽ thấy rằng các tin nhắn sẽ không được chứng minh, một lần nữa và các vấn đề này sẽ được cố định.

Apache2 cũng có thể nhận được phần mở rộng từ một cấu hình đúng hệ thống tên máy chứ không phải là cố định vào cấu hình apache tập tin. Thể nó cũng sẽ gây ra sự nhầm lẫn nếu tên máy thay đổi. Bạn thực sự không cần bất kỳ ServerName chỉ thị trong httpd.conf hoặc bất kỳ apache cấu hình các tập tin.

Đặt điều sau /etc/hosts:

# IPv4 and IPv6 localhost aliases127.0.0.1 hostname.domainname.com  hostname  localhost::1       hostname.domainname.com  hostname  localhost

nơi hostname.domainname.com là phần mở rộng của máy tính.

Cùng với một cấu hình đúng tên trong /etc/hostname/ hoặc với hostnamectl này cũng sẽ giúp các dịch vụ khác trên máy chạy đúng (tức là các đăng nhập nhắc cho thấy This is hostname.domainname.com thay vì This is hostname.unknown_domain.)

  • Mở một thiết bị đầu cuối
  • Mở /etc/apache2/httpd.conf tập tin:

    sudo editor /etc/apache2/httpd.conf # [1]
  • Bởi mặc định, nó sẽ được trống. Chỉ cần thêm dòng sau:

    ServerName localhost
  • Lưu các tập tin và lối ra

  • Khởi động lại máy chủ

    sudo service apache2 restart

[1] Khởi động định biên tập, xem sudo update-alternatives --config editor

Trong phiên bản mới của apache2 bạn chỉ làm theo lệnh như thế này:

sudo nano /etc/apache2/apache2.conf

Thêm sau dòng mới kết thúc của tập tin:

ServerName localhost

Sau đó khởi động apache2:

sudo service apache2 restart

Nó được thực hiện.

Tôi tìm thấy nó là một chút tốt hơn để tạo ra một tập tin mới trong /etc/conf.d đó để thay đổi, hoặc là apache2.conf hay httpd.conf.

Đó là một sở thích cá nhân mà giữ của tôi, thay đổi cấu hình tách ra từ phân phối gói. Vì vậy cập nhật được ít phức tạp.

Tôi tạo ra các tập tin /etc/apache2/conf.d/AAserverName và nó chỉ chứa:

ServerName myhost.mycomain.tld

Những lời đề nghị khác chắc chắn cũng làm việc.

Trong Windows 16.04:

sudo -iecho 'ServerName localhost' > /etc/apache2/conf-available/server-name.confa2enconf server-name

Trên Ubuntu 16.04:

Thêm ServerName localhost để các tập tin httpd.conf dùng kinh lệnh sau.

sudo vi  /etc/apache2/httpd.conf

Sau đó bao gồm dòng này Include httpd.conf cuối cùng của tập tin này

sudo vi /etc/apache2/apache2.conf

Kiểm tra lỗi lần nữa

sudo apache2ctl configtest

Bây giờ bạn sẽ nhận được

Syntax OK

Bây giờ bạn có thể khởi động lại máy chủ duyên dáng bởi cấu hình lại

sudo service apache2 reload

hoặc giết quá trình và bắt đầu một lần nữa

sudo service apache2 restart

Thêm ServerName localhost

Đến

 sudo leafpad /etc/apache2/apache2.conf sudo leafpad /etc/apache2/httpd.conf

Nó không phải một lỗi.. Nó chỉ là một người bạn nhắc nhở

Xác định ServerName localhost trong tập tin cấu hình của bên ngoài của chủ ảo phần là cách để làm điều này.

Một số khác, các câu trả lời đề nghị anh nên thay đổi /etc/apache2/httpd.conf. Tập tin này được ghi đè khi apache được nâng cấp từ thích hợp. Cho Apache cấu hình mà bạn không muốn nhận được ghi đè, bạn nên tạo ra một tập tin mới. Đây là "cách Debian" để thay đổi cấu hình:

# create the configuration file in the "available" sectionecho "ServerName localhost" | sudo tee /etc/apache2/conf-available/servername.conf# enable it by creating a symlink to it from the "enabled" sectionsudo a2enconf servername# restart the serversudo service apache2 restart

Đây là cơ bản giống như của Stark câu trả lời, nhưng trong một cách dễ dàng để bản sao và dán kịch bản mẫu. Ban đầu tôi đã đăng này trong một câu hỏi mà được đánh dấu như là trùng lặp: https://askubuntu.com/a/432408