How do I release port 80 on a beaglebone so I can use it?

Octopus picture Octopus · May 15, 2013 · Viewed 13.7k times · Source

I have a beaglebone on which I have configured lighttpd to run. Currently I have it running on port 8080 and it works fine. Except I really want to use it on port 80. Unfortunately it won't start on port 80 because it fails and reports that the port is already in use. When I access the beaglebone via HTTP on port 80, of course I get the beaglebone 101 screen.

This page suggests that I run systemctl disable bone101.service but that service does not even exist on my version of Angstrom. I am using the Angstrom img I got from here, which is Angstrom-Cloud9-IDE-GNOME-eglibc-ipk-v2012.12-beaglebone-2013.04.13.img.xz.

I am currently running with all of the following disabled:

systemctl disable cloud9.service                  
systemctl disable gateone.service                 
systemctl disable bonescript.service              
systemctl disable bonescript-autorun.service      
systemctl disable avahi-daemon.service            
systemctl disable gdm.service     # this disables the Gnome desktop which is maybe irrelevant here, but saves a ton of memory

But I still get the problem on port 80.

I know that node.js is what's serving up the content, but even when ps aux shows that node.js is not running (I can kill it), it seems that accessing the port once again invokes node.js.

How can I disable port 80 once and for all so I can free it up for use by lighttpd?

Here is the complete output from ps aux:

