diff --git a/mod/admin.php b/mod/admin.php
index 30073c655..d4fcc533f 100644
--- a/mod/admin.php
+++ b/mod/admin.php
@@ -24,6 +24,7 @@ use Friendica\Module\Tos;
use Friendica\Util\Arrays;
use Friendica\Util\DateTimeFormat;
use Friendica\Util\Temporal;
+use Friendica\Util\Network;
require_once 'include/enotify.php';
require_once 'include/text.php';
@@ -868,6 +869,14 @@ function admin_page_summary(App $a)
$warningtext[] = L10n::t('Friendica\'s configuration now is stored in config/local.ini.php, please copy config/local-sample.ini.php and move your config from .htconfig.php
. See the Config help page for help with the transition.', $a->get_baseurl() . '/help/Config');
}
+ // Check server vitality
+ if (!admin_page_server_vital()) {
+ $showwarning = true;
+ $well_known = $a->get_baseurl() . '/.well-known/host-meta';
+ $warningtext[] = L10n::t('%s is not reachable on your system. This is a severe configuration issue that prevents server to server communication. See the installation page for help.',
+ $well_known, $well_known, $a->get_baseurl() . '/help/Install');
+ }
+
$r = q("SELECT `page-flags`, COUNT(`uid`) AS `count` FROM `user` GROUP BY `page-flags`");
$accounts = [
[L10n::t('Normal Account'), 0],
@@ -2544,3 +2553,10 @@ function admin_page_features(App $a)
return $o;
}
}
+
+function admin_page_server_vital()
+{
+ // Fetch the host-meta to check if this really is a vital server
+ $serverret = Network::curl(System::baseUrl() . '/.well-known/host-meta');
+ return $serverret["success"];
+}