- Computational or memory server hardware capacities are theoretically not involving any problem regarding the execution flow of our solution. However, the more its capacities will be limited, the more slowly the execution flow will be.
- A computer possessing a common processor architecture, like x86, x86_64, ARM.
Note: Only x86_64 architecture has been tested for now. - Server installation requires an active internet connexion.
- Server must be reachable via a local network or an internet connexion from the clients.
- A mail server must be reachable via a local network or an internet connexion from the server.
- A modern and up to date Linux operating system (like Debian/Ubuntu/Fedora/Archlinux/...)
Note: It is important to note that, for experimental purposes only, in accordance with the actual development status, a modern version of Windows or OS X, can, for now, be still sufficient to make run the server. - A node.js version
>= 6.0.X - A npm version
>= 1.2.X - An SQL database must be available. PostgreSQL, MySQL, MariaDB, SQLite and MSSQL are supported.
- A MongoDB database must be available.
- git must be available through the command line
Note: If you're encountering problems installing nodejs >= 6.0.X, visit the official nodejs installation instructions
$ git clone https://github.com/EIP-SAM/SAM-Solution-Server.git
$ cd SAM-Solution-Server
$ git checkout release
$ git checkout develop
$ npm install --prod
$ for f in config/*config.json.example; do cp "$f" "`echo $f | sed s/json.example/json/`"; done;
Configuration file: config/base.config.json
- In the config file, update the server
port(if needed) - In your SQL database, create:
- A new database
- A new user
- In the config file, update:
- The
databasefield with the name of the wanted database - The database
usernameand itspassword - The SQL server
hostaddress (if needed) - The SQL
dialectused (using the following sheet)
- The
| Database | mariadb | MySQL | sqlite | PostgreSQL | MSSQL |
|---|---|---|---|---|---|
| dialect | mysql |
mysql |
sqlite |
postgres |
mssql |
- In the config file, install:
- Your database driver (using the following sheet)
| Database | Installation command |
|---|---|
| mariadb | npm install --save mysql |
| MySQL | npm install --save mysql |
| sqlite | npm install --save sqlite3 |
| PostgreSQL | npm install --save pg pg-hstore |
| MSSQL | npm install --save tedious |
- In the config file, update:
- The
systemImagesPathvalue with the absolute path of the directory holding all system images for the migrations - The
onMigrationExecCmdvalue with the command you want S.A.M. to execute for every migration. It could be a system command or an absolute path to a script. If this config is left blank, no command will be executed.#macaddress#can be used as a placeholder for the client mac address,#ipaddress#can be used as a placeholder for the client ip address and#imagepath#as a placeholder for the absolute image path. - The
secretvalue with a secret key >= 8 characters - The
saltvalue with a different secret key >= 8 characters
- The
Configuration file: config/mongoose.config.json
- In the config file, update the server
port(if needed) - In your MongoDB database, create:
- A new database
- A new user
- In the config file, update:
- The
databasefield with the name of the wanted database - The database
usernameand itspassword - The server
hostaddress (if needed)
- The
Configuration file: config/git.config.json
- Update the git server
baseDirbase directory (recommended) - Check the directory permissions to be sure that the server will be able to read/write in this folder
Configuration file: config/mail.config.json
- Update:
- The mail server
hostaddress - The mail server
portif needed - The
securefield tofalseif your mail server is not able to use SSL/TLS (not recommended) - The mail user authenfication fields
userandpass
- The mail server
"I don't have a mail server! What should I do?" You should be able to setup and use a gmail account as a mail server. You can find the setup and use instructions here http://nodemailer.com/using-gmail/
$ npm start
Configuration file webapp/app/manifest.json
- Update url server
url_server_apito match server address & port (default: http://localhost:8080/)
$ cd webapp && npm start
Check that the web interface is successfully running. For that go with your favorite web browser at the address the server is listening on. For example http://localhost:3000/login, depending of the configuration you previously set.
Please refer to the README instructions inside SAM-Solution-Daemon-Client repository.