AsmBB is high performance web forum software, written entirely in assembly language. It is very lightweight, but provides decent set of features and ultimate performance.
The current version of AsmBB is v2.0;
The easiest way to install AsmBB is to download the binary package.
Download the package from this link: asmbb.tar.gz (it is permanent link to the latest trunk version of the package).
It contains the file
install.txt with directions for installation on shared hosting.
For installation on dedicated servers or VPS, reference the following article: "How to install AsmBB on vps with nginx and systemd"
The content of
AsmBB installation guide
This package contains the forum engine AsmBB, which is high performance web forum engine, written entirely in assembly language.
This package is the binary release of the engine, but it is free open source distributed under EUPL license (the file License.txt) and you can download the source code from the source repository (fossil), located on:
In order to use AsmBB you will need running web server, supporting FastCGI protocol. Most web servers will do the job. Particularly Apache.
You can install AsmBB on local server (for testing) on shared hosting or any other hosting option.
The only mandatory condition is that the server must run on x86 or x86-64 Linux platform and the fastcgi module should be enabled (most servers running php has it enabled anyway).
AsmBB is self sufficient and does not requires any libraries or databases installed on the server.
In order to send mails to the forum users, AsmBB will need the address and port number of SMTP server that is accessible from your web server without authentication. Most SMTP servers provided by the web hosting will not need authentication if connected from the local network (i.e. the web site engine).
First unpack the files in temporary directory. Depending on your server edit the file .htaccess (Apache) or lighttpd.conf (lighttpd) - Change the "_FULL_PATH_TO_DOCUMENT_ROOT_HERE_" placeholder to the real path to your document root (it depends on the web server settings).
IMPORTANT: Ensure that the uploaded files have the proper permissions for the www-data user (the web server user). The www-data user will need writing permissions in the DOCUMENT_ROOT directory. The executable files must have 755 permissions.
IMPORTANT FOR Lighttpd: The provided in the package file "lighttpd.cond is just an example. Lighttpd keeps its config files in: "/etc/lighttpd/lighttpd.conf" and all files in "/etc/lighttpd/conf-enabled/" directory. You will need to merge the example config in the existing files in one or another consistent way and then restart lighttpd.
If using another web server, prepare the configuration by yourself.
Upload all files (directories and symlinks) of the package to the document_root directory of your web server.
IMPORTANT: The package may contain some symlinks. Ensure they are uploaded together with the files. Notice, that FTP can't upload symlinks.
The simplest way is to upload the tarball to the server and unpack there by using cpanel tools, ssh or any other way.
Read the chapter "Easy Installation on Apache by FTP" below, about how to make the proper upload by FTP.
Test the forum by loading the web site in your favorite browser.
As simple as that.
Easy Installation on Apache by FTP
Download the package "unpack.tar.gz" from:
Untar it. There are 2 files: ".htaccess" and "unpack.sh";
Upload these 2 files and "asmbb.tar.gz" on the server document_root via ftp or any other way. The root directory must contain these 3 files:
.htaccess asmbb.tar.gz unpack.sh
Load in some browser: http://your_web_size/unpack.sh
The script will unpack all files, prepare the proper .htaccess file and redirect you to the new created forum working in setup mode.
Introduction to the forum configuration.
When run for the first time, AsmBB will create an empty database for the forum - a file, named board.sqlite in the root directory.
Until there is no users registered, AsmBB will run in setup mode, displaying the administrator user creation dialog.
The registration of the admin user will not need email activation and is pretty liberal about the quality of the password. But you as an administrator of the forum, better choose strong password and whatever nickname you prefer.
After creation the administrator user, the access to the forum settings is restricted only for the users with administrator privileges.
Set the SMTP server and other forum parameters in the settings page.
AsmBB advanced manual
Downloading the sources of AsmBB.
The best way to get the source code of AsmBB is to clone the repository (you will need fossil installed on your system).
Type in the console:
$ fossil clone https://asm32.info/fossil/repo/asmbb /%path_to_repositories%/asmbb.fossil
Then create checkout:
$ mkdir asmbb $ cd asmbb $ fossil open /%path_to_repositories%/asmbb.fossil
Now you have all files from the branch
trunk in the
/asmbb directory. If you want the code from some other branch, execute:
$fossil co %BRANCH_NAME%
Downloading the dependencies.
In order to compile AsmBB you will need:
The sources of FreshLibDev
Cloning and checkout is very similar to the same procedure for AsmBB:
$ fossil clone https://fresh.flatassembler.net/fossil/repo/fresh /%path_to_repositories%/Fresh.fossil $ mkdir FreshLibDev $ cd FreshLibDev $ fossil open /%path_to_repositories%/Fresh.fossil FreshLibDev
Installation and settings of Fresh IDE:
The installation of Fresh IDE is described in details in the Fresh IDE setup manual.
After installing Fresh IDE, set the
lib alias (Options|IDE options|Aliases) to point to the "FreshLibDev/freshlib/" directory.
Now you are ready to compile AsmBB.
Open the file
AsmBB/source/engine.fpr (the project file) in Fresh IDE and press
If the compilation complete without errors, the compiled binary is
Deploying AsmBB on the server.
Needed files that need to be placed on the server are:
templates/* - contains all HTML templates needed by the engine.
images/* - contains all images needed by the forum. The specific images are only depending on the templates and the
.css files. The engine itself does not hardcode the image files.
all.css - contains the CSS code. The name of this file is specified in
templates/main_html_start.tpl and may vary if the templates has been changed.
engine - the forum engine.
libsqlite3.so - the SQLite library. In order to work on 64bit servers, this file has been statically linked and compiled with musl library.
ld-musl-i386.so - the MUSL dynamic linker, needed for loading libraries on 64bit servers.