-
-
Notifications
You must be signed in to change notification settings - Fork 162
Installing
Wexflow is easy to install and needs zero configuration. It can be installed and configured in a few seconds.
This section shows how to install the .NET version on Windows, and how to install the .NET Core version on Windows, Linux or macOS.
- Install .NET Framework 4.8
- Download the latest release of Wexflow
- Right click on the installer, click on properties, check Unblock then click OK.
- Launch the installer and follow the instructions
After Wexflow is installed a Windows Service named Wexflow is installed and starts automatically.
The following menus are added in the start menu:
- The "Backend" menu opens the backend.
- The "Configuration" menu opens the configuration folder of Wexflow.
- The "Documentation" menu opens the documentation folder of Wexflow.
- The "Logs" menu opens the log file of the day.
- The "Manager" menu opens Wexflow Manager GUI.
- The "Install SQLite samples" menu installs SQLite workflow samples.
- The "Install MongoDB samples" menu installs MongoDB workflow samples.
- The "Install SQL Server samples" menu installs SQL Server workflow samples.
- The "Install PostgreSQL samples" menu installs PostgreSQL workflow samples.
- The "Install MySQL samples" menu installs MySQL workflow samples.
- The "Install LiteDB samples" menu installs LiteDB workflow samples.
- The "Install Oracle samples" menu installs Oracle workflow samples.
Here are the credentials to sign in from the backend or Wexflow Manager:
- Username: admin
- Password: wexflow2018
Once logged in, you can change the password from the backend.
You can host the backend on a web server if you want to.
You can choose from 7 persistence providers:
- SQLite (Default)
- MongoDB
- SQLServer
- PostgreSQL
- MySQL
- LiteDB
- Oracle
See configration page to see how to change the persistence provider.
To install the backend on a web server, simply copy the content of the folder C:\Program Files\Wexflow\Backend\
in the web server. If you want to install the backend on another machine, simply edit the configuration file js/settings.js
:
window.Settings = (function () {
const hostname = (window.location.hostname === "" ? "localhost" : window.location.hostname);
const port = 8000;
return {
Hostname: hostname,
Port: port,
Uri: "http://" + hostname + ":" + port + "/api/v1/"
};
})();
Instead of hostname
, put the IP or the DNS of the machine where Wexflow server is installed. Check that the port 8000 is open in the firewall. You can also change the port
if Wexflow is running on a port different from 8000.
- Download and install ASP.NET Core 8.0 Runtime
- Download and extract Wexflow's .NET Core package
- Double-click on "install.bat" to install the configuration files of Wexflow
That's it. Double-click on "run.bat" to start Wexflow workflow server
To open the backend, go to "Backend" folder and double-click on the file "index.html".
The credentials are the same listed in Windows .NET section.
- Download and install ASP.NET Core 8.0 Runtime
- Download and extract Wexflow's .NET Core package in /opt/
- Add permissions:
sudo chown -R $USER:$USER /opt/wexflow
sudo chmod +x /opt/wexflow/install.sh
- Install wexflow systemd service:
sudo /opt/wexflow/install.sh
That's it. Wexflow is installed. Swagger is accessible from: http://<hostname>:8000
Now, we will install the backend on NGINX.
First, install NGINX:
sudo apt update
sudo apt install nginx-full
Then, add the backend to NGINX:
sudo nano /etc/nginx/sites-enabled/default
Add the following configuration:
server {
listen 8011;
root /opt/wexflow/Backend;
index index.html;
access_log /var/log/nginx/wexflow.access.log;
error_log /var/log/nginx/wexflow.error.log;
location / {
# First attempt to serve request as file, then as directory,
# then as index.html, then fall back to displaying a 404.
try_files $uri $uri/ /index.html =404;
}
}
Check NGINX configuration and if it is successfull restart NGINX:
sudo nginx -t
sudo systemctl restart nginx.service
That's it! the backend is installed and accessible from: http://<hostname>:8011
The credentials are the same listed in Windows .NET section.
If you want to use Apache instead of NGINX, install apache2:
sudo apt update
sudo apt install apache2
Create a new site:
sudo nano /etc/apache2/sites-enabled/wexflow.conf
With the following content:
Listen 8011
<VirtualHost *:8011>
# The ServerName directive sets the request scheme, hostname and port that
# the server uses to identify itself. This is used when creating
# redirection URLs. In the context of virtual hosts, the ServerName
# specifies what hostname must appear in the request's Host: header to
# match this virtual host. For the default virtual host (this file) this
# value is not decisive as it is used as a last resort host regardless.
# However, you must set it for any further virtual host explicitly.
#ServerName www.example.com
ServerAdmin webmaster@localhost
DocumentRoot /opt/wexflow/Backend
<Directory "/opt/wexflow/Backend">
DirectoryIndex index.html
AllowOverride All
Require all granted
</Directory>
# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
# error, crit, alert, emerg.
# It is also possible to configure the loglevel for particular
# modules, e.g.
#LogLevel info ssl:warn
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
# For most configuration files from conf-available/, which are
# enabled or disabled at a global level, it is possible to
# include a line for only one particular virtual host. For example the
# following line enables the CGI configuration for this host only
# after it has been globally disabled with "a2disconf".
#Include conf-available/serve-cgi-bin.conf
</VirtualHost>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
Enable the new site and reload apache2:
sudo a2ensite wexflow.conf
sudo systemctl reload apache2
If you want to install the backend on another machine, you’ll need to edit the configuration file js/settings.js
:
window.Settings = (function () {
const hostname = (window.location.hostname === "" ? "localhost" : window.location.hostname);
const port = 8000;
return {
Hostname: hostname,
Port: port,
Uri: "http://" + hostname + ":" + port + "/api/v1/"
};
})();
Instead of hostname
, put the IP or the DNS of the machine where Wexflow server is installed. Check that the port 8000 is open in the firewall. You can also change the port
if Wexflow is running on a port different from 8000.
If you want to use MongoDB persistence provider, you must update /opt/wexflow/wexflow.service
as follows:
[Unit]
Description=wexflow
Wants=mongod.service
After=mongod.service
[Service]
ExecStart=/usr/bin/dotnet Wexflow.Server.dll
WorkingDirectory=/opt/wexflow/Wexflow.Server
[Install]
WantedBy=multi-user.target
Then, run install.sh
again:
sudo /opt/wexflow/install.sh
If you want to use SQLServer, MySQL, PostgreSQL or Oracle persistence provider, make sure to update Wants=
and After=
options with the matching services.
If you want to update wexflow to a newer version, proceed as follows:
- Backup
Wexflow
folder/opt/wexflow/Wexflow
- Remove /opt/wexflow
- Download and extract Wexflow's .NET Core package in /opt/
- Copy
Wexflow
folder that you have saved in /opt/wexflow - Add permissions:
sudo chown -R $USER:$USER /opt/wexflow
sudo chmod +x /opt/wexflow/install.sh
- Update and restart wexflow systemd service:
sudo /opt/wexflow/install.sh
That's it. Wexflow is updated.
- Download and install ASP.NET Core 8.0 Runtime
- Download and extract Wexflow's .NET Core package in /Applications/
That's it. You can run Wexflow as follows:
cd /Applications/wexflow/Wexflow.Server
dotnet Wexflow.Server.dll
You can open the backend by opening /Applications/wexflow/Backend/index.html on a browser.
The credentials are the same listed in Windows .NET section.
Copyright © Akram El Assas. All rights reserved.