Need Help? We are right here!
Thanks for your Enquiry. Our team will soon reach out to you.
If you don't hear from us within 24 hours, please feel free to send a follow-up email to info@xecurify.com
Search Results:
×The miniOrange identity provider (IdP) is a service that stores and verifies user identity. IdPs are typically cloud-hosted services, and they often work with single sign-on (SSO) providers to authenticate users. The purpose of this guide is to get you up and run as quickly as possible so that you can play with and test-drive various features that miniOrange has. It is a standalone application with default database and packaged tomcat and does not cover any complex deployment options. We support both Windows and Linux OS for installation.
This short tutorial walks you through starting up the server in standalone mode, setting up the initial admin account, and logging into the miniOrange admin dashboard.
miniOrange On-Premise server has the following system requirements. This section lists recommended versions and requirements.
Operating System (Linux preferred) |
Any operating system that runs minimum Java 8 |
CPU Core | 4 Core |
RAM | 16GB and above |
Storage | 32GB or above |
JAVA Environment | jdk1.8.0_381 and above |
Server Access Policies | Port 80 - HTTP Port 1812 & 1813 - Radius UDP (optional) Port 3389 - RDP (Windows Server) - For Login Port 22 - SSH (Linux Server) - For login |
Database | Find the list of all supported versions here. |
Server Ports | Ensure the following ports are available on the server for installing the required services: 6379 - Redis 5672 - RabbitMq |
You can download miniOrange On-Premise server from here
Follow the steps to deploy miniOrange On-Premise server on your operating system:
You can verify the integrity of the installer using the SHA256 checksum. To verify the checksum, please follow the below steps:
CertUtil -hashfile mo-idp-server-4.9.3-installer.exe SHA256
In case of no internet connectivity. You can choose and download the offline installer from here.
If you already have a database setup which is not in the list below, you can contact us to add support for that database.
ALTER DATABASE YourDatabaseName
SET ALLOW_SNAPSHOT_ISOLATION ON;
You can refer this link to know more about how miniOrange can enhance performance and data consistency by enabling Snapshot Isolation.
We assume the entire suite of services will be installed on a standalone system. In case of a distributed system setup you can reach out to us and our engineers will help you to install this in a distributed, highly available manner.
Database | Example values | |
---|---|---|
Driver | Postgres | org.postgresql.Driver |
MySQL | com.mysql.cj.jdbc.Driver | |
SQLServer | com.microsoft.sqlserver.jdbc.SQLServerDriver | |
ORACLE | oracle.jdbc.OracleDriver | |
Dialect | Postgres | org.hibernate.dialect.PostgreSQLDialect |
MYSQL | org.hibernate.dialect.MYSQLDialect | |
SQLServer | org.hibernate.dialect.SQLServerDialect | |
ORACLE | org.hibernate.dialect.OracleDialect |
Properties | Property Values (from above step) |
---|---|
MO_DB_PRIMARY_URL & MO_DB_REPLICA_URL | jdbc.url |
MO_DB_PRIMARY_USER & MO_DB_REPLICA_USER | jdbc.username |
MO_DB_PRIMARY_PASS & MO_DB_REPLICA_PASS | jdbc.password |
<miniOrange Identity Provider Folder>/services/windows/
windows-service.bat start
(Wait 10-15 seconds for the services to start.)<miniOrange Directory\services\logs>
Modify the Server Base URL:
Ensure Java 8 or higher is installed on your operating system.
Once the Java installation is complete, check that the JAVA_HOME environment variable has been set correctly.Open a command prompt and type echo %JAVA_HOME%
and hit Enter. If you see a path to your Java installation directory, the JAVA_Home environment variable has been set correctly. If nothing is displayed, or only %JAVA_HOME% is returned, you'll need to set the JAVA_HOME environment variable manually.
echo %JAVA_HOME%
echo %JRE_HOME%
> ...\bin\startup.bat
If you already have a database setup which is not in the list below, you can contact us to add support for that database.
ALTER DATABASE YourDatabaseName
SET ALLOW_SNAPSHOT_ISOLATION ON;
You can refer this link to know more about how miniOrange can enhance performance and data consistency by enabling Snapshot Isolation.
We assume the entire suite of services will be installed on a standalone system. In case of a distributed system setup you can reach out to us and our engineers will help you to install this in a distributed, highly available manner.
Database | Example values | |
---|---|---|
Driver | Postgres | org.postgresql.Driver |
MySQL | com.mysql.cj.jdbc.Driver | |
SQLServer | com.microsoft.sqlserver.jdbc.SQLServerDriver | |
ORACLE | oracle.jdbc.OracleDriver | |
Dialect | Postgres | org.hibernate.dialect.PostgreSQLDialect |
MYSQL | org.hibernate.dialect.MYSQLDialect | |
SQLServer | org.hibernate.dialect.SQLServerDialect | |
ORACLE | org.hibernate.dialect.OracleDialect |
Properties | Property Values (from above step) |
---|---|
MO_DB_PRIMARY_URL & MO_DB_REPLICA_URL | jdbc.url |
MO_DB_PRIMARY_USER & MO_DB_REPLICA_USER | jdbc.username |
MO_DB_PRIMARY_PASS & MO_DB_REPLICA_PASS | jdbc.password |
<miniOrange Identity Provider Folder>/services/windows/
windows-service.bat start
(Wait 10-15 seconds for the services to start.)<miniOrange Directory\services\logs>
Modify the Server Base URL:
a. Database Setup:
sudo -u postgres psql
create database <databasename>;
b. Install RabbitMQ using the relevant guide:
c. To verify the RabbitMQ installation, use the following command:
systemctl status rabbitmq-server.service
chmod +x mo-installer.sh
sudo sh mo-installer.sh
sudo systemctl start mo-idp-miniorange.service
Database Type | PostgreSQL/ MySQL/ MSSQL |
Database Host | localhost |
Database Username, Password, and Database Name | as set during installation |
/opt/mo-idp-server-4.9.3/moas/WEB-INF/classes/db.properties
. Copy the jdbc.url value./opt/mo-idp-server-4.9.3/services/config/application.properties
Properties | Values |
---|---|
MO_DB_PRIMARY_URL & MO_DB_REPLICA_URL | jdbc.url copied earlier |
MO_DB_PRIMARY_USER & MO_DB_REPLICA_USER | <database_username> |
MO_DB_PRIMARY_PASS & MO_DB_REPLICA_PASS | <database_password> |
sudo chmod +x start-services.sh
./start-services.sh
If you want to start/stop any service manually, you can start them in the following order:
Ensure you have OpenSSL installed on your system:
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout nginx-selfsigned.key -out nginx-selfsigned.crt
-subj "/C=US/ST=State/L=City/O=Company/OU=Org/CN=example.com"
Flag | Description |
---|---|
-x509 | Generates a self-signed certificate |
-nodes | No password for the private key |
-days 365 | Certificate valid for 1 year |
-keyout | Path to save the private key |
-out | Path to save the certificate |
-subj | Set certificate details without prompts |
/C=US/ST=State/L=City/O=Company/OU=Org/CN=example.com
Field | Meaning | Example |
---|---|---|
C | Country code (2 letters) | US, IN, DE |
ST | State/Province | California, Karnataka |
L | City | San Francisco, Bangalore |
O | Organization | Acme Corp |
OU | Department | IT, Engineering |
CN | Domain name | example.com |
1. Locate nginx.conf
/etc/nginx/nginx.conf
C:\nginx\conf\nginx.conf
2. Edit the Server Block
server {
listen 443 ssl;
server_name example.com; # Replace with your domain
ssl_certificate /path/to/nginx-selfsigned.crt;
ssl_certificate_key /path/to/nginx-selfsigned.key;
location / {
# Your application settings
}
}
3. Restart Nginx
sudo nginx -t # Test configuration
sudo systemctl restart nginx
nginx -s reload
⚠ Note: Self-signed certificates will show a browser warning because they are not issued by a trusted Certificate Authority (CA). Use only for local development or internal testing.
keytool -genkey -alias onpremssoidp -keyalg RSA -keystore onpremssoidp.jks
1. Open Tomcat Configuration:
2. Edit server.xml:
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="<JKS Keystore Path>" ciphers="ALL" keystorePass="<Password while keystore generation>"/>
Note: Make sure the .jks file has appropriate permissions/run command prompt as Administrator.
Using a certificate from Trusted CAs like LetsEncrypt, GoDaddy, Comodo SSL.
certbot certonly --standalone -d.example.com
#:/etc/letsencrypt/live/example.com# ls
cert.pem chain.pem fullchain.pem privkey.pem README
<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true"> <SSLHostConfig> <Certificate certificateFile="conf/cert.pem" certificateKeyFile="conf/privkey.pem" certificateChainFile="conf/chain.pem" /> <SSLHostConfig> <Connector>
keytool -genkey -alias onpremssoidp -keyalg RSA -keystore onpremssoidp.jks
keytool -delete -alias onpremssoidp -keystore onpremssoidp.jks
openssl pkcs12 -export -in <GoDaddyCertificate>.crt -inkey <PrivateKey>.key
-out <PublicPrivateKeyPair>.p12 -name tomcat -CAfile gd_bundle-g2-g1.crt -caname root
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="<JKS Keystore Path>" ciphers="ALL" keystorePass="<Password while keystore generation>"/>
Creating a New Keystore
keytool -genkey -alias server -keyalg RSA -keysize 2048 -keystore your_site_name.jks
Creating a CSR on Tomcat Servers
keytool -certreq -alias server -file csr.txt -keystore your_site_name.jks
How to Install an SSL Certificate on Your Tomcat Server
keytool -import -alias server -file your_site_name.p7b -keystore your_site_name.jks
Configuring Your SSL/TLS Connector
<Connector port="443" maxHttpHeaderSize="8192" maxThreads="100" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" disableUploadTimeout="true" acceptCount="100" scheme="https" secure="true" SSLEnabled="true" clientAuth="false" sslProtocol="TLS" keyAlias="server" keystoreFile="/home/user_name/your_site_name.jks" keystorePass="your_keystore_password" />
C:\Program Files\miniOrange Identity Provider\bin
and open file: miniOrangew.exe-Dspring.profiles.active=redis
C:\Program Files\miniOrange Identity Provider\moas\WEB-INF\classes\
and open db.propertiesC:\Program Files\miniOrange Identity Provider\services\config
and edit the application.properties.Database | Example values | |
---|---|---|
Driver | Postgres | org.postgresql.Driver |
MySQL | com.mysql.cj.jdbc.Driver | |
SQLServer | com.microsoft.sqlserver.jdbc.SQLServerDriver | |
ORACLE | oracle.jdbc.OracleDriver | |
Dialect | Postgres | org.hibernate.dialect.PostgreSQLDialect |
MYSQL | org.hibernate.dialect.MYSQLDialect | |
SQLServer | org.hibernate.dialect.SQLServerDialect | |
ORACLE | org.hibernate.dialect.OracleDialect |
Properties | Property Values (from above step) |
---|---|
MO_DB_PRIMARY_URL & MO_DB_REPLICA_URL | jdbc.url |
MO_DB_PRIMARY_USER & MO_DB_REPLICA_USER | jdbc.username |
MO_DB_PRIMARY_PASS & MO_DB_REPLICA_PASS | jdbc.password |
<miniOrange Identity Provider Folder>/services/windows/
windows-service.bat start
(Wait 10-15 seconds for the services to start.)<miniOrange Directory\services\logs>
Follow the below steps to start the microservices:
/moas/WEB-INF/classes/db.properties
./services/config
and edit the application.properties.Database | Example values | |
---|---|---|
Driver | Postgres | org.postgresql.Driver |
MySQL | com.mysql.cj.jdbc.Driver | |
SQLServer | com.microsoft.sqlserver.jdbc.SQLServerDriver | |
ORACLE | oracle.jdbc.OracleDriver | |
Dialect | Postgres | org.hibernate.dialect.PostgreSQLDialect |
MYSQL | org.hibernate.dialect.MYSQLDialect | |
SQLServer | org.hibernate.dialect.SQLServerDialect | |
ORACLE | org.hibernate.dialect.OracleDialect |
Properties | Property Values (from above step) |
---|---|
MO_DB_PRIMARY_URL & MO_DB_REPLICA_URL | jdbc.url |
MO_DB_PRIMARY_USER & MO_DB_REPLICA_USER | jdbc.username |
MO_DB_PRIMARY_PASS & MO_DB_REPLICA_PASS | jdbc.password |
<miniOrange Identity Provider Folder>/services/windows/
windows-service.bat start
(Wait 10-15 seconds for the services to start.)<miniOrange Directory\services\logs>
mo-service.bat uninstall
If you encounter the error:"keytool error: java.lang.Exception: Key pair not generated, alias <onpremssoidp> already exists"
This indicates that the keystore file already exists. To resolve this, follow these steps:
Encounter the error:
If you get an error similar to the above image, follow these steps.
Disable IPv6 on Windows: