Running the Product
To run WSO2 products, you start the product server at the command line. The following sections in this page explains everything you need to know about running the product:
Starting the server
When starting WSO2 EMM, it is mandatory to have an active internet connection; otherwise, the devices will not be able to connect to EMM.
To start the server, you run the script wso2server.bat
(on Windows) or wso2server.sh
(on Linux/Solaris) from the bin
folder. Alternatively, you can install and run the server as a Windows service.
To start and stop the server in the background mode of Linux, run wso2server.sh start
and wso2server.sh stop
commands.
- Open the required ports. For more information, see Default Ports of WSO2 Products.
- Open a command prompt:
- On Windows, choose Start -> Run, type
cmd
at the prompt, and press Enter. - On Linux/Solaris, establish a SSH connection to the server or log in to the text Linux console.
Execute one of the following commands, where
<EMM_HOME>
is the directory where you installed the product distribution:OS Command Linux/Solaris sh <EMM_HOME>/bin/wso2server.sh
Windows <EMM_HOME>\bin\wso2server.bat --run
If you want to provide access to the production environment without allowing any user group (including admin) to log into the management console, execute one of the following commands:
- On Windows:
<EMM_HOME>\bin\wso2server.bat --run -DworkerNode
- On Linux/Solaris:
sh <EMM_HOME>/bin/wso2server.sh -DworkerNode
For additional options you can use with these startup commands, type
-help
after the command, such as:sh <EMM_HOME>/bin/wso2server.sh -help
The operation log appears. When the product server is running, the log displays the message "WSO2 Carbon started in 'n' seconds".
- On Windows:
Accessing the EMM Console
Once the server has started, you can access the EMM Consoles. You can also use the EMM Console on this computer or from any other computer connected to the Internet or LAN.
When these pages appear, the web browser will typically display an "insecure connection" message, which requires your confirmation before you can continue.
The EMM consoles are based on the HTTPS protocol, which is a combination of HTTP and SSL protocols. This protocol is generally used to encrypt the traffic from the client to server for security reasons. The certificate it works with is used for encryptiononly,and does not prove the server identity, so when you try to access these consoles, a warning of untrusted connection is usually displayed. To continue working with this certificate, some steps should be taken to "accept" the certificate before access to the site is permitted. If you are using the Mozilla Firefox browser, this usually occurs only on the first access to the server, after which the certificate is stored in the browser database and marked as trusted. However, with other browsers, the insecure connection warning might be displayed every time you access the server.
This scenario is suitable for testing purposes, or for running the program on the company's internal networks. If you want to makethe theseconsoles available to external users, your organization should obtain a certificate signed by a well-known certificate authority, which verifies that the server actually has the name it is accessed by and that this server belongs to the given organization.
If you leave the EMM console unattended, the session will time out. The default timeout value is 15 minutes, but you can change this in the <EMM_HOME>/repository/conf/tomcat/carbon/WEB-INF/web.xml
file as follows:
<session-config> <session-timeout>15</session-timeout> </session-config>
Restricting Access to the Management Console and Web Applications:
You can restrict access to the management console of your product by binding the management console with selected IP addresses. Note that you can either restrict access to the management console only, or you can restrict access to all web applications in your server as explained below.
To control access only to the management console, add the IP addresses to the
<PRODUCT_HOME>/repository/conf/tomcat/carbon/META-INF/context.xml
file as follows:<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="<IP-address-01>|<IP-address-02>|<IP-address-03>"/>
The
RemoteAddrValve
Tomcat valve defined in this file will only apply to the Carbon management console, and thereby all outside requests to the management console will be blocked.To control access to all web applications deployed on your server, add the IP addresses to the
<PRODUCT_HOME>/repository/conf/context.xml
file as follows:<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="<IP-address-01>|<IP-address-02>|<IP-address-03>"/>
The
RemoteAddrValve
Tomcat valve defined in this file will apply to each web application hosted on the Carbon server. Therefore, all outside requests to any web application will be blocked.You can also restrict access to particular servlets in a web application by adding a Remote Address Filter to the
web.xml
file (stored in the<PRODUCT_HOME>/repository/conf/tomcat/
directory), and by mapping that filter to the servlet URL. In the Remote Address Filter that you add, you can specify the IP addresses that should be allowed to access the servlet.
The following example from a web.xml file illustrates how access to the management page (/carbon/admin/login.jsp
) is granted only to one IP address:<filter> <filter-name>Remote Address Filter</filter-name> <filter-class>org.apache.catalina.filters.RemoteAddrFilter</filter-class> <init-param> <param-name>allow</param-name> <param-value>127.0.01</param-value> </init-param> </filter> <filter-mapping> <filter-name>Remote Address Filter</filter-name> <url-pattern>/carbon/admin/login.jsp</url-pattern> </filter-mapping>
<PRODUCT_HOME>/repository/conf/tomcat/catalina-server.xml
file applies to all web applications and is globally available across server, regardless of host or cluster. See the official Tomcat documentation for more information about using remote host filters.Stopping the server
To stop the server, press Ctrl+C in the command window.