This howto describes the installation of MemorySurfer with Apache under Fedora 35.

If you have Git installed cloning the repository is very convenient (and provides the most recent version) (otherwise look here for the download instructions).

 $ git clone Cloning into 'MemorySurfer'...
remote: Enumerating objects: 811, done.
remote: Counting objects: 100% (173/173), done.
remote: Compressing objects: 100% (173/173), done.
remote: Total 811 (delta 113), reused 0 (delta 0), pack-reused 638
Receiving objects: 100% (811/811), 582.55 KiB | 6.07 MiB/s, done.
Resolving deltas: 100% (518/518), done.

Now change into the 'Fedora' folder

[user@linux Downloads]$ cd MemorySurfer/Fedora/

Then compile the program

[user@linux Fedora]$ make
gcc -Wall -g -O0 -c ../imf/indexedmemoryfile.c
gcc -Wall -g -O0 -c ../imf/sha1.c
gcc -Wall -g -O0 -o memorysurfer.cgi memorysurfer.o indexedmemoryfile.o sha1.o -lm
[user@linux Fedora]$ ls -l
total 448
-rw-rw-r--. 1 user user 36128 May 21 19:25 indexedmemoryfile.o
-rw-r--r--. 1 user user 532 May 18 22:49 makefile
-rwxrwxr-x. 1 user user 189456 May 21 19:25 memorysurfer.cgi
-rw-rw-r--. 1 user user 209400 May 21 19:23 memorysurfer.o
-rw-rw-r--. 1 user user 9312 May 21 19:25 sha1.o

now installing the web server

[user@linux Fedora]$ sudo dnf install httpd

copy the executable into cgi-bin/

[user@linux Fedora]$ sudo cp memorysurfer.cgi /var/www/cgi-bin/

copy the .css file into the html/ folder

[user@linux Fedora]$ cd .. [user@linux MemorySurfer]$ sudo cp favicon.ico ms.css ms.js /var/www/html/

now create the folder were the .imsf files are stored

[user@linux MemorySurfer]$ cd /var/www/ [user@linux www]$ sudo mkdir memorysurfer [user@linux www]$ sudo chown apache:apache memorysurfer

make the directory a readable and writable for Apache.

[user@linux www]$ sudo chcon -t httpd_sys_rw_content_t memorysurfer [user@linux www]$ ls -Z
system_u:object_r:httpd_sys_script_exec_t:s0 cgi-bin
system_u:object_r:httpd_sys_content_t:s0 html
unconfined_u:object_r:httpd_sys_rw_content_t:s0 memorysurfer
04. April 2022