...
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
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>
Ensure to configure the EMM server domain and port in the following
emm-config.xml
file configurations: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.
Going into production
When going into production, it is not recommended to use the H2 database. The following are instructions on how to configure 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 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 directory.Code Block <datasource> <name>WSO2_EMM_DB</name> <description>The datasource used for EMM</description> <jndiConfig> <name>jdbc/emmdb</name> </jndiConfig> <definition type="RDBMS"> <configuration> <url>jdbc:mysql://localhost:3306/WSO2_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/
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> <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>
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.