This page takes you through the steps for upgrading from EMM 1.0.1 version to EMM 1.1.0. For more information on release versions, see the Release Matrix.
Table of Contents | ||||
---|---|---|---|---|
|
Configuration changes
The following are some of the changes in EMM 1.1.0 configurations compared to EMM 1.0.1 that need to be taken into consideration.
The
mdm-config.xml
, which is in the<EMM_HOME>/repository/conf/
directory, has been renamed toemm-config.xml
in EMM 1.1.0 together with the following tags:EMM 1.0.1 Tag EMM 1.1.0 Tag <ios-enroll-url>
<iOSEnrollURL>
<ios-profile-url>
<iOSProfileURL>
<ios-checkin-url>
<iOSCheckinURL>
<ios-server-url>
<iOSServerURL>
<ios-device-property-post-url>
<TokenURL>
The following configurations in the
mdm-config.xml
file, which is in the<EMM_HOME>/repository/conf/
directory, have been removed in EMM 1.1.0 and these configurations need to be configured via the iOS Settings page in the EMM Console.Code Block <!-- iOS APNS configurations --> <ios-apns-cert-path>[APNS-CERTIFICATE-PATH]</ios-apns-cert-path> <ios-apns-cert-password>[APNS-PASSWORD]</ios-apns-cert-password> <ios-apns-production-mode>true</ios-apns-production-mode> <!-- iOS MDM APNS configurations --> <ios-mdm-apns-cert-path>[MDM-APNS-CERTIFICATE-PATH]</ios-mdm-apns-cert-path> <ios-mdm-apns-cert-password>[MDM-APNS-PASSWORD]</ios-mdm-apns-cert-password> <ios-mdm-apns-production-mode>true</ios-mdm-apns-production-mode> <!-- iOS mdm topic id --> <ios-mdm-topic-id>[MDM-TOPIC-ID]</ios-mdm-topic-id>
The following configuration that was in the
<EMM-1.0.1_HOME>\repository\deployment\server\jaggerya
pps\mdm\config\config.json
file has been added to the<EMM-1.1.0_HOME>/repository/conf/emm-config.xml
file using the<DeviceMonitorF
requency> tag.
"monitor_interval" : "$(monitoring_frequency)"
Preparing to upgrade
The following are the specific prerequisites you must complete before you upgrade from EMM 1.0.1 to EMM 1.1.0:
...
Copy the data from the old database (EMM 1.0.1) to the staging database you created. This becomes the new database for your new version of WSO2 EMM.
- Download EMM 1.1.0 and connect it to your staging database.
- Configure the following files for the new production server.
- Go to the
<EMM_HOME>/repository/conf/datasources/
directory and update themaster-datasources.xml
file. See configuring master-datasources.xml. - Go to the
<EMM_HOME>/repository/conf/
directory and update datasource references in theuser-mgt.xml
andregistry.xml
files. See configuring user-mgt.xml and configuring registry.xml.
- Go to the
- Run the attached mysql_migration.sql script in to the EMM MySQL DB.
- Navigate to the
<EMM_HOME>/repository/deployment/server/jaggeryapps/publisher/upload/
directory in the WSO2 EMM 1.0.1 pack and copy the content in that folder to the same location in the WSO2 EMM 1.1.0 pack. The mdmUpdate the EMM server domain and port in the following
emm-config.xml
file, which is in the<EMM_HOME>/repository/conf/
directory, has been renamed toemm-config.xml
in EMM 1.1.0 together with the following tags:EMM 1.0.1 Tag EMM 1.1.0 Tag <ios-enroll-url>
<iOSEnrollURL>
<ios-profile-url>
<iOSProfileURL>
<ios-checkin-url>
<iOSCheckinURL>
<ios-server-url>
<iOSServerURL>
<ios-device-property-post-url>
<TokenURL>
Ensure to configure the EMM server domain and port in the following
emm-config.xml
file configurations:directory, as follows:
Code Block <iOSEnrollURL>[EMM-SERVER-DOMAIN]:[PORT]/emm/scep</iOSEnrollURL> <iOSProfileURL>[EMM-SERVER-DOMAIN]:[PORT]/emm/profile</iOSProfileURL> <iOSCheckinURL>[EMM-SERVER-DOMAIN]:[PORT]/emm/checkin</iOSCheckinURL> <iOSServerURL>[EMM-SERVER-DOMAIN]:[PORT]/emm/server</iOSServerURL> <TokenURL>[EMM-SERVER-DOMAIN]:[PORT]/emm/api/devices/iostokenregister</TokenURL>
Perform any configurations required for the server (e.g., external user stores, clustering, caching, mounting etc.).
Note Note that configurations should not be copied directly between servers.
- Start the server.
How to migrate from H2 to MySQL
When going into production, it is not recommended to use the H2 database. The following are instructions on how to configure migrate from H2 databases MySQL databases:
- Install MySQL.
sudo apt-get install mysql-server mysql-client
- Set the MySQL root password.
- Start the MySQL service.
sudo /etc/init.d/mysql start
Log in to the MySQL client as the root user
mysql -u root -p
You will be prompted to enter the password. In most systems, the default root password is blank. Press Enter without typing anything, if you have not changed the default root password.
Create the
WSO2_EMM_DB
as follows:In the MySQL prompt, create the database.
create database WSO2_EMM_DB;
Give authorization for the database to the admin user as follows. Thereafter, exit the MySQL Console.
GRANT ALL ON WSO2_EMM_DB.* TO admin@localhost IDENTIFIED BY "<MYSQL ADMIN PASSWORD>";
Run the MySQL scripts as follows:
mysql -u admin -p -DWSO2_EMM_DB < <PRODUCT_HOME>/dbscripts/emm/mysql.sql;
Download the MySQL connector for Java, from http://dev.mysql.com/downloads/connector/j/ and copy the JAR file downloaded to the
<PRODUCT_HOME>/repository/components/lib/
directory.Update the following configuration (i.e., username, password, and more) in the
master-datasources.xml
file, which is in the<PRODUCT_HOME>/repository/confg/datasources/
directory.Code Block <datasource> <name>WSO2_EMM_DB</name> <description>The datasource used for EMM</description> <jndiConfig> <name>jdbc/emmdb<WSO2EMMDB</name> </jndiConfig> <definition type="RDBMS"> <configuration> <url>jdbc:mysql://localhost:3306/WSO2WSO2EMM_EMM_DB</url> <username>[MySQL username]</username> <password>[MySQL password]</password> <driverClassName>com.mysql.jdbc.Driver</driverClassName> <maxActive>50</maxActive> <maxWait>60000</maxWait> <testOnBorrow>true</testOnBorrow> <validationQuery>SELECT 1</validationQuery> <validationInterval>30000</validationInterval> </configuration> </definition> </datasource>
Create the
WSO2_CARBON_DB
as follows:In the MySQL prompt, create the database.
create database WSO2_CARBON_DB;
Give authorization for the database to the admin user as follows. Thereafter, exit the MySQL Console.
Info As the user named admin was created in step 5, we do not need to create a user again in this step.
GRANT ALL ON WSO2_CARBON_DB.* TO admin@localhost;
Run the MySQL scripts as follows:
mysql -u admin -p -DWSO2_CARBON_DB < <PRODUCT_HOME>/dbscripts/mysql.sql;
Update the following configuration (i.e., username, password, and more) in the
master-datasources.xml
file, which is in the<PRODUCT_HOME>/repository/confg/datasources/
directory.Code Block <datasource> <name>WSO2_CARBON_DB</name> <description>The datasource used for registry and user manager</description> <jndiConfig> <name>jdbc/WSO2CarbonDB</name> </jndiConfig> <definition type="RDBMS"> <configuration> <url>jdbc:mysql://localhost:3306/WSO2_CARBON_DB</url> <username>[MySQL username]</username> <password>[MySQL password]</password> <driverClassName>com.mysql.jdbc.Driver</driverClassName> <maxActive>50</maxActive> <maxWait>60000</maxWait> <testOnBorrow>true</testOnBorrow> <validationQuery>SELECT 1</validationQuery> <validationInterval>30000</validationInterval> </configuration> </definition> </datasource>
Create the
WSO2_IDENTITY_DB
as follows:- In the MySQL prompt, create the database.
create database WSO2
IDENTITY_DB;_
Give authorization for the database to the admin user as follows. Thereafter, exit the MySQL Console.
Info As the user named admin was created in step 5, we do not need to create a user again in this step.
GRANT ALL ON WSO2_IDENTITY_DB.* TO admin@localhost;
Run the MySQL scripts as follows:
mysql -u admin -p -DWSO2_IDENTITY_DB < <PRODUCT_HOME>/dbscripts/identity/mysql.sql;
Update the following configuration (i.e., username, password, and more) in the
master-datasources.xml
file, which is in the<PRODUCT_HOME>/repository/confg/datasources/
directory.Code Block <datasource> <name>WSO2_IDENTITY_DB</name> <description>The datasource used for identity configurations</description> <jndiConfig> <name>jdbc/WSO2IdentityDB</name> </jndiConfig> <definition type="RDBMS"> <configuration> <url>jdbc:mysql://localhost:3306/WSO2_IDENTITY_DB</url> <username>[MySQL username]</username> <password>[MySQL password]</password> <driverClassName>com.mysql.jdbc.Driver</driverClassName> <maxActive>50</maxActive> <maxWait>60000</maxWait> <testOnBorrow>true</testOnBorrow> <validationQuery>SELECT 1</validationQuery> <validationInterval>30000</validationInterval> </configuration> </definition> </datasource>
Create the
WSO2AM_DB
as follows:In the MySQL prompt, create the database.
create database WSO2AM_DB;
Give authorization for the database to the admin user as follows. Thereafter, exit the MySQL Console.
Info As the user named admin was created in step 5, we do not need to create a user again in this step.
GRANT ALL ON WSO2AM_DB.* TO admin@localhost;
Run the MySQL scripts as follows:
mysql -u admin -p -DWSO2AM_DB < <PRODUCT_HOME>/dbscripts/apimgt/mysql.sql;
Update the following configuration (i.e., username, password, and more) in the
master-datasources.xml
file, which is in the<PRODUCT_HOME>/repository/confg/datasources/
directory.Code Block <datasource> <name>WSO2AM_DB</name> <description>The datasource used for API manager database</description> <jndiConfig> <name>jdbc/WSO2AM_DB</name> </jndiConfig> <definition type="RDBMS"> <configuration> <defaultAutoCommit>false</defaultAutoCommit> <url>jdbc:mysql://localhost:3306/WSO2AM_DB</url> <username>[MySQL username]</username> <password>[MySQL password]</password> <driverClassName>com.mysql.jdbc.Driver</driverClassName> <maxActive>50</maxActive> <maxWait>60000</maxWait> <testOnBorrow>true</testOnBorrow> <validationQuery>SELECT 1</validationQuery> <validationInterval>30000</validationInterval> </configuration> </definition> </datasource>
Going into production
Create tenants and test WSO2 EMM throughly. Once the tests are run successfully, it is safe to consider that the upgrade is ready for production. However, it is advised to test any features that are being used in production.