MongoDB does NOT need to be on the same machine where you are running a Parasoft product. To set up your MongoDB installation for use with Parasoft products, do the following:
- Extract the Parasoft_SOAVirt_Data_Repository_Scripts_Pack.zip file found in the Data Repository Pack downloaded previously to a location of your choice and open it.
- Locate the script folder for your operating system (for example, Windows users would locate
win-scripts
). - Copy that scripts folder into the root folder of your MongoDB installation and open it.
- Start the server by running server.bat (Windows) or server.sh (MacOS and Linux).
- Create a new user using the user.bat (Windows) or user.sh (MacOS and Linux). See Additional Information.
- (Optional) Register the server to CTP using the register.bat (Windows) or register.sh (MacOS and Linux).
- Verify that the server is running by opening <host>:<port> in a browser window, for example,
localhost:2424
. You should see the following message:
You can stop the repository server in Windows by pressing CTRL+C in the console or by running ./server.sh stop
on MacOS/Linux.
Configuring Remote Data Repository Server to Use SSL
You can configure your remote data repository server to use SSL. It is not enabled by default, so you will need to follow the steps outlined below. Note that this procedure only applies to Windows and Mac installations; Linux users will need to install a distribution-specific version of MongoDB and follow the configuration directions from MongoDB.
- Create a self-signed certificate and save that certificate to the root directory of the Data Repository Server folder.
- Update the server.conf file in the
/scripts
folder of your Data Repository Server folder. An example of the server.conf file with SSL options enabled is shown below. Consult the MongoDB configuration documentation for full configuration details (link provided in the server.conf file). Note that if you need to modify the example file or choose to manually modify your server.conf file, be conscious of the importance of proper spacing; you must use spaces, not tabs. - Start the server by running server.bat (Windows) or server.sh (MacOS).
### See https://www.mongodb.com/docs/v3.6/reference/configuration-options/ ### Path references are resolved relative to the environment's current directory net: port: 2424 bindIpAll: true ipv6: true ssl: mode: requireSSL PEMKeyFile: selfsigned.pem security: authorization: enabled storage: dbPath: repositories systemLog: quiet: true path: logs/repo.log destination: file
Additional Information
- You only need to run the user script (user.bat for Windows or user.sh for MacOS and Linux) the first time the server is started in order to create a username and password for authentication. Once the user credentials are created, the user script does not need to be run again unless you wish to update/validate the user credentials.
- If you later (after the initial start) want to change the credentials used to authenticate with the Data Repository Server, you can do that with the user script. The server must be started to apply the changes.
- To register the Data Repository Server with Parasoft Test Data in CTP, you will need to run the register script (register.bat for Windows or register.sh for MacOS and Linux).
- When installing a data repository server on Linux or MacOS, take the
ulimit
parameter on your server into consideration. Since data repository servers can cause many files to be open at the same time, if theulimit
is set too low errors can occur. - Linux users: if you want to start/stop the data repository server from an init.d script, have the init.d script call the server shell (server.sh) in the
scripts
folder, passing the arguments through and with the right user for your environment.
Advanced Configuration via the server.conf File
The server.conf file determines settings, such as the data repository server port (default is 2424
), IPv6 connectivity, SSL options, and so on. If you want to modify the default settings, edit the server.conf file. Changes will take effect when the server is restarted.
Automating Deployment with the Init Script
One script that is included in your download is init.bat (Windows) or init.sh (MacOS or Linux). This initialization script exposes command-line arguments in which you can pass various inputs that would otherwise require an interactive input, simplifying an automated deployment of the data repository server. The examples below show the arguments that are passed to initialize user credentials as well as the optional arguments for registering CTP. Note that the init.bat/sh script uses settings from the default server.conf file, in particular defaulting to port 2424 and non-SSL. If you have edited the server.conf file, you will need to deploy the data repository server manually by running the server.bat/sh, user.bat/sh and (optionally) register.bat/sh scripts yourself.
init.bat --username <USER> --password <PWD> [--ctp-url <CTP_URL> --ctp-username <CTP_USER> --ctp-password <CTP_PWD>] [--alias <ALIAS>]
init.sh --username <USER> --password <PWD> [--ctp-url <CTP_URL> --ctp-username <CTP_USER> --ctp-password <CTP_PWD>] [--alias <ALIAS>]