Trouble with Apache2 after installing Freedombox on Beaglebone Black

I installed Freedombox on a brand new Beaglebone Black C while connect via ssh:
$ sudo apt-get update
$ sudo DEBIAN_FRONTEND=noninteractive apt-get install freedombox

During installation there was an error reported with apache2 not being able to start.

After installation I rebooted and connected via ssh, and performed the following tests since I was not able to access via freedombox.local

$ sudo systemctl start apache2
Job for apache2.service failed because the control process exited with error code.
See “systemctl status apache2.service” and “journalctl -xe” for details.
$ sudo systemctl status apache2.service
● apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset:
Active: failed (Result: exit-code) since Wed 2021-02-24 20:16:50 UTC; 53s ago
Docs: Apache HTTP Server Version 2.4 Documentation - Apache HTTP Server Version 2.4
Process: 4044 ExecStart=/usr/sbin/apachectl start (code=exited, status=1/FAILU

Feb 24 20:16:49 beaglebone systemd[1]: Starting The Apache HTTP Server…
Feb 24 20:16:50 beaglebone apachectl[4044]: (98)Address already in use: AH00072:
Feb 24 20:16:50 beaglebone apachectl[4044]: (98)Address already in use: AH00072:
Feb 24 20:16:50 beaglebone apachectl[4044]: no listening sockets available, shut
Feb 24 20:16:50 beaglebone apachectl[4044]: AH00015: Unable to open logs
Feb 24 20:16:50 beaglebone apachectl[4044]: Action ‘start’ failed.
Feb 24 20:16:50 beaglebone apachectl[4044]: The Apache error log may have more i
Feb 24 20:16:50 beaglebone systemd[1]: apache2.service: Control process exited,
Feb 24 20:16:50 beaglebone systemd[1]: apache2.service: Failed with result 'exit
Feb 24 20:16:50 beaglebone systemd[1]: Failed to start The Apache HTTP Server.
lines 1-16/16 (END)…skipping…
● apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Wed 2021-02-24 20:16:50 UTC; 53s ago
Docs: Apache HTTP Server Version 2.4 Documentation - Apache HTTP Server Version 2.4
Process: 4044 ExecStart=/usr/sbin/apachectl start (code=exited, status=1/FAILURE)

Feb 24 20:16:49 beaglebone systemd[1]: Starting The Apache HTTP Server…
Feb 24 20:16:50 beaglebone apachectl[4044]: (98)Address already in use: AH00072: make_sock: could not bind to address [::]:80
Feb 24 20:16:50 beaglebone apachectl[4044]: (98)Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:80
Feb 24 20:16:50 beaglebone apachectl[4044]: no listening sockets available, shutting down
Feb 24 20:16:50 beaglebone apachectl[4044]: AH00015: Unable to open logs
Feb 24 20:16:50 beaglebone apachectl[4044]: Action ‘start’ failed.
Feb 24 20:16:50 beaglebone apachectl[4044]: The Apache error log may have more information.
Feb 24 20:16:50 beaglebone systemd[1]: apache2.service: Control process exited, code=exited, status=1/FAILURE
Feb 24 20:16:50 beaglebone systemd[1]: apache2.service: Failed with result ‘exit-code’.
Feb 24 20:16:50 beaglebone systemd[1]: Failed to start The Apache HTTP Server.

debian@beaglebone:~$ journalctl -xe
Feb 24 20:23:05 beaglebone systemd[1]: plinth.service: Main process exited, code=exited, status=70/SOFTWARE
– Subject: Unit process exited
– Defined-By: systemd
– Support: link removed

– An ExecStart= process belonging to unit plinth.service has exited.

– The process’ exit code is ‘exited’ and its exit status is 70.
Feb 24 20:23:05 beaglebone sudo[4532]: pam_unix(sudo:session): session closed for user root
Feb 24 20:23:05 beaglebone systemd[1]: plinth.service: Failed with result ‘exit-code’.
– Subject: Unit failed
– Defined-By: systemd
– Support: (link removed)

– The unit plinth.service has entered the ‘failed’ state with result ‘exit-code’.
Feb 24 20:23:05 beaglebone systemd[1]: plinth.service: Service RestartSec=100ms expired, scheduling restart.
Feb 24 20:23:05 beaglebone systemd[1]: plinth.service: Scheduled restart job, restart counter is at 13.
– Subject: Automatic restarting of a unit has been scheduled
– Defined-By: systemd
– Support: link removed

– Automatic restarting of the unit plinth.service has been scheduled, as the result for
– the configured Restart= setting for the unit.
Feb 24 20:23:05 beaglebone systemd[1]: Stopped FreedomBox Service (Plinth).
– Subject: A stop job for unit plinth.service has finished
– Defined-By: systemd
– Support: link removed

– A stop job for unit plinth.service has finished.

– The job identifier is 3058 and the job result is done.
Feb 24 20:23:05 beaglebone systemd[1]: Started FreedomBox Service (Plinth).
– Subject: A start job for unit plinth.service has finished successfully
– Defined-By: systemd
– Support: link removed

– A start job for unit plinth.service has finished successfully.

– The job identifier is 3058.
Feb 24 20:23:08 beaglebone sudo[4100]: pam_unix(sudo:session): session closed for user root
Feb 24 20:23:15 beaglebone bonescript[4523]: info: Opening port systemd to serve up /usr/share/bone101
lines 1923-1963/1963 (END)

I was not able to login to freedombox via ssh as the beaglebone shows up as beaglebone and not freedombox on my DHCP Client Table in my router.

Expected Results
I was hoping that it would just work as described after installation.

Actual results
I am unable to access the freedombox as the freedombox. The beaglebone.local also appears to not be working now.

Information

  • FreedomBox version: from apt install (see above) from Buster Beaglebone image
  • Hardware: Beaglebone Black C
  • *I decided to install it since I was not able to Flash the internal EMMC directly

From searching I am under the impression that this has something to do with the apache configuration files. Perhaps since the installation was put on top of what Beaglebone had already established prior. I have been poking around the config files, but am not really sure what I am doing.

debian@beaglebone:/etc/apache2/sites-available$ sudo mv 000-default.conf 000-default.conf.bak
[sudo] password for debian:
debian@beaglebone:/etc/apache2/sites-available$ ls
000-default.conf.bak default-ssl.conf plinth.conf plinth-ssl.conf
debian@beaglebone:/etc/apache2/sites-available$ sudo mv default-ssl.conf default-ssl.conf.bak
debian@beaglebone:/etc/apache2/sites-available$ systemctl start apache2
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Authentication is required to start ‘apache2.service’.
Authenticating as: root
Password:
polkit-agent-helper-1: pam_authenticate failed: Authentication failure
==== AUTHENTICATION FAILED ===
Failed to start apache2.service: Access denied
See system logs and ‘systemctl status apache2.service’ for details.
debian@beaglebone:/etc/apache2/sites-available$ sudo systemctl start apache2
Job for apache2.service failed because the control process exited with error code.
See “systemctl status apache2.service” and “journalctl -xe” for details.
debian@beaglebone:/etc/apache2/sites-available$ systemctl status apache2.service
● apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Wed 2021-02-24 21:25:10 UTC; 30s ago
Docs: link
Process: 9973 ExecStart=/usr/sbin/apachectl start (code=exited, status=1/FAILURE)

Feb 24 21:25:09 beaglebone systemd[1]: Starting The Apache HTTP Server…
Feb 24 21:25:10 beaglebone apachectl[9973]: (98)Address already in use: AH00072: make_sock: could not bind to address [::]:80
Feb 24 21:25:10 beaglebone apachectl[9973]: (98)Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:80
Feb 24 21:25:10 beaglebone apachectl[9973]: no listening sockets available, shutting down
Feb 24 21:25:10 beaglebone apachectl[9973]: AH00015: Unable to open logs
Feb 24 21:25:10 beaglebone apachectl[9973]: Action ‘start’ failed.
Feb 24 21:25:10 beaglebone apachectl[9973]: The Apache error log may have more information.
Feb 24 21:25:10 beaglebone systemd[1]: apache2.service: Control process exited, code=exited, status=1/FAILURE
Feb 24 21:25:10 beaglebone systemd[1]: apache2.service: Failed with result ‘exit-code’.
Feb 24 21:25:10 beaglebone systemd[1]: Failed to start The Apache HTTP Server.

debian@beaglebone:/etc/apache2/sites-available$ grep -ri listen /etc/apache2
/etc/apache2/apache2.conf:# supposed to determine listening ports for incoming connections which can be
/etc/apache2/apache2.conf:# Include list of ports to listen on
/etc/apache2/ports.conf:Listen 80
/etc/apache2/ports.conf: Listen 443
/etc/apache2/ports.conf: Listen 443
/etc/apache2/conf-available/tahoe-plinth.conf:Listen 5678
/etc/apache2/conf-available/matrix-synapse-plinth.conf:## not useful for federation which requires SRV record or listening on port

This might be the problem!

debian@beaglebone:/etc/apache2/sites-available$ sudo lsof -i:80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 1419 root 6u IPv4 33066 0t0 TCP *:http (LISTEN)
nginx 1419 root 7u IPv6 33067 0t0 TCP *:http (LISTEN)
nginx 1420 www-data 6u IPv4 33066 0t0 TCP *:http (LISTEN)
nginx 1420 www-data 7u IPv6 33067 0t0 TCP *:http (LISTEN)

I am just not sure which one to get rid of…

Any help would be much appreciated.

After further poking around, it appears that nginx and apache don’t seem to play well together since they are both fighting over port80. Nginx appears to be preinstalled on the Beaglebone Black. I tried turning it off and starting apache. Apache seems to start normally, but the SBC could not be accessed by either freedombox.local or beaglebone.local or the local ip on my router.