root         1  0.2  1.0   4820  2684 ?        Ss   17:58   0:01 /sbin/init run_hardware_tests
root         2  0.0  0.0      0     0 ?        S    17:58   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        S    17:58   0:00 [ksoftirqd/0]
root         5  0.0  0.0      0     0 ?        S<   17:58   0:00 [kworker/0:0H]
root         7  0.0  0.0      0     0 ?        S<   17:58   0:00 [kworker/u:0H]
root         8  0.0  0.0      0     0 ?        S    17:58   0:00 [migration/0]
root         9  0.0  0.0      0     0 ?        S    17:58   0:00 [rcu_bh]
root        10  0.0  0.0      0     0 ?        S    17:58   0:00 [rcu_sched]
root        11  0.0  0.0      0     0 ?        S    17:58   0:00 [watchdog/0]
root        12  0.0  0.0      0     0 ?        S<   17:58   0:00 [khelper]
root        13  0.0  0.0      0     0 ?        S    17:58   0:00 [kdevtmpfs]
root        14  0.0  0.0      0     0 ?        S<   17:58   0:00 [netns]
root        15  0.0  0.0      0     0 ?        S    17:58   0:00 [kworker/0:1]
root        16  0.0  0.0      0     0 ?        S    17:58   0:00 [bdi-default]
root        17  0.0  0.0      0     0 ?        S<   17:58   0:00 [kintegrityd]
root        18  0.0  0.0      0     0 ?        S<   17:58   0:00 [kblockd]
root        19  0.0  0.0      0     0 ?        S    17:58   0:00 [khubd]
root        20  0.0  0.0      0     0 ?        S    17:58   0:00 [irq/86-44e0b000]
root        21  0.0  0.0      0     0 ?        S    17:58   0:00 [kworker/u:1]
root        26  0.0  0.0      0     0 ?        S    17:58   0:00 [irq/46-4819c000]
root        35  0.0  0.0      0     0 ?        S<   17:58   0:00 [rpciod]
root        37  0.0  0.0      0     0 ?        S    17:58   0:00 [khungtaskd]
root        38  0.0  0.0      0     0 ?        S    17:58   0:00 [kswapd0]
root        39  0.0  0.0      0     0 ?        S    17:58   0:00 [fsnotify_mark]
root        40  0.0  0.0      0     0 ?        S<   17:58   0:00 [nfsiod]
root        41  0.0  0.0      0     0 ?        S<   17:58   0:00 [crypto]
root        44  0.0  0.0      0     0 ?        S<   17:58   0:00 [pencrypt]
root        45  0.0  0.0      0     0 ?        S<   17:58   0:00 [pdecrypt]
root        52  0.0  0.0      0     0 ?        S<   17:58   0:00 [OMAP UART0]
root        54  0.0  0.0      0     0 ?        S<   17:58   0:00 [kpsmoused]
root        66  0.0  0.0      0     0 ?        S<   17:58   0:00 [deferwq]
root        67  0.0  0.0      0     0 ?        S    17:58   0:00 [kworker/u:2]
root        68  0.1  0.0      0     0 ?        D    17:58   0:00 [mmcqd/0]
root        71  0.0  0.0      0     0 ?        S<   17:58   0:00 [kworker/0:1H]
root        72  0.0  0.0      0     0 ?        S    17:58   0:00 [jbd2/mmcblk0p2-]
root        73  0.0  0.0      0     0 ?        S<   17:58   0:00 [ext4-dio-unwrit]
root        81  0.6  2.0 260668  5212 ?        Ss   17:58   0:06 /lib/systemd/systemd-journald
root        83  0.0  0.6   3732  1668 ?        Ss   17:58   0:00 /lib/systemd/systemd-udevd
root        86  0.0  0.0      0     0 ?        S    17:58   0:00 [kworker/0:2]
root        93  0.0  0.0      0     0 ?        S<   17:58   0:00 [krfcommd]
root       164  0.0  0.4   3008  1196 ?        Ss   17:58   0:00 /usr/sbin/crond -n
root       166  0.0  0.3   2464   916 ?        Ss   17:58   0:00 /usr/sbin/lighttpd -D -f /etc/lighttpd.conf
root       167  0.0  0.8   5524  2260 ?        Ss   17:58   0:00 /usr/sbin/connmand -n
root       169  0.0  0.5   3012  1332 ?        Ss   17:58   0:00 /bin/sh /usr/bin/g-ether-load.sh
root       173  0.0  0.5   3056  1396 ?        Ss   17:58   0:00 /bin/sh /usr/bin/mysqld_safe
root       175  0.0  0.4   2976  1156 ?        Ss   17:58   0:00 /lib/systemd/systemd-logind
999        185  0.0  0.5   2840  1380 ?        Ss   17:58   0:00 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation
root       191  0.0  0.2   1992   724 tty1     Ss+  17:58   0:00 /sbin/agetty --noclear tty1 38400 linux
root       234  0.0  0.2   1992   712 ttyO0    Ss+  17:58   0:00 /sbin/agetty -s ttyO0 115200
root       335  0.0  0.0      0     0 ?        S    17:58   0:00 [flush-179:0]
root       394  0.0  0.0      0     0 ?        S    17:58   0:00 [file-storage]
root       407  0.0  0.2   2152   688 ?        S    17:58   0:00 /usr/sbin/udhcpd -f -S /etc/udhcpd.conf
mysql      448  0.0  1.6  26604  4064 ?        Sl   17:59   0:00 /usr/libexec/mysqld --basedir=/usr --datadir=/var/mysql --user=mysql --log-error=/var/log/mysqld.err --pid-file=/var/lib/mysql/mysqld.p
root       479  0.0  0.4   3564  1216 ?        Ss   17:59   0:00 /usr/bin/ntpd -p /run/ntpd.pid
root       491  0.1  0.5   3028  1320 ?        Ss   18:03   0:00 /usr/sbin/dropbear -i -r /etc/dropbear/dropbear_rsa_host_key -p 22
root       492  0.0  0.6   3164  1688 pts/0    Ss   18:03   0:00 -sh
root       508  0.0  0.0      0     0 ?        S    18:08   0:00 [kworker/0:0]

Also, the /etc/xinetd.conf file is pretty barren:

# Simple configuration file for xinetd
#
# Some defaults, and include /etc/xinetd.d/

defaults
{


}

includedir /etc/xinetd.d

And the /etc/xinetd.d folder is empty.

I've also tried using netstat, but it fails to provide the -p switch on the beaglebone for some reason, so I don't get any information about which process is responsible.

The best output I can get from netstat is with netstat -nl | grep tcp which gives:

tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN
tcp        0      0 :::53                   :::*                    LISTEN

netstat -p says invalid option -- 'p',

Answer

Octopus picture Octopus · May 15, 2013

I found the solution at last. The secret is to also disable the socket as well as the service.

systemctl disable bonescript.service              
systemctl disable bonescript.socket
systemctl disable bonescript-autorun.service

And now I can use port 80 for lighttpd.