How To Install Let’s Encrypt SSL Certificate on Google Cloud Compute with a Bitnami Stack

So wanted to do this for some time now and got the chance to do this now as I wanted to share something new everyday.

Let’s Encrypt is a free, automated and open Certificate Authority. Today I learned it was not straight forward to install.

I first tried to add the ppa certbot and when I tried to install python certbot app I got errors on dependencies. I then tried certbot-auto script which was successful but my site was still not showing as being secured by SSL.

Finally the following worked for me.

Here are the steps to install the SSL
Login to shell on your google cloud instance
ssh -i xx_gca key bitnami@ipaddress

Change directory
cd /tmp

Run the following command – replace the version with the latest version from github

curl -s https://api.github.com/repos/xenolf/lego/releases/latest | grep browser_download_url | grep linux_amd64 | cut -d '"' -f 4 | wget -i - tar xf lego_v1.0.1_linux_amd64.tar.gz

Untar the file
tar xf lego_v1.0.1_linux_amd64.tar.gz

Make the lego executable by copying to the binary directory

sudo mv lego /usr/local/bin/lego

Stop your server
sudo /opt/bitnami/ctlscript.sh stop

Run the lego client
sudo lego --email="youremail@domain.com" --domains="yourdomain.com" --domains="www.yourdomain.com" --path="/etc/lego" run

Backup your existing certificates by renaming them
mv server.key server.key.2018

Copy the server certficates from /etc/lego/certificate to /opt/bitnami/apache2/conf

Change directory and go to
cd /opt/bitnami/apps/wordpress/conf

Edit the following httpd-app.conf file
sudo vi httpd-app.conf

Add the following conditions and rule
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.lopau.com/$1 [R,L]

Finally start back the server
sudo /opt/bitnami/ctlscript.sh start

Reload your website and check the URL, you should now be secured with an SSL

That should get your going.

Other things to note:

  • certificates only valid for 90 days
  • suggestions is to auto renew
  • certificates are free and can be used on websites, ftp servers, mail servers
  • need an ACME client

On my next tutorial, I’ll show you to setup a cron job to auto renew the certificate.

Share and Learn Something New Everyday – Single Sign On with Mobile SDK and Salesforce Identity

So I’m putting this post out there to motivate myself to share something everyday till 2019. Teach something that I know or have learned with regards to Salesforce development, web development or stuffs related to technology in general, big, small or  just my study notes.
I’m prepping up to seat down the Identity and Access Management Designer for Salesforce so I have quite a bit to share.
To start I learned yesterday how easy to implement single on on mobile application on the Salesforce Identity.
  • Enable My Domain and deploy to your users
  • Create a New Single Sign-On Settings
  • Exchange metadata with an Identity Provider
    • Get the Issuer URL
    • Load the Certificate
    • SAML Identity Type as Federated ID
    • Identity Login URL
    • Entity Id
  • Enabled Single Sign On
  • Edit My Domain to Edit the Login Settings and select the new Authentication Service
  • Go back to the App and edit the Policy for users who will have access to this app
  • Use profiles or permissions set to assign this app
Go to your my domain and on the Salesforce Login screen you should see the new Authentication Service.
I also learned how easy to use the Salesforce Mobile SDK.
  • Configure an App to give you the consumer key and secret, set a callback url
  • On the command line type forceios create
  • Select native, hybrid, hybrid_local
  • Note the package name
  • Add the connect app consumer key and secret
  • To enable the Single sign-on
  • Edit the plist on the Supporting Files
  • Update SFDCOAuthLoginHost to the custom my domain url
  • Launch the simulator and you be prompted to login your IDP
  • You get redirected back to Salesforce after successfully logging in
  • That easy to setup Single Sign-on
Next to Publish the app
  • On Xcode to Product > Archive to generate the .ipa
  • Select Export and choose Adhoc
  • Next make sure to match the xcode settings to the connected app settings for mobile
  • Select the private app to upload the .ipa file
Get the Private AppExchange from AppExchange
  • Create a listing for the new application
  • Then using your mobile device grab the app from the listing to install it
Watch the dreamforce session here. https://www.youtube.com/watch?v=W3okdu8nJHY
That’s it for the first share.  Watch out for my next post.

First Architect Certification. My Tips and Takeaways from the Integration Architecture Designer Examination

I’ve been holding off taking the Architect exams until I got the Platform Devoper II done and dusted which I did last month. This is my first ever Architect certificate. I’ve set out a journey to be a Certified Technical Architect #journeyToCTA,  the pinnacle of Salesforce Certification.  I have a lined up my certification goals for the coming months.

I recommend having implemented at least a data integration or system integration project before sitting down this exam. Same with other exams its 60 + 5 extra questions.. 105 minutes allotted and passing score of 67%.  Questions are 80+% scenario based, take your time reading through them, I only had 12 mins spare.

