<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<p><font face="monospace">I'm trying to get Birdseye deployed On
Ubuntu 20.02 LTS. Got lighttpd responding but having an issue
getting birdseye running.</font></p>
<p><font face="monospace"><b>I am getting access restricted when I
run from command line:<br>
</b></font></p>
<p><font face="monospace">root@ric-as112:/srv/birdseye#
/usr/bin/sudo /srv/birdseye/bin/birdc -2 -s
/var/run/bird/bird-ric-as112-ipv4.ctl ?<br>
BIRD 2.0.7 ready.<br>
Access restricted<b><br>
<br>
</b></font></p>
<p><font face="monospace"><b>Do I need to setup a cache key?</b></font></p>
<p><font face="monospace"><a class="moz-txt-link-freetext" href="https://github.com/inex/birdseye/blob/master/bootstrap/app.php">https://github.com/inex/birdseye/blob/master/bootstrap/app.php</a><b><br>
</b></font></p>
<p><font face="monospace"><b><br>
</b></font></p>
<p><font face="monospace"><b>lighttpd is listening:</b><br>
</font></p>
<p><font face="monospace">netstat -ntulp<br>
Active Internet connections (only servers)<br>
Proto Recv-Q Send-Q Local Address Foreign
Address State PID/Program name<br>
tcp 0 0 0.0.0.0:80
0.0.0.0:* LISTEN 242141/lighttpd<br>
tcp 0 0 0.0.0.0:179
0.0.0.0:* LISTEN 938/bird</font></p>
<p><b><font face="monospace"><br>
</font></b></p>
<p><b><font face="monospace"><br>
</font></b></p>
<p><b><font face="monospace">Cant pull up the api:</font></b></p>
<p><font face="monospace">curl -v
<a class="moz-txt-link-freetext" href="http://as112.ric.nix-ops.net/api/status">http://as112.ric.nix-ops.net/api/status</a><br>
* Trying 23.152.192.13:80...<br>
* TCP_NODELAY set<br>
* Connected to as112.ric.nix-ops.net (23.152.192.13) port 80
(#0)<br>
> GET /api/status HTTP/1.1<br>
> Host: as112.ric.nix-ops.net<br>
> User-Agent: curl/7.68.0<br>
> Accept: */*<br>
><br>
* Mark bundle as not supporting multiuse<br>
< HTTP/1.1 500 Internal Server Error<br>
< Content-type: text/html; charset=UTF-8<br>
< Content-Length: 0<br>
< Date: Mon, 11 Apr 2022 01:43:07 GMT<br>
< Server: lighttpd/1.4.55<br>
<<br>
* Connection #0 to host as112.ric.nix-ops.net left intact<br>
</font></p>
<p><font face="monospace"><br>
</font></p>
<p><font face="monospace"><br>
</font></p>
<p><b><font face="monospace">Running tasks:</font></b></p>
<p><font face="monospace">bird 744 0.0 0.2 7468 4316
? SLs 00:05 0:00 /usr/sbin/bird -f -u bird -g bird<br>
root 949 0.0 0.1 7648 3416 ? Ss 00:05
0:02 /usr/sbin/bird -c
/usr/local/etc/bird/bird-ric-as112-ipv4.conf -s
/var/run/bird/bird-ric-as112-ipv4.ctl<br>
root 957 0.0 0.1 7644 3272 ? Ss 00:05
0:01 /usr/sbin/bird -c
/usr/local/etc/bird/bird-ric-as112-ipv6.conf -s
/var/run/bird/bird-ric-as112-ipv6.ctl<br>
</font></p>
<p><font face="monospace"><br>
</font></p>
<p><b><font face="monospace">Here is
/srv/birdseye/birdseye-ric-as112-ipv4.env</font></b></p>
<p><font face="monospace"># Bird's Eye - see
<a class="moz-txt-link-freetext" href="https://github.com/inex/birdseye">https://github.com/inex/birdseye</a><br>
#<br>
# Values that are commented show their default setting.<br>
<br>
# To query Bird securely, we use a wrapper script<br>
BIRDC="/usr/bin/sudo /srv/birdseye/bin/birdc -2 -s
/usr/local/etc/bird"<br>
<br>
# We use caching as a natural API -> birdc rate limiter<br>
# Changing to 'array' will disable the cache but this is
strongly discouraged<br>
# [this is Memcache for 127.0.0.1:11211 by default]<br>
CACHE_DRIVER=file<br>
<br>
# A cache key is required only if relying on a default .env
configuration.<br>
# If you're relying on the automated configuration discovery
detailed at:<br>
# <a class="moz-txt-link-freetext" href="https://github.com/inex/birdseye#configuration">https://github.com/inex/birdseye#configuration</a><br>
# then this is set automatically and appropriatly.<br>
# BIRDSEYE_CACHE_KEY="SomeCacheKey"<br>
<br>
# Set to true for testing / debugging.<br>
# This will provide stack dumps and reveal internal logic /
configuration.<br>
# It also added "env" and "cache_disabled" to the api section of
responses.<br>
# APP_DEBUG=false<br>
APP_DEBUG=true<br>
<br>
# For testing, we have including some real Bird IPv4 dumps.<br>
# Setting to true makes Bird's Eye use those rather than
querying a local Bird daemon<br>
# USE_BIRD_DUMMY=false<br>
<br>
# Time (in monutes - Lumen restriction) to store cache objects
for:<br>
# CACHE_SHOW_STATUS=1<br>
# CACHE_SHOW_SYMBOLS=5<br>
# CACHE_PROTOCOLS=2<br>
# CACHE_ROUTES=5<br>
<br>
# Maximum routes that will be sent back in an API query. We have
not created pagination yet so this will be<br>
# a hard limit. The looking glass implementation does not add
links for tables / protocols exceeding this.<br>
# Aborts with a 403 when a table/protocol route list has more
than this. Uses 'show route ... count' internally.<br>
# MAX_ROUTES=1000<br>
<br>
# Maximum API requests per client per minute<br>
# THROTTLE_PER_MIN=20<br>
<br>
# This micro server also includes a built in looking glass which
can be enabled by setting this to true<br>
# The loogking glass is really just to deomostrate the API and
uses the same API calls internally as<br>
# are publically available. If enabled, it's available under /lg<br>
#LOOKING_GLASS_ENABLED=false<br>
LOOKING_GLASS_ENABLED=true<br>
<br>
# Page title for looking glass [note: {!VERSION!} will be
replaced with the actual version]<br>
# LOOKING_GLASS_TITLE="Bird's Eye Looking Glass - API
V{!VERSION!}"<br>
<br>
# The LG displays the BGP protocol description. These can
sometimes be internal<br>
# machine generated / unwieldy strings. If you want to pluck out
just a bit of<br>
# this you can set a regex here and, when valid and matches
against the description,<br>
# it plucks the first subpattern match (i.e. (xxx) ) and sets
that in<br>
# the API response as description_short. The frontend LG will
also prefer this if set.<br>
#<br>
# Note that the system adds anchors and Bird output matching so
the evaluated regex is:<br>
# '/^\s+Description:\s+' . env(
'PARSER_PROTOCOL_BGP_DESCRIPTION' ) . '$/'<br>
#<br>
# E.g. to pluck 'ppp-rb01' out of 'RR Client - ppp-rb01', you
might use:<br>
# PARSER_PROTOCOL_BGP_DESCRIPTION=".*\s+([a-zA-Z0-9\-_]+)"<br>
#<br>
#PARSER_PROTOCOL_BGP_DESCRIPTION=""</font></p>
<p><b><font face="monospace"><br>
</font></b></p>
<p><b><font face="monospace">/etc/lightpad/lightpad.conf</font></b></p>
<p><font face="monospace"># Sample Bird's Eye Lighttpd config - just
added a small amount to<br>
# the standard Lighttpd configuration.<br>
<br>
server.modules = (<br>
"mod_access",<br>
"mod_alias",<br>
"mod_compress",<br>
"mod_redirect",<br>
"mod_rewrite",<br>
)<br>
<br>
server.document-root = "/srv/birdseye/public"<br>
server.upload-dirs = ( "/var/cache/lighttpd/uploads" )<br>
server.errorlog = "/var/log/lighttpd/error.log"<br>
server.pid-file = "/var/run/lighttpd.pid"<br>
server.username = "www-data"<br>
server.groupname = "www-data"<br>
server.port = 80<br>
#server.bind = "23.152.129.13"<br>
<br>
index-file.names = ( "index.php", "index.html",
"index.lighttpd.html" )<br>
url.access-deny = ( "~", ".inc" )<br>
static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )<br>
<br>
compress.cache-dir = "/var/cache/lighttpd/compress/"<br>
compress.filetype = ( "application/javascript",
"text/css", "text/html", "text/plain" )<br>
<br>
# default listening port for IPv6 falls back to the IPv4 port<br>
## Use ipv6 if available<br>
#include_shell "/usr/share/lighttpd/use-ipv6.pl " + server.port<br>
#include_shell "/usr/share/lighttpd/create-mime.assign.pl"<br>
<br>
<br>
include_shell "/usr/share/lighttpd/create-mime.conf.pl"<br>
<br>
include "/etc/lighttpd/conf-enabled/*.conf"<br>
#include_shell "/usr/share/lighttpd/include-conf-enabled.pl"<br>
<br>
url.redirect = ()<br>
<br>
url.rewrite-once = (<br>
#
"^/(css|img|js|fonts)/.*\.(jpg|jpeg|gif|png|swf|avi|mpg|mpeg|mp3|flv|ico|css|js|woff|ttf)$"
=> "$0",<br>
# "^/(favicon\.ico|robots\.txt|sitemap\.xml)$" =>
"$0",<br>
# "^/test\.php$" => "$0",<br>
# "^/[^\?]*(\?.*)?$" => "index.php/$1"<br>
"^/(css|img|js|fonts)/.*\.(jpg|jpeg|gif|png|swf|avi|mpg|mpeg|mp3|flv|ico|css|js|woff|ttf)$"
=> "/$0",<br>
"^/(favicon\.ico|robots\.txt|sitemap\.xml)$" => "/$0",
"^/[^\?]*(\?.*)?$" => "/index.php/$1"<br>
)<br>
<br>
</font></p>
<p><font face="monospace"><br>
</font></p>
</body>
</html>