2023-06-29-Raspberry-Pi-Model-B-Rev-2--RAM-512-MB
pi@raspberrypi:~ $ date
Thu 29 Jun 2023 11:29:09 AM MDT
pi@raspberrypi:~ $ cd /proc
pi@raspberrypi:/proc $ sudo apt update
Hit:1 http://archive.raspberrypi.org/debian bullseye InRelease
Hit:2 http://raspbian.raspberrypi.org/raspbian bullseye InRelease
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
All packages are up to date.
pi@raspberrypi:/proc $ $PATH
bash: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games: No such file or directory
pi@raspberrypi:/proc $ cat cpuinfo
processor : 0
model name : ARMv6-compatible processor rev 7 (v6l)
BogoMIPS : 697.95
Features : half thumb fastmult vfp edsp java tls
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xb76
CPU revision : 7
Hardware : BCM2835
Revision : 000e
Serial : 0000000004ea4fb7
Model : Raspberry Pi Model B Rev 2
pi@raspberrypi:/proc $
pi@raspberrypi:/proc $ cat meminfo
MemTotal: 439596 kB
MemFree: 81808 kB
MemAvailable: 240176 kB
Buffers: 7448 kB
Cached: 195228 kB
SwapCached: 18468 kB
Active: 76848 kB
Inactive: 230960 kB
Active(anon): 10876 kB
Inactive(anon): 100016 kB
Active(file): 65972 kB
Inactive(file): 130944 kB
Unevictable: 16 kB
Mlocked: 16 kB
SwapTotal: 102396 kB
SwapFree: 81916 kB
Zswap: 0 kB
Zswapped: 0 kB
Dirty: 16 kB
Writeback: 0 kB
AnonPages: 86696 kB
Mapped: 64516 kB
Shmem: 5760 kB
KReclaimable: 13012 kB
Slab: 25132 kB
SReclaimable: 13012 kB
SUnreclaim: 12120 kB
KernelStack: 1584 kB
PageTables: 3932 kB
SecPageTables: 0 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 322192 kB
Committed_AS: 1143676 kB
VmallocTotal: 573440 kB
VmallocUsed: 5752 kB
VmallocChunk: 0 kB
Percpu: 64 kB
CmaTotal: 262144 kB
CmaFree: 19540 kB
pi@raspberrypi:/proc $
pi@raspberrypi:/proc $ cat version
Linux version 6.1.21+ (dom@buildbot) (arm-linux-gnueabihf-gcc-8 (Ubuntu/Linaro 8.4.0-3ubuntu1) 8.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #1642 Mon Apr 3 17:19:14 BST 2023
pi@raspberrypi:/proc $ cd
pi@raspberrypi:~ $ df -H
Filesystem Size Used Avail Use% Mounted on
/dev/root 31G 26G 2.9G 91% /
devtmpfs 91M 0 91M 0% /dev
tmpfs 226M 0 226M 0% /dev/shm
tmpfs 91M 1.1M 89M 2% /run
tmpfs 5.3M 4.1k 5.3M 1% /run/lock
/dev/mmcblk0p1 265M 53M 212M 20% /boot
tmpfs 46M 33k 45M 1% /run/user/1000
pi@raspberrypi:~ $
pi@raspberrypi:~ $ # Chromium is not supported on Raspberry Pi Model B
pi@raspberrypi:~ $
pi@raspberrypi:~ $ # Loaded: CPU Freq frontend (Frequency:700 MHz), CPU Usage Monitor, CPU Temperature Monitor, Links2, File Manager, Terminal, Text Editor, Geany, and Pluma to Task Bar.
pi@raspberrypi:~ $
pi@raspberrypi:~ $
pi@raspberrypi:~ $ # from: freedom.zip file expanded to freedom. The directions: 2022-07-12-thttpd-install-on-32-or-64-bit-OS.txt
pi@raspberrypi:~ $
pi@raspberrypi:~ $ # Make sure the "path" begins with: "/home/local/sbin:/home/local/bin:/usr/local/sbin:/usr/local/bin:/...."
*****************************
pi@raspberrypi:~ $
pi@raspberrypi:~ $ $PATH
bash: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games: No such file or directory
pi@raspberrypi:~ $
pi@raspberrypi:~ $
pi@raspberrypi:~ $ cd /etc
pi@raspberrypi:/etc $
pi@raspberrypi:/etc $ cat profile
# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))
# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).
if [ "$(id -u)" -eq 0 ]; then
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
else
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games"
fi
export PATH
if [ "${PS1-}" ]; then
if [ "${BASH-}" ] && [ "$BASH" != "/bin/sh" ]; then
# The file bash.bashrc already sets the default PS1.
# PS1='\h:\w\$ '
if [ -f /etc/bash.bashrc ]; then
. /etc/bash.bashrc
fi
else
if [ "$(id -u)" -eq 0 ]; then
PS1='# '
else
PS1='$ '
fi
fi
fi
if [ -d /etc/profile.d ]; then
for i in /etc/profile.d/*.sh; do
if [ -r $i ]; then
. $i
fi
done
unset i
fi
pi@raspberrypi:/etc $ sudo nano profile
pi@raspberrypi:/etc $
Make changes to both PATH lines!
pi@raspberrypi:/etc $
pi@raspberrypi:/etc $ cat profile
# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))
# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).
if [ "$(id -u)" -eq 0 ]; then
PATH="/home/local/sbin:/home/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
else
PATH="/home/local/sbin:/home/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games"
fi
export PATH
if [ "${PS1-}" ]; then
if [ "${BASH-}" ] && [ "$BASH" != "/bin/sh" ]; then
# The file bash.bashrc already sets the default PS1.
# PS1='\h:\w\$ '
if [ -f /etc/bash.bashrc ]; then
. /etc/bash.bashrc
fi
else
if [ "$(id -u)" -eq 0 ]; then
PS1='# '
else
PS1='$ '
fi
fi
fi
if [ -d /etc/profile.d ]; then
for i in /etc/profile.d/*.sh; do
if [ -r $i ]; then
. $i
fi
done
unset i
fi
pi@raspberrypi:/etc $ sudo reboot
pi@raspberrypi:~ $ date
Thu 29 Jun 2023 12:24:56 PM MDT
pi@raspberrypi:~ $ $PATH
bash: /home/local/sbin:/home/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games: No such file or directory
pi@raspberrypi:~ $
pi@raspberrypi:~ $
Start Geany, open: freedom/2022-07-12-thttpd-install-on-32-or-64-bit-OS.txt
Under Document:
Line Wrapping
Auto-indention
Indent Type: Tabs and Spaces
Indent Width: 4
Read Only - This will keep you from messing up the directions.
Set Line Endings: Convert and Set to CR/LF (Windows).
Under View:
Change Font... I changed the size to 16 or sometinig you can read.
Show Markers Margin
Show Line Numbers
Show White Space
Show Line Endings
Show Message Window - This will be the Terminal Window when you scroll down to it.
Show Tool Bar
Bottom left hand corner, click down to Terminal (Message Window).
Right Click in Terminal and choose Preferences:
Set Font size to 16 or what you chose in the Geany View setting.
Foreground Color: Black. I have trouble seeing some of the colors.
Background Color: light Grey.
Scrollback Lines: 5000 or what ever is max. It looks like 500 might be the max it will save.
I think I am ready to start the build process.
pi@raspberrypi:~ $ date
Thu 29 Jun 2023 02:35:23 PM MDT
pi@raspberrypi:~ $
pi@raspberrypi:~ $ $PATH ### 444
bash: /home/local/sbin:/home/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games: No such file or directory
pi@raspberrypi:~ $
pi@raspberrypi:~ $ sudo mkdir -v /fd /hd /sd ### sudo 449
mkdir: created directory '/fd'
mkdir: created directory '/hd'
mkdir: created directory '/sd'
pi@raspberrypi:~ $ # *****************************
pi@raspberrypi:~ $ cd ~/freedom/Acme.com/thttpd-2.29/ #*****
pi@raspberrypi:~/freedom/Acme.com/thttpd-2.29 $ ls
aclocal.m4 configure INSTALL match.o scripts timers.c
cgi-bin configure.in install-sh mime_encodings.h strerror.c timers.h
cgi-src contrib libhttpd.c mime_encodings.txt tdate_parse.c timers.o
config.cache extras libhttpd.h mime_types.h tdate_parse.h TODO
config.guess fdwatch.c libhttpd.o mime_types.txt tdate_parse.o version.h
config.h fdwatch.h Makefile mmc.c thttpd
config.log fdwatch.o Makefile.in mmc.h thttpd.8
config.status FILES match.c mmc.o thttpd.c
config.sub index.html match.h README thttpd.o
pi@raspberrypi:~/freedom/Acme.com/thttpd-2.29 $ # Makefile.in is OK, Line 116 is man1 and 117 is man8.
pi@raspberrypi:~/freedom/Acme.com/thttpd-2.29 $ # config.h is OK, Line 131 #define TILDE_MAP_1 "users"
pi@raspberrypi:~/freedom/Acme.com/thttpd-2.29 $ # configure is OK, Line 12 is ac_default_prefix=/home/local
pi@raspberrypi:~/freedom/Acme.com/thttpd-2.29 $
pi@raspberrypi:~/freedom/Acme.com/thttpd-2.29 $ # # Chromium is not supported on Raspberry Pi Model B
pi@raspberrypi:~/freedom/Acme.com/thttpd-2.29 $ # I saw that "Links2" is in "Add/Remove Software" under "Internet" and it does both text and graphics which one can add to the Panel Application Launch Bar to replace Chromium.
pi@raspberrypi:~/freedom/Acme.com/thttpd-2.29 $
pi@raspberrypi:~/freedom/Acme.com/thttpd-2.29 $ df -H
Filesystem Size Used Avail Use% Mounted on
/dev/root 31G 26G 2.9G 91% /
devtmpfs 91M 0 91M 0% /dev
tmpfs 226M 0 226M 0% /dev/shm
tmpfs 91M 1.1M 89M 2% /run
tmpfs 5.3M 4.1k 5.3M 1% /run/lock
/dev/mmcblk0p1 265M 53M 212M 20% /boot
tmpfs 46M 46k 45M 1% /run/user/1000
pi@raspberrypi:~/freedom/Acme.com/thttpd-2.29 $
pi@raspberrypi:~/freedom/Acme.com/thttpd-2.29 $ cd /etc ### 835
pi@raspberrypi:/etc $
pi@raspberrypi:/etc $ date
Thu 29 Jun 2023 03:21:58 PM MDT
pi@raspberrypi:/etc $
pi@raspberrypi:/etc $ cat group ### (we are looking for a group "www") 839
root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:pi
tty:x:5:
disk:x:6:
lp:x:7:
mail:x:8:
news:x:9:
uucp:x:10:
man:x:12:
proxy:x:13:
kmem:x:15:
dialout:x:20:pi
fax:x:21:
voice:x:22:
cdrom:x:24:pi
floppy:x:25:
tape:x:26:
sudo:x:27:pi
audio:x:29:pi,pulse
dip:x:30:
www-data:x:33:
backup:x:34:
operator:x:37:
list:x:38:
irc:x:39:
src:x:40:
gnats:x:41:
shadow:x:42:
utmp:x:43:
video:x:44:pi
sasl:x:45:
plugdev:x:46:pi
staff:x:50:
games:x:60:pi
users:x:100:pi
nogroup:x:65534:
systemd-timesync:x:101:
systemd-journal:x:102:
systemd-network:x:103:
systemd-resolve:x:104:
input:x:105:pi
kvm:x:106:
render:x:107:pi
crontab:x:108:
netdev:x:109:pi
pi:x:1000:
messagebus:x:110:
ssh:x:111:
bluetooth:x:112:
avahi:x:113:
spi:x:999:pi
i2c:x:998:pi
gpio:x:997:pi
lightdm:x:114:
rdma:x:115:
rtkit:x:116:
lpadmin:x:117:root,pi
ssl-cert:x:118:
pulse:x:119:
pulse-access:x:120:
scanner:x:121:saned
saned:x:122:
colord:x:123:
epmd:x:124:
geoclue:x:125:
systemd-coredump:x:996:
pi@raspberrypi:/etc $
pi@raspberrypi:/etc $
pi@raspberrypi:/etc $ sudo addgroup --system www ### sudo 967
Adding group `www' (GID 126) ...
Done.
pi@raspberrypi:/etc $ sudo adduser pi www ### sudo 977
Adding user `pi' to group `www' ...
Adding user pi to group www
Done.
pi@raspberrypi:/etc $ cat group ### 988
root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:pi
tty:x:5:
disk:x:6:
lp:x:7:
mail:x:8:
news:x:9:
uucp:x:10:
man:x:12:
proxy:x:13:
kmem:x:15:
dialout:x:20:pi
fax:x:21:
voice:x:22:
cdrom:x:24:pi
floppy:x:25:
tape:x:26:
sudo:x:27:pi
audio:x:29:pi,pulse
dip:x:30:
www-data:x:33:
backup:x:34:
operator:x:37:
list:x:38:
irc:x:39:
src:x:40:
gnats:x:41:
shadow:x:42:
utmp:x:43:
video:x:44:pi
sasl:x:45:
plugdev:x:46:pi
staff:x:50:
games:x:60:pi
users:x:100:pi
nogroup:x:65534:
systemd-timesync:x:101:
systemd-journal:x:102:
systemd-network:x:103:
systemd-resolve:x:104:
input:x:105:pi
kvm:x:106:
render:x:107:pi
crontab:x:108:
netdev:x:109:pi
pi:x:1000:
messagebus:x:110:
ssh:x:111:
bluetooth:x:112:
avahi:x:113:
spi:x:999:pi
i2c:x:998:pi
gpio:x:997:pi
lightdm:x:114:
rdma:x:115:
rtkit:x:116:
lpadmin:x:117:root,pi
ssl-cert:x:118:
pulse:x:119:
pulse-access:x:120:
scanner:x:121:saned
saned:x:122:
colord:x:123:
epmd:x:124:
geoclue:x:125:
systemd-coredump:x:996:
www:x:126:pi
pi@raspberrypi:/etc $
pi@raspberrypi:/etc $
pi@raspberrypi:/etc $
pi@raspberrypi:/etc $ cd ~/freedom/Acme.com/thttpd-2.29 ### 1074
pi@raspberrypi:~/freedom/Acme.com/thttpd-2.29 $
pi@raspberrypi:~/freedom/Acme.com/thttpd-2.29 $ date
Thu 29 Jun 2023 03:41:07 PM MDT
pi@raspberrypi:~/freedom/Acme.com/thttpd-2.29 $
pi@raspberrypi:~/freedom/Acme.com/thttpd-2.29 $ date ### 1136
Thu 29 Jun 2023 03:42:55 PM MDT
pi@raspberrypi:~/freedom/Acme.com/thttpd-2.29 $ make clean ### Step one. 1142
for i in cgi-src extras ; do ( \
cd $i ; \
pwd ; \
make clean \
) ; done
/home/pi/freedom/Acme.com/thttpd-2.29/cgi-src
make[1]: Entering directory '/home/pi/freedom/Acme.com/thttpd-2.29/cgi-src'
rm -f *.o redirect ssi phf
make[1]: Leaving directory '/home/pi/freedom/Acme.com/thttpd-2.29/cgi-src'
/home/pi/freedom/Acme.com/thttpd-2.29/extras
make[1]: Entering directory '/home/pi/freedom/Acme.com/thttpd-2.29/extras'
rm -f *.o makeweb htpasswd
make[1]: Leaving directory '/home/pi/freedom/Acme.com/thttpd-2.29/extras'
rm -f thttpd thttpd.o libhttpd.o fdwatch.o mmc.o timers.o match.o tdate_parse.o mime_encodings.h mime_types.h
pi@raspberrypi:~/freedom/Acme.com/thttpd-2.29 $
pi@raspberrypi:~/freedom/Acme.com/thttpd-2.29 $
pi@raspberrypi:~/freedom/Acme.com/thttpd-2.29 $ ./configure ### Step two. 1175
loading cache ./config.cache
checking host system type... Invalid configuration `armv6l-pc-linux-gnuoldld': machine `armv6l-pc' not recognized
checking target system type... Invalid configuration `armv6l-pc-linux-gnuoldld': machine `armv6l-pc' not recognized
checking build system type... Invalid configuration `armv6l-pc-linux-gnuoldld': machine `armv6l-pc' not recognized
checking for gcc... (cached) gcc
checking whether the C compiler (gcc ) works... yes
checking whether the C compiler (gcc ) is a cross-compiler... no
checking whether we are using GNU C... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking gcc version... (cached) 10
checking how to link static binaries... (cached) unknown
checking for __progname... (cached) yes
checking how to run the C preprocessor... (cached) gcc -E
checking for fcntl.h... (cached) yes
checking for grp.h... (cached) yes
checking for memory.h... (cached) yes
checking for paths.h... (cached) yes
checking for poll.h... (cached) yes
checking for sys/poll.h... (cached) yes
checking for sys/devpoll.h... (cached) no
checking for sys/event.h... (cached) no
checking for osreldate.h... (cached) no
checking whether time.h and sys/time.h may both be included... (cached) yes
checking for dirent.h that defines DIR... (cached) yes
checking for opendir in -ldir... (cached) no
checking for /usr/local/v6/lib... no
checking for gethostbyname... (cached) yes
checking for socket... (cached) yes
checking for main in -linet6... (cached) no
checking for crypt... (cached) no
checking for crypt in -lcrypt... (cached) yes
checking for hstrerror... (cached) yes
checking for strerror... (cached) yes
checking for waitpid... (cached) yes
checking for vsnprintf... (cached) yes
checking for daemon... (cached) yes
checking for setsid... (cached) yes
checking for setlogin... (cached) no
checking for getaddrinfo... (cached) yes
checking for getnameinfo... (cached) yes
checking for gai_strerror... (cached) yes
checking for kqueue... (cached) no
checking for sigset... (cached) yes
checking for atoll... (cached) yes
checking for unistd.h... (cached) yes
checking for getpagesize... (cached) yes
checking for working mmap... (cached) yes
checking for select... (cached) yes
checking for poll... (cached) yes
checking if struct tm has tm_gmtoff member... (cached) yes
checking if int64_t exists... (cached) yes
checking if socklen_t exists... (cached) yes
checking whether make sets ${MAKE}... (cached) yes
checking for a BSD compatible install... (cached) /usr/bin/install -c
creating ./config.status
creating Makefile
creating cgi-src/Makefile
creating extras/Makefile
pi@raspberrypi:~/freedom/Acme.com/thttpd-2.29 $
pi@raspberrypi:~/freedom/Acme.com/thttpd-2.29 $
pi@raspberrypi:~/freedom/Acme.com/thttpd-2.29 $
pi@raspberrypi:~/freedom/Acme.com/thttpd-2.29 $ make ### Step three. 1251
gcc -O2 -DHAVE__PROGNAME=1 -DHAVE_FCNTL_H=1 -DHAVE_GRP_H=1 -DHAVE_MEMORY_H=1 -DHAVE_PATHS_H=1 -DHAVE_POLL_H=1 -DHAVE_SYS_POLL_H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_DIRENT_H=1 -DHAVE_LIBCRYPT=1 -DHAVE_STRERROR=1 -DHAVE_WAITPID=1 -DHAVE_VSNPRINTF=1 -DHAVE_DAEMON=1 -DHAVE_SETSID=1 -DHAVE_GETADDRINFO=1 -DHAVE_GETNAMEINFO=1 -DHAVE_GAI_STRERROR=1 -DHAVE_SIGSET=1 -DHAVE_ATOLL=1 -DHAVE_UNISTD_H=1 -DHAVE_GETPAGESIZE=1 -DHAVE_MMAP=1 -DHAVE_SELECT=1 -DHAVE_POLL=1 -DHAVE_TM_GMTOFF=1 -DHAVE_INT64T=1 -DHAVE_SOCKLENT=1 -I. -c thttpd.c
thttpd.c: In function ‘main’:
thttpd.c:611:12: warning: implicit declaration of function ‘sigset’; did you mean ‘isset’? [-Wimplicit-function-declaration]
611 | (void) sigset( SIGTERM, handle_term );
| ^~~~~~
| isset
rm -f mime_encodings.h
sed < mime_encodings.txt > mime_encodings.h \
-e 's/#.*//' -e 's/[ ]*$//' -e '/^$/d' \
-e 's/[ ][ ]*/", 0, "/' -e 's/^/{ "/' -e 's/$/", 0 },/'
rm -f mime_types.h
sed < mime_types.txt > mime_types.h \
-e 's/#.*//' -e 's/[ ]*$//' -e '/^$/d' \
-e 's/[ ][ ]*/", 0, "/' -e 's/^/{ "/' -e 's/$/", 0 },/'
gcc -O2 -DHAVE__PROGNAME=1 -DHAVE_FCNTL_H=1 -DHAVE_GRP_H=1 -DHAVE_MEMORY_H=1 -DHAVE_PATHS_H=1 -DHAVE_POLL_H=1 -DHAVE_SYS_POLL_H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_DIRENT_H=1 -DHAVE_LIBCRYPT=1 -DHAVE_STRERROR=1 -DHAVE_WAITPID=1 -DHAVE_VSNPRINTF=1 -DHAVE_DAEMON=1 -DHAVE_SETSID=1 -DHAVE_GETADDRINFO=1 -DHAVE_GETNAMEINFO=1 -DHAVE_GAI_STRERROR=1 -DHAVE_SIGSET=1 -DHAVE_ATOLL=1 -DHAVE_UNISTD_H=1 -DHAVE_GETPAGESIZE=1 -DHAVE_MMAP=1 -DHAVE_SELECT=1 -DHAVE_POLL=1 -DHAVE_TM_GMTOFF=1 -DHAVE_INT64T=1 -DHAVE_SOCKLENT=1 -I. -c libhttpd.c
libhttpd.c: In function ‘cgi_child’:
libhttpd.c:3557:12: warning: implicit declaration of function ‘sigset’; did you mean ‘isset’? [-Wimplicit-function-declaration]
3557 | (void) sigset( SIGPIPE, SIG_DFL );
| ^~~~~~
| isset
libhttpd.c: In function ‘ls’:
libhttpd.c:2846:10: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
2846 | (void) strncpy( nameptrs[nnames], de->d_name, namlen );
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
libhttpd.c:64:25: note: length computed here
64 | # define NAMLEN(dirent) strlen((dirent)->d_name)
| ^~~~~~~~~~~~~~~~~~~~~~~~
libhttpd.c:2845:12: note: in expansion of macro ‘NAMLEN’
2845 | namlen = NAMLEN(de);
| ^~~~~~
gcc -O2 -DHAVE__PROGNAME=1 -DHAVE_FCNTL_H=1 -DHAVE_GRP_H=1 -DHAVE_MEMORY_H=1 -DHAVE_PATHS_H=1 -DHAVE_POLL_H=1 -DHAVE_SYS_POLL_H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_DIRENT_H=1 -DHAVE_LIBCRYPT=1 -DHAVE_STRERROR=1 -DHAVE_WAITPID=1 -DHAVE_VSNPRINTF=1 -DHAVE_DAEMON=1 -DHAVE_SETSID=1 -DHAVE_GETADDRINFO=1 -DHAVE_GETNAMEINFO=1 -DHAVE_GAI_STRERROR=1 -DHAVE_SIGSET=1 -DHAVE_ATOLL=1 -DHAVE_UNISTD_H=1 -DHAVE_GETPAGESIZE=1 -DHAVE_MMAP=1 -DHAVE_SELECT=1 -DHAVE_POLL=1 -DHAVE_TM_GMTOFF=1 -DHAVE_INT64T=1 -DHAVE_SOCKLENT=1 -I. -c fdwatch.c
gcc -O2 -DHAVE__PROGNAME=1 -DHAVE_FCNTL_H=1 -DHAVE_GRP_H=1 -DHAVE_MEMORY_H=1 -DHAVE_PATHS_H=1 -DHAVE_POLL_H=1 -DHAVE_SYS_POLL_H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_DIRENT_H=1 -DHAVE_LIBCRYPT=1 -DHAVE_STRERROR=1 -DHAVE_WAITPID=1 -DHAVE_VSNPRINTF=1 -DHAVE_DAEMON=1 -DHAVE_SETSID=1 -DHAVE_GETADDRINFO=1 -DHAVE_GETNAMEINFO=1 -DHAVE_GAI_STRERROR=1 -DHAVE_SIGSET=1 -DHAVE_ATOLL=1 -DHAVE_UNISTD_H=1 -DHAVE_GETPAGESIZE=1 -DHAVE_MMAP=1 -DHAVE_SELECT=1 -DHAVE_POLL=1 -DHAVE_TM_GMTOFF=1 -DHAVE_INT64T=1 -DHAVE_SOCKLENT=1 -I. -c mmc.c
gcc -O2 -DHAVE__PROGNAME=1 -DHAVE_FCNTL_H=1 -DHAVE_GRP_H=1 -DHAVE_MEMORY_H=1 -DHAVE_PATHS_H=1 -DHAVE_POLL_H=1 -DHAVE_SYS_POLL_H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_DIRENT_H=1 -DHAVE_LIBCRYPT=1 -DHAVE_STRERROR=1 -DHAVE_WAITPID=1 -DHAVE_VSNPRINTF=1 -DHAVE_DAEMON=1 -DHAVE_SETSID=1 -DHAVE_GETADDRINFO=1 -DHAVE_GETNAMEINFO=1 -DHAVE_GAI_STRERROR=1 -DHAVE_SIGSET=1 -DHAVE_ATOLL=1 -DHAVE_UNISTD_H=1 -DHAVE_GETPAGESIZE=1 -DHAVE_MMAP=1 -DHAVE_SELECT=1 -DHAVE_POLL=1 -DHAVE_TM_GMTOFF=1 -DHAVE_INT64T=1 -DHAVE_SOCKLENT=1 -I. -c timers.c
gcc -O2 -DHAVE__PROGNAME=1 -DHAVE_FCNTL_H=1 -DHAVE_GRP_H=1 -DHAVE_MEMORY_H=1 -DHAVE_PATHS_H=1 -DHAVE_POLL_H=1 -DHAVE_SYS_POLL_H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_DIRENT_H=1 -DHAVE_LIBCRYPT=1 -DHAVE_STRERROR=1 -DHAVE_WAITPID=1 -DHAVE_VSNPRINTF=1 -DHAVE_DAEMON=1 -DHAVE_SETSID=1 -DHAVE_GETADDRINFO=1 -DHAVE_GETNAMEINFO=1 -DHAVE_GAI_STRERROR=1 -DHAVE_SIGSET=1 -DHAVE_ATOLL=1 -DHAVE_UNISTD_H=1 -DHAVE_GETPAGESIZE=1 -DHAVE_MMAP=1 -DHAVE_SELECT=1 -DHAVE_POLL=1 -DHAVE_TM_GMTOFF=1 -DHAVE_INT64T=1 -DHAVE_SOCKLENT=1 -I. -c match.c
gcc -O2 -DHAVE__PROGNAME=1 -DHAVE_FCNTL_H=1 -DHAVE_GRP_H=1 -DHAVE_MEMORY_H=1 -DHAVE_PATHS_H=1 -DHAVE_POLL_H=1 -DHAVE_SYS_POLL_H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_DIRENT_H=1 -DHAVE_LIBCRYPT=1 -DHAVE_STRERROR=1 -DHAVE_WAITPID=1 -DHAVE_VSNPRINTF=1 -DHAVE_DAEMON=1 -DHAVE_SETSID=1 -DHAVE_GETADDRINFO=1 -DHAVE_GETNAMEINFO=1 -DHAVE_GAI_STRERROR=1 -DHAVE_SIGSET=1 -DHAVE_ATOLL=1 -DHAVE_UNISTD_H=1 -DHAVE_GETPAGESIZE=1 -DHAVE_MMAP=1 -DHAVE_SELECT=1 -DHAVE_POLL=1 -DHAVE_TM_GMTOFF=1 -DHAVE_INT64T=1 -DHAVE_SOCKLENT=1 -I. -c tdate_parse.c
gcc -O2 -DHAVE__PROGNAME=1 -DHAVE_FCNTL_H=1 -DHAVE_GRP_H=1 -DHAVE_MEMORY_H=1 -DHAVE_PATHS_H=1 -DHAVE_POLL_H=1 -DHAVE_SYS_POLL_H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_DIRENT_H=1 -DHAVE_LIBCRYPT=1 -DHAVE_STRERROR=1 -DHAVE_WAITPID=1 -DHAVE_VSNPRINTF=1 -DHAVE_DAEMON=1 -DHAVE_SETSID=1 -DHAVE_GETADDRINFO=1 -DHAVE_GETNAMEINFO=1 -DHAVE_GAI_STRERROR=1 -DHAVE_SIGSET=1 -DHAVE_ATOLL=1 -DHAVE_UNISTD_H=1 -DHAVE_GETPAGESIZE=1 -DHAVE_MMAP=1 -DHAVE_SELECT=1 -DHAVE_POLL=1 -DHAVE_TM_GMTOFF=1 -DHAVE_INT64T=1 -DHAVE_SOCKLENT=1 -I. -o thttpd thttpd.o libhttpd.o fdwatch.o mmc.o timers.o match.o tdate_parse.o -lcrypt
for i in cgi-src extras ; do ( \
cd $i ; \
pwd ; \
make \
WEBDIR=/home/local/www \
CGIBINDIR=/home/local/www/cgi-bin \
MANDIR=/home/local/man \
WEBGROUP=www \
) ; done
/home/pi/freedom/Acme.com/thttpd-2.29/cgi-src
make[1]: Entering directory '/home/pi/freedom/Acme.com/thttpd-2.29/cgi-src'
gcc -O2 -DHAVE__PROGNAME=1 -DHAVE_FCNTL_H=1 -DHAVE_GRP_H=1 -DHAVE_MEMORY_H=1 -DHAVE_PATHS_H=1 -DHAVE_POLL_H=1 -DHAVE_SYS_POLL_H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_DIRENT_H=1 -DHAVE_LIBCRYPT=1 -DHAVE_STRERROR=1 -DHAVE_WAITPID=1 -DHAVE_VSNPRINTF=1 -DHAVE_DAEMON=1 -DHAVE_SETSID=1 -DHAVE_GETADDRINFO=1 -DHAVE_GETNAMEINFO=1 -DHAVE_GAI_STRERROR=1 -DHAVE_SIGSET=1 -DHAVE_ATOLL=1 -DHAVE_UNISTD_H=1 -DHAVE_GETPAGESIZE=1 -DHAVE_MMAP=1 -DHAVE_SELECT=1 -DHAVE_POLL=1 -DHAVE_TM_GMTOFF=1 -DHAVE_INT64T=1 -DHAVE_SOCKLENT=1 -I.. -c redirect.c
gcc redirect.o -lcrypt -o redirect
gcc -O2 -DHAVE__PROGNAME=1 -DHAVE_FCNTL_H=1 -DHAVE_GRP_H=1 -DHAVE_MEMORY_H=1 -DHAVE_PATHS_H=1 -DHAVE_POLL_H=1 -DHAVE_SYS_POLL_H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_DIRENT_H=1 -DHAVE_LIBCRYPT=1 -DHAVE_STRERROR=1 -DHAVE_WAITPID=1 -DHAVE_VSNPRINTF=1 -DHAVE_DAEMON=1 -DHAVE_SETSID=1 -DHAVE_GETADDRINFO=1 -DHAVE_GETNAMEINFO=1 -DHAVE_GAI_STRERROR=1 -DHAVE_SIGSET=1 -DHAVE_ATOLL=1 -DHAVE_UNISTD_H=1 -DHAVE_GETPAGESIZE=1 -DHAVE_MMAP=1 -DHAVE_SELECT=1 -DHAVE_POLL=1 -DHAVE_TM_GMTOFF=1 -DHAVE_INT64T=1 -DHAVE_SOCKLENT=1 -I.. -c ssi.c
ssi.c: In function ‘get_filename.constprop’:
ssi.c:183:9: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
183 | (void) strncpy( fn, filename, fl - vl );
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ssi.c:169:10: note: length computed here
169 | fl = strlen( filename );
| ^~~~~~~~~~~~~~~~~~
gcc ssi.o ../match.o -lcrypt -o ssi
gcc -O2 -DHAVE__PROGNAME=1 -DHAVE_FCNTL_H=1 -DHAVE_GRP_H=1 -DHAVE_MEMORY_H=1 -DHAVE_PATHS_H=1 -DHAVE_POLL_H=1 -DHAVE_SYS_POLL_H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_DIRENT_H=1 -DHAVE_LIBCRYPT=1 -DHAVE_STRERROR=1 -DHAVE_WAITPID=1 -DHAVE_VSNPRINTF=1 -DHAVE_DAEMON=1 -DHAVE_SETSID=1 -DHAVE_GETADDRINFO=1 -DHAVE_GETNAMEINFO=1 -DHAVE_GAI_STRERROR=1 -DHAVE_SIGSET=1 -DHAVE_ATOLL=1 -DHAVE_UNISTD_H=1 -DHAVE_GETPAGESIZE=1 -DHAVE_MMAP=1 -DHAVE_SELECT=1 -DHAVE_POLL=1 -DHAVE_TM_GMTOFF=1 -DHAVE_INT64T=1 -DHAVE_SOCKLENT=1 -I.. -c phf.c
gcc phf.o -lcrypt -o phf
make[1]: Leaving directory '/home/pi/freedom/Acme.com/thttpd-2.29/cgi-src'
/home/pi/freedom/Acme.com/thttpd-2.29/extras
make[1]: Entering directory '/home/pi/freedom/Acme.com/thttpd-2.29/extras'
gcc -O2 -DHAVE__PROGNAME=1 -DHAVE_FCNTL_H=1 -DHAVE_GRP_H=1 -DHAVE_MEMORY_H=1 -DHAVE_PATHS_H=1 -DHAVE_POLL_H=1 -DHAVE_SYS_POLL_H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_DIRENT_H=1 -DHAVE_LIBCRYPT=1 -DHAVE_STRERROR=1 -DHAVE_WAITPID=1 -DHAVE_VSNPRINTF=1 -DHAVE_DAEMON=1 -DHAVE_SETSID=1 -DHAVE_GETADDRINFO=1 -DHAVE_GETNAMEINFO=1 -DHAVE_GAI_STRERROR=1 -DHAVE_SIGSET=1 -DHAVE_ATOLL=1 -DHAVE_UNISTD_H=1 -DHAVE_GETPAGESIZE=1 -DHAVE_MMAP=1 -DHAVE_SELECT=1 -DHAVE_POLL=1 -DHAVE_TM_GMTOFF=1 -DHAVE_INT64T=1 -DHAVE_SOCKLENT=1 -I.. -DWEBDIR=\"/home/local/www\" -c makeweb.c
gcc makeweb.o -o makeweb -lcrypt
gcc -O2 -DHAVE__PROGNAME=1 -DHAVE_FCNTL_H=1 -DHAVE_GRP_H=1 -DHAVE_MEMORY_H=1 -DHAVE_PATHS_H=1 -DHAVE_POLL_H=1 -DHAVE_SYS_POLL_H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_DIRENT_H=1 -DHAVE_LIBCRYPT=1 -DHAVE_STRERROR=1 -DHAVE_WAITPID=1 -DHAVE_VSNPRINTF=1 -DHAVE_DAEMON=1 -DHAVE_SETSID=1 -DHAVE_GETADDRINFO=1 -DHAVE_GETNAMEINFO=1 -DHAVE_GAI_STRERROR=1 -DHAVE_SIGSET=1 -DHAVE_ATOLL=1 -DHAVE_UNISTD_H=1 -DHAVE_GETPAGESIZE=1 -DHAVE_MMAP=1 -DHAVE_SELECT=1 -DHAVE_POLL=1 -DHAVE_TM_GMTOFF=1 -DHAVE_INT64T=1 -DHAVE_SOCKLENT=1 -I.. -DWEBDIR=\"/home/local/www\" -c htpasswd.c
gcc htpasswd.o -o htpasswd -lcrypt
make[1]: Leaving directory '/home/pi/freedom/Acme.com/thttpd-2.29/extras'
pi@raspberrypi:~/freedom/Acme.com/thttpd-2.29 $
pi@raspberrypi:~/freedom/Acme.com/thttpd-2.29 $
pi@raspberrypi:~/freedom/Acme.com/thttpd-2.29 $ sudo make install ### sudo Step four. 1334
mkdir -p /home/local/sbin
/usr/bin/install -c -m 555 -o bin -g bin thttpd /home/local/sbin
mkdir -p /home/local/man/man1
mkdir -p /home/local/man/man8
/usr/bin/install -c -m 444 -o bin -g bin thttpd.8 /home/local/man/man8
for i in cgi-src extras ; do ( \
cd $i ; \
pwd ; \
make \
WEBDIR=/home/local/www \
CGIBINDIR=/home/local/www/cgi-bin \
MANDIR=/home/local/man \
WEBGROUP=www \
install \
) ; done
/home/pi/freedom/Acme.com/thttpd-2.29/cgi-src
make[1]: Entering directory '/home/pi/freedom/Acme.com/thttpd-2.29/cgi-src'
mkdir -p /home/local/www/cgi-bin
rm -f /home/local/www/cgi-bin/redirect
cp redirect /home/local/www/cgi-bin/redirect
rm -f /home/local/man/man8/redirect.8
cp redirect.8 /home/local/man/man8/redirect.8
rm -f /home/local/www/cgi-bin/ssi
cp ssi /home/local/www/cgi-bin/ssi
rm -f /home/local/man/man8/ssi.8
cp ssi.8 /home/local/man/man8/ssi.8
rm -f /home/local/www/cgi-bin/phf
cp phf /home/local/www/cgi-bin/phf
make[1]: Leaving directory '/home/pi/freedom/Acme.com/thttpd-2.29/cgi-src'
/home/pi/freedom/Acme.com/thttpd-2.29/extras
make[1]: Entering directory '/home/pi/freedom/Acme.com/thttpd-2.29/extras'
rm -f /home/local/sbin/makeweb /home/local/sbin/htpasswd /home/local/sbin/syslogtocern
cp makeweb /home/local/sbin/makeweb
chgrp www /home/local/sbin/makeweb
chmod 2755 /home/local/sbin/makeweb
cp htpasswd /home/local/sbin/htpasswd
cp syslogtocern /home/local/sbin/syslogtocern
rm -f /home/local/man/man1/makeweb.1
cp makeweb.1 /home/local/man/man1/makeweb.1
rm -f /home/local/man/man1/htpasswd.1
cp htpasswd.1 /home/local/man/man1/htpasswd.1
rm -f /home/local/man/man8/syslogtocern.8
cp syslogtocern.8 /home/local/man/man8/syslogtocern.8
make[1]: Leaving directory '/home/pi/freedom/Acme.com/thttpd-2.29/extras'
pi@raspberrypi:~/freedom/Acme.com/thttpd-2.29 $
pi@raspberrypi:~/freedom/Acme.com/thttpd-2.29 $
pi@raspberrypi:~/freedom/Acme.com/thttpd-2.29 $
pi@raspberrypi:~/freedom/Acme.com/thttpd-2.29 $ date ### 1389
Thu 29 Jun 2023 03:50:03 PM MDT
pi@raspberrypi:~/freedom/Acme.com/thttpd-2.29 $
pi@raspberrypi:~/freedom/Acme.com/thttpd-2.29 $
pi@raspberrypi:~/freedom/Acme.com/thttpd-2.29 $ ### "thttpd" is now installed. 1398
pi@raspberrypi:~/freedom/Acme.com/thttpd-2.29 $
pi@raspberrypi:~/freedom/Acme.com/thttpd-2.29 $
pi@raspberrypi:~/freedom/Acme.com/thttpd-2.29 $
pi@raspberrypi:~/freedom/Acme.com/thttpd-2.29 $
pi@raspberrypi:~/freedom/Acme.com/thttpd-2.29 $ ### The next thing is to add directories "logs" and "users" to the "www" directory.
pi@raspberrypi:~/freedom/Acme.com/thttpd-2.29 $
pi@raspberrypi:~/freedom/Acme.com/thttpd-2.29 $
pi@raspberrypi:~/freedom/Acme.com/thttpd-2.29 $ cd /home/local/www ### 1409
pi@raspberrypi:/home/local/www $
pi@raspberrypi:/home/local/www $
pi@raspberrypi:/home/local/www $ ls -al ### 1414
total 12
drwxr-xr-x 3 root root 4096 Jun 29 15:49 .
drwxr-xr-x 5 root root 4096 Jun 29 15:49 ..
drwxr-xr-x 2 root root 4096 Jun 29 15:49 cgi-bin
pi@raspberrypi:/home/local/www $
pi@raspberrypi:/home/local/www $
pi@raspberrypi:/home/local/www $ sudo mkdir -v logs users ### sudo 1423
mkdir: created directory 'logs'
mkdir: created directory 'logs'
mkdir: created directory 'users'
pi@raspberrypi:/home/local/www $
pi@raspberrypi:/home/local/www $
pi@raspberrypi:/home/local/www $ ls -al ### 1430
total 20
drwxr-xr-x 5 root root 4096 Jun 29 15:55 .
drwxr-xr-x 5 root root 4096 Jun 29 15:49 ..
drwxr-xr-x 2 root root 4096 Jun 29 15:49 cgi-bin
drwxr-xr-x 2 root root 4096 Jun 29 15:55 logs
drwxr-xr-x 2 root root 4096 Jun 29 15:55 users
pi@raspberrypi:/home/local/www $
pi@raspberrypi:/home/local/www $
pi@raspberrypi:/home/local/www $ ### ***** Now we need to change the permissions on "users", so those in the "www" group can write to this directory!*****
pi@raspberrypi:/home/local/www $
pi@raspberrypi:/home/local/www $ sudo chmod -v 775 users ### sudo 1449
mode of 'users' changed from 0755 (rwxr-xr-x) to 0775 (rwxrwxr-x)
pi@raspberrypi:/home/local/www $
pi@raspberrypi:/home/local/www $ ls -al ### 1455
total 20
drwxr-xr-x 5 root root 4096 Jun 29 15:55 .
drwxr-xr-x 5 root root 4096 Jun 29 15:49 ..
drwxr-xr-x 2 root root 4096 Jun 29 15:49 cgi-bin
drwxr-xr-x 2 root root 4096 Jun 29 15:55 logs
drwxrwxr-x 2 root root 4096 Jun 29 15:55 users
pi@raspberrypi:/home/local/www $
pi@raspberrypi:/home/local/www $ ### Make sure users is now 0775 (drwxrwxr-x). 1463
pi@raspberrypi:/home/local/www $
pi@raspberrypi:/home/local/www $ ### Now we go back one level so we can change the owner and group on everything in the "www" directory from "root:root" to "root:www".
pi@raspberrypi:/home/local/www $
pi@raspberrypi:/home/local/www $ cd ../ ### 1475
pi@raspberrypi:/home/local $
pi@raspberrypi:/home/local $ sudo chown -vR root:www www ### sudo 1480
changed ownership of 'www/users' from root:root to root:www
changed ownership of 'www/logs' from root:root to root:www
changed ownership of 'www/cgi-bin/redirect' from root:root to root:www
changed ownership of 'www/cgi-bin/phf' from root:root to root:www
changed ownership of 'www/cgi-bin/ssi' from root:root to root:www
changed ownership of 'www/cgi-bin' from root:root to root:www
changed ownership of 'www' from root:root to root:www
pi@raspberrypi:/home/local $
pi@raspberrypi:/home/local $
pi@raspberrypi:/home/local $ ls -al ### 1492
total 20
drwxr-xr-x 5 root root 4096 Jun 29 15:49 .
drwxr-xr-x 4 root root 4096 Jun 29 15:49 ..
drwxr-xr-x 4 root root 4096 Jun 29 15:49 man
drwxr-xr-x 2 root root 4096 Jun 29 15:49 sbin
drwxr-xr-x 5 root www 4096 Jun 29 15:55 www
pi@raspberrypi:/home/local $
pi@raspberrypi:/home/local $
pi@raspberrypi:/home/local $ ### We now change back to the "(pi)" home directory and are going to add a "user" that belongs in the "www" group, from the help on "adduser" we see what we have to type.
pi@raspberrypi:/home/local $
pi@raspberrypi:/home/local $ cd ### 1511
pi@raspberrypi:~ $
pi@raspberrypi:~ $ ### For an example, one can think of these as different tabs or categories on your website. Use a different password for these "users" than the one you use for "(pi)" for more security. The information it asks for was for the "finger" program which most computers don't run for security reasons. I usually just use the "user" for the name and leave the rest blank.
pi@raspberrypi:~ $
pi@raspberrypi:~ $ # This is where one should probably use "a0" "a" (61 hex) and "0" zero (30 hex), so it will be the master user and at the top of the list for any other users one might add. "a0" is where you can put your log files.
pi@raspberrypi:~ $
pi@raspberrypi:~ $ sudo adduser --add_extra_groups a0 ### sudo 1557
Adding user `a0' ...
Adding new group `a0' (1001) ...
Adding new user `a0' (1001) with group `a0' ...
Creating home directory `/home/a0' ...
Copying files from `/etc/skel' ...
New password:
Retype new password:
passwd: password updated successfully
Changing the user information for a0
Enter the new value, or press ENTER for the default
Full Name []: a0
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n] y
Adding new user `a0' to extra groups ...
Adding user `a0' to group `dialout' ...
Adding user `a0' to group `cdrom' ...
Adding user `a0' to group `floppy' ...
Adding user `a0' to group `audio' ...
Adding user `a0' to group `video' ...
Adding user `a0' to group `plugdev' ...
Adding user `a0' to group `users' ...
pi@raspberrypi:~ $
pi@raspberrypi:~ $
pi@raspberrypi:~ $ sudo adduser a0 www ### sudo adduser XXXX to group yyy. 1596
Adding user `a0' to group `www' ...
Adding user a0 to group www
Done.
pi@raspberrypi:~ $
pi@raspberrypi:~ $
pi@raspberrypi:~ $ su a0 ### Change to user "a0" 1604
Password:
a0@raspberrypi:/home/pi $ # here we are still in "/home/pi", and the user is now "a0".
a0@raspberrypi:/home/pi $
a0@raspberrypi:/home/pi $ cd ### Change to the "a0" home directory. 1614
a0@raspberrypi:~ $
a0@raspberrypi:~ $ ls -al ### 1619
total 24
drwxr-xr-x 2 a0 a0 4096 Jun 29 16:04 .
drwxr-xr-x 5 root root 4096 Jun 29 16:04 ..
-rw-r--r-- 1 a0 a0 220 Jun 29 16:04 .bash_logout
-rw-r--r-- 1 a0 a0 3523 Jun 29 16:04 .bashrc
-rw-r--r-- 1 a0 a0 1670 Jun 29 16:04 .mkshrc
-rw-r--r-- 1 a0 a0 807 Jun 29 16:04 .profile
a0@raspberrypi:~ $
a0@raspberrypi:~ $ touch .1001 ### Since the computer uses numbers instead of names this is one way to know what number a user is. The period before the number will keep it from copying to the web page since it makes the file hidden. 1630
a0@raspberrypi:~ $
a0@raspberrypi:~ $ ### if makeweb does not work (no permission) did you?: sudo chmod -v 0775 /home/local/www/users #? and it actually changed the permissions to (drwxrwxr-x)?
a0@raspberrypi:~ $
a0@raspberrypi:~ $ makeweb ### 1639
Created web directory /home/local/www/users/a0
Created symbolic link /home/a0/public_html
a0@raspberrypi:~ $
a0@raspberrypi:~ $
a0@raspberrypi:~ $ ls -al ### 1646
total 24
drwxr-xr-x 2 a0 a0 4096 Jun 29 16:12 .
drwxr-xr-x 5 root root 4096 Jun 29 16:04 ..
-rw-r--r-- 1 a0 a0 0 Jun 29 16:11 .1001
-rw-r--r-- 1 a0 a0 220 Jun 29 16:04 .bash_logout
-rw-r--r-- 1 a0 a0 3523 Jun 29 16:04 .bashrc
-rw-r--r-- 1 a0 a0 1670 Jun 29 16:04 .mkshrc
-rw-r--r-- 1 a0 a0 807 Jun 29 16:04 .profile
lrwxrwxrwx 1 a0 www 24 Jun 29 16:12 public_html -> /home/local/www/users/a0
a0@raspberrypi:~ $
a0@raspberrypi:~ $ exit ### This lets us exit back to where we were. 1660
exit
pi@raspberrypi:~ $
pi@raspberrypi:~ $ cat /etc/group ### 1666
root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:pi
tty:x:5:
disk:x:6:
lp:x:7:
mail:x:8:
news:x:9:
uucp:x:10:
man:x:12:
proxy:x:13:
kmem:x:15:
dialout:x:20:pi,a0
fax:x:21:
voice:x:22:
cdrom:x:24:pi,a0
floppy:x:25:a0
tape:x:26:
sudo:x:27:pi
audio:x:29:pi,pulse,a0
dip:x:30:
www-data:x:33:
backup:x:34:
operator:x:37:
list:x:38:
irc:x:39:
src:x:40:
gnats:x:41:
shadow:x:42:
utmp:x:43:
video:x:44:pi,a0
sasl:x:45:
plugdev:x:46:pi,a0
staff:x:50:
games:x:60:pi
users:x:100:pi,a0
nogroup:x:65534:
systemd-timesync:x:101:
systemd-journal:x:102:
systemd-network:x:103:
systemd-resolve:x:104:
input:x:105:pi
kvm:x:106:
render:x:107:pi
crontab:x:108:
netdev:x:109:pi
pi:x:1000:
messagebus:x:110:
ssh:x:111:
bluetooth:x:112:
avahi:x:113:
spi:x:999:pi
i2c:x:998:pi
gpio:x:997:pi
lightdm:x:114:
rdma:x:115:
rtkit:x:116:
lpadmin:x:117:root,pi
ssl-cert:x:118:
pulse:x:119:
pulse-access:x:120:
scanner:x:121:saned
saned:x:122:
colord:x:123:
epmd:x:124:
geoclue:x:125:
systemd-coredump:x:996:
www:x:126:pi,a0
a0:x:1001:
pi@raspberrypi:~ $
pi@raspberrypi:~ $
pi@raspberrypi:~ $ cd /home ### 1744
pi@raspberrypi:/home $
pi@raspberrypi:/home $ ls -al ### 1748
total 20
drwxr-xr-x 5 root root 4096 Jun 29 16:04 .
drwxr-xr-x 23 root root 4096 Jun 29 14:37 ..
drwxr-xr-x 2 a0 a0 4096 Jun 29 16:14 a0
drwxr-xr-x 5 root root 4096 Jun 29 15:49 local
drwxr-xr-x 21 pi pi 4096 Jun 29 15:52 pi
pi@raspberrypi:/home $
pi@raspberrypi:/home $ ### Since I want to be able to access "a0" from "pi" I will change the group on "a0" to "www".
pi@raspberrypi:/home $
pi@raspberrypi:/home $ sudo chown -vR a0:www a0 ### sudo 1763
changed ownership of 'a0/.1001' from a0:a0 to a0:www
changed ownership of 'a0/.bashrc' from a0:a0 to a0:www
changed ownership of 'a0/.bash_history' from a0:a0 to a0:www
changed ownership of 'a0/.bash_logout' from a0:a0 to a0:www
ownership of 'a0/public_html' retained as a0:www
changed ownership of 'a0/.mkshrc' from a0:a0 to a0:www
changed ownership of 'a0/.profile' from a0:a0 to a0:www
changed ownership of 'a0' from a0:a0 to a0:www
pi@raspberrypi:/home $
pi@raspberrypi:/home $ ls -al ### 1775
total 20
drwxr-xr-x 5 root root 4096 Jun 29 16:04 .
drwxr-xr-x 23 root root 4096 Jun 29 14:37 ..
drwxr-xr-x 2 a0 www 4096 Jun 29 16:14 a0
drwxr-xr-x 5 root root 4096 Jun 29 15:49 local
drwxr-xr-x 21 pi pi 4096 Jun 29 15:52 pi
pi@raspberrypi:/home $
pi@raspberrypi:/home $ cd /home/local/www/users ### 1785
pi@raspberrypi:/home/local/www/users $
pi@raspberrypi:/home/local/www/users $
pi@raspberrypi:/home/local/www/users $ ls -al ### 1790
total 12
drwxrwxr-x 3 root www 4096 Jun 29 16:12 .
drwxr-xr-x 5 root www 4096 Jun 29 15:55 ..
drwxr-xr-x 2 a0 a0 4096 Jun 29 16:12 a0
pi@raspberrypi:/home/local/www/users $
pi@raspberrypi:/home/local/www/users $ ### Since I want to be able to access "a0" from "pi" I will change the group on "a0" to "www".
pi@raspberrypi:/home/local/www/users $
pi@raspberrypi:/home/local/www/users $ sudo chown -vR a0:www a0 ### sudo 1803
changed ownership of 'a0' from a0:a0 to a0:www
pi@raspberrypi:/home/local/www/users $
pi@raspberrypi:/home/local/www/users $
pi@raspberrypi:/home/local/www/users $ ls -al ### 1809
total 12
drwxrwxr-x 3 root www 4096 Jun 29 16:12 .
drwxr-xr-x 5 root www 4096 Jun 29 15:55 ..
drwxr-xr-x 2 a0 www 4096 Jun 29 16:12 a0
pi@raspberrypi:/home/local/www/users $
pi@raspberrypi:/home/local/www/users $ # So far so good! We now have a main www user installed.
pi@raspberrypi:/home/local/www/users $
pi@raspberrypi:/home/local/www/users $ date ### 1820
Thu 29 Jun 2023 04:21:41 PM MDT
pi@raspberrypi:/home/local/www/users $
pi@raspberrypi:/home/local/www/users $
pi@raspberrypi:/home/local/www/users $ ### I liked the "anvil_thttpd.gif" on the Acme.com website and chose it as my favicon.ico by renaming a copy to favicon.ico. An "anvil" is built to be hammered on without failing, and "thttpd" is built to take a hammering without failing. It is bullet proof! When you look at your logs you will see how "thttpd" will block all sorts of attempts to break your website! You will also get an idea of things to avoid on your website.
pi@raspberrypi:/home/local/www/users $
pi@raspberrypi:/home/local/www/users $
pi@raspberrypi:/home/local/www/users $
pi@raspberrypi:/home/local/www/users $ cd /home/local/sbin ### 1836
pi@raspberrypi:/home/local/sbin $
pi@raspberrypi:/home/local/sbin $ ls -al ### 1841
total 136
drwxr-xr-x 2 root root 4096 Jun 29 15:49 .
drwxr-xr-x 5 root root 4096 Jun 29 15:49 ..
-rwxr-xr-x 1 root root 13692 Jun 29 15:49 htpasswd
-rwxr-sr-x 1 root www 12996 Jun 29 15:49 makeweb
-r-xr-xr-x 1 root root 2878 Jun 29 15:49 syslogtocern
-r-xr-xr-x 1 bin bin 91232 Jun 29 15:49 thttpd
pi@raspberrypi:/home/local/sbin $
pi@raspberrypi:/home/local/sbin $ cd ~/freedom ### (The directory "freedom" should be in "/home/(pi)/"). 1853
pi@raspberrypi:~/freedom $
pi@raspberrypi:~/freedom $ ls -al ### 1857
total 1168
drwxr-xr-x 9 pi pi 4096 Jul 22 2022 .
drwxr-xr-x 21 pi pi 4096 Jun 29 16:28 ..
-r--r--r-- 1 pi pi 32014 Jan 8 2020 2010Website.pdf
-r--r--r-- 1 pi pi 11024 Jan 8 2020 2019-09-05-Project.txt
-r--r--r-- 1 pi pi 11941 Jan 8 2020 2019-10-01-website.txt
-r--r--r-- 1 pi pi 6365 Jan 8 2020 2019-11-26-web-server.txt
-r--r--r-- 1 pi pi 21340 Jan 8 2020 2019-12-06-Google-Search-Is-Broken.txt
-r--r--r-- 1 pi pi 12817 Jun 14 2022 2020-07-17-thttpd.txt
-r--r--r-- 1 pi pi 17955 Sep 10 2021 2021-09-01.txt
-r--r--r-- 1 pi pi 18393 Sep 11 2021 2021-09-07-Formatting-Drives-Greater-Than-512GB.txt
-r--r--r-- 1 pi pi 213516 Jul 12 2022 2022-07-12-thttpd-install-on-32-or-64-bit-OS.txt
-r--r--r-- 1 pi pi 213516 Jul 12 2022 2022-07-12-thttpd-install-on-32-or-64-bit-OS.txt~
-r--r--r-- 1 pi pi 195627 Jul 13 2022 2022-07-12-thttpd-install-test.txt
drwxr-xr-x 2 pi pi 4096 Jul 13 2022 2022-07-13-Pi-Model-B-Plus-Rev-2-1
drwxr-xr-x 2 pi pi 4096 Jul 13 2022 2022-07-13-Pi-Model-B-Rev-2
drwxr-xr-x 22 pi pi 4096 Jul 12 2022 Acme.com
-rw-r--r-- 1 pi pi 26886 Jul 22 2022 command-line-PATH-bug.txt
-r--r--r-- 1 pi pi 26886 Jul 22 2022 command-line-PATH-bug.txt~
drwxr-xr-x 4 pi pi 4096 Jul 12 2022 'HTML Sampler_files'
-r--r--r-- 1 pi pi 26907 Aug 16 2021 'HTML Sampler.html'
-rw-r--r-- 1 pi pi 85 Jun 7 2022 list.txt
drwxr-xr-x 2 pi pi 4096 Jul 12 2022 os-debug
-r--r--r-- 1 pi pi 4764 Jul 15 2022 Raspberry-Pi-wget-web-server-transfer-rates.txt
-r--r--r-- 1 pi pi 75550 Jul 21 2022 readme.txt
-r--r--r-- 1 pi pi 75550 Jul 21 2022 readme.txt~
-r--r--r-- 1 pi pi 80728 Sep 8 2021 rfc3875-CGI.txt
-r--r--r-- 1 pi pi 186 Jan 8 2020 sitemap.xml
-r--r--r-- 1 pi pi 186 Jan 8 2020 sitemap.xml.txt
-rwxr-xr-- 1 pi pi 501 Jun 7 2022 thttpd_config
-r-xr-xr-- 1 pi pi 501 Jun 7 2022 thttpd_config~
drwxr-xr-x 3 pi pi 4096 Jul 12 2022 thttpd-extras
-r--r--r-- 1 pi pi 27291 Jul 21 2022 thttpd-man-page.txt
drwxr-xr-x 4 pi pi 4096 Jul 12 2022 vhost-DN-test
pi@raspberrypi:~/freedom $
pi@raspberrypi:~/freedom $
pi@raspberrypi:~/freedom $ sudo cp -av thttpd-extras /home/local/sbin/ ### sudo 1890
'thttpd-extras' -> '/home/local/sbin/thttpd-extras'
'thttpd-extras/sitemap.xml' -> '/home/local/sbin/thttpd-extras/sitemap.xml'
'thttpd-extras/thttpd-rotate' -> '/home/local/sbin/thttpd-extras/thttpd-rotate'
'thttpd-extras/thttpd_wrapper~' -> '/home/local/sbin/thttpd-extras/thttpd_wrapper~'
'thttpd-extras/readme.txt' -> '/home/local/sbin/thttpd-extras/readme.txt'
'thttpd-extras/favicon.ico' -> '/home/local/sbin/thttpd-extras/favicon.ico'
'thttpd-extras/robots.txt' -> '/home/local/sbin/thttpd-extras/robots.txt'
'thttpd-extras/anvil_thttpd.gif' -> '/home/local/sbin/thttpd-extras/anvil_thttpd.gif'
'thttpd-extras/thttpd_config~' -> '/home/local/sbin/thttpd-extras/thttpd_config~'
'thttpd-extras/thttpd_wrapper' -> '/home/local/sbin/thttpd-extras/thttpd_wrapper'
'thttpd-extras/rc.local' -> '/home/local/sbin/thttpd-extras/rc.local'
'thttpd-extras/sitemap.xml.txt' -> '/home/local/sbin/thttpd-extras/sitemap.xml.txt'
'thttpd-extras/thttpd.sh~' -> '/home/local/sbin/thttpd-extras/thttpd.sh~'
'thttpd-extras/rc.local~' -> '/home/local/sbin/thttpd-extras/rc.local~'
'thttpd-extras/thttpd.sh' -> '/home/local/sbin/thttpd-extras/thttpd.sh'
'thttpd-extras/thttpd-rotate~' -> '/home/local/sbin/thttpd-extras/thttpd-rotate~'
'thttpd-extras/robots-site.txt' -> '/home/local/sbin/thttpd-extras/robots-site.txt'
'thttpd-extras/thttpd_config' -> '/home/local/sbin/thttpd-extras/thttpd_config'
'thttpd-extras/vhost-DN-test' -> '/home/local/sbin/thttpd-extras/vhost-DN-test'
'thttpd-extras/vhost-DN-test/a0' -> '/home/local/sbin/thttpd-extras/vhost-DN-test/a0'
'thttpd-extras/vhost-DN-test/a0/test' -> '/home/local/sbin/thttpd-extras/vhost-DN-test/a0/test'
'thttpd-extras/vhost-DN-test/192.168.1.128' -> '/home/local/sbin/thttpd-extras/vhost-DN-test/192.168.1.128'
'thttpd-extras/vhost-DN-test/192.168.1.128/sample.txt' -> '/home/local/sbin/thttpd-extras/vhost-DN-test/192.168.1.128/sample.txt'
'thttpd-extras/vhost-DN-test/192.168.1.128/a0' -> '/home/local/sbin/thttpd-extras/vhost-DN-test/192.168.1.128/a0'
'thttpd-extras/vhost-DN-test/192.168.1.128/a0/test' -> '/home/local/sbin/thttpd-extras/vhost-DN-test/192.168.1.128/a0/test'
pi@raspberrypi:~/freedom $
pi@raspberrypi:~/freedom $
pi@raspberrypi:~/freedom $ sudo cp -av os-debug /home/local/sbin/ ### sudo 1919
'os-debug' -> '/home/local/sbin/os-debug'
'os-debug/readme.txt~' -> '/home/local/sbin/os-debug/readme.txt~'
'os-debug/thttpd-rotate' -> '/home/local/sbin/os-debug/thttpd-rotate'
'os-debug/thttpd_wrapper~' -> '/home/local/sbin/os-debug/thttpd_wrapper~'
'os-debug/dead-thttpd' -> '/home/local/sbin/os-debug/dead-thttpd'
'os-debug/readme.txt' -> '/home/local/sbin/os-debug/readme.txt'
'os-debug/dead-thttpd~' -> '/home/local/sbin/os-debug/dead-thttpd~'
'os-debug/thttpd_wrapper' -> '/home/local/sbin/os-debug/thttpd_wrapper'
'os-debug/datelog~' -> '/home/local/sbin/os-debug/datelog~'
'os-debug/thttpd-rotate~' -> '/home/local/sbin/os-debug/thttpd-rotate~'
'os-debug/datelog' -> '/home/local/sbin/os-debug/datelog'
pi@raspberrypi:~/freedom $
pi@raspberrypi:~/freedom $
pi@raspberrypi:~/freedom $ cd /home/local/sbin/thttpd-extras ### 1935
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $ ls -al ### 1939
total 80
drwxr-xr-x 3 pi pi 4096 Jul 12 2022 .
drwxr-xr-x 4 root root 4096 Jun 29 16:34 ..
-r--r--r-- 1 pi pi 533 Jan 8 2020 anvil_thttpd.gif
-rw-r--r-- 1 pi pi 533 Jan 8 2020 favicon.ico
-rwxr-xr-- 1 pi pi 485 Aug 31 2021 rc.local
-r-xr-xr-- 1 pi pi 485 Aug 31 2021 rc.local~
-rw-r--r-- 1 pi pi 308 Aug 13 2021 readme.txt
-r--r--r-- 1 pi pi 73 Jan 8 2020 robots-site.txt
-rw-r--r-- 1 pi pi 27 Jan 8 2020 robots.txt
-rw-r--r-- 1 pi pi 186 Jan 8 2020 sitemap.xml
-r--r--r-- 1 pi pi 186 Jan 8 2020 sitemap.xml.txt
-rwxr-xr-- 1 pi pi 501 Jun 7 2022 thttpd_config
-r-xr-xr-- 1 pi pi 501 Jun 7 2022 thttpd_config~
-rwxr-xr-- 1 pi pi 1746 Aug 31 2021 thttpd-rotate
-r-xr-xr-- 1 pi pi 1746 Aug 31 2021 thttpd-rotate~
-rwxr-xr-- 1 pi pi 136 Apr 22 2022 thttpd.sh
-r-xr-xr-- 1 pi pi 136 Apr 22 2022 thttpd.sh~
-rwxr-xr-- 1 pi pi 122 Aug 31 2021 thttpd_wrapper
-r-xr-xr-- 1 pi pi 122 Aug 31 2021 thttpd_wrapper~
drwxr-xr-x 4 pi pi 4096 Jul 12 2022 vhost-DN-test
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $ cat /etc/rc.local ### 1965
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
printf "My IP address is %s\n" "$_IP"
fi
exit 0
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $ cat rc.local ### 1990
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
printf "My IP address is %s\n" "$_IP"
fi
# Start thttpd
echo "Starting thttpd. \n"
. /etc/thttpd.sh
#
exit 0
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $ sudo cp -av rc.local /etc/rc.local ### sudo 2019
'rc.local' -> '/etc/rc.local'
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $ ls -l /etc/rc.local ### 2025
-rwxr-xr-- 1 pi pi 485 Aug 31 2021 /etc/rc.local
pi@raspberrypi:/home/local/sbin/thttpd-extras $ # (rc.local is still 0754) 2027
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $ sudo cp -av thttpd.sh /etc/ ### sudo 2032
'thttpd.sh' -> '/etc/thttpd.sh'
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $ ls -l /etc/thttpd.sh ### 2038
-rwxr-xr-- 1 pi pi 136 Apr 22 2022 /etc/thttpd.sh
pi@raspberrypi:/home/local/sbin/thttpd-extras $ # (thttpd.sh is still 0754) 2040
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $ cat thttpd.sh ### 2045
#!/bin/sh
# thttpd.sh
if [ -x /home/local/sbin/thttpd_wrapper ] ; then
echo " thttpd "
/home/local/sbin/thttpd_wrapper &
fi
#
exit 0
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $ ### thttpd.sh is looking for thttpd_wrapper to be in "/home/local/sbin/" and being 0754, so we will copy "thttpd_wrapper" up one level to there
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $ sudo cp -av thttpd_wrapper ../ ### sudo 2064
'thttpd_wrapper' -> '../thttpd_wrapper'
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $ ls -l /home/local/sbin ### 2069
total 140
-rwxr-xr-x 1 root root 13692 Jun 29 15:49 htpasswd
-rwxr-sr-x 1 root www 12996 Jun 29 15:49 makeweb
drwxr-xr-x 2 pi pi 4096 Jul 12 2022 os-debug
-r-xr-xr-x 1 root root 2878 Jun 29 15:49 syslogtocern
-r-xr-xr-x 1 bin bin 91232 Jun 29 15:49 thttpd
drwxr-xr-x 3 pi pi 4096 Jul 12 2022 thttpd-extras
-rwxr-xr-- 1 pi pi 122 Aug 31 2021 thttpd_wrapper
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $ ### The purpose of the file "thttpd_wrapper" is to restart "thttpd" if it stops, and it checks every 10 seconds to see if "/home/local/sbin/thttpd" is running and it also loads the configuration file that is: "/home/local/www/thttpd_config". If one changes the config file, one only has to kill the "thttpd pid number" and the wrapper will restart it in 10 seconds with the new configuration. "sudo kill xxxx" will kill a program. To get all of the running "pid" numbers use "ps -e". If you forget to use "sudo" to manually start "thttpd" or even "rc.local" every 10 seconds you will get a message that "/home/local/www/logs/thttpd_log" can not be written to! (because it is now owned by nobody). What appears on your screen is not what you type in, but both the error message and what you type in. Type in "ps -e" and look for the number for "thttpd_wrapper" and then type in "sudo kill xxxx" with "xxxx" being the "pid" number. Been there, done that way too many times!
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $ cat thttpd_wrapper ### 2087
#!/bin/sh
# thttpd_wrapper
while true ; do
/home/local/sbin/thttpd -D -C /home/local/www/thttpd_config
sleep 10
done
#
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $ # Next "thttpd-rotate" needs to be moved to "/etc/cron.daily/" so our log files get moved every day. The time they get rotated is in "/etc/crontab"
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $ cat /etc/crontab ### 2105
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $ sudo cp -av thttpd-rotate /etc/cron.daily/ ### sudo 2132
'thttpd-rotate' -> '/etc/cron.daily/thttpd-rotate'
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $ ls -al /etc/cron.daily ### 2137
total 32
total 40
drwxr-xr-x 2 root root 4096 Jun 29 16:47 .
drwxr-xr-x 128 root root 12288 Jun 29 16:40 ..
-rwxr-xr-x 1 root root 1478 Jun 10 2021 apt-compat
-rwxr-xr-x 1 root root 1298 Apr 29 2021 dpkg
-rwxr-xr-x 1 root root 377 Feb 28 2021 logrotate
-rwxr-xr-x 1 root root 1123 Feb 19 2021 man-db
-rw-r--r-- 1 root root 102 Feb 22 2021 .placeholder
-rwxr-xr-- 1 pi pi 1746 Aug 31 2021 thttpd-rotate
bash: total: command not found
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $ ### (thttpd_rotate is still 0754)
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $ ### The "thttpd_rotate" file I made is for 50 days so you don't have to move them every day, week, or even month. I also put a header and a tail on the files when they rotate so you have an idea how long your website has been up.
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $ cat thttpd-rotate ### 2156
#!/bin/sh
# /etc/cron.daily/thttpd-rotate
cd /home/local/www/logs
rm -f thttpd_log.50
mv thttpd_log.49 thttpd_log.50
mv thttpd_log.48 thttpd_log.49
mv thttpd_log.47 thttpd_log.48
mv thttpd_log.46 thttpd_log.47
mv thttpd_log.45 thttpd_log.46
mv thttpd_log.44 thttpd_log.45
mv thttpd_log.43 thttpd_log.44
mv thttpd_log.42 thttpd_log.43
mv thttpd_log.41 thttpd_log.42
mv thttpd_log.40 thttpd_log.41
mv thttpd_log.39 thttpd_log.40
mv thttpd_log.38 thttpd_log.39
mv thttpd_log.37 thttpd_log.38
mv thttpd_log.36 thttpd_log.37
mv thttpd_log.35 thttpd_log.36
mv thttpd_log.34 thttpd_log.35
mv thttpd_log.33 thttpd_log.34
mv thttpd_log.32 thttpd_log.33
mv thttpd_log.31 thttpd_log.32
mv thttpd_log.30 thttpd_log.31
mv thttpd_log.29 thttpd_log.30
mv thttpd_log.28 thttpd_log.29
mv thttpd_log.27 thttpd_log.28
mv thttpd_log.26 thttpd_log.27
mv thttpd_log.25 thttpd_log.26
mv thttpd_log.24 thttpd_log.25
mv thttpd_log.23 thttpd_log.24
mv thttpd_log.22 thttpd_log.23
mv thttpd_log.21 thttpd_log.22
mv thttpd_log.20 thttpd_log.21
mv thttpd_log.19 thttpd_log.20
mv thttpd_log.18 thttpd_log.19
mv thttpd_log.17 thttpd_log.18
mv thttpd_log.16 thttpd_log.17
mv thttpd_log.15 thttpd_log.16
mv thttpd_log.14 thttpd_log.15
mv thttpd_log.13 thttpd_log.14
mv thttpd_log.12 thttpd_log.13
mv thttpd_log.11 thttpd_log.12
mv thttpd_log.10 thttpd_log.11
mv thttpd_log.09 thttpd_log.10
mv thttpd_log.08 thttpd_log.09
mv thttpd_log.07 thttpd_log.08
mv thttpd_log.06 thttpd_log.07
mv thttpd_log.05 thttpd_log.06
mv thttpd_log.04 thttpd_log.05
mv thttpd_log.03 thttpd_log.04
mv thttpd_log.02 thttpd_log.03
mv thttpd_log.01 thttpd_log.02
date >> thttpd_log
w >> thttpd_log
mv thttpd_log thttpd_log.01
date > thttpd_log
w >> thttpd_log
kill -usr1 `cat /var/run/thttpd.pid`
#
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $
# *********
### To copy the log files to dates, I:
### cd /home/local/www/logs/ ### and then type:
### ls -al ### to get a listing of the files and the dates for the files. Then to copy the files:
### "sudo cp -iav *log.xx 2020.01.01" with xx being the log number and then year.mo.da and then check that I have everything right before I press the enter key. Since the log files belong to nobody and nogroup, one has to use "sudo" and "cp -iav" so root can then change the owner to something else.
### Example:
# sudo cp -iv *log.xx year.mo.da ### (one can use ? to replace one character, or * to replace the rest of the string for all matching files).
# ls -al
# sudo chown -v a0:www year.mo.da ### the owner:group changes from root:root to a0:www
# ls -al ### (lists the files and shows that they are "a0 www")
# su a0 ### (Shell to user "a0" at this point you are still at: "/home/local/www/logs/")
# cp -iav year.mo.da ~/logs/ ### which will copy the files into the /a0/logs/ file and then,
# cp -iav year.mo.da ~/public_html/logs/ ### which will copy the files into the /home/local/www/users/a0/logs/ file, making them live on the www. They will be under "a0/logs/". Then I usually look on my Android phone and see if they are there. One has to refresh the page to get the new files to show.
# exit ### this returns you back to (pi).
# *********
pi@raspberrypi:/home/local/sbin/thttpd-extras $ ### The last files to copy will be the "thttpd_config" files which go to "/home/local/www/".
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $ sudo cp -av thttpd_config* /home/local/www/ ### sudo 2258
'thttpd_config' -> '/home/local/www/thttpd_config'
'thttpd_config~' -> '/home/local/www/thttpd_config~'
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $ ls -al /home/local/www/ ### 2264
total 28
drwxr-xr-x 5 root www 4096 Jun 29 17:00 .
drwxr-xr-x 5 root root 4096 Jun 29 15:49 ..
drwxr-xr-x 2 root www 4096 Jun 29 15:49 cgi-bin
drwxr-xr-x 2 root www 4096 Jun 29 15:55 logs
-rwxr-xr-- 1 pi pi 501 Jun 7 2022 thttpd_config
-r-xr-xr-- 1 pi pi 501 Jun 7 2022 thttpd_config~
drwxrwxr-x 3 root www 4096 Jun 29 16:12 users
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $ cat thttpd_config ### 2277
# /home/local/www/thttpd_config
dir=/home/local/www
chroot #chroot jail
data_dir=users
#vhost # if you use a domain name you will have to uncomment (remove the # at the beginning) and then make a "user" directory using your external IPv4 address (xxx.xxx.xxx.xxx) and inside this directory make symbolic links back up to your other files in "users" (ln -rs ../"user-name"), see: "vhost-DN-test".
cgipat=**.cgi
logfile=/home/local/www/logs/thttpd_log
pidfile=/var/run/thttpd.pid
#
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $ # *****************************
pi@raspberrypi:/home/local/sbin/thttpd-extras $ # *****************************
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $ ### TESTING: 2300
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $ date ### 2304
Thu 29 Jun 2023 05:04:09 PM MDT
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $ cd ../ ### 2309
pi@raspberrypi:/home/local/sbin $
pi@raspberrypi:/home/local/sbin $
pi@raspberrypi:/home/local/sbin $ # We need the line from thttpd_wrapper without the wrapper.
pi@raspberrypi:/home/local/sbin $
pi@raspberrypi:/home/local/sbin $ cat thttpd_wrapper ### 2317
#!/bin/sh
# thttpd_wrapper
while true ; do
/home/local/sbin/thttpd -D -C /home/local/www/thttpd_config
sleep 10
done
#
pi@raspberrypi:/home/local/sbin $
pi@raspberrypi:/home/local/sbin $ # ***** Start a new terminal here! ****** ### 2330
pi@raspberrypi:/home/local/sbin $
pi@raspberrypi:/home/local/sbin $ cd ### We are changing to pi home and will need to start a new terminal since it is going to lock up as soon as thttpd starts. 2334
pi@raspberrypi:~ $
pi@raspberrypi:~ $
pi@raspberrypi:~ $ # ***** Start a new terminal here! ****** ### 2330
pi@raspberrypi:~ $
pi@raspberrypi:~ $
# Well Links2 did not want to start so I tried ELinks which I also had loaded. It did bring up the web site and did work. I finally just did "ps -e" to find the PID number of ELinks so I could "sudo kill 6291" the PID and that dropped me out of ELinks.
elinks http://localhost/ ### 2377
2023-06-29-ELinks-a0.txt
Index of /
Index of /
mode links bytes last-changed name
dr-x 3 4096 Jun 29 22:12 ./
dr-x 5 4096 Jun 29 23:00 ../
dr-x 2 4096 Jun 29 22:12 a0/
pi@raspberrypi:~ $ ps -e
PID TTY TIME CMD
1 ? 00:00:08 systemd
2 ? 00:00:00 kthreadd
3 ? 00:00:00 slub_flushwq
4 ? 00:00:00 netns
many skipped lines
2025 ? 00:00:00 gvfsd-dnssd
3924 ? 00:00:00 kworker/0:2H-mmc_complete
3928 pts/2 00:00:00 bash
4598 ? 00:00:00 kworker/u2:1-events_unbound
5113 pts/2 00:00:00 sudo
5117 ? 00:00:51 thttpd
5837 ? 00:00:00 kworker/0:2-events_freezable
6291 pts/1 00:00:00 elinks
6452 ? 00:00:00 kworker/0:0-events_power_efficient
6665 ? 00:00:00 kworker/0:0H-mmc_complete
6723 ? 00:00:00 kworker/u2:2-events_unbound
7076 ? 00:00:00 kworker/0:1-events
7562 pts/3 00:00:00 bash
7582 pts/3 00:00:00 ps
9529 ? 00:24:09 geany
9576 pts/1 00:00:01 bash
13122 ? 00:08:41 mousepad
18469 ? 00:00:00 gvfsd-metadata
pi@raspberrypi:~ $ sudo kill 6291
pi@raspberrypi:~ $
### Everything should be working at this point. Test one OK.
# ### On this terminal (in Geany), type: ps -e # to find the "PID"s so you can "kill" the processes after you do a test to see if entering "localhost" in your web browser brings up a green page with your web user.
kill PIDs for sudo and thttpd!
sudo kill 5113 5117
pi@raspberrypi:~ $
pi@raspberrypi:~ $
pi@raspberrypi:~ $ sudo kill 5113 5117
pi@raspberrypi:~ $
pi@raspberrypi:~ $ sudo kill 5113 5117
kill: (5113): No such process
kill: (5117): No such process
pi@raspberrypi:~ $ sudo kill 6291 # elinks
kill: (6291): No such process
pi@raspberrypi:~ $
pi@raspberrypi:~ $
pi@raspberrypi:~ $
The new terminal is now free and no longer locked up!
pi@raspberrypi:~ $
pi@raspberrypi:~ $ # ***** Start a new terminal here! ****** ### 2330
pi@raspberrypi:~ $
pi@raspberrypi:~ $ cd ### We are changing to pi home and will need to start a new terminal since it is going to lock up as soon as thttpd starts. 2334
pi@raspberrypi:~ $
pi@raspberrypi:~ $ ### ***** On a new terminal *****
pi@raspberrypi:~ $
pi@raspberrypi:~ $ date
Thu 29 Jun 2023 05:16:25 PM MDT
pi@raspberrypi:~ $
pi@raspberrypi:~ $ sudo /home/local/sbin/thttpd -D -C /home/local/www/thttpd_config ### copy the line without the first # and paste it on to the command prompt in a new terminal window, as it will lock up when thttpd starts running. 2341
pi@raspberrypi:~ $
pi@raspberrypi:~ $
pi@raspberrypi:~ $
pi@raspberrypi:~ $ ### Now you can look at your log file in: /home/local/www/logs/
pi@raspberrypi:~ $
pi@raspberrypi:~ $ date ### 2636
Thu 29 Jun 2023 06:07:37 PM MDT
pi@raspberrypi:~ $
pi@raspberrypi:~ $
pi@raspberrypi:~ $ cd /home/local/www/logs ### 2641
pi@raspberrypi:/home/local/www/logs $
pi@raspberrypi:/home/local/www/logs $ ls -al ### 2646
total 12
drwxr-xr-x 2 root www 4096 Jun 29 17:16 .
drwxr-xr-x 5 root www 4096 Jun 29 17:00 ..
-rw-r--r-- 1 nobody nogroup 269 Jun 29 17:31 thttpd_log
pi@raspberrypi:/home/local/www/logs $
pi@raspberrypi:/home/local/www/logs $
pi@raspberrypi:/home/local/www/logs $
pi@raspberrypi:/home/local/www/logs $ cat *log ### 2653
::1 - - [29/Jun/2023:23:26:30 +0000] "GET / HTTP/1.1" 200 25000 "" "ELinks/0.13.2 (textmode; Linux 6.1.21+ armv6l; 94x7-2)"
::1 - - [29/Jun/2023:23:31:50 +0000] "GET /a0/ HTTP/1.1" 200 25000 "http://localhost/" "ELinks/0.13.2 (textmode; Linux 6.1.21+ armv6l; 94x16-2)"
pi@raspberrypi:/home/local/www/logs $
pi@raspberrypi:/home/local/www/logs $
pi@raspberrypi:/home/local/www/logs $ ### The program thttpd is working OK. 2659
pi@raspberrypi:/home/local/www/logs $
pi@raspberrypi:/home/local/www/logs $ ### Now we need to add the files to "users" that are in "/home/local/sbin/thttpd-extras".
pi@raspberrypi:/home/local/www/logs $
pi@raspberrypi:/home/local/www/logs $ cd /home/local/sbin/thttpd-extras/ ### 2668
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $ ls -al ### 2672
total 80
drwxr-xr-x 3 pi pi 4096 Jul 12 2022 .
drwxr-xr-x 4 root root 4096 Jun 29 16:43 ..
-r--r--r-- 1 pi pi 533 Jan 8 2020 anvil_thttpd.gif
-rw-r--r-- 1 pi pi 533 Jan 8 2020 favicon.ico
-rwxr-xr-- 1 pi pi 485 Aug 31 2021 rc.local
-r-xr-xr-- 1 pi pi 485 Aug 31 2021 rc.local~
-rw-r--r-- 1 pi pi 308 Aug 13 2021 readme.txt
-r--r--r-- 1 pi pi 73 Jan 8 2020 robots-site.txt
-rw-r--r-- 1 pi pi 27 Jan 8 2020 robots.txt
-rw-r--r-- 1 pi pi 186 Jan 8 2020 sitemap.xml
-r--r--r-- 1 pi pi 186 Jan 8 2020 sitemap.xml.txt
-rwxr-xr-- 1 pi pi 501 Jun 7 2022 thttpd_config
-r-xr-xr-- 1 pi pi 501 Jun 7 2022 thttpd_config~
-rwxr-xr-- 1 pi pi 1746 Aug 31 2021 thttpd-rotate
-r-xr-xr-- 1 pi pi 1746 Aug 31 2021 thttpd-rotate~
-rwxr-xr-- 1 pi pi 136 Apr 22 2022 thttpd.sh
-r-xr-xr-- 1 pi pi 136 Apr 22 2022 thttpd.sh~
-rwxr-xr-- 1 pi pi 122 Aug 31 2021 thttpd_wrapper
-r-xr-xr-- 1 pi pi 122 Aug 31 2021 thttpd_wrapper~
drwxr-xr-x 4 pi pi 4096 Jul 12 2022 vhost-DN-test
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $ sudo cp -iav favicon.ico /home/local/www/users/ ### sudo 2698
'favicon.ico' -> '/home/local/www/users/favicon.ico'
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $ sudo cp -iav readme.txt /home/local/www/users/ ### sudo 2703
'readme.txt' -> '/home/local/www/users/readme.txt'
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $ sudo cp -iav robots.txt /home/local/www/users/ ### sudo 2708
'robots.txt' -> '/home/local/www/users/robots.txt'
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $ sudo ls -al /home/local/www/users/ ### sudo 2713
total 24
drwxrwxr-x 3 root www 4096 Jun 29 18:13 .
drwxr-xr-x 5 root www 4096 Jun 29 17:00 ..
drwxr-xr-x 2 a0 www 4096 Jun 29 16:12 a0
-rw-r--r-- 1 pi pi 533 Jan 8 2020 favicon.ico
-rw-r--r-- 1 pi pi 308 Aug 13 2021 readme.txt
-rw-r--r-- 1 pi pi 27 Jan 8 2020 robots.txt
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $ date ### 2723
Thu 29 Jun 2023 06:14:57 PM MDT
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $ cat robots-site.txt ### 2729
User-agent: *
Disallow:
Sitemap: http://xxx.xxx.xxx.xxx/sitemap.xml/
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $ cat sitemap.xml ### 2737
http://xxx.xxx.xxx.xxx/
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $ ### You would use "robots-site.txt" replacing the XXX.xxx.xxx.xxx with your external static IPv4 address and then naming it "robots.txt". Likewise, with the "sitemap.xml" file and keep the same name for it. Adding both of these files to “/home/local/www/users/”, if you have an external static IP address
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $
pi@raspberrypi:/home/local/sbin/thttpd-extras $ cd /etc ### 2759
pi@raspberrypi:/etc $
pi@raspberrypi:/etc $
pi@raspberrypi:/etc $ ### **** If you don't use sudo here it will start looping every 10 seconds. Then you would have to find the PID number for thttpd_wrapper and sudo kill "pid-number" because it is trying to write to root files!!!, or just turn off the computer. ****
pi@raspberrypi:/etc $
pi@raspberrypi:/etc $
pi@raspberrypi:/etc $ date ### 2765
Thu 29 Jun 2023 06:18:31 PM MDT
pi@raspberrypi:/etc $
pi@raspberrypi:/etc $ # I finally figured out to get Links2 to populate the header one has to press the "Esc" key while on the top line with the little arrow to the left!
pi@raspberrypi:/etc $
pi@raspberrypi:/etc $
pi@raspberrypi:/etc $ sudo ./rc.local ### sudo (Starting thttpd from rc.local, REMEMBER the sudo!!!!!!) 2771
My IP address is 192.168.1.187
Starting thttpd.
thttpd
pi@raspberrypi:/etc $
pi@raspberrypi:/etc $
pi@raspberrypi:/etc $ # on the line above, (Notice the thttpd above the "frank@raspberrypi:/etc" on the terminal screen, it is still running.)
pi@raspberrypi:/etc $
pi@raspberrypi:/etc $
pi@raspberrypi:/etc $ # Here we see that my local IP Address is 192.168.1.187 and thttpd has started and is now running. so we will see if this IP Address will get to my web site.
pi@raspberrypi:/etc $
pi@raspberrypi:/etc $
pi@raspberrypi:/etc $
pi@raspberrypi:/etc $ links2 192.168.1.187
Index of / (p1 of 5)
Index of /
mode links bytes last-changed name
OK
pi@raspberrypi:/etc $ # "Ctrl-C" got me oout of "Links2"!
pi@raspberrypi:/etc $
pi@raspberrypi:/etc $
pi@raspberrypi:/etc $ cat /home/local/www/logs/*log ### 2841
::1 - - [29/Jun/2023:23:26:30 +0000] "GET / HTTP/1.1" 200 25000 "" "ELinks/0.13.2 (textmode; Linux 6.1.21+ armv6l; 94x7-2)"
::1 - - [29/Jun/2023:23:31:50 +0000] "GET /a0/ HTTP/1.1" 200 25000 "http://localhost/" "ELinks/0.13.2 (textmode; Linux 6.1.21+ armv6l; 94x16-2)"
192.168.1.187 - - [30/Jun/2023:00:29:43 +0000] "GET / HTTP/1.1" 200 25000 "" "Links (2.21; Linux 6.1.21+ armv6l; GNU C 10.2; x)"
192.168.1.187 - - [30/Jun/2023:00:29:51 +0000] "GET /a0/ HTTP/1.1" 200 25000 "http://192.168.1.187/" "Links (2.21; Linux 6.1.21+ armv6l; GNU C 10.2; x)"
192.168.1.187 - - [30/Jun/2023:00:29:57 +0000] "GET /favicon.ico HTTP/1.1" 200 533 "http://192.168.1.187/" "Links (2.21; Linux 6.1.21+ armv6l; GNU C 10.2; x)"
192.168.1.187 - - [30/Jun/2023:00:30:16 +0000] "GET /readme.txt HTTP/1.1" 200 308 "http://192.168.1.187/" "Links (2.21; Linux 6.1.21+ armv6l; GNU C 10.2; x)"
192.168.1.187 - - [30/Jun/2023:00:31:06 +0000] "GET /robots.txt HTTP/1.1" 200 27 "http://192.168.1.187/" "Links (2.21; Linux 6.1.21+ armv6l; GNU C 10.2; x)"
192.168.1.187 - - [30/Jun/2023:00:43:25 +0000] "GET / HTTP/1.0" 200 25000 "" "Links (2.21; Linux 6.1.21+ armv6l; GNU C 10.2; text)"
192.168.1.187 - - [30/Jun/2023:00:44:23 +0000] "GET /readme.txt HTTP/1.0" 200 308 "http://192.168.1.187/" "Links (2.21; Linux 6.1.21+ armv6l; GNU C 10.2; text)"
192.168.1.187 - - [30/Jun/2023:00:44:50 +0000] "GET /robots.txt HTTP/1.0" 200 27 "http://192.168.1.187/" "Links (2.21; Linux 6.1.21+ armv6l; GNU C 10.2; text)"
pi@raspberrypi:/etc $
pi@raspberrypi:/etc $
pi@raspberrypi:/etc $
pi@raspberrypi:/etc $ ### At this point I want to do a log rotate and check it out.
pi@raspberrypi:/etc $
pi@raspberrypi:/etc $ cd cron.daily ### 2863
pi@raspberrypi:/etc/cron.daily $
pi@raspberrypi:/etc/cron.daily $
pi@raspberrypi:/etc/cron.daily $
pi@raspberrypi:/etc/cron.daily $ ls -al ### 2867
total 40
drwxr-xr-x 2 root root 4096 Jun 29 16:47 .
drwxr-xr-x 128 root root 12288 Jun 29 16:40 ..
-rwxr-xr-x 1 root root 1478 Jun 10 2021 apt-compat
-rwxr-xr-x 1 root root 1298 Apr 29 2021 dpkg
-rwxr-xr-x 1 root root 377 Feb 28 2021 logrotate
-rwxr-xr-x 1 root root 1123 Feb 19 2021 man-db
-rw-r--r-- 1 root root 102 Feb 22 2021 .placeholder
-rwxr-xr-- 1 pi pi 1746 Aug 31 2021 thttpd-rotate
pi@raspberrypi:/etc/cron.daily $
pi@raspberrypi:/etc/cron.daily $
pi@raspberrypi:/etc/cron.daily $ ### One has to use sudo because they are owned by root. The period "." stands for "do" then it needs a space, hence the "/".
pi@raspberrypi:/etc/cron.daily $
pi@raspberrypi:/etc/cron.daily $ sudo ./thttpd-rotate ### # These files do not exist yet because we do not have 50 log files. 2884
mv: cannot stat 'thttpd_log.49': No such file or directory
mv: cannot stat 'thttpd_log.48': No such file or directory
mv: cannot stat 'thttpd_log.47': No such file or directory
mv: cannot stat 'thttpd_log.46': No such file or directory
mv: cannot stat 'thttpd_log.45': No such file or directory
mv: cannot stat 'thttpd_log.44': No such file or directory
mv: cannot stat 'thttpd_log.43': No such file or directory
mv: cannot stat 'thttpd_log.42': No such file or directory
mv: cannot stat 'thttpd_log.41': No such file or directory
mv: cannot stat 'thttpd_log.40': No such file or directory
mv: cannot stat 'thttpd_log.39': No such file or directory
mv: cannot stat 'thttpd_log.38': No such file or directory
mv: cannot stat 'thttpd_log.37': No such file or directory
mv: cannot stat 'thttpd_log.36': No such file or directory
mv: cannot stat 'thttpd_log.35': No such file or directory
mv: cannot stat 'thttpd_log.34': No such file or directory
mv: cannot stat 'thttpd_log.33': No such file or directory
mv: cannot stat 'thttpd_log.32': No such file or directory
mv: cannot stat 'thttpd_log.31': No such file or directory
mv: cannot stat 'thttpd_log.30': No such file or directory
mv: cannot stat 'thttpd_log.29': No such file or directory
mv: cannot stat 'thttpd_log.28': No such file or directory
mv: cannot stat 'thttpd_log.27': No such file or directory
mv: cannot stat 'thttpd_log.26': No such file or directory
mv: cannot stat 'thttpd_log.25': No such file or directory
mv: cannot stat 'thttpd_log.24': No such file or directory
mv: cannot stat 'thttpd_log.23': No such file or directory
mv: cannot stat 'thttpd_log.22': No such file or directory
mv: cannot stat 'thttpd_log.21': No such file or directory
mv: cannot stat 'thttpd_log.20': No such file or directory
mv: cannot stat 'thttpd_log.19': No such file or directory
mv: cannot stat 'thttpd_log.18': No such file or directory
mv: cannot stat 'thttpd_log.17': No such file or directory
mv: cannot stat 'thttpd_log.16': No such file or directory
mv: cannot stat 'thttpd_log.15': No such file or directory
mv: cannot stat 'thttpd_log.14': No such file or directory
mv: cannot stat 'thttpd_log.13': No such file or directory
mv: cannot stat 'thttpd_log.12': No such file or directory
mv: cannot stat 'thttpd_log.11': No such file or directory
mv: cannot stat 'thttpd_log.10': No such file or directory
mv: cannot stat 'thttpd_log.09': No such file or directory
mv: cannot stat 'thttpd_log.08': No such file or directory
mv: cannot stat 'thttpd_log.07': No such file or directory
mv: cannot stat 'thttpd_log.06': No such file or directory
mv: cannot stat 'thttpd_log.05': No such file or directory
mv: cannot stat 'thttpd_log.04': No such file or directory
mv: cannot stat 'thttpd_log.03': No such file or directory
mv: cannot stat 'thttpd_log.02': No such file or directory
mv: cannot stat 'thttpd_log.01': No such file or directory
pi@raspberrypi:/etc/cron.daily $
pi@raspberrypi:/etc/cron.daily $
pi@raspberrypi:/etc/cron.daily $ cat /home/local/www/logs/*log ### 2939
Thu 29 Jun 2023 06:52:37 PM MDT
18:52:38 up 6:32, 2 users, load average: 0.85, 0.55, 0.54
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
pi tty1 - 12:20 6:32m 0.80s 0.63s -bash
pi tty7 :0 12:21 6:31m 30:00 6.09s /usr/bin/lxsession -s LXDE-pi -e LXDE -w openbox-lxde-pi
pi@raspberrypi:/etc/cron.daily $
pi@raspberrypi:/etc/cron.daily $
pi@raspberrypi:/etc/cron.daily $ cat /home/local/www/logs/*log.01 ### 2949
::1 - - [29/Jun/2023:23:26:30 +0000] "GET / HTTP/1.1" 200 25000 "" "ELinks/0.13.2 (textmode; Linux 6.1.21+ armv6l; 94x7-2)"
::1 - - [29/Jun/2023:23:31:50 +0000] "GET /a0/ HTTP/1.1" 200 25000 "http://localhost/" "ELinks/0.13.2 (textmode; Linux 6.1.21+ armv6l; 94x16-2)"
192.168.1.187 - - [30/Jun/2023:00:29:43 +0000] "GET / HTTP/1.1" 200 25000 "" "Links (2.21; Linux 6.1.21+ armv6l; GNU C 10.2; x)"
192.168.1.187 - - [30/Jun/2023:00:29:51 +0000] "GET /a0/ HTTP/1.1" 200 25000 "http://192.168.1.187/" "Links (2.21; Linux 6.1.21+ armv6l; GNU C 10.2; x)"
192.168.1.187 - - [30/Jun/2023:00:29:57 +0000] "GET /favicon.ico HTTP/1.1" 200 533 "http://192.168.1.187/" "Links (2.21; Linux 6.1.21+ armv6l; GNU C 10.2; x)"
192.168.1.187 - - [30/Jun/2023:00:30:16 +0000] "GET /readme.txt HTTP/1.1" 200 308 "http://192.168.1.187/" "Links (2.21; Linux 6.1.21+ armv6l; GNU C 10.2; x)"
192.168.1.187 - - [30/Jun/2023:00:31:06 +0000] "GET /robots.txt HTTP/1.1" 200 27 "http://192.168.1.187/" "Links (2.21; Linux 6.1.21+ armv6l; GNU C 10.2; x)"
192.168.1.187 - - [30/Jun/2023:00:43:25 +0000] "GET / HTTP/1.0" 200 25000 "" "Links (2.21; Linux 6.1.21+ armv6l; GNU C 10.2; text)"
192.168.1.187 - - [30/Jun/2023:00:44:23 +0000] "GET /readme.txt HTTP/1.0" 200 308 "http://192.168.1.187/" "Links (2.21; Linux 6.1.21+ armv6l; GNU C 10.2; text)"
192.168.1.187 - - [30/Jun/2023:00:44:50 +0000] "GET /robots.txt HTTP/1.0" 200 27 "http://192.168.1.187/" "Links (2.21; Linux 6.1.21+ armv6l; GNU C 10.2; text)"
Thu 29 Jun 2023 06:52:37 PM MDT
18:52:37 up 6:32, 2 users, load average: 0.85, 0.55, 0.54
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
pi tty1 - 12:20 6:32m 0.80s 0.63s -bash
pi tty7 :0 12:21 6:31m 30:00 6.09s /usr/bin/lxsession -s LXDE-pi -e LXDE -w openbox-lxde-pi
pi@raspberrypi:/etc/cron.daily $
pi@raspberrypi:/etc/cron.daily $
pi@raspberrypi:/etc/cron.daily $
pi@raspberrypi:/etc/cron.daily $ cat /home/local/www/logs/*log.01 ### 2949
::1 - - [29/Jun/2023:23:26:30 +0000] "GET / HTTP/1.1" 200 25000 "" "ELinks/0.13.2 (textmode; Linux 6.1.21+ armv6l; 94x7-2)"
::1 - - [29/Jun/2023:23:31:50 +0000] "GET /a0/ HTTP/1.1" 200 25000 "http://localhost/" "ELinks/0.13.2 (textmode; Linux 6.1.21+ armv6l; 94x16-2)"
192.168.1.187 - - [30/Jun/2023:00:29:43 +0000] "GET / HTTP/1.1" 200 25000 "" "Links (2.21; Linux 6.1.21+ armv6l; GNU C 10.2; x)"
192.168.1.187 - - [30/Jun/2023:00:29:51 +0000] "GET /a0/ HTTP/1.1" 200 25000 "http://192.168.1.187/" "Links (2.21; Linux 6.1.21+ armv6l; GNU C 10.2; x)"
192.168.1.187 - - [30/Jun/2023:00:29:57 +0000] "GET /favicon.ico HTTP/1.1" 200 533 "http://192.168.1.187/" "Links (2.21; Linux 6.1.21+ armv6l; GNU C 10.2; x)"
192.168.1.187 - - [30/Jun/2023:00:30:16 +0000] "GET /readme.txt HTTP/1.1" 200 308 "http://192.168.1.187/" "Links (2.21; Linux 6.1.21+ armv6l; GNU C 10.2; x)"
192.168.1.187 - - [30/Jun/2023:00:31:06 +0000] "GET /robots.txt HTTP/1.1" 200 27 "http://192.168.1.187/" "Links (2.21; Linux 6.1.21+ armv6l; GNU C 10.2; x)"
192.168.1.187 - - [30/Jun/2023:00:43:25 +0000] "GET / HTTP/1.0" 200 25000 "" "Links (2.21; Linux 6.1.21+ armv6l; GNU C 10.2; text)"
192.168.1.187 - - [30/Jun/2023:00:44:23 +0000] "GET /readme.txt HTTP/1.0" 200 308 "http://192.168.1.187/" "Links (2.21; Linux 6.1.21+ armv6l; GNU C 10.2; text)"
192.168.1.187 - - [30/Jun/2023:00:44:50 +0000] "GET /robots.txt HTTP/1.0" 200 27 "http://192.168.1.187/" "Links (2.21; Linux 6.1.21+ armv6l; GNU C 10.2; text)"
Thu 29 Jun 2023 06:52:37 PM MDT
18:52:37 up 6:32, 2 users, load average: 0.85, 0.55, 0.54
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
pi tty1 - 12:20 6:32m 0.80s 0.63s -bash
pi tty7 :0 12:21 6:31m 30:00 6.09s /usr/bin/lxsession -s LXDE-pi -e LXDE -w openbox-lxde-pi
pi@raspberrypi:/etc/cron.daily $
pi@raspberrypi:/etc/cron.daily $
pi@raspberrypi:/etc/cron.daily $ cd ### Change to (pi) home. 2971
pi@raspberrypi:~ $
pi@raspberrypi:~ $
pi@raspberrypi:~ $ man makeweb ### 2973
pi@raspberrypi:~ $
pi@raspberrypi:~ $ man syslogtocern ### 2977
pi@raspberrypi:~ $
pi@raspberrypi:~ $ man thttpd ### 2979
pi@raspberrypi:~ $
pi@raspberrypi:~ $ man redirect ### 2981
pi@raspberrypi:~ $
pi@raspberrypi:~ $ man ssi ### 2983
pi@raspberrypi:~ $
pi@raspberrypi:~ $ man strftime ### 2985
pi@raspberrypi:~ $
pi@raspberrypi:~ $ man weblog_parse ### 2987
No manual entry for weblog_parse
pi@raspberrypi:~ $
pi@raspberrypi:~ $ man http_get ### 2990
No manual entry for http_get
pi@raspberrypi:~ $
pi@raspberrypi:~ $
pi@raspberrypi:~ $ ### It looks like all of the man pages that come with thttpd are working. Some systems will not find the path to the man pages and those systems can use: sudo cp -iav /home/local/man/* /usr/local/man # to copy them over into "/usr/local/man" (see below). 2996
pi@raspberrypi:~ $
pi@raspberrypi:~ $
pi@raspberrypi:~ $ # ************************************
pi@raspberrypi:~ $
pi@raspberrypi:~ $
pi@raspberrypi:~ $
# ************************************
pi@raspberrypi:/etc $ ### If the man pages did not work, this should let them work.
pi@raspberrypi:/etc $
pi@raspberrypi:/etc $
pi@raspberrypi:/etc $ cd /home/local/man ### 3006
pi@raspberrypi:/home/local/man $
pi@raspberrypi:/home/local/man $ ls -al ### 3010
total 16
drwxr-xr-x 4 root root 4096 Mar 16 21:27 .
drwxr-xr-x 5 root root 4096 Mar 16 21:27 ..
drwxr-xr-x 2 root root 4096 Mar 16 21:27 man1
drwxr-xr-x 2 root root 4096 Mar 16 21:27 man8
pi@raspberrypi:/home/local/man $
pi@raspberrypi:/home/local/man $
pi@raspberrypi:/home/local/man $ sudo cp -iav /home/local/man/* /usr/local/man ### sudo 3020
'/home/local/man/man1' -> '/usr/local/man/man1'
'/home/local/man/man1/makeweb.1' -> '/usr/local/man/man1/makeweb.1'
'/home/local/man/man1/htpasswd.1' -> '/usr/local/man/man1/htpasswd.1'
'/home/local/man/man8' -> '/usr/local/man/man8'
'/home/local/man/man8/thttpd.8' -> '/usr/local/man/man8/thttpd.8'
'/home/local/man/man8/redirect.8' -> '/usr/local/man/man8/redirect.8'
'/home/local/man/man8/ssi.8' -> '/usr/local/man/man8/ssi.8'
'/home/local/man/man8/syslogtocern.8' -> '/usr/local/man/man8/syslogtocern.8'
pi@raspberrypi:/home/local/man $
pi@raspberrypi:/home/local/man $
pi@raspberrypi:/home/local/man $ # Then test to see if the man pages work, as was done above. 3033
pi@raspberrypi:/home/local/man $
pi@raspberrypi:/home/local/man $ cd /etc ### 3035
pi@raspberrypi:/etc $
###****************************
pi@raspberrypi:~ $ cd ### 3042
pi@raspberrypi:~ $
pi@raspberrypi:~ $ date ### 3046
Thu 29 Jun 2023 07:17:15 PM MDT
pi@raspberrypi:~ $
pi@raspberrypi:~ $
pi@raspberrypi:~ $ ###****************************make log entries using different machines or phones. 3051
pi@raspberrypi:~ $
pi@raspberrypi:~ $
sudo datelogpi@raspberrypi:~ $
pi@raspberrypi:~ $ ### Since I was having problems with my setup I decided I needed more information in my logs to be able to see when I had to restart my computer, or when my power went down. I am on batteries and an inverter, and have other problems so I built the "os-debug" directory under /home/local/sbin/.
pi@raspberrypi:~ $
pi@raspberrypi:~ $
pi@raspberrypi:~ $
pi@raspberrypi:~ $
pi@raspberrypi:~ $ date ### 3059
Thu 29 Jun 2023 07:22:54 PM MDT
pi@raspberrypi:~ $
pi@raspberrypi:~ $
pi@raspberrypi:~ $
pi@raspberrypi:~ $ cd /home/local/www/logs ### 3069
pi@raspberrypi:/home/local/www/logs $
pi@raspberrypi:/home/local/www/logs $ ls -al ### 3073
total 16
drwxr-xr-x 2 root www 4096 Jun 29 18:52 .
drwxr-xr-x 5 root www 4096 Jun 29 17:00 ..
-rw-r--r-- 1 nobody nogroup 1204 Jun 29 19:25 thttpd_log
-rw-r--r-- 1 nobody nogroup 1831 Jun 29 18:52 thttpd_log.01
pi@raspberrypi:/home/local/www/logs $
pi@raspberrypi:/home/local/www/logs $
pi@raspberrypi:/home/local/www/logs $
pi@raspberrypi:/home/local/www/logs $ cat *log.01 ### 3083
::1 - - [29/Jun/2023:23:26:30 +0000] "GET / HTTP/1.1" 200 25000 "" "ELinks/0.13.2 (textmode; Linux 6.1.21+ armv6l; 94x7-2)"
::1 - - [29/Jun/2023:23:31:50 +0000] "GET /a0/ HTTP/1.1" 200 25000 "http://localhost/" "ELinks/0.13.2 (textmode; Linux 6.1.21+ armv6l; 94x16-2)"
192.168.1.187 - - [30/Jun/2023:00:29:43 +0000] "GET / HTTP/1.1" 200 25000 "" "Links (2.21; Linux 6.1.21+ armv6l; GNU C 10.2; x)"
192.168.1.187 - - [30/Jun/2023:00:29:51 +0000] "GET /a0/ HTTP/1.1" 200 25000 "http://192.168.1.187/" "Links (2.21; Linux 6.1.21+ armv6l; GNU C 10.2; x)"
192.168.1.187 - - [30/Jun/2023:00:29:57 +0000] "GET /favicon.ico HTTP/1.1" 200 533 "http://192.168.1.187/" "Links (2.21; Linux 6.1.21+ armv6l; GNU C 10.2; x)"
192.168.1.187 - - [30/Jun/2023:00:30:16 +0000] "GET /readme.txt HTTP/1.1" 200 308 "http://192.168.1.187/" "Links (2.21; Linux 6.1.21+ armv6l; GNU C 10.2; x)"
192.168.1.187 - - [30/Jun/2023:00:31:06 +0000] "GET /robots.txt HTTP/1.1" 200 27 "http://192.168.1.187/" "Links (2.21; Linux 6.1.21+ armv6l; GNU C 10.2; x)"
192.168.1.187 - - [30/Jun/2023:00:43:25 +0000] "GET / HTTP/1.0" 200 25000 "" "Links (2.21; Linux 6.1.21+ armv6l; GNU C 10.2; text)"
192.168.1.187 - - [30/Jun/2023:00:44:23 +0000] "GET /readme.txt HTTP/1.0" 200 308 "http://192.168.1.187/" "Links (2.21; Linux 6.1.21+ armv6l; GNU C 10.2; text)"
192.168.1.187 - - [30/Jun/2023:00:44:50 +0000] "GET /robots.txt HTTP/1.0" 200 27 "http://192.168.1.187/" "Links (2.21; Linux 6.1.21+ armv6l; GNU C 10.2; text)"
Thu 29 Jun 2023 06:52:37 PM MDT
18:52:37 up 6:32, 2 users, load average: 0.85, 0.55, 0.54
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
pi tty1 - 12:20 6:32m 0.80s 0.63s -bash
pi tty7 :0 12:21 6:31m 30:00 6.09s /usr/bin/lxsession -s LXDE-pi -e LXDE -w openbox-lxde-pi
pi@raspberrypi:/home/local/www/logs $
pi@raspberrypi:/home/local/www/logs $
pi@raspberrypi:/home/local/www/logs $
pi@raspberrypi:/home/local/www/logs $ cat *log ### 3105
Thu 29 Jun 2023 06:52:37 PM MDT
18:52:38 up 6:32, 2 users, load average: 0.85, 0.55, 0.54
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
pi tty1 - 12:20 6:32m 0.80s 0.63s -bash
pi tty7 :0 12:21 6:31m 30:00 6.09s /usr/bin/lxsession -s LXDE-pi -e LXDE -w openbox-lxde-pi
192.168.1.216 - - [30/Jun/2023:01:24:36 +0000] "GET / HTTP/1.1" 200 25000 "" "Mozilla/5.0 (Android 12; Mobile; rv:109.0) Gecko/112.0 Firefox/112.0"
192.168.1.216 - - [30/Jun/2023:01:24:43 +0000] "GET /favicon.ico HTTP/1.1" 200 533 "http://192.168.1.187/" "Mozilla/5.0 (Android 12; Mobile; rv:109.0) Gecko/112.0 Firefox/112.0"
192.168.1.216 - - [30/Jun/2023:01:24:56 +0000] "GET /a0/ HTTP/1.1" 200 25000 "http://192.168.1.187/" "Mozilla/5.0 (Android 12; Mobile; rv:109.0) Gecko/112.0 Firefox/112.0"
192.168.1.216 - - [30/Jun/2023:01:25:10 +0000] "GET /readme.txt HTTP/1.1" 200 308 "http://192.168.1.187/" "Mozilla/5.0 (Android 12; Mobile; rv:109.0) Gecko/112.0 Firefox/112.0"
192.168.1.216 - - [30/Jun/2023:01:25:29 +0000] "GET /robots.txt HTTP/1.1" 200 27 "http://192.168.1.187/" "Mozilla/5.0 (Android 12; Mobile; rv:109.0) Gecko/112.0 Firefox/112.0"
pi@raspberrypi:/home/local/www/logs $
pi@raspberrypi:/home/local/www/logs $
pi@raspberrypi:/home/local/www/logs $
pi@raspberrypi:/home/local/www/logs $ ### thttpd is still running and I am going to change and add the os-debug files and then you can see the difference they make to the log.
pi@raspberrypi:/home/local/www/logs $
pi@raspberrypi:/home/local/www/logs $
pi@raspberrypi:/home/local/www/logs $
pi@raspberrypi:/home/local/www/logs $ cd /home/local/sbin/os-debug/ ### 3140
pi@raspberrypi:/home/local/sbin/os-debug $
pi@raspberrypi:/home/local/sbin/os-debug $
pi@raspberrypi:/home/local/sbin/os-debug $
pi@raspberrypi:/home/local/sbin/os-debug $ ### The files in os-debug have additional thttpd pid numbers to help with OS problems.
pi@raspberrypi:/home/local/sbin/os-debug $
pi@raspberrypi:/home/local/sbin/os-debug $
pi@raspberrypi:/home/local/sbin/os-debug $
pi@raspberrypi:/home/local/sbin/os-debug $ ls -al ### 3147
total 48
drwxr-xr-x 2 pi pi 4096 Jul 12 2022 .
drwxr-xr-x 4 root root 4096 Jun 29 16:43 ..
-rwxr-xr-- 1 pi pi 185 Aug 31 2021 datelog
-r-xr-xr-- 1 pi pi 185 Aug 31 2021 datelog~
-rwxr-xr-- 1 pi pi 385 Aug 31 2021 dead-thttpd
-r-xr-xr-- 1 pi pi 385 Aug 31 2021 dead-thttpd~
-r--r--r-- 1 pi pi 792 Apr 22 2022 readme.txt
-r--r--r-- 1 pi pi 792 Apr 22 2022 readme.txt~
-rwxr-xr-- 1 pi pi 1965 Aug 31 2021 thttpd-rotate
-r-xr-xr-- 1 pi pi 1965 Aug 31 2021 thttpd-rotate~
-rwxr-xr-- 1 pi pi 153 Aug 31 2021 thttpd_wrapper
-r-xr-xr-- 1 pi pi 153 Aug 31 2021 thttpd_wrapper~
pi@raspberrypi:/home/local/sbin/os-debug $
pi@raspberrypi:/home/local/sbin/os-debug $
pi@raspberrypi:/home/local/sbin/os-debug $
pi@raspberrypi:/home/local/sbin/os-debug $ cat readme.txt ### 3165
#readme.txt
#
# The files in os-debug have additional thttpd pid numbers to help with OS problems.
#
#pi@AC0XL-Pi-400:~$
#pi@AC0XL-Pi-400:~$ cd /home/local/sbin/os-debug/ ###
#pi@AC0XL-Pi-400:/home/local/sbin/os-debug $
#pi@AC0XL-Pi-400:/home/local/sbin/os-debug $ sudo cp -av d* thttp*r ../ ### sudo
#'datelog' -> '../datelog'
#'dead-thttpd' -> '../dead-thttpd'
#'thttpd_wrapper' -> '../thttpd_wrapper'
#pi@AC0XL-Pi-400:/home/local/sbin/os-debug $
#pi@AC0XL-Pi-400:/home/local/sbin/os-debug $
#
# Now we have to replace thttpd-rotate in /etc/cron.daily.
#
#pi@AC0XL-Pi-400:/home/local/sbin/os-debug $ sudo cp -av thttpd-rotate /etc/cron.daily ### sudo - we are adding lines for thttpd pid information.
#pi@AC0XL-Pi-400:/home/local/sbin/os-debug $
#
pi@raspberrypi:/home/local/sbin/os-debug $
pi@raspberrypi:/home/local/sbin/os-debug $
pi@raspberrypi:/home/local/sbin/os-debug $
pi@raspberrypi:/home/local/sbin/os-debug $ sudo cp -av d* thttp*r ../ ### sudo 3189
'datelog' -> '../datelog'
'datelog~' -> '../datelog~'
'dead-thttpd' -> '../dead-thttpd'
'dead-thttpd~' -> '../dead-thttpd~'
'thttpd_wrapper' -> '../thttpd_wrapper'
pi@raspberrypi:/home/local/sbin/os-debug $
pi@raspberrypi:/home/local/sbin/os-debug $
pi@raspberrypi:/home/local/sbin/os-debug $
pi@raspberrypi:/home/local/sbin/os-debug $ # Now we have to replace thttpd-rotate in /etc/cron.daily.
pi@raspberrypi:/home/local/sbin/os-debug $
pi@raspberrypi:/home/local/sbin/os-debug $
pi@raspberrypi:/home/local/sbin/os-debug $
pi@raspberrypi:/home/local/sbin/os-debug $ sudo cp -av thttpd-rotate /etc/cron.daily ### sudo - we are adding lines for thttpd PID information. 3203
'thttpd-rotate' -> '/etc/cron.daily/thttpd-rotate'
pi@raspberrypi:/home/local/sbin/os-debug $
pi@raspberrypi:/home/local/sbin/os-debug $
pi@raspberrypi:/home/local/sbin/os-debug $
pi@raspberrypi:/home/local/sbin/os-debug $ # *****************
pi@raspberrypi:/home/local/sbin/os-debug $
pi@raspberrypi:/home/local/sbin/os-debug $
pi@raspberrypi:/home/local/sbin/os-debug $ cat thttpd_wrapper ### 3211
#!/bin/sh
# thttpd_wrapper
while true ; do
/home/local/sbin/thttpd -D -C /home/local/www/thttpd_config
/home/local/sbin/dead-thttpd
sleep 10
done
#
pi@raspberrypi:/home/local/sbin/os-debug $
pi@raspberrypi:/home/local/sbin/os-debug $
pi@raspberrypi:/home/local/sbin/os-debug $
pi@raspberrypi:/home/local/sbin/os-debug $ cat thttpd-rotate ### 3226
#!/bin/sh
# /etc/cron.daily/thttpd-rotate
cd /home/local/www/logs
rm -f thttpd_log.50
mv thttpd_log.49 thttpd_log.50
mv thttpd_log.48 thttpd_log.49
mv thttpd_log.47 thttpd_log.48
mv thttpd_log.46 thttpd_log.47
mv thttpd_log.45 thttpd_log.46
mv thttpd_log.44 thttpd_log.45
mv thttpd_log.43 thttpd_log.44
mv thttpd_log.42 thttpd_log.43
mv thttpd_log.41 thttpd_log.42
mv thttpd_log.40 thttpd_log.41
mv thttpd_log.39 thttpd_log.40
mv thttpd_log.38 thttpd_log.39
mv thttpd_log.37 thttpd_log.38
mv thttpd_log.36 thttpd_log.37
mv thttpd_log.35 thttpd_log.36
mv thttpd_log.34 thttpd_log.35
mv thttpd_log.33 thttpd_log.34
mv thttpd_log.32 thttpd_log.33
mv thttpd_log.31 thttpd_log.32
mv thttpd_log.30 thttpd_log.31
mv thttpd_log.29 thttpd_log.30
mv thttpd_log.28 thttpd_log.29
mv thttpd_log.27 thttpd_log.28
mv thttpd_log.26 thttpd_log.27
mv thttpd_log.25 thttpd_log.26
mv thttpd_log.24 thttpd_log.25
mv thttpd_log.23 thttpd_log.24
mv thttpd_log.22 thttpd_log.23
mv thttpd_log.21 thttpd_log.22
mv thttpd_log.20 thttpd_log.21
mv thttpd_log.19 thttpd_log.20
mv thttpd_log.18 thttpd_log.19
mv thttpd_log.17 thttpd_log.18
mv thttpd_log.16 thttpd_log.17
mv thttpd_log.15 thttpd_log.16
mv thttpd_log.14 thttpd_log.15
mv thttpd_log.13 thttpd_log.14
mv thttpd_log.12 thttpd_log.13
mv thttpd_log.11 thttpd_log.12
mv thttpd_log.10 thttpd_log.11
mv thttpd_log.09 thttpd_log.10
mv thttpd_log.08 thttpd_log.09
mv thttpd_log.07 thttpd_log.08
mv thttpd_log.06 thttpd_log.07
mv thttpd_log.05 thttpd_log.06
mv thttpd_log.04 thttpd_log.05
mv thttpd_log.03 thttpd_log.04
mv thttpd_log.02 thttpd_log.03
mv thttpd_log.01 thttpd_log.02
date >> thttpd_log
echo "log rotate end, thttpd pid = " `ps -C thttpd` >> thttpd_log
w >> thttpd_log
mv thttpd_log thttpd_log.01
date > thttpd_log
echo "old log rotate end, old thttpd pid = " `ps -C thttpd` >> thttpd_log
kill -usr1 `cat /var/run/thttpd.pid`
sleep 15
echo "log rotate new, thttpd pid = " `ps -C thttpd` >> thttpd_log
w >> thttpd_log
#
pi@raspberrypi:/home/local/sbin/os-debug $
pi@raspberrypi:/home/local/sbin/os-debug $
pi@raspberrypi:/home/local/sbin/os-debug $
pi@raspberrypi:/home/local/sbin/os-debug $ cat dead-thttpd ### 3305
#!/bin/sh
# dead-thttpd
echo "old dead-thttpd pid = " `cat /var/run/thttpd.pid` >> /home/local/www/logs/thttpd_log
date >> /home/local/www/logs/thttpd_log
w >> /home/local/www/logs/thttpd_log
# sleep 15
# echo "dead-thttpd, new thttpd pid = " `ps -C thttpd` >> /home/local/www/logs/thttpd_log
# date >> /home/local/www/logs/thttpd_log
# w >> /home/local/www/logs/thttpd_log
#
pi@raspberrypi:/home/local/sbin/os-debug $
pi@raspberrypi:/home/local/sbin/os-debug $
pi@raspberrypi:/home/local/sbin/os-debug $
pi@raspberrypi:/home/local/sbin/os-debug $ cat datelog ### 3325
#!/bin/sh
# datelog
echo "datelog, thttpd pid = " `ps -C thttpd` >> /home/local/www/logs/thttpd_log
date >> /home/local/www/logs/thttpd_log
w >> /home/local/www/logs/thttpd_log
#
pi@raspberrypi:/home/local/sbin/os-debug $
pi@raspberrypi:/home/local/sbin/os-debug $
pi@raspberrypi:/home/local/sbin/os-debug $
pi@raspberrypi:/home/local/sbin/os-debug $ date ### 3340
Thu 29 Jun 2023 07:40:53 PM MDT
pi@raspberrypi:/home/local/sbin/os-debug $
pi@raspberrypi:/home/local/sbin/os-debug $
pi@raspberrypi:/home/local/sbin/os-debug $
pi@raspberrypi:/home/local/sbin/os-debug $
pi@raspberrypi:/home/local/sbin/os-debug $
pi@raspberrypi:/home/local/sbin/os-debug $ date ### 3340
Thu 29 Jun 2023 07:55:08 PM MDT
pi@raspberrypi:/home/local/sbin/os-debug $
pi@raspberrypi:/home/local/sbin/os-debug $
pi@raspberrypi:/home/local/sbin/os-debug $ ### sudo datelog is entered at the command prompt and there has been a problem with the system finding it, which I will test. When the commands are run from the system they all work but there seems to be a bug with them coming from the command line. 3346
pi@raspberrypi:/home/local/sbin/os-debug $
pi@raspberrypi:/home/local/sbin/os-debug $
pi@raspberrypi:/home/local/sbin/os-debug $
pi@raspberrypi:/home/local/sbin/os-debug $ sudo datelog
sudo: datelog: command not found
pi@raspberrypi:/home/local/sbin/os-debug $ sudo datelog
sudo: datelog: command not found
pi@raspberrypi:/home/local/sbin/os-debug $
pi@raspberrypi:/home/local/sbin/os-debug $
pi@raspberrypi:/home/local/sbin/os-debug $
pi@raspberrypi:/home/local/sbin/os-debug $ cd /etc/cron.daily ### 3352
pi@raspberrypi:/etc/cron.daily $
pi@raspberrypi:/etc/cron.daily $
pi@raspberrypi:/etc/cron.daily $
pi@raspberrypi:/etc/cron.daily $ ls -al ### 3356
total 40
drwxr-xr-x 2 root root 4096 Jun 29 16:47 .
drwxr-xr-x 128 root root 12288 Jun 29 16:40 ..
-rwxr-xr-x 1 root root 1478 Jun 10 2021 apt-compat
-rwxr-xr-x 1 root root 1298 Apr 29 2021 dpkg
-rwxr-xr-x 1 root root 377 Feb 28 2021 logrotate
-rwxr-xr-x 1 root root 1123 Feb 19 2021 man-db
-rw-r--r-- 1 root root 102 Feb 22 2021 .placeholder
-rwxr-xr-- 1 pi pi 1965 Aug 31 2021 thttpd-rotate
pi@raspberrypi:/etc/cron.daily $
pi@raspberrypi:/etc/cron.daily $
pi@raspberrypi:/etc/cron.daily $
pi@raspberrypi:/etc/cron.daily $ cat thttpd-rotate ### 3370
#!/bin/sh
# /etc/cron.daily/thttpd-rotate
cd /home/local/www/logs
rm -f thttpd_log.50
mv thttpd_log.49 thttpd_log.50
mv thttpd_log.48 thttpd_log.49
mv thttpd_log.47 thttpd_log.48
mv thttpd_log.46 thttpd_log.47
mv thttpd_log.45 thttpd_log.46
mv thttpd_log.44 thttpd_log.45
mv thttpd_log.43 thttpd_log.44
mv thttpd_log.42 thttpd_log.43
mv thttpd_log.41 thttpd_log.42
mv thttpd_log.40 thttpd_log.41
mv thttpd_log.39 thttpd_log.40
mv thttpd_log.38 thttpd_log.39
mv thttpd_log.37 thttpd_log.38
mv thttpd_log.36 thttpd_log.37
mv thttpd_log.35 thttpd_log.36
mv thttpd_log.34 thttpd_log.35
mv thttpd_log.33 thttpd_log.34
mv thttpd_log.32 thttpd_log.33
mv thttpd_log.31 thttpd_log.32
mv thttpd_log.30 thttpd_log.31
mv thttpd_log.29 thttpd_log.30
mv thttpd_log.28 thttpd_log.29
mv thttpd_log.27 thttpd_log.28
mv thttpd_log.26 thttpd_log.27
mv thttpd_log.25 thttpd_log.26
mv thttpd_log.24 thttpd_log.25
mv thttpd_log.23 thttpd_log.24
mv thttpd_log.22 thttpd_log.23
mv thttpd_log.21 thttpd_log.22
mv thttpd_log.20 thttpd_log.21
mv thttpd_log.19 thttpd_log.20
mv thttpd_log.18 thttpd_log.19
mv thttpd_log.17 thttpd_log.18
mv thttpd_log.16 thttpd_log.17
mv thttpd_log.15 thttpd_log.16
mv thttpd_log.14 thttpd_log.15
mv thttpd_log.13 thttpd_log.14
mv thttpd_log.12 thttpd_log.13
mv thttpd_log.11 thttpd_log.12
mv thttpd_log.10 thttpd_log.11
mv thttpd_log.09 thttpd_log.10
mv thttpd_log.08 thttpd_log.09
mv thttpd_log.07 thttpd_log.08
mv thttpd_log.06 thttpd_log.07
mv thttpd_log.05 thttpd_log.06
mv thttpd_log.04 thttpd_log.05
mv thttpd_log.03 thttpd_log.04
mv thttpd_log.02 thttpd_log.03
mv thttpd_log.01 thttpd_log.02
date >> thttpd_log
echo "log rotate end, thttpd pid = " `ps -C thttpd` >> thttpd_log
w >> thttpd_log
mv thttpd_log thttpd_log.01
date > thttpd_log
echo "old log rotate end, old thttpd pid = " `ps -C thttpd` >> thttpd_log
kill -usr1 `cat /var/run/thttpd.pid`
sleep 15
echo "log rotate new, thttpd pid = " `ps -C thttpd` >> thttpd_log
w >> thttpd_log
#
pi@raspberrypi:/etc/cron.daily $
pi@raspberrypi:/etc/cron.daily $ ### That looks better! there is a sleep 15 near the end and that is to wait for the new PID to be set up.
pi@raspberrypi:/etc/cron.daily $
pi@raspberrypi:/etc/cron.daily $
pi@raspberrypi:/etc/cron.daily $
pi@raspberrypi:/etc/cron.daily $ ### Notice that this program takes 15 seconds so that the new PID number will have time to come up.
pi@raspberrypi:/etc/cron.daily $
pi@raspberrypi:/etc/cron.daily $
pi@raspberrypi:/etc/cron.daily $ ### Also, the lines are not written to the log file until they finish. The "kill -usr1 `cat /var/run/thttpd.pid`" stops thttpd from taking more requests. The "kill -usr1 `cat /var/run/thttpd.pid`" stops thttpd from taking any more requests but lets the ones that are running finish before it starts again with a new log file. That is why at times one will see extra lines after the log rotate normal ending.
pi@raspberrypi:/etc/cron.daily $
pi@raspberrypi:/etc/cron.daily $
pi@raspberrypi:/etc/cron.daily $
pi@raspberrypi:/etc/cron.daily $ sudo ./thttpd-rotate ### sudo 3458
mv: cannot stat 'thttpd_log.49': No such file or directory
mv: cannot stat 'thttpd_log.48': No such file or directory
mv: cannot stat 'thttpd_log.47': No such file or directory
mv: cannot stat 'thttpd_log.46': No such file or directory
mv: cannot stat 'thttpd_log.45': No such file or directory
mv: cannot stat 'thttpd_log.44': No such file or directory
mv: cannot stat 'thttpd_log.43': No such file or directory
mv: cannot stat 'thttpd_log.42': No such file or directory
mv: cannot stat 'thttpd_log.41': No such file or directory
mv: cannot stat 'thttpd_log.40': No such file or directory
mv: cannot stat 'thttpd_log.39': No such file or directory
mv: cannot stat 'thttpd_log.38': No such file or directory
mv: cannot stat 'thttpd_log.37': No such file or directory
mv: cannot stat 'thttpd_log.36': No such file or directory
mv: cannot stat 'thttpd_log.35': No such file or directory
mv: cannot stat 'thttpd_log.34': No such file or directory
mv: cannot stat 'thttpd_log.33': No such file or directory
mv: cannot stat 'thttpd_log.32': No such file or directory
mv: cannot stat 'thttpd_log.31': No such file or directory
mv: cannot stat 'thttpd_log.30': No such file or directory
mv: cannot stat 'thttpd_log.29': No such file or directory
mv: cannot stat 'thttpd_log.28': No such file or directory
mv: cannot stat 'thttpd_log.27': No such file or directory
mv: cannot stat 'thttpd_log.26': No such file or directory
mv: cannot stat 'thttpd_log.25': No such file or directory
mv: cannot stat 'thttpd_log.24': No such file or directory
mv: cannot stat 'thttpd_log.23': No such file or directory
mv: cannot stat 'thttpd_log.22': No such file or directory
mv: cannot stat 'thttpd_log.21': No such file or directory
mv: cannot stat 'thttpd_log.20': No such file or directory
mv: cannot stat 'thttpd_log.19': No such file or directory
mv: cannot stat 'thttpd_log.18': No such file or directory
mv: cannot stat 'thttpd_log.17': No such file or directory
mv: cannot stat 'thttpd_log.16': No such file or directory
mv: cannot stat 'thttpd_log.15': No such file or directory
mv: cannot stat 'thttpd_log.14': No such file or directory
mv: cannot stat 'thttpd_log.13': No such file or directory
mv: cannot stat 'thttpd_log.12': No such file or directory
mv: cannot stat 'thttpd_log.11': No such file or directory
mv: cannot stat 'thttpd_log.10': No such file or directory
mv: cannot stat 'thttpd_log.09': No such file or directory
mv: cannot stat 'thttpd_log.08': No such file or directory
mv: cannot stat 'thttpd_log.07': No such file or directory
mv: cannot stat 'thttpd_log.06': No such file or directory
mv: cannot stat 'thttpd_log.05': No such file or directory
mv: cannot stat 'thttpd_log.04': No such file or directory
mv: cannot stat 'thttpd_log.03': No such file or directory
mv: cannot stat 'thttpd_log.02': No such file or directory
pi@raspberrypi:/etc/cron.daily $
pi@raspberrypi:/etc/cron.daily $
pi@raspberrypi:/etc/cron.daily $
pi@raspberrypi:/etc/cron.daily $ sudo datelog ### 3512
sudo: datelog: command not found
pi@raspberrypi:/etc/cron.daily $ # This is the problem when the command is entered from the command line and it is not in "/usr/local/sbin/" even though all of the other commands ran from "/home/local/sbin/"! 3514
pi@raspberrypi:/etc/cron.daily $
pi@raspberrypi:/etc/cron.daily $
pi@raspberrypi:/etc/cron.daily $
pi@raspberrypi:/etc/cron.daily $ sudo ls -al /home/local/sbin ### 3518
total 164
drwxr-xr-x 4 root root 4096 Jun 29 19:33 .
drwxr-xr-x 5 root root 4096 Jun 29 15:49 ..
-rwxr-xr-- 1 pi pi 185 Aug 31 2021 datelog
-r-xr-xr-- 1 pi pi 185 Aug 31 2021 datelog~
-rwxr-xr-- 1 pi pi 385 Aug 31 2021 dead-thttpd
-r-xr-xr-- 1 pi pi 385 Aug 31 2021 dead-thttpd~
-rwxr-xr-x 1 root root 13692 Jun 29 15:49 htpasswd
-rwxr-sr-x 1 root www 12996 Jun 29 15:49 makeweb
drwxr-xr-x 2 pi pi 4096 Jul 12 2022 os-debug
-r-xr-xr-x 1 root root 2878 Jun 29 15:49 syslogtocern
-r-xr-xr-x 1 bin bin 91232 Jun 29 15:49 thttpd
drwxr-xr-x 3 pi pi 4096 Jul 12 2022 thttpd-extras
-rwxr-xr-- 1 pi pi 153 Aug 31 2021 thttpd_wrapper
pi@raspberrypi:/etc/cron.daily $
pi@raspberrypi:/etc/cron.daily $
pi@raspberrypi:/etc/cron.daily $
pi@raspberrypi:/etc/cron.daily $ sudo cp -iav /home/local/sbin/* /usr/local/sbin ### sudo 3537
'/home/local/sbin/datelog' -> '/usr/local/sbin/datelog'
'/home/local/sbin/datelog~' -> '/usr/local/sbin/datelog~'
'/home/local/sbin/dead-thttpd' -> '/usr/local/sbin/dead-thttpd'
'/home/local/sbin/dead-thttpd~' -> '/usr/local/sbin/dead-thttpd~'
'/home/local/sbin/htpasswd' -> '/usr/local/sbin/htpasswd'
'/home/local/sbin/makeweb' -> '/usr/local/sbin/makeweb'
'/home/local/sbin/os-debug' -> '/usr/local/sbin/os-debug'
'/home/local/sbin/os-debug/readme.txt~' -> '/usr/local/sbin/os-debug/readme.txt~'
'/home/local/sbin/os-debug/thttpd-rotate' -> '/usr/local/sbin/os-debug/thttpd-rotate'
'/home/local/sbin/os-debug/thttpd_wrapper~' -> '/usr/local/sbin/os-debug/thttpd_wrapper~'
'/home/local/sbin/os-debug/dead-thttpd' -> '/usr/local/sbin/os-debug/dead-thttpd'
'/home/local/sbin/os-debug/readme.txt' -> '/usr/local/sbin/os-debug/readme.txt'
'/home/local/sbin/os-debug/dead-thttpd~' -> '/usr/local/sbin/os-debug/dead-thttpd~'
'/home/local/sbin/os-debug/thttpd_wrapper' -> '/usr/local/sbin/os-debug/thttpd_wrapper'
'/home/local/sbin/os-debug/datelog~' -> '/usr/local/sbin/os-debug/datelog~'
'/home/local/sbin/os-debug/thttpd-rotate~' -> '/usr/local/sbin/os-debug/thttpd-rotate~'
'/home/local/sbin/os-debug/datelog' -> '/usr/local/sbin/os-debug/datelog'
'/home/local/sbin/syslogtocern' -> '/usr/local/sbin/syslogtocern'
'/home/local/sbin/thttpd' -> '/usr/local/sbin/thttpd'
'/home/local/sbin/thttpd-extras' -> '/usr/local/sbin/thttpd-extras'
'/home/local/sbin/thttpd-extras/sitemap.xml' -> '/usr/local/sbin/thttpd-extras/sitemap.xml'
'/home/local/sbin/thttpd-extras/thttpd-rotate' -> '/usr/local/sbin/thttpd-extras/thttpd-rotate'
'/home/local/sbin/thttpd-extras/thttpd_wrapper~' -> '/usr/local/sbin/thttpd-extras/thttpd_wrapper~'
'/home/local/sbin/thttpd-extras/readme.txt' -> '/usr/local/sbin/thttpd-extras/readme.txt'
'/home/local/sbin/thttpd-extras/favicon.ico' -> '/usr/local/sbin/thttpd-extras/favicon.ico'
'/home/local/sbin/thttpd-extras/robots.txt' -> '/usr/local/sbin/thttpd-extras/robots.txt'
'/home/local/sbin/thttpd-extras/anvil_thttpd.gif' -> '/usr/local/sbin/thttpd-extras/anvil_thttpd.gif'
'/home/local/sbin/thttpd-extras/thttpd_config~' -> '/usr/local/sbin/thttpd-extras/thttpd_config~'
'/home/local/sbin/thttpd-extras/thttpd_wrapper' -> '/usr/local/sbin/thttpd-extras/thttpd_wrapper'
'/home/local/sbin/thttpd-extras/rc.local' -> '/usr/local/sbin/thttpd-extras/rc.local'
'/home/local/sbin/thttpd-extras/sitemap.xml.txt' -> '/usr/local/sbin/thttpd-extras/sitemap.xml.txt'
'/home/local/sbin/thttpd-extras/thttpd.sh~' -> '/usr/local/sbin/thttpd-extras/thttpd.sh~'
'/home/local/sbin/thttpd-extras/rc.local~' -> '/usr/local/sbin/thttpd-extras/rc.local~'
'/home/local/sbin/thttpd-extras/thttpd.sh' -> '/usr/local/sbin/thttpd-extras/thttpd.sh'
'/home/local/sbin/thttpd-extras/thttpd-rotate~' -> '/usr/local/sbin/thttpd-extras/thttpd-rotate~'
'/home/local/sbin/thttpd-extras/robots-site.txt' -> '/usr/local/sbin/thttpd-extras/robots-site.txt'
'/home/local/sbin/thttpd-extras/thttpd_config' -> '/usr/local/sbin/thttpd-extras/thttpd_config'
'/home/local/sbin/thttpd-extras/vhost-DN-test' -> '/usr/local/sbin/thttpd-extras/vhost-DN-test'
'/home/local/sbin/thttpd-extras/vhost-DN-test/a0' -> '/usr/local/sbin/thttpd-extras/vhost-DN-test/a0'
'/home/local/sbin/thttpd-extras/vhost-DN-test/a0/test' -> '/usr/local/sbin/thttpd-extras/vhost-DN-test/a0/test'
'/home/local/sbin/thttpd-extras/vhost-DN-test/192.168.1.128' -> '/usr/local/sbin/thttpd-extras/vhost-DN-test/192.168.1.128'
'/home/local/sbin/thttpd-extras/vhost-DN-test/192.168.1.128/sample.txt' -> '/usr/local/sbin/thttpd-extras/vhost-DN-test/192.168.1.128/sample.txt'
'/home/local/sbin/thttpd-extras/vhost-DN-test/192.168.1.128/a0' -> '/usr/local/sbin/thttpd-extras/vhost-DN-test/192.168.1.128/a0'
'/home/local/sbin/thttpd-extras/vhost-DN-test/192.168.1.128/a0/test' -> '/usr/local/sbin/thttpd-extras/vhost-DN-test/192.168.1.128/a0/test'
'/home/local/sbin/thttpd_wrapper' -> '/usr/local/sbin/thttpd_wrapper'
pi@raspberrypi:/etc/cron.daily $
pi@raspberrypi:/etc/cron.daily $
pi@raspberrypi:/etc/cron.daily $
pi@raspberrypi:/etc/cron.daily $ ls -al /usr/local/sbin ### 3586
total 164
drwxr-xr-x 4 root root 4096 Jun 29 20:14 .
drwxr-xr-x 10 root root 4096 Jan 27 2022 ..
-rwxr-xr-- 1 pi pi 185 Aug 31 2021 datelog
-r-xr-xr-- 1 pi pi 185 Aug 31 2021 datelog~
-rwxr-xr-- 1 pi pi 385 Aug 31 2021 dead-thttpd
-r-xr-xr-- 1 pi pi 385 Aug 31 2021 dead-thttpd~
-rwxr-xr-x 1 root root 13692 Jun 29 15:49 htpasswd
-rwxr-sr-x 1 root www 12996 Jun 29 15:49 makeweb
drwxr-xr-x 2 pi pi 4096 Jul 12 2022 os-debug
-r-xr-xr-x 1 root root 2878 Jun 29 15:49 syslogtocern
-r-xr-xr-x 1 bin bin 91232 Jun 29 15:49 thttpd
drwxr-xr-x 3 pi pi 4096 Jul 12 2022 thttpd-extras
-rwxr-xr-- 1 pi pi 153 Aug 31 2021 thttpd_wrapper
pi@raspberrypi:/etc/cron.daily $
pi@raspberrypi:/etc/cron.daily $
pi@raspberrypi:/etc/cron.daily $
pi@raspberrypi:/etc/cron.daily $ sudo datelog ### 3605
pi@raspberrypi:/etc/cron.daily $ ### Magic!! Now sudo datelog works!!! The only thing different is the command is coming from the command line and not from a program which all of the other commands come from and work without being under /usr/local/sbin/!!! 3607
pi@raspberrypi:/etc/cron.daily $
pi@raspberrypi:/etc/cron.daily $
pi@raspberrypi:/etc/cron.daily $
pi@raspberrypi:/etc/cron.daily $ cd /home/local/www/logs ### 3613
pi@raspberrypi:/home/local/www/logs $
pi@raspberrypi:/home/local/www/logs $
pi@raspberrypi:/home/local/www/logs $ ls -al ### 3617
total 20
drwxr-xr-x 2 root www 4096 Jun 29 20:11 .
drwxr-xr-x 5 root www 4096 Jun 29 17:00 ..
-rw-r--r-- 1 nobody nogroup 920 Jun 29 20:16 thttpd_log
-rw-r--r-- 1 nobody nogroup 1628 Jun 29 20:11 thttpd_log.01
-rw-r--r-- 1 nobody nogroup 1831 Jun 29 18:52 thttpd_log.02
pi@raspberrypi:/home/local/www/logs $
pi@raspberrypi:/home/local/www/logs $
pi@raspberrypi:/home/local/www/logs $
pi@raspberrypi:/home/local/www/logs $ cat *log.02 ### 3628
::1 - - [29/Jun/2023:23:26:30 +0000] "GET / HTTP/1.1" 200 25000 "" "ELinks/0.13.2 (textmode; Linux 6.1.21+ armv6l; 94x7-2)"
::1 - - [29/Jun/2023:23:31:50 +0000] "GET /a0/ HTTP/1.1" 200 25000 "http://localhost/" "ELinks/0.13.2 (textmode; Linux 6.1.21+ armv6l; 94x16-2)"
192.168.1.187 - - [30/Jun/2023:00:29:43 +0000] "GET / HTTP/1.1" 200 25000 "" "Links (2.21; Linux 6.1.21+ armv6l; GNU C 10.2; x)"
192.168.1.187 - - [30/Jun/2023:00:29:51 +0000] "GET /a0/ HTTP/1.1" 200 25000 "http://192.168.1.187/" "Links (2.21; Linux 6.1.21+ armv6l; GNU C 10.2; x)"
192.168.1.187 - - [30/Jun/2023:00:29:57 +0000] "GET /favicon.ico HTTP/1.1" 200 533 "http://192.168.1.187/" "Links (2.21; Linux 6.1.21+ armv6l; GNU C 10.2; x)"
192.168.1.187 - - [30/Jun/2023:00:30:16 +0000] "GET /readme.txt HTTP/1.1" 200 308 "http://192.168.1.187/" "Links (2.21; Linux 6.1.21+ armv6l; GNU C 10.2; x)"
192.168.1.187 - - [30/Jun/2023:00:31:06 +0000] "GET /robots.txt HTTP/1.1" 200 27 "http://192.168.1.187/" "Links (2.21; Linux 6.1.21+ armv6l; GNU C 10.2; x)"
192.168.1.187 - - [30/Jun/2023:00:43:25 +0000] "GET / HTTP/1.0" 200 25000 "" "Links (2.21; Linux 6.1.21+ armv6l; GNU C 10.2; text)"
192.168.1.187 - - [30/Jun/2023:00:44:23 +0000] "GET /readme.txt HTTP/1.0" 200 308 "http://192.168.1.187/" "Links (2.21; Linux 6.1.21+ armv6l; GNU C 10.2; text)"
192.168.1.187 - - [30/Jun/2023:00:44:50 +0000] "GET /robots.txt HTTP/1.0" 200 27 "http://192.168.1.187/" "Links (2.21; Linux 6.1.21+ armv6l; GNU C 10.2; text)"
Thu 29 Jun 2023 06:52:37 PM MDT
18:52:37 up 6:32, 2 users, load average: 0.85, 0.55, 0.54
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
pi tty1 - 12:20 6:32m 0.80s 0.63s -bash
pi tty7 :0 12:21 6:31m 30:00 6.09s /usr/bin/lxsession -s LXDE-pi -e LXDE -w openbox-lxde-pi
pi@raspberrypi:/home/local/www/logs $
pi@raspberrypi:/home/local/www/logs $
pi@raspberrypi:/home/local/www/logs $
pi@raspberrypi:/home/local/www/logs $ cat *log.01 ### 3650
Thu 29 Jun 2023 06:52:37 PM MDT
18:52:38 up 6:32, 2 users, load average: 0.85, 0.55, 0.54
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
pi tty1 - 12:20 6:32m 0.80s 0.63s -bash
pi tty7 :0 12:21 6:31m 30:00 6.09s /usr/bin/lxsession -s LXDE-pi -e LXDE -w openbox-lxde-pi
192.168.1.216 - - [30/Jun/2023:01:24:36 +0000] "GET / HTTP/1.1" 200 25000 "" "Mozilla/5.0 (Android 12; Mobile; rv:109.0) Gecko/112.0 Firefox/112.0"
192.168.1.216 - - [30/Jun/2023:01:24:43 +0000] "GET /favicon.ico HTTP/1.1" 200 533 "http://192.168.1.187/" "Mozilla/5.0 (Android 12; Mobile; rv:109.0) Gecko/112.0 Firefox/112.0"
192.168.1.216 - - [30/Jun/2023:01:24:56 +0000] "GET /a0/ HTTP/1.1" 200 25000 "http://192.168.1.187/" "Mozilla/5.0 (Android 12; Mobile; rv:109.0) Gecko/112.0 Firefox/112.0"
192.168.1.216 - - [30/Jun/2023:01:25:10 +0000] "GET /readme.txt HTTP/1.1" 200 308 "http://192.168.1.187/" "Mozilla/5.0 (Android 12; Mobile; rv:109.0) Gecko/112.0 Firefox/112.0"
192.168.1.216 - - [30/Jun/2023:01:25:29 +0000] "GET /robots.txt HTTP/1.1" 200 27 "http://192.168.1.187/" "Mozilla/5.0 (Android 12; Mobile; rv:109.0) Gecko/112.0 Firefox/112.0"
Thu 29 Jun 2023 08:11:40 PM MDT
log rotate end, thttpd pid = PID TTY TIME CMD 16850 ? 00:03:21 thttpd
20:11:40 up 7:51, 2 users, load average: 0.58, 0.44, 0.56
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
pi tty1 - 12:20 7:51m 0.80s 0.63s -bash
pi tty7 :0 12:21 7:50m 36:11 6.62s /usr/bin/lxsession -s LXDE-pi -e LXDE -w openbox-lxde-pi
pi@raspberrypi:/home/local/www/logs $
pi@raspberrypi:/home/local/www/logs $
pi@raspberrypi:/home/local/www/logs $
pi@raspberrypi:/home/local/www/logs $ cat *log ### 3686
Thu 29 Jun 2023 08:11:40 PM MDT
old log rotate end, old thttpd pid = PID TTY TIME CMD 16850 ? 00:03:21 thttpd
log rotate new, thttpd pid = PID TTY TIME CMD 26571 ? 00:00:00 thttpd
20:11:56 up 7:51, 2 users, load average: 0.45, 0.42, 0.55
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
pi tty1 - 12:20 7:51m 0.80s 0.63s -bash
pi tty7 :0 12:21 7:51m 36:12 6.62s /usr/bin/lxsession -s LXDE-pi -e LXDE -w openbox-lxde-pi
datelog, thttpd pid = PID TTY TIME CMD 26571 ? 00:00:10 thttpd
Thu 29 Jun 2023 08:16:06 PM MDT
20:16:06 up 7:55, 2 users, load average: 1.20, 1.11, 0.83
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
pi tty1 - 12:20 7:55m 0.80s 0.63s -bash
pi tty7 :0 12:21 7:55m 36:34 6.66s /usr/bin/lxsession -s LXDE-pi -e LXDE -w openbox-lxde-pi
pi@raspberrypi:/home/local/www/logs $
pi@raspberrypi:/home/local/www/logs $
pi@raspberrypi:/home/local/www/logs $
pi@raspberrypi:/home/local/www/logs $ ### As you can see thttpd can be updated while it is still running!
pi@raspberrypi:/home/local/www/logs $
pi@raspberrypi:/home/local/www/logs $ ### While it is still running I will finish with adding more "users" to the web site.
pi@raspberrypi:/home/local/www/logs $
pi@raspberrypi:/home/local/www/logs $
pi@raspberrypi:/home/local/www/logs $
pi@raspberrypi:/home/local/www/logs $ date ### 3713
Thu 29 Jun 2023 08:21:42 PM MDT
pi@raspberrypi:/home/local/www/logs $
pi@raspberrypi:/home/local/www/logs $ # *****************************
pi@raspberrypi:/home/local/www/logs $ # *****************************
pi@raspberrypi:/home/local/www/logs $
pi@raspberrypi:/home/local/www/logs $
pi@raspberrypi:/home/local/www/logs $
pi@raspberrypi:/home/local/www/logs $ cd /home/ ### 3725
pi@raspberrypi:/home $
pi@raspberrypi:/home $
pi@raspberrypi:/home $ # Adding more Web Users, (Headings).
pi@raspberrypi:/home $
pi@raspberrypi:/home $ # Other ideas for web "users" could be: documents, downloads, games, memes, music, notices, pictures, videos, etc., just categories of what you want on your website, or what you want to share. This time we will use a different process to add only www users.
pi@raspberrypi:/home $
pi@raspberrypi:/home $
pi@raspberrypi:/home $ addgroup --help ### 3738
adduser [--home DIR] [--shell SHELL] [--no-create-home] [--uid ID]
[--firstuid ID] [--lastuid ID] [--gecos GECOS] [--ingroup GROUP | --gid ID]
[--disabled-password] [--disabled-login] [--add_extra_groups] USER
Add a normal user
adduser --system [--home DIR] [--shell SHELL] [--no-create-home] [--uid ID]
[--gecos GECOS] [--group | --ingroup GROUP | --gid ID] [--disabled-password]
[--disabled-login] [--add_extra_groups] USER
Add a system user
adduser --group [--gid ID] GROUP
addgroup [--gid ID] GROUP
Add a user group
addgroup --system [--gid ID] GROUP
Add a system group
adduser USER GROUP
Add an existing user to an existing group
general options:
--quiet | -q don't give process information to stdout
--force-badname allow usernames which do not match the
NAME_REGEX configuration variable
--help | -h usage message
--version | -v version number and copyright
--conf | -c FILE use FILE as configuration file
pi@raspberrypi:/home $
pi@raspberrypi:/home $
pi@raspberrypi:/home $
pi@raspberrypi:/home $ # This is where if you have a list of typed "users" you can just copy the "name" and then be able to paste it several times without having to re-type it, or making typing mistakes. I made the file "list.txt" in the freedom directory.
pi@raspberrypi:/home $
pi@raspberrypi:/home $
pi@raspberrypi:/home $
pi@raspberrypi:/home $
#
# Again the process:
#
# sudo adduser --ingroup www videos # (new web user "videos")
# (use a password that is different from the one for "(pi)")
# su videos # (shell to user "videos")
# cd # (change to shell home directory)
# touch .user-number # that is a period and the number all in one, (.user-number)
# makeweb
# ls -al
# exit # (exit the shell back to where you were)
#
#
# ********* Line # 3788
#
### Lines missing from 3788 to 3951 source file: 2022-07-12-thttpd-install-on-32-or-64-bit-OS.txt *******************************
### These lines overflowed the Terminal buffer **************************************
memes@raspberrypi:/home $
memes@raspberrypi:/home $
memes@raspberrypi:/home $ cd ### 3951
memes@raspberrypi:~ $
memes@raspberrypi:~ $ touch .1004 ### 3954
memes@raspberrypi:~ $
memes@raspberrypi:~ $ makeweb ### 3957
Created web directory /home/local/www/users/memes
Created symbolic link /home/memes/public_html
memes@raspberrypi:~ $
memes@raspberrypi:~ $ ls -al ### 3962
total 24
drwxr-xr-x 2 memes www 4096 Jun 29 20:55 .
drwxr-xr-x 8 root root 4096 Jun 29 20:53 ..
-rw-r--r-- 1 memes www 0 Jun 29 20:55 .1004
-rw-r--r-- 1 memes www 220 Jun 29 20:53 .bash_logout
-rw-r--r-- 1 memes www 3523 Jun 29 20:53 .bashrc
-rw-r--r-- 1 memes www 1670 Jun 29 20:53 .mkshrc
-rw-r--r-- 1 memes www 807 Jun 29 20:53 .profile
lrwxrwxrwx 1 memes www 27 Jun 29 20:55 public_html -> /home/local/www/users/memes
memes@raspberrypi:~ $
memes@raspberrypi:~ $ exit ### 3974
exit
pi@raspberrypi:/home $
pi@raspberrypi:/home $
pi@raspberrypi:/home $
pi@raspberrypi:/home $ date
Thu 29 Jun 2023 08:56:53 PM MDT
pi@raspberrypi:/home $
pi@raspberrypi:/home $ sudo adduser --ingroup www music ### sudo 3981
Adding user `music' ...
Adding new user `music' (1005) with group `www' ...
Creating home directory `/home/music' ...
Copying files from `/etc/skel' ...
New password:
Retype new password:
passwd: password updated successfully
Changing the user information for music
Enter the new value, or press ENTER for the default
Full Name []: music
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n] y
pi@raspberrypi:/home $
pi@raspberrypi:/home $ su music ### 4001
Password:
music@raspberrypi:/home $ cd ### 4005
music@raspberrypi:~ $
music@raspberrypi:~ $ touch .1005 ### 4008
music@raspberrypi:~ $
music@raspberrypi:~ $ makeweb ### 4011
Created web directory /home/local/www/users/music
Created symbolic link /home/music/public_html
music@raspberrypi:~ $
music@raspberrypi:~ $ ls -al ### 4016
total 24
drwxr-xr-x 2 music www 4096 Jun 29 20:59 .
drwxr-xr-x 9 root root 4096 Jun 29 20:57 ..
-rw-r--r-- 1 music www 0 Jun 29 20:59 .1005
-rw-r--r-- 1 music www 220 Jun 29 20:57 .bash_logout
-rw-r--r-- 1 music www 3523 Jun 29 20:57 .bashrc
-rw-r--r-- 1 music www 1670 Jun 29 20:57 .mkshrc
-rw-r--r-- 1 music www 807 Jun 29 20:57 .profile
lrwxrwxrwx 1 music www 27 Jun 29 20:59 public_html -> /home/local/www/users/music
music@raspberrypi:~ $
music@raspberrypi:~ $ exit ### 4028
exit
pi@raspberrypi:/home $
pi@raspberrypi:/home $
pi@raspberrypi:/home $ date
Thu 29 Jun 2023 09:00:52 PM MDT
pi@raspberrypi:/home $
pi@raspberrypi:/home $
pi@raspberrypi:/home $ sudo adduser --ingroup www notices ### sudo 4035
Adding user `notices' ...
Adding new user `notices' (1006) with group `www' ...
Creating home directory `/home/notices' ...
Copying files from `/etc/skel' ...
New password:
Retype new password:
passwd: password updated successfully
Changing the user information for notices
Enter the new value, or press ENTER for the default
Full Name []: notices
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n] y
pi@raspberrypi:/home $
pi@raspberrypi:/home $ su notices ### 4055
Password:
notices@raspberrypi:/home $
notices@raspberrypi:/home $ cd ### 4059
notices@raspberrypi:~ $
notices@raspberrypi:~ $ touch .1006 ### 4062
notices@raspberrypi:~ $
notices@raspberrypi:~ $ makeweb ### 4065
Created web directory /home/local/www/users/notices
Created symbolic link /home/notices/public_html
notices@raspberrypi:~ $
notices@raspberrypi:~ $ ls -al ### 4070
total 24
drwxr-xr-x 2 notices www 4096 Jun 29 21:04 .
drwxr-xr-x 10 root root 4096 Jun 29 21:01 ..
-rw-r--r-- 1 notices www 0 Jun 29 21:03 .1006
-rw-r--r-- 1 notices www 220 Jun 29 21:01 .bash_logout
-rw-r--r-- 1 notices www 3523 Jun 29 21:01 .bashrc
-rw-r--r-- 1 notices www 1670 Jun 29 21:01 .mkshrc
-rw-r--r-- 1 notices www 807 Jun 29 21:01 .profile
lrwxrwxrwx 1 notices www 29 Jun 29 21:04 public_html -> /home/local/www/users/notices
notices@raspberrypi:~ $
notices@raspberrypi:~ $ exit ### 4082
exit
pi@raspberrypi:/home $
pi@raspberrypi:/home $
pi@raspberrypi:/home $ date
Thu 29 Jun 2023 09:05:13 PM MDT
pi@raspberrypi:/home $
pi@raspberrypi:/home $
pi@raspberrypi:/home $ sudo adduser --ingroup www pictures ### sudo 4089
Adding user `pictures' ...
Adding new user `pictures' (1007) with group `www' ...
Creating home directory `/home/pictures' ...
Copying files from `/etc/skel' ...
New password:
Retype new password:
passwd: password updated successfully
Changing the user information for pictures
Enter the new value, or press ENTER for the default
Full Name []: pictures
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n] y
pi@raspberrypi:/home $
pi@raspberrypi:/home $
pi@raspberrypi:/home $ su pictures ### 4109
Password:
pictures@raspberrypi:/home $
pictures@raspberrypi:/home $ cd ### 4113
pictures@raspberrypi:~ $
pictures@raspberrypi:~ $ touch .1007 ### 4116
pictures@raspberrypi:~ $
pictures@raspberrypi:~ $ makeweb ### 4119
Created web directory /home/local/www/users/pictures
Created symbolic link /home/pictures/public_html
pictures@raspberrypi:~ $
pictures@raspberrypi:~ $ ls -al ### 4124
total 24
drwxr-xr-x 2 pictures www 4096 Jun 29 21:08 .
drwxr-xr-x 11 root root 4096 Jun 29 21:05 ..
-rw-r--r-- 1 pictures www 0 Jun 29 21:08 .1007
-rw-r--r-- 1 pictures www 220 Jun 29 21:05 .bash_logout
-rw-r--r-- 1 pictures www 3523 Jun 29 21:05 .bashrc
-rw-r--r-- 1 pictures www 1670 Jun 29 21:05 .mkshrc
-rw-r--r-- 1 pictures www 807 Jun 29 21:05 .profile
lrwxrwxrwx 1 pictures www 30 Jun 29 21:08 public_html -> /home/local/www/users/pictures
pictures@raspberrypi:~ $
pictures@raspberrypi:~ $ exit ### 4136
exit
pi@raspberrypi:/home $
pi@raspberrypi:/home $
pi@raspberrypi:/home $ date
Thu 29 Jun 2023 09:09:26 PM MDT
pi@raspberrypi:/home $
pi@raspberrypi:/home $
pi@raspberrypi:/home $ sudo adduser --ingroup www videos ### sudo 4143
Adding user `videos' ...
Adding new user `videos' (1008) with group `www' ...
Creating home directory `/home/videos' ...
Copying files from `/etc/skel' ...
New password:
Retype new password:
passwd: password updated successfully
Changing the user information for videos
Enter the new value, or press ENTER for the default
Full Name []: videos
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n] y
pi@raspberrypi:/home $
pi@raspberrypi:/home $ su videos ### 4163
Password:
videos@raspberrypi:/home $
videos@raspberrypi:/home $ cd ### 4167
videos@raspberrypi:~ $
videos@raspberrypi:~ $ touch .1008 ### 4170
videos@raspberrypi:~ $
videos@raspberrypi:~ $ makeweb ### 4173
Created web directory /home/local/www/users/videos
Created symbolic link /home/videos/public_html
videos@raspberrypi:~ $
videos@raspberrypi:~ $ ls -al ### 4178
total 24
drwxr-xr-x 2 videos www 4096 Jun 29 21:12 .
drwxr-xr-x 12 root root 4096 Jun 29 21:09 ..
-rw-r--r-- 1 videos www 0 Jun 29 21:12 .1008
-rw-r--r-- 1 videos www 220 Jun 29 21:09 .bash_logout
-rw-r--r-- 1 videos www 3523 Jun 29 21:09 .bashrc
-rw-r--r-- 1 videos www 1670 Jun 29 21:09 .mkshrc
-rw-r--r-- 1 videos www 807 Jun 29 21:09 .profile
lrwxrwxrwx 1 videos www 28 Jun 29 21:12 public_html -> /home/local/www/users/videos
videos@raspberrypi:~ $
videos@raspberrypi:~ $ exit ### 4190
exit
pi@raspberrypi:/home $
pi@raspberrypi:/home $
pi@raspberrypi:/home $
pi@raspberrypi:/home $ date
Thu 29 Jun 2023 09:13:24 PM MDT
pi@raspberrypi:/home $
pi@raspberrypi:/home $
pi@raspberrypi:/home $
pi@raspberrypi:/home $
pi@raspberrypi:/home $ ls -al ### 4197
total 48
drwxr-xr-x 12 root root 4096 Jun 29 21:09 .
drwxr-xr-x 23 root root 4096 Jun 29 14:37 ..
drwxr-xr-x 2 a0 www 4096 Jun 29 16:14 a0
drwxr-xr-x 2 documents www 4096 Jun 29 20:46 documents
drwxr-xr-x 2 downloads www 4096 Jun 29 20:52 downloads
drwxr-xr-x 5 root root 4096 Jun 29 15:49 local
drwxr-xr-x 2 memes www 4096 Jun 29 20:56 memes
drwxr-xr-x 2 music www 4096 Jun 29 21:00 music
drwxr-xr-x 2 notices www 4096 Jun 29 21:05 notices
drwxr-xr-x 22 pi pi 4096 Jun 29 20:32 pi
drwxr-xr-x 2 pictures www 4096 Jun 29 21:09 pictures
drwxr-xr-x 2 videos www 4096 Jun 29 21:13 videos
pi@raspberrypi:/home $
pi@raspberrypi:/home $
pi@raspberrypi:/home $
pi@raspberrypi:/home $
pi@raspberrypi:/home $ sudo chown -Rv a0:www a0 ### 4216
ownership of 'a0/.1001' retained as a0:www
ownership of 'a0/.bashrc' retained as a0:www
ownership of 'a0/.bash_history' retained as a0:www
ownership of 'a0/.bash_logout' retained as a0:www
ownership of 'a0/public_html' retained as a0:www
ownership of 'a0/.mkshrc' retained as a0:www
ownership of 'a0/.profile' retained as a0:www
ownership of 'a0' retained as a0:www
pi@raspberrypi:/home $
pi@raspberrypi:/home $
pi@raspberrypi:/home $
pi@raspberrypi:/home $ ls -al ### 4229
total 48
drwxr-xr-x 12 root root 4096 Jun 29 21:09 .
drwxr-xr-x 23 root root 4096 Jun 29 14:37 ..
drwxr-xr-x 2 a0 www 4096 Jun 29 16:14 a0
drwxr-xr-x 2 documents www 4096 Jun 29 20:46 documents
drwxr-xr-x 2 downloads www 4096 Jun 29 20:52 downloads
drwxr-xr-x 5 root root 4096 Jun 29 15:49 local
drwxr-xr-x 2 memes www 4096 Jun 29 20:56 memes
drwxr-xr-x 2 music www 4096 Jun 29 21:00 music
drwxr-xr-x 2 notices www 4096 Jun 29 21:05 notices
drwxr-xr-x 22 pi pi 4096 Jun 29 20:32 pi
drwxr-xr-x 2 pictures www 4096 Jun 29 21:09 pictures
drwxr-xr-x 2 videos www 4096 Jun 29 21:13 videos
pi@raspberrypi:/home $
pi@raspberrypi:/home $
pi@raspberrypi:/home $
pi@raspberrypi:/home $ cd /home/local/www/users ### 4247
pi@raspberrypi:/home/local/www/users $
pi@raspberrypi:/home/local/www/users $
pi@raspberrypi:/home/local/www/users $
pi@raspberrypi:/home/local/www/users $ ls -al ### 4252
total 52
drwxrwxr-x 10 root www 4096 Jun 29 21:12 .
drwxr-xr-x 5 root www 4096 Jun 29 17:00 ..
drwxr-xr-x 2 a0 www 4096 Jun 29 16:12 a0
drwxr-xr-x 2 documents www 4096 Jun 29 20:45 documents
drwxr-xr-x 2 downloads www 4096 Jun 29 20:50 downloads
-rw-r--r-- 1 pi pi 533 Jan 8 2020 favicon.ico
drwxr-xr-x 2 memes www 4096 Jun 29 20:55 memes
drwxr-xr-x 2 music www 4096 Jun 29 20:59 music
drwxr-xr-x 2 notices www 4096 Jun 29 21:04 notices
drwxr-xr-x 2 pictures www 4096 Jun 29 21:08 pictures
-rw-r--r-- 1 pi pi 308 Aug 13 2021 readme.txt
-rw-r--r-- 1 pi pi 27 Jan 8 2020 robots.txt
drwxr-xr-x 2 videos www 4096 Jun 29 21:12 videos
pi@raspberrypi:/home/local/www/users $
pi@raspberrypi:/home/local/www/users $
pi@raspberrypi:/home/local/www/users $
pi@raspberrypi:/home/local/www/users $ date ### 4271
Thu 29 Jun 2023 09:19:41 PM MDT
pi@raspberrypi:/home/local/www/users $
pi@raspberrypi:/home/local/www/users $
pi@raspberrypi:/home/local/www/users $ df -H ### 4277
Filesystem Size Used Avail Use% Mounted on
/dev/root 31G 26G 2.9G 91% /
devtmpfs 91M 0 91M 0% /dev
tmpfs 226M 0 226M 0% /dev/shm
tmpfs 91M 1.2M 89M 2% /run
tmpfs 5.3M 4.1k 5.3M 1% /run/lock
/dev/mmcblk0p1 265M 53M 212M 20% /boot
tmpfs 46M 46k 45M 1% /run/user/1000
pi@raspberrypi:/home/local/www/users $
pi@raspberrypi:/home/local/www/users $
pi@raspberrypi:/home/local/www/users $
pi@raspberrypi:/home/local/www/users $ date ### 4290
Thu 29 Jun 2023 09:20:36 PM MDT
pi@raspberrypi:/home/local/www/users $
pi@raspberrypi:/home/local/www/users $
pi@raspberrypi:/home/local/www/users $ cd ### 4296
pi@raspberrypi:~ $
pi@raspberrypi:~ $
pi@raspberrypi:~ $ ps -e ### 4300
PID TTY TIME CMD
1 ? 00:00:09 systemd
2 ? 00:00:00 kthreadd
3 ? 00:00:00 slub_flushwq
4 ? 00:00:00 netns
8 ? 00:00:00 mm_percpu_wq
9 ? 00:00:00 rcu_tasks_rude_kthread
10 ? 00:00:00 rcu_tasks_trace_kthread
11 ? 00:00:18 ksoftirqd/0
12 ? 00:00:00 kdevtmpfs
13 ? 00:00:00 inet_frag_wq
14 ? 00:00:00 kauditd
15 ? 00:00:00 khungtaskd
17 ? 00:00:00 oom_reaper
18 ? 00:00:00 writeback
20 ? 00:00:06 kcompactd0
21 ? 00:00:00 kintegrityd
22 ? 00:00:00 kblockd
23 ? 00:00:00 blkcg_punt_bio
24 ? 00:00:00 watchdogd
26 ? 00:00:00 rpciod
27 ? 00:00:00 xprtiod
28 ? 00:00:04 kswapd0
29 ? 00:00:00 nfsiod
33 ? 00:00:00 hwrng
34 ? 00:00:00 iscsi_conn_clea
35 ? 00:00:00 dwc_otg
36 ? 00:00:00 DWC Notificatio
38 ? 00:00:06 vchiq-slot/0
39 ? 00:00:00 vchiq-recy/0
40 ? 00:00:00 vchiq-sync/0
41 ? 00:00:00 zswap-shrink
59 ? 00:00:00 irq/160-usb-001:003:01
61 ? 00:00:00 kworker/u3:0
62 ? 00:00:00 mmc_complete
64 ? 00:00:00 jbd2/mmcblk0p2-8
65 ? 00:00:00 ext4-rsv-conver
67 ? 00:00:00 mld
68 ? 00:00:00 ipv6_addrconf
108 ? 00:00:04 systemd-journal
129 ? 00:00:02 systemd-udevd
147 ? 00:00:00 vchiq-keep/0
148 ? 00:00:00 SMIO
174 ? 00:00:00 mmal-vchiq
175 ? 00:00:00 mmal-vchiq
177 ? 00:00:00 mmal-vchiq
178 ? 00:00:00 mmal-vchiq
179 ? 00:00:00 mmal-vchiq
180 ? 00:00:00 mmal-vchiq
181 ? 00:00:00 mmal-vchiq
211 ? 00:00:01 systemd-timesyn
244 ? 00:00:00 avahi-daemon
245 ? 00:00:00 cron
246 ? 00:00:05 dbus-daemon
247 ? 00:00:00 avahi-daemon
257 ? 00:00:01 polkitd
284 ? 00:00:00 rsyslogd
299 ? 00:00:01 systemd-logind
300 ? 00:01:10 thd
304 ? 00:00:01 udisksd
310 ? 00:00:00 wpa_supplicant
350 ? 00:00:01 ModemManager
352 ? 00:00:00 cupsd
354 ? 00:00:02 epmd
356 ? 00:00:00 rngd
374 ? 00:00:00 cfg80211
375 ? 00:00:00 dhcpcd
382 ? 00:00:00 cups-browsed
385 ? 00:00:00 lightdm
399 tty1 00:00:00 login
400 ? 00:00:00 agetty
427 ? 00:00:01 systemd
431 ? 00:00:00 cec-vc4-hdmi
433 ? 00:00:00 irq/64-vc4 hdmi cec
451 ? 00:00:00 (sd-pam)
454 ? 00:00:00 card0-crtc0
459 ? 00:00:00 card0-crtc1
460 ? 00:00:00 card0-crtc2
461 ? 00:00:00 card0-crtc3
462 tty7 00:42:03 Xorg
527 ? 00:00:00 pipewire
528 ? 00:00:03 pulseaudio
531 tty1 00:00:00 bash
536 ? 00:00:01 rtkit-daemon
555 ? 00:00:03 dbus-daemon
556 ? 00:00:02 pipewire-media-
571 ? 00:00:00 lightdm
582 ? 00:00:07 lxsession
634 ? 00:00:00 ssh-agent
670 ? 00:00:00 gvfsd
675 ? 00:00:00 gvfsd-fuse
685 ? 00:00:49 openbox
686 ? 00:00:00 lxpolkit
688 ? 01:11:01 lxpanel
691 ? 00:01:15 pcmanfm
698 ? 00:00:10 applet.py
713 ? 00:00:00 ssh-agent
718 ? 00:00:00 xcompmgr
723 ? 00:00:00 agent
779 ? 00:00:00 gvfs-udisks2-vo
785 ? 00:00:00 menu-cached
791 ? 00:00:00 gvfs-mtp-volume
795 ? 00:00:04 gvfs-afc-volume
800 ? 00:00:00 gvfs-gphoto2-vo
804 ? 00:00:00 gvfs-goa-volume
853 ? 00:00:00 gvfsd-trash
897 ? 00:01:10 packagekitd
964 ? 00:00:00 kworker/0:1H-mmc_complete
1030 ? 00:01:47 lxterminal
1079 pts/0 00:00:00 bash
1137 ? 00:00:00 xfconfd
1183 ? 00:00:00 dconf-service
1507 ? 00:00:00 kworker/u2:0-events_unbound
1635 ? 00:00:00 kworker/0:0H-kblockd
1997 ? 00:00:00 gvfsd-network
2006 ? 00:00:02 gvfsd-smb-brows
2025 ? 00:00:00 gvfsd-dnssd
2166 ? 00:00:00 kworker/0:2-events_freezable
2398 ? 00:00:00 kworker/0:2H
2795 ? 00:00:00 kworker/0:0-events_power_efficient
2896 pts/1 00:00:00 ps
3928 pts/2 00:00:00 bash
7562 pts/3 00:00:00 bash
9529 ? 00:45:02 geany
9576 pts/1 00:00:04 bash
13122 ? 00:16:15 mousepad
13283 pts/1 00:00:00 thttpd_wrapper
18469 ? 00:00:00 gvfsd-metadata
26571 ? 00:02:58 thttpd
29347 ? 00:00:04 links2
31411 ? 00:00:01 kworker/u2:2-events_unbound
31442 ? 00:00:02 kworker/0:1-events
pi@raspberrypi:~ $
pi@raspberrypi:~ $
pi@raspberrypi:~ $
pi@raspberrypi:~ $ date ### 4489
Thu 29 Jun 2023 09:22:21 PM MDT
pi@raspberrypi:~ $
pi@raspberrypi:~ $ df -H ### 4495
Filesystem Size Used Avail Use% Mounted on
/dev/root 31G 26G 2.9G 91% /
devtmpfs 91M 0 91M 0% /dev
tmpfs 226M 0 226M 0% /dev/shm
tmpfs 91M 1.2M 89M 2% /run
tmpfs 5.3M 4.1k 5.3M 1% /run/lock
/dev/mmcblk0p1 265M 53M 212M 20% /boot
tmpfs 46M 46k 45M 1% /run/user/1000
pi@raspberrypi:~ $
pi@raspberrypi:~ $
pi@raspberrypi:~ $ ls -al ### This is to check if anything got added here like a touch number or the public_html symbolic link. 4508
total 6892
drwxr-xr-x 22 pi pi 4096 Jun 29 20:32 .
drwxr-xr-x 12 root root 4096 Jun 29 21:09 ..
-rw-r--r-- 1 pi pi 646 Jun 29 17:42 2023-06-29-ELinks-a0.txt
-rw-r--r-- 1 pi pi 123091 Jun 29 20:32 2023-06-29-Raspberry-Pi-Model-B-Rev-2--RAM-512-MB
-rw------- 1 pi pi 1244 Jun 29 15:18 .bash_history
-rw-r--r-- 1 pi pi 220 Jan 27 2022 .bash_logout
-rw-r--r-- 1 pi pi 3523 Jan 27 2022 .bashrc
drwxr-xr-x 2 pi pi 4096 Jan 27 2022 Bookshelf
drwxr-xr-x 9 pi pi 4096 Jun 28 16:03 .cache
drwx------ 18 pi pi 4096 Jun 29 12:27 .config
drwxr-xr-x 2 pi pi 4096 Jun 28 15:56 Desktop
drwx------ 2 pi pi 4096 Jun 28 17:59 .dillo
drwxr-xr-x 2 pi pi 4096 Jun 28 15:57 Documents
drwxr-xr-x 3 pi pi 4096 Jul 19 2022 Downloads
drwx------ 2 pi pi 4096 Jun 29 17:37 .elinks
drwx------ 3 pi pi 4096 Jun 28 16:54 .fltk
drwxr-xr-x 9 pi pi 4096 Jul 22 2022 freedom
drwxr-xr-x 7 pi pi 4096 Jun 14 2022 freedom-old
-rw-r--r-- 1 pi pi 6805716 Jun 28 17:32 freedom.zip
drwx------ 2 pi pi 4096 Jun 29 20:34 .links2
drwxr-xr-x 3 pi pi 4096 Jan 27 2022 .local
drwxr-xr-x 2 pi pi 4096 Jan 27 2022 Music
drwxr-xr-x 2 pi pi 4096 Jan 27 2022 Pictures
drwx------ 3 pi pi 4096 Jul 19 2022 .pki
drwx------ 4 pi pi 4096 Jun 28 15:51 .pp_backup
-rw-r--r-- 1 pi pi 807 Jan 27 2022 .profile
drwxr-xr-x 2 pi pi 4096 Jan 27 2022 Public
drwxr-xr-x 2 pi pi 4096 Jan 27 2022 Templates
drwxr-xr-x 2 pi pi 4096 Jan 27 2022 Videos
-rw------- 1 pi pi 56 Jun 29 12:21 .Xauthority
-rw------- 1 pi pi 2522 Jun 29 12:21 .xsession-errors
-rw------- 1 pi pi 2489 Jun 29 11:26 .xsession-errors.old
pi@raspberrypi:~ $
pi@raspberrypi:~ $
pi@raspberrypi:~ $
### partial ps -e follows:
9576 pts/1 00:00:04 bash
13122 ? 00:16:15 mousepad
13283 pts/1 00:00:00 thttpd_wrapper
18469 ? 00:00:00 gvfsd-metadata
26571 ? 00:02:58 thttpd
29347 ? 00:00:04 links2
31411 ? 00:00:01 kworker/u2:2-events_unbound
31442 ? 00:00:02 kworker/0:1-events
pi@raspberrypi:~ $
pi@raspberrypi:~ $
### Notice the wrapper is still running at 13283 while thttpd is at 26571 and it should show up in the log files when the PID's were changed.
# Stop the computer, then start the computer to see where "thttpd_wrapper" ends up, by using ps -e, as the computer loads from scratch! 4585
# *****************************
pi@raspberrypi:~ $ w
21:45:48 up 3 min, 2 users, load average: 2.87, 2.32, 1.02
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
pi tty1 - 21:42 3:24 0.81s 0.64s -bash
pi tty7 :0 21:43 3:10 5.61s 0.81s /usr/bin/lxsess
pi@raspberrypi:~ $ df -H
Filesystem Size Used Avail Use% Mounted on
/dev/root 31G 26G 2.9G 91% /
devtmpfs 91M 0 91M 0% /dev
tmpfs 226M 0 226M 0% /dev/shm
tmpfs 91M 1.1M 89M 2% /run
tmpfs 5.3M 4.1k 5.3M 1% /run/lock
/dev/mmcblk0p1 265M 53M 212M 20% /boot
tmpfs 46M 33k 45M 1% /run/user/1000
pi@raspberrypi:~ $ cd /home/
pi@raspberrypi:/home $ ls -al
total 48
drwxr-xr-x 12 root root 4096 Jun 29 21:09 .
drwxr-xr-x 23 root root 4096 Jun 29 14:37 ..
drwxr-xr-x 2 a0 www 4096 Jun 29 16:14 a0
drwxr-xr-x 2 documents www 4096 Jun 29 20:46 documents
drwxr-xr-x 2 downloads www 4096 Jun 29 20:52 downloads
drwxr-xr-x 5 root root 4096 Jun 29 15:49 local
drwxr-xr-x 2 memes www 4096 Jun 29 20:56 memes
drwxr-xr-x 2 music www 4096 Jun 29 21:00 music
drwxr-xr-x 2 notices www 4096 Jun 29 21:05 notices
drwxr-xr-x 22 pi pi 4096 Jun 29 21:43 pi
drwxr-xr-x 2 pictures www 4096 Jun 29 21:09 pictures
drwxr-xr-x 2 videos www 4096 Jun 29 21:13 videos
pi@raspberrypi:/home $
pi@raspberrypi:/home $
pi@raspberrypi:/home $ du -bd4
10956 ./a0
10443 ./memes
10446 ./pictures
10444 ./videos
10443 ./music
10447 ./documents
35958780 ./pi/Bookshelf
4096 ./pi/Templates
4096 ./pi/Videos
4190 ./pi/.fltk/fltk.org
8286 ./pi/.fltk
70075 ./pi/.pki/nssdb
74171 ./pi/.pki
4466 ./pi/.config/autostart
4494 ./pi/.config/openbox
4330 ./pi/.config/qt5ct
29672 ./pi/.config/pulse
4096 ./pi/.config/chromium/WidevineCdm
4096 ./pi/.config/chromium/OptimizationGuidePredictionModels
217017 ./pi/.config/chromium/AutofillStates
8035744 ./pi/.config/chromium/OnDeviceHeadSuggestModel
22618 ./pi/.config/chromium/MEIPreload
4096 ./pi/.config/chromium/NativeMessagingHosts
322964 ./pi/.config/chromium/DesktopSharingHub
13965 ./pi/.config/chromium/OriginTrials
15960 ./pi/.config/chromium/FirstPartySetsPreloaded
1313090 ./pi/.config/chromium/hyphen-data
4096 ./pi/.config/chromium/FileTypePolicies
4096 ./pi/.config/chromium/Safe Browsing
26747 ./pi/.config/chromium/Crowd Deny
5845360 ./pi/.config/chromium/GrShaderCache
4096 ./pi/.config/chromium/TrustTokenKeyCommitments
4096 ./pi/.config/chromium/Floc
80745 ./pi/.config/chromium/SafetyTips
108634 ./pi/.config/chromium/AutofillRegex
299589 ./pi/.config/chromium/Subresource Filter
565616 ./pi/.config/chromium/ShaderCache
218062 ./pi/.config/chromium/PKIMetadata
807561 ./pi/.config/chromium/ZxcvbnData
456064 ./pi/.config/chromium/Dictionaries
4096 ./pi/.config/chromium/ClientSidePhishing
38501 ./pi/.config/chromium/CertificateRevocation
17011 ./pi/.config/chromium/SSLErrorAssistant
107752 ./pi/.config/chromium/Crash Reports
17597610 ./pi/.config/chromium/Default
15191 ./pi/.config/chromium/OptimizationHints
40364738 ./pi/.config/chromium
4471 ./pi/.config/lxsession/LXDE-pi
8567 ./pi/.config/lxsession
4138 ./pi/.config/gtk-3.0
4096 ./pi/.config/geany/tags
4354 ./pi/.config/geany/filedefs
8405 ./pi/.config/geany/templates
4096 ./pi/.config/geany/colorschemes
30782 ./pi/.config/geany
4576 ./pi/.config/pcmanfm/LXDE-pi
8672 ./pi/.config/pcmanfm
10646 ./pi/.config/Mousepad
6267 ./pi/.config/dconf
10863 ./pi/.config/lxpanel/LXDE-pi
14959 ./pi/.config/lxpanel
5550 ./pi/.config/lxterminal
4096 ./pi/.config/pipewire-media-session
4588 ./pi/.config/xarchiver
8192 ./pi/.config/xfce4/xfconf
12288 ./pi/.config/xfce4
40522987 ./pi/.config
7708 ./pi/Desktop
4494 ./pi/.pp_backup/.config/openbox
4330 ./pi/.pp_backup/.config/qt5ct
8567 ./pi/.pp_backup/.config/lxsession
4138 ./pi/.pp_backup/.config/gtk-3.0
8616 ./pi/.pp_backup/.config/pcmanfm
14888 ./pi/.pp_backup/.config/lxpanel
5548 ./pi/.pp_backup/.config/lxterminal
54677 ./pi/.pp_backup/.config
16608 ./pi/.pp_backup/.local/share
20704 ./pi/.pp_backup/.local
79477 ./pi/.pp_backup
59020 ./pi/.cache/menus
3159312 ./pi/.cache/fontconfig
4096 ./pi/.cache/openbox/sessions
8277 ./pi/.cache/openbox
4096 ./pi/.cache/thumbnails/large
4096 ./pi/.cache/thumbnails/normal
12288 ./pi/.cache/thumbnails
1314824 ./pi/.cache/mesa_shader_cache
1992566 ./pi/.cache/chromium/Default
1996662 ./pi/.cache/chromium
16890 ./pi/.cache/lxsession/LXDE-pi
20986 ./pi/.cache/lxsession
6575465 ./pi/.cache
4096 ./pi/Public
4109 ./pi/.dillo
12353 ./pi/freedom-old/thttpd-extras/vhost-DN-test
24275 ./pi/freedom-old/thttpd-extras
11056 ./pi/freedom-old/os-debug
4161 ./pi/freedom-old/vhost-DN-test/192.168.1.128
4096 ./pi/freedom-old/vhost-DN-test/a0
12353 ./pi/freedom-old/vhost-DN-test
237507 ./pi/freedom-old/HTML Sampler_files/ads_data
4096 ./pi/freedom-old/HTML Sampler_files/aframe_data
932967 ./pi/freedom-old/HTML Sampler_files
7914 ./pi/freedom-old/Acme.com/Other Web Resources_files
7914 ./pi/freedom-old/Acme.com/ssi man page_files
852242 ./pi/freedom-old/Acme.com/thttpd-2.29
101698 ./pi/freedom-old/Acme.com/thttpd man page_files
7914 ./pi/freedom-old/Acme.com/makeweb man page_files
114800 ./pi/freedom-old/Acme.com/Web Server Comparisons_files
544619 ./pi/freedom-old/Acme.com/thttpd-2.29-home
544553 ./pi/freedom-old/Acme.com/thttpd-2.29-original
9920 ./pi/freedom-old/Acme.com/http_load_files
927311 ./pi/freedom-old/Acme.com/thttpd notes_files
932967 ./pi/freedom-old/Acme.com/HTML Sampler_files
7914 ./pi/freedom-old/Acme.com/syslogtocern man page_files
7914 ./pi/freedom-old/Acme.com/htpasswd man page_files
924810 ./pi/freedom-old/Acme.com/Configuration Options_files
7914 ./pi/freedom-old/Acme.com/redirect man page_files
903873 ./pi/freedom-old/Acme.com/ACME Laboratories_files
7769 ./pi/freedom-old/Acme.com/acme.com's hardware_files
7914 ./pi/freedom-old/Acme.com/Auxiliary Programs_files
1983911 ./pi/freedom-old/Acme.com/old-thttpd-2.29
15304 ./pi/freedom-old/Acme.com/thttpd_files
8310959 ./pi/freedom-old/Acme.com
18775563 ./pi/freedom-old
4096 ./pi/Music
8181 ./pi/.links2
74829 ./pi/Downloads/http_load-09Mar2016
159552 ./pi/Downloads
4096 ./pi/.local/share/applications
36928 ./pi/.local/share/gvfs-metadata
12512 ./pi/.local/share/themes
4096 ./pi/.local/share/desktop-directories
65452 ./pi/.local/share
69548 ./pi/.local
7708 ./pi/Documents
4182 ./pi/.elinks
4096 ./pi/Pictures
16444 ./pi/freedom/thttpd-extras/vhost-DN-test
28366 ./pi/freedom/thttpd-extras
11056 ./pi/freedom/os-debug
20984510 ./pi/freedom/2022-07-13-Pi-Model-B-Rev-2
8252 ./pi/freedom/vhost-DN-test/192.168.1.128
4096 ./pi/freedom/vhost-DN-test/a0
16444 ./pi/freedom/vhost-DN-test
237507 ./pi/freedom/HTML Sampler_files/ads_data
4096 ./pi/freedom/HTML Sampler_files/aframe_data
932967 ./pi/freedom/HTML Sampler_files
7914 ./pi/freedom/Acme.com/Other Web Resources_files
7914 ./pi/freedom/Acme.com/ssi man page_files
852234 ./pi/freedom/Acme.com/thttpd-2.29
101698 ./pi/freedom/Acme.com/thttpd man page_files
7914 ./pi/freedom/Acme.com/makeweb man page_files
114800 ./pi/freedom/Acme.com/Web Server Comparisons_files
544619 ./pi/freedom/Acme.com/thttpd-2.29-home
544553 ./pi/freedom/Acme.com/thttpd-2.29-original
9920 ./pi/freedom/Acme.com/http_load_files
927311 ./pi/freedom/Acme.com/thttpd notes_files
932967 ./pi/freedom/Acme.com/HTML Sampler_files
7914 ./pi/freedom/Acme.com/syslogtocern man page_files
7914 ./pi/freedom/Acme.com/htpasswd man page_files
924810 ./pi/freedom/Acme.com/Configuration Options_files
7914 ./pi/freedom/Acme.com/redirect man page_files
903873 ./pi/freedom/Acme.com/ACME Laboratories_files
7769 ./pi/freedom/Acme.com/acme.com's hardware_files
7914 ./pi/freedom/Acme.com/Auxiliary Programs_files
1983911 ./pi/freedom/Acme.com/old-thttpd-2.29
15304 ./pi/freedom/Acme.com/thttpd_files
8310951 ./pi/freedom/Acme.com
20985865 ./pi/freedom/2022-07-13-Pi-Model-B-Plus-Rev-2-1
52374784 ./pi/freedom
161633187 ./pi
10446 ./notices
10447 ./downloads
16444 ./local/sbin/thttpd-extras/vhost-DN-test
28366 ./local/sbin/thttpd-extras
11056 ./local/sbin/os-debug
165609 ./local/sbin
4096 ./local/www/users/a0
4096 ./local/www/users/memes
4096 ./local/www/users/pictures
4096 ./local/www/users/videos
4096 ./local/www/users/music
4096 ./local/www/users/documents
4096 ./local/www/users/notices
4096 ./local/www/users/downloads
37732 ./local/www/users
8475 ./local/www/logs
38948 ./local/www/cgi-bin
90253 ./local/www
39573 ./local/man/man8
6145 ./local/man/man1
49814 ./local/man
309772 ./local
162031127 .
pi@raspberrypi:/home $ cd local/www/
pi@raspberrypi:/home/local/www $ ls -al
total 28
drwxr-xr-x 5 root www 4096 Jun 29 17:00 .
drwxr-xr-x 5 root root 4096 Jun 29 15:49 ..
drwxr-xr-x 2 root www 4096 Jun 29 15:49 cgi-bin
drwxr-xr-x 2 root www 4096 Jun 29 20:11 logs
-rwxr-xr-- 1 pi pi 501 Jun 7 2022 thttpd_config
-r-xr-xr-- 1 pi pi 501 Jun 7 2022 thttpd_config~
drwxrwxr-x 10 root www 4096 Jun 29 21:12 users
pi@raspberrypi:/home/local/www $ du -bd4
4096 ./users/a0
4096 ./users/memes
4096 ./users/pictures
4096 ./users/videos
4096 ./users/music
4096 ./users/documents
4096 ./users/notices
4096 ./users/downloads
37732 ./users
8475 ./logs
38948 ./cgi-bin
90253 .
pi@raspberrypi:/home/local/www $ cd logs/
pi@raspberrypi:/home/local/www/logs $ ls -al
total 20
drwxr-xr-x 2 root www 4096 Jun 29 20:11 .
drwxr-xr-x 5 root www 4096 Jun 29 17:00 ..
-rw-r--r-- 1 nobody nogroup 920 Jun 29 20:16 thttpd_log
-rw-r--r-- 1 nobody nogroup 1628 Jun 29 20:11 thttpd_log.01
-rw-r--r-- 1 nobody nogroup 1831 Jun 29 18:52 thttpd_log.02
pi@raspberrypi:/home/local/www/logs $
pi@raspberrypi:/home/local/www/logs $
pi@raspberrypi:/home/local/www/logs $ cat *log.02
::1 - - [29/Jun/2023:23:26:30 +0000] "GET / HTTP/1.1" 200 25000 "" "ELinks/0.13.2 (textmode; Linux 6.1.21+ armv6l; 94x7-2)"
::1 - - [29/Jun/2023:23:31:50 +0000] "GET /a0/ HTTP/1.1" 200 25000 "http://localhost/" "ELinks/0.13.2 (textmode; Linux 6.1.21+ armv6l; 94x16-2)"
192.168.1.187 - - [30/Jun/2023:00:29:43 +0000] "GET / HTTP/1.1" 200 25000 "" "Links (2.21; Linux 6.1.21+ armv6l; GNU C 10.2; x)"
192.168.1.187 - - [30/Jun/2023:00:29:51 +0000] "GET /a0/ HTTP/1.1" 200 25000 "http://192.168.1.187/" "Links (2.21; Linux 6.1.21+ armv6l; GNU C 10.2; x)"
192.168.1.187 - - [30/Jun/2023:00:29:57 +0000] "GET /favicon.ico HTTP/1.1" 200 533 "http://192.168.1.187/" "Links (2.21; Linux 6.1.21+ armv6l; GNU C 10.2; x)"
192.168.1.187 - - [30/Jun/2023:00:30:16 +0000] "GET /readme.txt HTTP/1.1" 200 308 "http://192.168.1.187/" "Links (2.21; Linux 6.1.21+ armv6l; GNU C 10.2; x)"
192.168.1.187 - - [30/Jun/2023:00:31:06 +0000] "GET /robots.txt HTTP/1.1" 200 27 "http://192.168.1.187/" "Links (2.21; Linux 6.1.21+ armv6l; GNU C 10.2; x)"
192.168.1.187 - - [30/Jun/2023:00:43:25 +0000] "GET / HTTP/1.0" 200 25000 "" "Links (2.21; Linux 6.1.21+ armv6l; GNU C 10.2; text)"
192.168.1.187 - - [30/Jun/2023:00:44:23 +0000] "GET /readme.txt HTTP/1.0" 200 308 "http://192.168.1.187/" "Links (2.21; Linux 6.1.21+ armv6l; GNU C 10.2; text)"
192.168.1.187 - - [30/Jun/2023:00:44:50 +0000] "GET /robots.txt HTTP/1.0" 200 27 "http://192.168.1.187/" "Links (2.21; Linux 6.1.21+ armv6l; GNU C 10.2; text)"
Thu 29 Jun 2023 06:52:37 PM MDT
18:52:37 up 6:32, 2 users, load average: 0.85, 0.55, 0.54
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
pi tty1 - 12:20 6:32m 0.80s 0.63s -bash
pi tty7 :0 12:21 6:31m 30:00 6.09s /usr/bin/lxsession -s LXDE-pi -e LXDE -w openbox-lxde-pi
pi@raspberrypi:/home/local/www/logs $
pi@raspberrypi:/home/local/www/logs $
pi@raspberrypi:/home/local/www/logs $
pi@raspberrypi:/home/local/www/logs $ cat *log.01
Thu 29 Jun 2023 06:52:37 PM MDT
18:52:38 up 6:32, 2 users, load average: 0.85, 0.55, 0.54
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
pi tty1 - 12:20 6:32m 0.80s 0.63s -bash
pi tty7 :0 12:21 6:31m 30:00 6.09s /usr/bin/lxsession -s LXDE-pi -e LXDE -w openbox-lxde-pi
192.168.1.216 - - [30/Jun/2023:01:24:36 +0000] "GET / HTTP/1.1" 200 25000 "" "Mozilla/5.0 (Android 12; Mobile; rv:109.0) Gecko/112.0 Firefox/112.0"
192.168.1.216 - - [30/Jun/2023:01:24:43 +0000] "GET /favicon.ico HTTP/1.1" 200 533 "http://192.168.1.187/" "Mozilla/5.0 (Android 12; Mobile; rv:109.0) Gecko/112.0 Firefox/112.0"
192.168.1.216 - - [30/Jun/2023:01:24:56 +0000] "GET /a0/ HTTP/1.1" 200 25000 "http://192.168.1.187/" "Mozilla/5.0 (Android 12; Mobile; rv:109.0) Gecko/112.0 Firefox/112.0"
192.168.1.216 - - [30/Jun/2023:01:25:10 +0000] "GET /readme.txt HTTP/1.1" 200 308 "http://192.168.1.187/" "Mozilla/5.0 (Android 12; Mobile; rv:109.0) Gecko/112.0 Firefox/112.0"
192.168.1.216 - - [30/Jun/2023:01:25:29 +0000] "GET /robots.txt HTTP/1.1" 200 27 "http://192.168.1.187/" "Mozilla/5.0 (Android 12; Mobile; rv:109.0) Gecko/112.0 Firefox/112.0"
Thu 29 Jun 2023 08:11:40 PM MDT
log rotate end, thttpd pid = PID TTY TIME CMD 16850 ? 00:03:21 thttpd
20:11:40 up 7:51, 2 users, load average: 0.58, 0.44, 0.56
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
pi tty1 - 12:20 7:51m 0.80s 0.63s -bash
pi tty7 :0 12:21 7:50m 36:11 6.62s /usr/bin/lxsession -s LXDE-pi -e LXDE -w openbox-lxde-pi
pi@raspberrypi:/home/local/www/logs $
pi@raspberrypi:/home/local/www/logs $
pi@raspberrypi:/home/local/www/logs $
pi@raspberrypi:/home/local/www/logs $ cat *log
Thu 29 Jun 2023 08:11:40 PM MDT
old log rotate end, old thttpd pid = PID TTY TIME CMD 16850 ? 00:03:21 thttpd
log rotate new, thttpd pid = PID TTY TIME CMD 26571 ? 00:00:00 thttpd
20:11:56 up 7:51, 2 users, load average: 0.45, 0.42, 0.55
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
pi tty1 - 12:20 7:51m 0.80s 0.63s -bash
pi tty7 :0 12:21 7:51m 36:12 6.62s /usr/bin/lxsession -s LXDE-pi -e LXDE -w openbox-lxde-pi
datelog, thttpd pid = PID TTY TIME CMD 26571 ? 00:00:10 thttpd
Thu 29 Jun 2023 08:16:06 PM MDT
20:16:06 up 7:55, 2 users, load average: 1.20, 1.11, 0.83
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
pi tty1 - 12:20 7:55m 0.80s 0.63s -bash
pi tty7 :0 12:21 7:55m 36:34 6.66s /usr/bin/lxsession -s LXDE-pi -e LXDE -w openbox-lxde-pi
pi@raspberrypi:/home/local/www/logs $
pi@raspberrypi:/home/local/www/logs $
pi@raspberrypi:/home/local/www/logs $
pi@raspberrypi:/home/local/www/logs $ sudo datelog
pi@raspberrypi:/home/local/www/logs $
pi@raspberrypi:/home/local/www/logs $
pi@raspberrypi:/home/local/www/logs $ cat *log
Thu 29 Jun 2023 08:11:40 PM MDT
old log rotate end, old thttpd pid = PID TTY TIME CMD 16850 ? 00:03:21 thttpd
log rotate new, thttpd pid = PID TTY TIME CMD 26571 ? 00:00:00 thttpd
20:11:56 up 7:51, 2 users, load average: 0.45, 0.42, 0.55
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
pi tty1 - 12:20 7:51m 0.80s 0.63s -bash
pi tty7 :0 12:21 7:51m 36:12 6.62s /usr/bin/lxsession -s LXDE-pi -e LXDE -w openbox-lxde-pi
datelog, thttpd pid = PID TTY TIME CMD 26571 ? 00:00:10 thttpd
Thu 29 Jun 2023 08:16:06 PM MDT
20:16:06 up 7:55, 2 users, load average: 1.20, 1.11, 0.83
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
pi tty1 - 12:20 7:55m 0.80s 0.63s -bash
pi tty7 :0 12:21 7:55m 36:34 6.66s /usr/bin/lxsession -s LXDE-pi -e LXDE -w openbox-lxde-pi
datelog, thttpd pid = PID TTY TIME CMD 372 ? 00:00:10 thttpd
Thu 29 Jun 2023 09:50:52 PM MDT
21:50:52 up 8 min, 2 users, load average: 0.25, 0.96, 0.79
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
pi tty1 - 21:42 8:28 0.81s 0.64s -bash
pi tty7 :0 21:43 8:14 20.45s 0.81s /usr/bin/lxsession -s LXDE-pi -e LXDE -w openbox-lxde-pi
pi@raspberrypi:/home/local/www/logs $
pi@raspberrypi:/home/local/www/logs $
pi@raspberrypi:/home/local/www/logs $ ps -e
PID TTY TIME CMD
1 ? 00:00:08 systemd
2 ? 00:00:00 kthreadd
3 ? 00:00:00 slub_flushwq
4 ? 00:00:00 netns
7 ? 00:00:02 kworker/u2:0-events_unbound
8 ? 00:00:00 mm_percpu_wq
9 ? 00:00:00 rcu_tasks_rude_kthread
10 ? 00:00:00 rcu_tasks_trace_kthread
11 ? 00:00:00 ksoftirqd/0
12 ? 00:00:00 kdevtmpfs
13 ? 00:00:00 inet_frag_wq
14 ? 00:00:00 kauditd
15 ? 00:00:00 khungtaskd
17 ? 00:00:00 oom_reaper
18 ? 00:00:00 writeback
19 ? 00:00:01 kworker/u2:2-events_unbound
20 ? 00:00:00 kcompactd0
21 ? 00:00:00 kintegrityd
22 ? 00:00:00 kblockd
23 ? 00:00:00 blkcg_punt_bio
24 ? 00:00:00 watchdogd
25 ? 00:00:00 kworker/0:1-events_power_efficient
26 ? 00:00:00 rpciod
27 ? 00:00:00 xprtiod
28 ? 00:00:01 kswapd0
29 ? 00:00:00 nfsiod
33 ? 00:00:00 hwrng
34 ? 00:00:00 iscsi_conn_clea
35 ? 00:00:00 dwc_otg
36 ? 00:00:00 DWC Notificatio
37 ? 00:00:01 kworker/0:2-events
38 ? 00:00:00 vchiq-slot/0
39 ? 00:00:00 vchiq-recy/0
40 ? 00:00:00 vchiq-sync/0
41 ? 00:00:00 zswap-shrink
59 ? 00:00:00 irq/160-usb-001:003:01
61 ? 00:00:00 kworker/u3:0
62 ? 00:00:00 mmc_complete
63 ? 00:00:03 kworker/0:1H-kblockd
64 ? 00:00:00 jbd2/mmcblk0p2-8
65 ? 00:00:00 ext4-rsv-conver
66 ? 00:00:00 kworker/0:2H-kblockd
67 ? 00:00:00 mld
68 ? 00:00:00 ipv6_addrconf
108 ? 00:00:02 systemd-journal
129 ? 00:00:02 systemd-udevd
146 ? 00:00:00 vchiq-keep/0
147 ? 00:00:00 SMIO
173 ? 00:00:00 mmal-vchiq
175 ? 00:00:00 mmal-vchiq
177 ? 00:00:00 mmal-vchiq
178 ? 00:00:00 mmal-vchiq
179 ? 00:00:00 mmal-vchiq
180 ? 00:00:00 mmal-vchiq
181 ? 00:00:00 mmal-vchiq
210 ? 00:00:00 systemd-timesyn
250 ? 00:00:00 avahi-daemon
251 ? 00:00:00 cron
252 ? 00:00:01 dbus-daemon
254 ? 00:00:00 avahi-daemon
264 ? 00:00:01 polkitd
290 ? 00:00:00 rsyslogd
306 ? 00:00:01 systemd-logind
307 ? 00:00:00 thd
312 ? 00:00:01 udisksd
317 ? 00:00:00 wpa_supplicant
354 ? 00:00:01 ModemManager
356 ? 00:00:00 cupsd
359 ? 00:00:00 epmd
361 ? 00:00:00 rngd
371 ? 00:00:00 thttpd_wrapper
372 ? 00:00:11 thttpd
379 ? 00:00:00 cfg80211
381 ? 00:00:00 dhcpcd
383 ? 00:00:00 lightdm
389 ? 00:00:00 cups-browsed
407 tty1 00:00:00 login
409 ? 00:00:00 agetty
436 ? 00:00:00 cec-vc4-hdmi
437 ? 00:00:00 irq/64-vc4 hdmi cec
454 tty7 00:00:21 Xorg
459 ? 00:00:00 card0-crtc0
462 ? 00:00:00 card0-crtc1
464 ? 00:00:00 card0-crtc2
466 ? 00:00:00 card0-crtc3
472 ? 00:00:01 systemd
493 ? 00:00:00 (sd-pam)
542 ? 00:00:00 pipewire
543 ? 00:00:03 pulseaudio
546 tty1 00:00:00 bash
547 ? 00:00:00 rtkit-daemon
570 ? 00:00:00 dbus-daemon
571 ? 00:00:00 pipewire-media-
582 ? 00:00:00 lightdm
586 ? 00:00:00 lxsession
634 ? 00:00:00 ssh-agent
670 ? 00:00:00 gvfsd
675 ? 00:00:00 gvfsd-fuse
685 ? 00:00:02 openbox
686 ? 00:00:00 lxpolkit
688 ? 00:01:06 lxpanel
691 ? 00:00:12 pcmanfm
698 ? 00:00:06 applet.py
709 ? 00:00:00 ssh-agent
717 ? 00:00:00 xcompmgr
726 ? 00:00:00 agent
779 ? 00:00:00 gvfs-udisks2-vo
785 ? 00:00:00 menu-cached
791 ? 00:00:00 gvfs-mtp-volume
795 ? 00:00:00 gvfs-afc-volume
800 ? 00:00:00 gvfs-gphoto2-vo
804 ? 00:00:00 gvfs-goa-volume
853 ? 00:00:00 gvfsd-trash
899 ? 00:00:54 packagekitd
1204 ? 00:00:13 lxterminal
1219 pts/0 00:00:00 bash
1446 ? 00:00:00 kworker/0:0H-kblockd
1603 ? 00:00:00 kworker/u2:1-events_unbound
1825 ? 00:00:00 kworker/0:0-events_power_efficient
1925 pts/0 00:00:00 ps
pi@raspberrypi:/home/local/www/logs $
pi@raspberrypi:/home/local/www/logs $
pi@raspberrypi:/home/local/www/logs $