Here is how I prepared for the Integration Architecture Designer exam.

  • Grab Certification Exam Guide
  • Download the Integration Architecture Resource Guide
  • Focus on the following
    • Do the Data Integration Superbadge
    • Outbound Messaging (features, limitations, use of callbacks)
    • SOAP API (When to use, contract-first, limits, Enterprise and Partner WSDL, getting deltas, data replication, limits)
    • REST API
    • Bulk API (lots of questions, LDV, parallel, serial)
    • Streaming API
    • Metadata API
    • Integration Patterns (lots of scenarios)
      • Remote Call Invocation – Request and Reply
      • Remote Call Invocation – Fire and Forget
      • UI Update on Data Change
      • Batch Synchronization
    • Continuation and Long Running Calls
    • Visualforce
    • Canvas Apps
    • Apex Web Services
    • Apex REST API
    • Named Credentials ( Per User)
    • Concurrent Requests
    • API Limits
    • Middleware (lots of questions, orchestration, when to recommend, change data capture, ETL, MDM)
    • Security ( TLS, Certificates, Base64 encoding)
    • Einstein Analytics(Dataflow, data source)
    • Mock Test Classes (Static resource)
    • UAT, Testing and Perfomance
    • Authentication (Session ids, OAuth)
    • Matching and Duplications Rules
    • Lightning Connect (as per Summer 18, some features are already possible eg. write)
    • Enterprise Architecture(Queueing, Messaging, ESB)

Links and Resources

https://trailhead.salesforce.com/en/superbadges/superbadge_integration

https://trailhead.salesforce.com/users/00550000006yDdKAAU/trailmixes/architect-integration-architecture

https://secure2.sfdcstatic.com/assets/pdf/misc/sfu-certification-guide.pdf

https://developer.salesforce.com/page/Integrating_with_the_Force.com_Platform

https://developer.salesforce.com/docs/atlas.en-us.integration_patterns_and_practices.meta/integration_patterns_and_practices/integ_pat_intro_overview.htm

https://en.wikipedia.org/wiki/Message-oriented_middleware

https://blog.semarchy.com/etl-vs-mdm

https://help.salesforce.com/articleView?id=integrate_what_is_api.htm&type=0

https://developer.salesforce.com/blogs/engineering/2013/05/extreme-force-com-data-loading-part-3-suspending-events-that-fire-on-insert.html

https://help.salesforce.com/articleView?id=000007225&type=1

https://help.salesforce.com/articleView?id=security_keys_about.htm&type=0

Prepare for Salesforce ‘Integration Architecture Designer’ Exam

https://corycowgill.blogspot.com/2016/05/passing-salesforce-certified.html

http://santanuboral.blogspot.com/2017/12/IADesiner.html

https://martinfowler.com/articles/enterprisePatterns.html

https://help.salesforce.com/articleView?id=000181277&type=1

https://developer.salesforce.com/blogs/engineering/2015/03/use-pk-chunking-extract-large-data-sets-salesforce.html

Finally! Salesforce Platform Developer II Certification Completed

The journey to get this certificate was the longest, hardest and most cherished one for me. I had to get past several challenges professionally and emotionally.

Back then it was called Advanced Developer (501). The exam is broken down into three parts. Multiple choice examination, a programming assignment, and an essay. My advanced developer journey spanned several years, let me break down the timelines.

Jan 2013, with 3 years of experience working on the platform I took the multiple choice certification and miserably failed.

April 2013, I regrouped myself and studied harder re-took the examination and passed, that was one of the happiest feelings.

April 2014, a year later I was able to get a schedule for the programming assignment. The scheduling was only twice a year and slots gets full in just a matter of minutes of being open.

June 2014, got the programming assignment. I wasn’t prepared and felt it was the hardest challenge ever. I failed the assignment.

2015, couldn’t get into any schedule as slots are already full.

Jan 2016, finally got in and received the new programming assignment.

Feb 2016, the hardest month of my life as my mom past away and I couldn’t get myself to finish the assignment and I decided to cancel/forfeit the assignment.

Jan 2017, Salesforce transitioned the certification to Platform Developer II. Took the transition exam and passed. No programming assignments slots being offered anymore.

mid-2017, Salesforce released a new superbadge called Advanced Apex Specialist in Trailhead. This turns out to be the replacement to the programming assignment.

March 2018, I made it a goal to finish what I started and get this certification done. Started Trailhead and went through all the pre-requisite superbadges (Apex Specialist, Data Integration Specialist, and Lightning Component Framework Specialist)

June 2018, the Advanced Apex Specialist was a tough cookie, but I have more experience now and mentally ready. Got the superbadge and after a week received an email with my certification. I finally got the most coveted Platform Developer II certification, approximately 5 years since I started.

platformdeveloperII

What a ride it has been. I’m glad it’s done, motivated now to keep pushing forward. I’m moving up to my next goal which is the Journey to CTA(Certified Technical Architect)

 

 

Field Service Lightning Certification Preparation and Takeaways

This June, I’ve set a goal to get two Salesforce certifications. Got one down and another to go!
The Field Service Lightning certification I feel is one of the easier certifications among the rest that I have took so far

What helped tremendously on my learning was attending 2 day free training from Salesforce for Field Service Lightning. This quickly got me covering the core principles. While training was still fresh I prepared for the exam for a week. I already have an FSL org to play around so I went through the Trailhead Trailmix with constant checking  on the help documentation for some concepts I did not understand.

There are 60 question plus 5 extra, you are given 90 minutes to complete the exam. Prerequisite to the certification is being Service Cloud certified.

Read the rest of this entry »