diff --git a/userguide/docs/admin.md b/userguide/docs/admin.md index 5483d0408c1b9bcfa52ef823ee84544b6f001037..bac9ef04a6e84c4d9ed3401bbaf9dcf3fc49564c 100644 --- a/userguide/docs/admin.md +++ b/userguide/docs/admin.md @@ -65,4 +65,190 @@ ExecStart=/usr/bin/java -jar [DIRECTORY WHERE JAMS WAS UNZIPPED]/jams-launcher.j WantedBy=multi-user.target </b></pre> -The parameters PORT, SSL_CERTIFICATE and SSL_CERTIFICATE_KEY are optional (however, PORT can be used alone whereas the SSL_CERTIFICATE comes in pair with SSL_CERTIFICATE_KEY) \ No newline at end of file +The parameters PORT, SSL_CERTIFICATE and SSL_CERTIFICATE_KEY are optional (however, PORT can be used alone whereas the SSL_CERTIFICATE comes in pair with SSL_CERTIFICATE_KEY) + +## Running JAMS as Windows Service + +# Download and install JAMS + +Visit https://jami.net/services/ and downalod JAMS. + +Extract JAMS to c:\jams + +# Download and install JDK 11 + +Download JDK 11 from https://www.oracle.com/java/technologies/javase-jdk11-downloads.html (choose the conresponding architecture of your VM) + +Install it using the install wizard. + +# Download openssl to generate a key and a certificate + +Download OpenSSL from https://kb.firedaemon.com/support/solutions/articles/4000121705 (or choose another source https://wiki.openssl.org/index.php/Binaries) + +Once downloaded extract it to c:\openssl then create a folder bin inside c:\openssl\bin + +Create a new file inside bin named openssl.cnf (make sure that the file extension is .cnd and not .cnd.txt) and copy past the following default configuration http://www.flatmtn.com/article/setting-openssl-create-certificates.html + +# +# OpenSSL configuration file. +# + +# Establish working directory. + +dir = . + +[ ca ] +default_ca = CA_default + +[ CA_default ] +serial = $dir/serial +database = $dir/certindex.txt +new_certs_dir = $dir/certs +certificate = $dir/cacert.pem +private_key = $dir/private/cakey.pem +default_days = 365 +default_md = md5 +preserve = no +email_in_dn = no +nameopt = default_ca +certopt = default_ca +policy = policy_match + +[ policy_match ] +countryName = match +stateOrProvinceName = match +organizationName = match +organizationalUnitName = optional +commonName = supplied +emailAddress = optional + +[ req ] +default_bits = 1024 # Size of keys +default_keyfile = key.pem # name of generated keys +default_md = md5 # message digest algorithm +string_mask = nombstr # permitted characters +distinguished_name = req_distinguished_name +req_extensions = v3_req + +[ req_distinguished_name ] +# Variable name Prompt string +#------------------------- ---------------------------------- +0.organizationName = Organization Name (company) +organizationalUnitName = Organizational Unit Name (department, division) +emailAddress = Email Address +emailAddress_max = 40 +localityName = Locality Name (city, district) +stateOrProvinceName = State or Province Name (full name) +countryName = Country Name (2 letter code) +countryName_min = 2 +countryName_max = 2 +commonName = Common Name (hostname, IP, or your name) +commonName_max = 64 + +# Default values for the above, for consistency and less typing. +# Variable name Value +#------------------------ ------------------------------ +0.organizationName_default = My Company +localityName_default = My Town +stateOrProvinceName_default = State or Providence +countryName_default = US + +[ v3_ca ] +basicConstraints = CA:TRUE +subjectKeyIdentifier = hash +authorityKeyIdentifier = keyid:always,issuer:always + +[ v3_req ] +basicConstraints = CA:FALSE +subjectKeyIdentifier = hash + +# Add OpenSSL to Sytem Environment variables +Go to Edit the system environment variables -> Environment Variables, then in System variables edit Path and add c:\openssl\ + +# Configure OpenSSL +Execute the following command to set the path to OpenSSL configuration. + +set OPENSSL_CONF=c:\openssl\bin\openssl.cnf + +Open the command prompt and cd c:\jams ans generate the Key and Certificate: + +openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout server.key -out server.pem + +Follow the wizard. + +Once the key and certificate are generated execute the dir command you should see an output like this: + +c:\jams>dir + Volume in drive C has no label. + Volume Serial Number is BC94-9EF2 + + Directory of c:\jams + +2020-11-10 12:38 PM <DIR> . +2020-11-10 12:38 PM <DIR> .. +2020-10-22 10:56 AM 5,186,016 jams-launcher.jar +2020-10-22 10:56 AM 33,413,882 jams-server.jar +2020-11-10 11:53 AM <DIR> libs +2020-11-10 12:34 PM 1,732 server.key +2020-11-10 12:38 PM 1,336 server.pem +2020-10-22 04:05 PM 2,047,932 userguide.pdf + 5 File(s) 40,650,898 bytes + 3 Dir(s) 93,365,936,128 bytes free + +Now execute the following command tot start JAMS + +java -jar jams-launcher.jar PORT_NUMBER (eg. 8443 or 443) server.pem server.key + +Open a navigator on the server and visite https://localhost:443 or https://localhost:8443 to validate that it's working. + +Click CTRL + C to close the application + +# Expose your localhost to the internet + +Click on Windows ans search for Windows Defender Firewall with Advanced Security. + +Right click on Inbound Rules and click on New Rule... + +Select Port click next and specify the port you want to use example 443 or 8443. + +Click next and select Allow the connection and click next. + +Leave all of Domain Private and Public select and click next. + +Name you Rule JAMS Inbound and click Finish + +Now right click on Outbound Rules and click on New Rule... + +Select Port click next and specify the port you want to use example 443 or 8443. + +Click next and select Allow the connection and click next. + +Leave all of Domain Private and Public select and click next. + +Name you Rule JAMS Outbound and click Finish. + +You are all set. You can now visit you application trought the server domain name or ip address on port 443 or 8443. + +# Create a JAMS Windows Service (Embed Tomcat Server Windows Service) to start JAMS with the server + +In order to create a JAMS Windows Service you can use the tool NSSM provided on http://nssm.cc/download (https://github.com/kirillkovalenko/nssm) + +Once downloaded open a command prompt and change directory to nssm-2.24\win64 then execute: + +nssm.exe install JAMS + +A GUI interface will open. + +In the Path field specify the path to the Java executable example "C:\Program Files\Common Files\Oracle\Java\javapath\java.exe". + +In the Startup directory put the "C:\jams" installation folder path. + +In the last field Arguments add the following arguments: + +-classpath "c:\jams" -jar jams-launcher.jar PORT_NUMBER server.pem server.key + +where PORT_NUMBER is the port number you want to use to serve the application example 443 or 8443 + +Now your JAMS application will start with the server. + +Source: https://medium.com/@lk.snatch/jar-file-as-windows-service-bonus-jar-to-exe-1b7b179053e4 diff --git a/userguide/docs/clients.md b/userguide/docs/clients.md index 5a498420ce518a760de655fbd6927e60bfca3086..3f657c9cdb19df6b08d44d6ed96db738db9cc8a7 100644 --- a/userguide/docs/clients.md +++ b/userguide/docs/clients.md @@ -10,6 +10,22 @@ For the purposes of this tutorial, we assume that 2. The server is publicly accessible to the outside world 2. You have a valid username/password pair to connect to the server +## Connect from a Linux device + +Open Jami, go to the login page. Click on "Advanced": + +<p align="center"> + <img src="./img/client/linux/linux-step1.png" alt="Step 1" style="height:1024;width:768"/> +</p> + +Select the option **"Connect to a JAMS server"** which will lead you to the following screen: + +<p align="center"> + <img src="./img/client/linux/linux-step2.png" alt="Step 2" style="height:1024;width:768"/> +</p> + +The **Jami Account Management Server URL** in this case would be the DNS address of your server and the username and password which correspond to your account. If you have configured the server with an LDAP/AD backend, it would be your LDAP/AD username and password. + ## Connect from a Windows device Open Jami, go to the login page. Click on "Advanced": diff --git a/userguide/docs/doc.md b/userguide/docs/doc.md index 28a0682b2ec1dca3348b751a1b5f359004c66c39..7e6e04685d71a0c87d9b77f16378bc7767de5660 100644 --- a/userguide/docs/doc.md +++ b/userguide/docs/doc.md @@ -207,7 +207,7 @@ recommend users to place it behind Nginx or a similar web server which proxies r The following is an example map of how you could configure JAMS behind Nginx (the process would be similar if you wanted to use any other type of proxying solution): <p align="center"> - <img src="./img/map.png" alt="Create an admin account" style="height:250px;width:600px"/> + <img src="img/map.png" alt="Create an admin account" style="height:250px;width:600px"/> </p> The IP 10.10.0.1 is random, and should be seen as an example. @@ -272,13 +272,13 @@ For the purposes of this tutorial, we assume that Open Jami, go to the login page. Click on "Advanced": <p align="center"> - <img src="./img/client/windows/windows-step1.png" alt="Step 1" style="height:400px;width:700px"/> + <img src="img/client/windows/windows-step1.png" alt="Step 1" style="height:400px;width:700px"/> </p> Select the option **"Connect to a JAMS server"** which will lead you to the following screen: <p align="center"> - <img src="./img/client/windows/windows-step2.png" alt="Step 2" style="height:400px;width:700px"/> + <img src="img/client/windows/windows-step2.png" alt="Step 2" style="height:400px;width:700px"/> </p> The ```Jami Account Management Server URL``` in this case would be the DNS address of your server and the username and password which correspond to your account. If you have configured the server with an LDAP/AD backend, it would be your LDAP/AD username and password. @@ -288,13 +288,13 @@ The ```Jami Account Management Server URL``` in this case would be the DNS addre Open Jami, go to the login page. Click on "Advanced": <p align="center"> - <img src="./img/client/macos/macos-step1.png" alt="Step 1" style="height:400px;width:444px"/> + <img src="img/client/macos/macos-step1.png" alt="Step 1" style="height:400px;width:444px"/> </p> Select the option **"Connect to account manager"** which will lead you to the following screen: <p align="center"> - <img src="./img/client/macos/macos-step2.png" alt="Step 2" style="height:400px;width:700px"/> + <img src="img/client/macos/macos-step2.png" alt="Step 2" style="height:400px;width:700px"/> </p> The ```Jami Account Management Server URL``` in this case would be the DNS address of your server and the username and password which correspond to your account. If you have configured the server with an LDAP/AD backend, it would be your LDAP/AD username and password. @@ -304,13 +304,13 @@ The ```Jami Account Management Server URL``` in this case would be the DNS addre Open Jami, go to the login page. <p align="center"> - <img src="./img/client/android/android-step1.png" alt="Step 1" style="height:400px;width:200px"/> + <img src="img/client/android/android-step1.png" alt="Step 1" style="height:400px;width:200px"/> </p> Select the option **"Connect to management server"** which will lead you to the following screen: <p align="center"> - <img src="./img/client/android/android-step2.png" alt="Step 2" style="height:400px;width:200px"/> + <img src="img/client/android/android-step2.png" alt="Step 2" style="height:400px;width:200px"/> </p> The server in this case would be the DNS address of your server and the username and password which correspond to your account. If you have configured the server with an LDAP/AD backend, it would be your LDAP/AD username and password. @@ -320,13 +320,13 @@ The server in this case would be the DNS address of your server and the username Open Jami, go to the login page. <p align="center"> - <img src="./img/client/ios/ios-step1.png" alt="Step 1" style="height:400px;width:200px"/> + <img src="img/client/ios/ios-step1.png" alt="Step 1" style="height:400px;width:200px"/> </p> Select the option **"Connect to account manager"** which will lead you to the following screen: <p align="center"> - <img src="./img/client/ios/ios-step2.png" alt="Step 2" style="height:400px;width:200px"/> + <img src="img/client/ios/ios-step2.png" alt="Step 2" style="height:400px;width:200px"/> </p> The server in this case would be the DNS address of your server and the username and password which correspond to your account. If you have configured the server with an LDAP/AD backend, it would be your LDAP/AD username and password. diff --git a/userguide/docs/img/ad.png b/userguide/docs/img/ad.png index 2ce83e171a92a2f22cd10291785f2dff3369082f..795b67f1e639fb4a8730e982510290f41ea979c7 100644 Binary files a/userguide/docs/img/ad.png and b/userguide/docs/img/ad.png differ diff --git a/userguide/docs/img/client/linux/linux-step1.png b/userguide/docs/img/client/linux/linux-step1.png new file mode 100644 index 0000000000000000000000000000000000000000..3405882707e75643fa2ac3bcb9f5ada4e6fcc02e Binary files /dev/null and b/userguide/docs/img/client/linux/linux-step1.png differ diff --git a/userguide/docs/img/client/linux/linux-step2.png b/userguide/docs/img/client/linux/linux-step2.png new file mode 100644 index 0000000000000000000000000000000000000000..632d936d2435e171f96c61faae61fb2fbb2eda2b Binary files /dev/null and b/userguide/docs/img/client/linux/linux-step2.png differ diff --git a/userguide/docs/img/client/windows/windows-step1.png b/userguide/docs/img/client/windows/windows-step1.png index c7286814f0e39576879b8dfccf99722f271d66ee..172605940fc96024f5a34ed0b9c800c243e179a4 100644 Binary files a/userguide/docs/img/client/windows/windows-step1.png and b/userguide/docs/img/client/windows/windows-step1.png differ diff --git a/userguide/docs/img/client/windows/windows-step2.png b/userguide/docs/img/client/windows/windows-step2.png index 174063852c429be31bf6908b79ab2742b3002289..541ef1e35bd92cad95163d9fe8cca3cd62b20106 100644 Binary files a/userguide/docs/img/client/windows/windows-step2.png and b/userguide/docs/img/client/windows/windows-step2.png differ diff --git a/userguide/docs/img/jams-dashboard.png b/userguide/docs/img/jams-dashboard.png index c50fdf5e1249ba4db8524f404bc847d3518bd19d..a06a944066d2fe9c1b6739be8cb2a62719b7770d 100644 Binary files a/userguide/docs/img/jams-dashboard.png and b/userguide/docs/img/jams-dashboard.png differ diff --git a/userguide/docs/img/ldap.png b/userguide/docs/img/ldap.png index 5c24162ef1a79853ddab1fc2f0478bd579a1c97d..de7484a35166adec8074a8f3a8741b6de773b3d8 100644 Binary files a/userguide/docs/img/ldap.png and b/userguide/docs/img/ldap.png differ diff --git a/userguide/docs/img/local.png b/userguide/docs/img/local.png index 3a88883b05ffe91e00c6dc27d7f81c913ec6c190..05d5ff26ea4721dec94734874821d0c61aafc7ec 100644 Binary files a/userguide/docs/img/local.png and b/userguide/docs/img/local.png differ diff --git a/userguide/docs/img/step1.png b/userguide/docs/img/step1.png index 4f36a2b159364fd7b7a03acee1676b00c3f8b46e..b43b4b91d4e707e7f8a65f43516d0f59e2680041 100644 Binary files a/userguide/docs/img/step1.png and b/userguide/docs/img/step1.png differ diff --git a/userguide/docs/img/step2-1.png b/userguide/docs/img/step2-1.png index 3d391209c8b493a311ac109f26ab2adb230b37bc..e8223aaed3f6bbdac36ebcfeb26a438c525e44f4 100644 Binary files a/userguide/docs/img/step2-1.png and b/userguide/docs/img/step2-1.png differ diff --git a/userguide/docs/img/step2-2.png b/userguide/docs/img/step2-2.png index c6c3dc36c457d54cc18ffdf2494539f3fef26e51..8e39e3b71486c69ed9027cacc259bba4ac508448 100644 Binary files a/userguide/docs/img/step2-2.png and b/userguide/docs/img/step2-2.png differ diff --git a/userguide/docs/img/step2.png b/userguide/docs/img/step2.png deleted file mode 100644 index 49e171fe77d344335f33845e498ea1b79b78561f..0000000000000000000000000000000000000000 Binary files a/userguide/docs/img/step2.png and /dev/null differ diff --git a/userguide/docs/img/step3.png b/userguide/docs/img/step3.png deleted file mode 100644 index 60caa0e0f6dd44232b69c8a10de1fc505e026fcc..0000000000000000000000000000000000000000 Binary files a/userguide/docs/img/step3.png and /dev/null differ diff --git a/userguide/docs/img/step4.png b/userguide/docs/img/step4.png index 64653a37fc72a777e5172af46ed2d5b0f618c511..42d72e77dfcda734f53eae681ee4ec45bf47e429 100644 Binary files a/userguide/docs/img/step4.png and b/userguide/docs/img/step4.png differ