Manual Installation
Pre-Requisites
- Install an SQL Express, MS SQL, MySQL, MariaDB server, or use an existing one. For testing, you can opt for the file based Sqlite
DatabaseType
. - Create an empty database, a new database user to connect with, and permissions and logons set. If you chose Sqlite, choose a destination directory and prepare folder permissions.
- Refer to your database documentation for security setup and best practices
Download
Install under IIS
Feel free to deviate from the instructions to fit your desired deployment
- Download and Install .NET Core 8.x Web Hosting Bundle, also from Microsoft.
- Ensure the Web Socket Module is installed (Required)
- You can find the module under
Server Roles
->Web Server
->Application Developer
->Web Sockets
.
- You can find the module under
- Install the Application Initialization Module (Recommended)
- You can find the module under
Server Roles
->Web Server
->Application Developer
->Application Initialization
.
- You can find the module under
- Copy contents of zip file to a directory accessible by IIS
-
Create new Site in IIS for Blazam
- Point the root directory to the directory you unzipped the files to.
-
Set ApplicationPool to AlwaysRunning (Recommended)
- In IIS Manager, right click on the application pool under which the application runs and select
Advanced Settings
. - Set start mode to
Always Running
.
- In IIS Manager, right click on the application pool under which the application runs and select
-
Set IIS Site to Preload (Recommended)
- In IIS Manager, right click on the site for the application, select
Manage Website
->Advanced Settings
and set thePreload Enabled
value totrue
.
- In IIS Manager, right click on the site for the application, select
-
Continue with Configuration
Install as Service
- Download and Install .NET Core 8.x Runtime from Microsoft.
- Extract the application to any directory eg:
C:\Program Files\Blazam
- Using nssm.exe in the extracted files, install
BLAZAM.exe
as a service. - Continue with Configuration
Warning
The Linux compatible Blazam is not yet available for public use in production. Beta testing only!
Installing Blazam on Linux manually is not a trivial undertaking. Using the install.sh script is more user friendly and streamlined for installation on Linux.
Pre-Requisites
- Install the necessary dependency packages from apt using the command
- Create a libldap.so symlink using
Install Blazam
Reverse Proxy (Optional)
<VirtualHost *:80>
ServerName ${DOMAIN_NAME}
Redirect permanent / https://${DOMAIN_NAME}/
</VirtualHost>
<VirtualHost *:443>
ServerName ${DOMAIN_NAME}
# SSL Configuration
SSLEngine on
SSLCertificateFile ${SSL_CERT_PATH}
SSLCertificateKeyFile ${SSL_KEY_PATH}
# Proxy Configuration
ProxyPreserveHost On
ProxyPass http://127.0.0.1:5000
ProxyPassReverse http://127.0.0.1:5000
# Required for SignalR WebSockets
RewriteEngine on
RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
RewriteCond %{HTTP:CONNECTION} Upgrade$ [NC]
RewriteRule /(.*) ws://127.0.0.1:5000}\$1 [P,L]
RequestHeader set "X-Forwarded-Proto" "https"
</VirtualHost>
server {
listen 80;
server_name ${DOMAIN_NAME};
location { return 301 https://\$host\$request_uri; }
}
server {
listen 443 ssl http2;
server_name ${DOMAIN_NAME};
ssl_certificate ${SSL_CERT_PATH};
ssl_certificate_key ${SSL_KEY_PATH};
ssl_protocols TLSv1.2 TLSv1.3;
location {
proxy_pass http://localhost:5000;
proxy_http_version 1.1;
proxy_set_header Upgrade \$http_upgrade;
proxy_set_header Connection \$connection_upgrade;
proxy_set_header Host \$host;
proxy_set_header X-Real-IP \$remote_addr;
proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto \$scheme;
}
}
Pre-Requisites
- Install the necessary dependency packages using
yum
ordnf
: - If using CentOS 7, replace
dnf
withyum
. - For .NET 8 runtime, you may need to add the Microsoft package repository:
- Create a libldap.so symlink if required (adjust path as needed):
Install Blazam
Reverse Proxy (Optional)
<VirtualHost *:80>
ServerName ${DOMAIN_NAME}
Redirect permanent / https://${DOMAIN_NAME}/
</VirtualHost>
<VirtualHost *:443>
ServerName ${DOMAIN_NAME}
# SSL Configuration
SSLEngine on
SSLCertificateFile ${SSL_CERT_PATH}
SSLCertificateKeyFile ${SSL_KEY_PATH}
# Proxy Configuration
ProxyPreserveHost On
ProxyPass http://127.0.0.1:5000
ProxyPassReverse http://127.0.0.1:5000
# Required for SignalR WebSockets
RewriteEngine on
RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
RewriteCond %{HTTP:CONNECTION} Upgrade$ [NC]
RewriteRule /(.*) ws://127.0.0.1:5000}\$1 [P,L]
RequestHeader set "X-Forwarded-Proto" "https"
</VirtualHost>
server {
listen 80;
server_name ${DOMAIN_NAME};
location { return 301 https://\$host\$request_uri; }
}
server {
listen 443 ssl http2;
server_name ${DOMAIN_NAME};
ssl_certificate ${SSL_CERT_PATH};
ssl_certificate_key ${SSL_KEY_PATH};
ssl_protocols TLSv1.2 TLSv1.3;
location {
proxy_pass http://localhost:5000;
proxy_http_version 1.1;
proxy_set_header Upgrade \$http_upgrade;
proxy_set_header Connection \$connection_upgrade;
proxy_set_header Host \$host;
proxy_set_header X-Real-IP \$remote_addr;
proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto \$scheme;
}
}