Published May 05, 2019 by

Configure Let's Encrypt SSL in Zimbra Mail Server

In this tutorial, we configure let's encrypt SSL in our Zimbra mail server which we have configured in the previous post.

For install ssl in zimbra create file named zimbra-ssl.sh.
 sudo vim zimbra-ssl.sh   
Insert Below script in a zimbra-ssl.sh file and save.
 #!/bin/bash  
   
 # SSL certificate installation in Zimbra  
 # with SSL certificate provided by Let's Encrypt (letsencrypt.org)  
 # Author: Subhash (serverkaka.com)  
   
 # Check if running as root  
 if [ "$(id -u)" != "0" ]; then  
   echo "This script must be run as root" 1>&2  
   exit 1  
 fi  
   
 read -p 'letsencrypt_email [xx@xx.xx]: ' letsencrypt_email  
 read -p 'mail_server_url [xx.xx.xx]: ' mail_server_url  
   
 # Check All variable have a value  
 if [ -z $mail_server_url ] || [ -z $letsencrypt_email ]  
 then  
    echo run script again please insert all value. do not miss any value  
 else  
   
 # Installation start  
 # Stop the jetty or nginx service at Zimbra level  
 su - zimbra -c 'zmproxyctl stop'  
 su - zimbra -c 'zmmailboxdctl stop'  
   
 # Install git and letsencrypt  
 cd /opt/  
 apt-get install git -y  
 git clone https://github.com/letsencrypt/letsencrypt  
 cd letsencrypt  
   
 # Get SSL certificate  
 ./letsencrypt-auto certonly --standalone --non-interactive --agree-tos --email $letsencrypt_email -d $mail_server_url --hsts  
 cd /etc/letsencrypt/live/$mail_server_url  
 cat <<EOF >>chain.pem  
 -----BEGIN CERTIFICATE-----  
 MIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/  
 MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT  
 DkRTVCBSb290IENBIFgzMB4XDTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVow  
 PzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMRcwFQYDVQQD  
 Ew5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB  
 AN+v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdAwRgUi+DoM3ZJKuM/IUmTrE4O  
 rz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwGMoOifooUMM0RoOEq  
 OLl5CjH9UL2AZd+3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9b  
 xiqKqy69cK3FCxolkHRyxXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw  
 7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40dutolucbY38EVAjqr2m7xPi71XAicPNaD  
 aeQQmxkqtilX4+U9m5/wAl0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNV  
 HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSnsaR7LHH62+FLkHX/xBVghYkQMA0GCSqG  
 SIb3DQEBBQUAA4IBAQCjGiybFwBcqR7uKGY3Or+Dxz9LwwmglSBd49lZRNI+DT69  
 ikugdB/OEIKcdBodfpga3csTS7MgROSR6cz8faXbauX+5v3gTt23ADq1cEmv8uXr  
 AvHRAosZy5Q6XkjEGB5YGV8eAlrwDPGxrancWYaLbumR9YbK+rlmM6pZW87ipxZz  
 R8srzJmwN0jP41ZL9c8PDHIyh8bwRLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5  
 JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubSfZGL+T0yjWW06XyxV3bqxbYo  
 Ob8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ  
 -----END CERTIFICATE-----  
 EOF  
   
 # Verify commercial certificate  
 mkdir /opt/zimbra/ssl/letsencrypt  
 cp /etc/letsencrypt/live/$mail_server_url/* /opt/zimbra/ssl/letsencrypt/  
 chown zimbra:zimbra /opt/zimbra/ssl/letsencrypt/*  
 ls -la /opt/zimbra/ssl/letsencrypt/  
 su - zimbra -c 'cd /opt/zimbra/ssl/letsencrypt/ && /opt/zimbra/bin/zmcertmgr verifycrt comm privkey.pem cert.pem chain.pem'  
   
 # Deploy the new Let's Encrypt SSL certificate  
 cp -a /opt/zimbra/ssl/zimbra /opt/zimbra/ssl/zimbra.$(date "+%Y%m%d")  
 cp /opt/zimbra/ssl/letsencrypt/privkey.pem /opt/zimbra/ssl/zimbra/commercial/commercial.key  
 sudo chown zimbra:zimbra /opt/zimbra/ssl/zimbra/commercial/commercial.key  
 su - zimbra -c 'cd /opt/zimbra/ssl/letsencrypt/ && /opt/zimbra/bin/zmcertmgr deploycrt comm cert.pem chain.pem'  
   
 # Restart Zimbra  
 su - zimbra -c 'zmcontrol restart'  
   
 # setting auto https redirect  
 cd /opt && touch https-redirect.sh && chown zimbra:zimbra https-redirect.sh && chmod +x https-redirect.sh  
 cat <<EOF >>/opt/https-redirect.sh  
 zmprov ms $mail_server_url zimbraReverseProxyMailMode redirect  
 EOF  
 su - zimbra -c '/opt/https-redirect.sh'  
 rm /opt/https-redirect.sh  
 fi  
Give execute permission to the zimbra-ssl.sh file
 sudo chmod +x zimbra-ssl.sh  
Finally, now run the zimbra-ssl.sh file
 sudo ./zimbra-ssl.sh  

After successfully script execute, Go to a browser and check https://mail.servrkaka.com/



For more script and installation note check this link: https://github.com/SubhashPatel/Install-Zimbra-mail-server-ubuntu

Read More
Published May 05, 2019 by

Install and Configure Zimbra Mail Server in Ubuntu/Debian

Zimbra Collaboration Suite (ZCS) is a collaborative software suite that includes an email server and web client.

The software consists of both client and server components, and a desktop client. Two versions of Zimbra are available: an open-source version and a commercially supported version ("Network Edition") with closed-source components such as a proprietary Messaging Application Programming Interface connector to Outlook for calendar and contact synchronization.

The ZCS Server uses open source projects such as:
  • Postfix
  • MariaDB (since version 8.5)
  • OpenDKIM (since version 8.0)
  • OpenLDAP
  • Jetty (since version 5)
  • Lucene
  • ClamAV
  • SpamAssassin
  • Amavis (amavisd-new)
  • DSPAM (deprecated starting 8.7)
  • Aspell
  • nginx (since 5.0)
Prerequisite:

2 GHz 64 bit CPU
Minimum 8 GB RAM
Minimum 10 GB disk

Configure Hostname

Edit /etc/hosts and add the line 192.168.0.25 mail.serverkaka.com mail. Change 192.168.0.25 with the Local IP you want to use.
 root@mail:~# cat /etc/hosts  
 127.0.0.1 localhost  
 192.168.0.25 mail.serverkaka.com mail  
Also edit /etc/hostname and the line 'mail'
 root@mail:~# cat /etc/hostname  
 mail  
Reboot the system and test the FQDN of your server with the command hostname -f and hostname.
 root@mail:~# hostname -f   
 mail.serverkaka.com  
 root@mail:~# hostname   
 mail  
DNS Setup Before Install

Before Zimbra installation, we have to set up DNS configuration (A record and MX Record).

A Record
TypeHostPoints toTTL
Amail34.73.91.191 Hour
MX Record
TypeHostPoints toPriorityTTL
MX@mail.serverkaka.com101 Hour
Don't forget to change above value with actual value.

Zimbra Server Installation

For Install  Zimbra mail server Create a file named Zimbra.sh
 sudo vim zimbra.sh  
Insert Below script in a Zimbra.sh file and save.
 #!/bin/bash -x  
   
 # Zimbra mail server installation in Ubuntu 14.04 and 16.04  
 # Author: Subhash (serverkaka.com)  
   
 # Check if running as root  
 if [ "$(id -u)" != "0" ]; then  
   echo "This script must be run as root" 1>&2  
   exit 1  
 fi  
   
 ## Preparing all the variables like IP, Hostname, etc, all of them from the server  
 RANDOMHAM=$(date +%s|sha256sum|base64|head -c 10)  
 RANDOMSPAM=$(date +%s|sha256sum|base64|head -c 10)  
 RANDOMVIRUS=$(date +%s|sha256sum|base64|head -c 10)  
 HOSTNAME=$(hostname -s)  
   
 ##Install a DNS Server  
 sudo apt-get update && sudo apt-get install -y bind9 bind9utils bind9-doc  
 echo "Installing Bind DNS Server"  
 sed "s/-u/-4 -u/g" /etc/default/bind9 > /etc/default/bind9.new  
 mv /etc/default/bind9.new /etc/default/bind9  
 rm /etc/bind/named.conf.options  
 cat <<EOF >>/etc/bind/named.conf.options  
 options {  
 directory "/var/cache/bind";  
 listen-on { $2; }; # ns1 private IP address - listen on private network only  
 allow-transfer { none; }; # disable zone transfers by default  
 forwarders {  
 8.8.8.8;  
 8.8.4.4;  
 };  
 auth-nxdomain no; # conform to RFC1035  
 #listen-on-v6 { any; };  
 };  
 EOF  
 cat <<EOF >>/etc/bind/named.conf.local  
 zone "$1" {  
     type master;  
     file "/etc/bind/db.$1";  
 };  
 EOF  
 touch /etc/bind/db.$1  
 cat <<EOF >/etc/bind/db.$1  
 \$TTL 604800  
 @   IN   SOA  ns1.$1. root.localhost. (  
                 2    ; Serial  
             604800    ; Refresh  
             86400    ; Retry  
             2419200    ; Expire  
             604800 )   ; Negative Cache TTL  
   ;  
   @   IN   NS   ns1.$1.  
   @   IN   A   $2  
   @   IN   MX   10   $HOSTNAME.$1.  
   $HOSTNAME   IN   A   $2  
   ns1   IN   A   $2  
   mail   IN   A   $2  
   pop3   IN   A   $2  
   imap   IN   A   $2  
   imap4   IN   A   $2  
   smtp   IN   A   $2  
 EOF  
 sudo service bind9 restart  
   
 ##Preparing the config files to inject  
 echo "Creating the Scripts files"  
 mkdir /tmp/zcs && cd /tmp/zcs  
 touch /tmp/zcs/installZimbraScript  
 cat <<EOF >/tmp/zcs/installZimbraScript  
 AVDOMAIN="$1"  
 AVUSER="admin@$1"  
 CREATEADMIN="admin@$1"  
 CREATEADMINPASS="$3"  
 CREATEDOMAIN="$1"  
 DOCREATEADMIN="yes"  
 DOCREATEDOMAIN="yes"  
 DOTRAINSA="yes"  
 EXPANDMENU="no"  
 HOSTNAME="$HOSTNAME.$1"  
 HTTPPORT="8080"  
 HTTPPROXY="TRUE"  
 HTTPPROXYPORT="80"  
 HTTPSPORT="8443"  
 HTTPSPROXYPORT="443"  
 IMAPPORT="7143"  
 IMAPPROXYPORT="143"  
 IMAPSSLPORT="7993"  
 IMAPSSLPROXYPORT="993"  
 INSTALL_WEBAPPS="service zimlet zimbra zimbraAdmin"  
 JAVAHOME="/opt/zimbra/common/lib/jvm/java"  
 LDAPAMAVISPASS="$3"  
 LDAPPOSTPASS="$3"  
 LDAPROOTPASS="$3"  
 LDAPADMINPASS="$3"  
 LDAPREPPASS="$3"  
 LDAPBESSEARCHSET="set"  
 LDAPDEFAULTSLOADED="1"  
 LDAPHOST="$HOSTNAME.$1"  
 LDAPPORT="389"  
 LDAPREPLICATIONTYPE="master"  
 LDAPSERVERID="2"  
 MAILBOXDMEMORY="512"  
 MAILPROXY="TRUE"  
 MODE="https"  
 MYSQLMEMORYPERCENT="30"  
 POPPORT="7110"  
 POPPROXYPORT="110"  
 POPSSLPORT="7995"  
 POPSSLPROXYPORT="995"  
 PROXYMODE="https"  
 REMOVE="no"  
 RUNARCHIVING="no"  
 RUNAV="yes"  
 RUNCBPOLICYD="no"  
 RUNDKIM="yes"  
 RUNSA="yes"  
 RUNVMHA="no"  
 SERVICEWEBAPP="yes"  
 SMTPDEST="admin@$1"  
 SMTPHOST="$HOSTNAME.$1"  
 SMTPNOTIFY="yes"  
 SMTPSOURCE="admin@$1"  
 SNMPNOTIFY="yes"  
 SNMPTRAPHOST="$HOSTNAME.$1"  
 SPELLURL="http://$HOSTNAME.$1:7780/aspell.php"  
 STARTSERVERS="yes"  
 SYSTEMMEMORY="3.8"  
 TRAINSAHAM="ham.$RANDOMHAM@$1"  
 TRAINSASPAM="spam.$RANDOMSPAM@$1"  
 UIWEBAPPS="yes"  
 UPGRADE="yes"  
 USEKBSHORTCUTS="TRUE"  
 USESPELL="yes"  
 VERSIONUPDATECHECKS="TRUE"  
 VIRUSQUARANTINE="virus-quarantine.$RANDOMVIRUS@$1"  
 ZIMBRA_REQ_SECURITY="yes"  
 ldap_bes_searcher_password="$3"  
 ldap_dit_base_dn_config="cn=zimbra"  
 ldap_nginx_password="$3"  
 ldap_url="ldap://$HOSTNAME.$1:389"  
 mailboxd_directory="/opt/zimbra/mailboxd"  
 mailboxd_keystore="/opt/zimbra/mailboxd/etc/keystore"  
 mailboxd_keystore_password="$3"  
 mailboxd_server="jetty"  
 mailboxd_truststore="/opt/zimbra/common/lib/jvm/java/jre/lib/security/cacerts"  
 mailboxd_truststore_password="changeit"  
 postfix_mail_owner="postfix"  
 postfix_setgid_group="postdrop"  
 ssl_default_digest="sha256"  
 zimbraDNSMasterIP=""  
 zimbraDNSTCPUpstream="no"  
 zimbraDNSUseTCP="yes"  
 zimbraDNSUseUDP="yes"  
 zimbraDefaultDomainName="$1"  
 zimbraFeatureBriefcasesEnabled="Enabled"  
 zimbraFeatureTasksEnabled="Enabled"  
 zimbraIPMode="ipv4"  
 zimbraMailProxy="FALSE"  
 zimbraMtaMyNetworks="127.0.0.0/8 $2/32 [::1]/128 [fe80::]/64"  
 zimbraPrefTimeZoneId="America/Los_Angeles"  
 zimbraReverseProxyLookupTarget="TRUE"  
 zimbraVersionCheckInterval="1d"  
 zimbraVersionCheckNotificationEmail="admin@$1"  
 zimbraVersionCheckNotificationEmailFrom="admin@$1"  
 zimbraVersionCheckSendNotifications="TRUE"  
 zimbraWebProxy="FALSE"  
 zimbra_ldap_userdn="uid=zimbra,cn=admins,cn=zimbra"  
 zimbra_require_interprocess_security="1"  
 zimbra_server_hostname="$HOSTNAME.$1"  
 INSTALL_PACKAGES="zimbra-core zimbra-ldap zimbra-logger zimbra-mta zimbra-snmp zimbra-store zimbra-apache zimbra-spell zimbra-memcached zimbra-proxy"  
 EOF  
   
 touch /tmp/zcs/installZimbra-keystrokes  
 cat <<EOF >/tmp/zcs/installZimbra-keystrokes  
 y  
 y  
 y  
 y  
 y  
 n  
 y  
 y  
 y  
 y  
 y  
 y  
 y  
 n  
 y  
 y  
 EOF  
   
 ## Install Zimbra Mail Server  
 if [[ `lsb_release -rs` == "16.04" ]]; then  
      echo "Downloading Zimbra Collaboration 8.8.10 for Ubuntu 16.04"  
      wget https://files.zimbra.com/downloads/8.8.10_GA/zcs-8.8.10_GA_3039.UBUNTU16_64.20180928094617.tgz  
      tar xzvf zcs-*  
      echo "Installing Zimbra Collaboration just the Software"  
      cd /tmp/zcs/zcs-* && ./install.sh -s < /tmp/zcs/installZimbra-keystrokes  
      echo "Installing Zimbra Collaboration injecting the configuration"  
      /opt/zimbra/libexec/zmsetup.pl -c /tmp/zcs/installZimbraScript  
 fi  
 if [[ `lsb_release -rs` == "14.04" ]]; then  
      echo "Downloading Zimbra Collaboration 8.8.10 for Ubuntu 16.04"  
      wget https://files.zimbra.com/downloads/8.8.10_GA/zcs-8.8.10_GA_3039.UBUNTU14_64.20180928094617.tgz  
      tar xzvf zcs-*  
      echo "Installing Zimbra Collaboration just the Software"  
      cd /tmp/zcs/zcs-* && ./install.sh -s < /tmp/zcs/installZimbra-keystrokes  
      echo "Installing Zimbra Collaboration injecting the configuration"  
      /opt/zimbra/libexec/zmsetup.pl -c /tmp/zcs/installZimbraScript  
 fi  
   
 ## Restart Zimbra  
 su - zimbra -c 'zmcontrol restart'  
   
 ## Add Crontab for server autostart at startup or reboot   
 cat <(crontab -l) <(echo "@reboot su - zimbra -c 'zmcontrol start'") | crontab -  
   
 echo "You can access now to your Zimbra Collaboration Server"  
 echo "Admin Console: https://"$2":7071"  
 echo "Web Client: https://"$2  
Give execute permission to Zimbra.sh file
 sudo chmod +x zimbra.sh  
Finally, now run the Zimbra.sh file with parameter your domain name, machine Local IP and Admin Password.
 sudo ./zimbra.sh serverkaka.com 192.168.0.25 Zimbra123  
Now sit back and Relax, it will take time up to 30 minutes, depending on your internet and machine speed.

After Successfully script executed below is Access Zimbra Admin Portal & Web Mail Client.

To access Zimbra Mail Web Client, type the following URL in the browser
https://mail.serverkaka.com/



To access the Zimbra Admin Portal, type below URL in Web Browser
https://mail.serverkaka.com:7071/



Below Ports should be open in firewall for Zimbra access from external:
HTTP80
HTTPS443
POP3110
SMTP25
SMTP587
POP3S (Secure POP3)995
IMAP143
IMAPS (Secure IMAP)993

Read More
Published April 24, 2019 by

Install Nexus on Ubuntu Linux


Sonatype Nexus is one of the best repository managers out there. It is some tool that you cannot avoid in your CI/CD pipeline. It effectively manages deployable artifacts.

This article guides you to install and configure Sonatype Nexus 3 in a secure way on a Ubuntu Linux System.

Install Java
 apt-get update  
 apt install openjdk-8-jre-headless  

Download Nexus
 cd /opt  
   
 wget https://sonatype-download.global.ssl.fastly.net/repository/repositoryManager/3/nexus-3.16.1-02-unix.tar.gz  
   
 tar -zxvf nexus-3.16.1-02-unix.tar.gz  
   
 mv /opt/nexus-3.16.1-02 /opt/nexus  

As a good security practice, it is not advised to run nexus service as root. so create a new user called nexus and grant sudo access to manage nexus services
 sudo adduser nexus  


Set no password for nexus user and enter below command to edit sudo file
 visudo  

Add the below line and Save.
 nexus   ALL=(ALL)       NOPASSWD: ALL

Change file and owner permission for nexus files
 sudo chown -R nexus:nexus /opt/nexus  
 sudo chown -R nexus:nexus /opt/sonatype-work  

Add nexus as a service at boot time

Open /opt/nexus/bin/nexus.rc file, uncomment run_as_user parameter and set it as following.
 vim /opt/nexus/bin/nexus.rc  
   
 run_as_user="nexus" (file shold have only this line)  

Add nexus as a service at boot time
 sudo ln -s /opt/nexus/bin/nexus /etc/init.d/nexus

Log in as a nexus user and start service
 su - nexus  
 /etc/init.d/nexus start  

Now, log in nexus server from a browser on port 8081 
http://<Nexus_server>:8081

Use default credentials to log in

username: admin
password: admin123
Read More
Published April 05, 2019 by

Deploy Java Web App in Elastic Beanstalk with Jenkins

In this tutorial, we will learn how to automatic update Java Web application in AWS Elastic Beanstalk.

I assume you have already set up elastic beanstalk application in AWS and it's up and running.

Step 1: Create an AWS IAM user and Credentials

Go to AWS > IAM > Users > Add User

Here Create a user with any name (ex. JenkinsBeanstalk) and attach AWSElasticBeanstalkFullAccess policy.


After a user created AWS gives Access Key ID and Secret Access Key. Keep store those two strings in a file. we need it later.

Step 2: Install Jenkins Plugin

Install the AWS Elastic Beanstalk Deployment Plugin.

Open Jenkins: Manage Jenkins > Mange Plugins > Available

Step 3: Configure Credentials

Open Jenkins: Jenkins > Credentials > System > Global credentials (unrestricted) > Add Credentials 




Step 4: Configure Job

In Jenkins Job keep Scroll down to the Build option and Add build step and Select AWS Elastic Beanstalk.



Inside AWS Elastic Beanstalk wizard fill up all details related your app. for reference see below image.



Click on Save button complete the job.

Start the Build

Click Build Now 



Read More
Published March 12, 2019 by

Kernel IMAP to Office 365 – Product Review

With the advancement in cloud technologies, Office 365 is becoming one of the most popular platforms for organizations. Therefore, many businesses are planning to move their data to Office 365, including IMAP mailboxes.
But, migrating from IMAP mailboxes is not that easy as seems to be. Though Microsoft provides some free methods to migrate data from IMAP mailboxes to Office 365, that is not much reliable and simple. So, businesses prefer using a third-party tool that offers straight and quick migration of IMAP mailboxes to Office 365.
Kernel for IMAP to Office 365 is one such utility among many migration tools. But there are some functionalities that make it stand apart from others, such as:
  • Migrate single/multiple mailboxes to Office 365/Exchange Server
  • Facility to migrate public folders and archive mailboxes
  • Migrate multiple mailboxes using CSV file
  • Smart filtering options to migrate desired mailboxes data
  • Support migration from almost every IMAP email server
  • Allow saving migration report summary in CSV format
  • Compatible with every version of Windows OS including Windows 10/8.1/8 etc.

In this article, we’ll discuss in detail about the Kernel IMAP to Office 365 migrator utility. So, let’s find out what else this tool has to offer.
Problems that Kernel IMAP to Office 365 can Solve
According to experts or MVP’s, Kernel IMAP to Office 365 is said to be the most valuable and effective tool in solving problems related to IMAP to Office 365 migration. Some of the common challenges that organizations often face are:
Multiple Mailbox Migration from IMAP Email Servers
Users often have multiple IMAP mailboxes of users, and when it comes to migrating all these mailboxes to Office 365 together, it’s not an easy task. But, Kernel IMAP to Office 365 allow you to migrate multiple IMAP mailboxes to Office 365 easily. You can individually add the mailboxes or use a CSV file to upload multiple mailboxes.
Migrating Specific Emails Based on Requirements
Sometimes, all the data in IMAP mailboxes is not crucial, such as user mailboxes that are of no use anymore. Therefore, businesses like to save data on the cloud by migrating only specific emails from IMAP user mailboxes. You can achieve this task easily with Kernel IMAP to Office 365 smart filtering options, that allow you to migrate data based on date, item type, from, to, etc.
Compatibility for All IMAP Email Servers
Third-party IMAP migration tools often don’t have compatibility with every IMAP email server. But, Kernel IMAP to Office 365 provides support to almost every IMAP email server, including Yahoo, Gmail, Amazon, Zimbra, AOL, WorkMail, GMX, and many more.
After knowing these fantastic features, you may really want to know its working process. To make it easy for you, we performed an IMAP to Office 365 migration with this tool. And the process was very smooth and amazing. Let’s have a clear look at its working process.
Installation Process
Installing Kernel IMAP to Office 365 is very simple and quick. You just need to download the tool and double-click on it. The installation window will appear on the screen. Now, follow the instructions and read the agreement to install Kernel IMAP to Office 365 on your system. After installing the tool on the specific location, you can launch the software by double-clicking on it.
Migrating Gmail to Office 365
We performed the task of migrating Gmail mailboxes to Office 365 with Kernel IMAP to Office 365 tool. Here we have mentioned the detailed migration process to elaborate on how this utility works.
1. Launch the tool and click Add Source on the home screen of the tool.

2. Enter the details for your IMAP account like an email server, email ID, port number, and then click Add. Here we have used Gmail as an email server.

3. Now, add Office 365 as a destination. Click Add destination and enter the details for Office 365 account. The Office 365 account will be added within seconds.

4. After adding both source and destination, select the type of mailbox that you want to migrate and click the Migrate button at the bottom right corner of the tool.

5. The smart filtering options will appear on the screen. You can set filters according to your requirements based on item type, date, folders, deleted items, etc. and click Start Migration.

6. The tool will start migrating your emails to Office 365. After the completion of the process, a notification will appear on the screen displaying Process Completed. Click OK to end the process.

7. If you want to save this migration report to a CSV format, then click Save report to CSV.

As you can see, the process of migrating Gmail mailboxes to Office 365 was quick and easy. Similarly, you can migrate other IMAP mailboxes to Office 365 easily.
Conclusion
Based on our experience with Kernel IMAP to Office 365 tool, we would recommend this software to every individual who wants to migrate from IMAP mailboxes to Office 365. Not only it is a cost-effective utility, but it also provides some unique features that can be helpful to every user. https://www.nucleustechnologies.com/imap-to-office-365/
Read More
Published March 11, 2019 by

Generate Android APK from source code in Jenkins

In this tutorial, we will learn step by step how to generate android APK from source code in Jenkins. I assume you have already installed Jenkins.



Setup Android SDK

create directory
 mkdir -p /var/lib/jenkins/android-sdk/ 

go to an android-SDK directory
cd /var/lib/jenkins/android-sdk/  

Perform below command for setup android SDK.
 # download android sdk  
 sudo curl https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip -o android-sdk.zip  
   
 # install unzip command  
 sudo apt-get install unzip  
   
 # unzip into this folder  
 sudo unzip android-sdk.zip -d .  
   
 # remove the zip file  
 sudo rm android-sdk.zip  

Install Plugins

Install Android Emulator and Gradle Plugin.

Open Jenkins: Manage Jenkins >> Mange Plugins >> Available




Configure Jenkins

Open Jenkins: Manage Jenkins >> Configure System >> Global properties >> Environment variables  and add:

ANDROID_HOME : /var/lib/jenkins/android-sdk
JAVA_HOME : /usr/lib/jvm/java-8-oracle

Create Android build job


  • Open Jenkins -> New Item. Enter any job name. Choose Freestyle project. Press OK.
  • Source Code Management -> Check Git and give:
    • Repository URL: Git URL to your repo. Take this URL from Github. It should be a format of git@github.com:{username}/{repo}.git
    • Credentials: Select the one you created before.
    • Branches to build: branch_name
  • Build >> Execute shell
 chmod +x gradlew  
 ./gradlew clean  
 ./gradlew assembleDebug  


  • Post-build Actions -> Archive artifacts: **/*.apk

Press Save.

Start the Build

From the job dashboard, click Build Now and you will see job run.


After successfully build you can see generated an android app in project information.


Read More