HOW TO DEPLOY GOOGLE OPEN ONLINE EDUCATION FROM ANY OPERATING SYSTEM
[UPDATED on May 2018] This is a guide on how to deploy Course Builder on any operating system taking advantage of Google Cloud's Compute Engine (Virtual Machines). Special thanks to Mike Gainer and Adam Feldman from the Course Builder Team for helping me put this together so users don't struggle and anyone can deploy with a consistent environment regardless of your local environment. In RED are the parts that you may need to change.
THIS 2017 YOUTUBE VIDEO MAY HELP YOU AS A GENERAL GUIDE (the user interface has changed, but the process is the same): https://youtu.be/zfNQle_ZxLc
Create a Google Cloud account if you do not already have one (https://cloud.google.com/).
Go to https://console.cloud.google.com/cloud-resource-manager (or find the button in your Google Cloud console that reads “CREATE PROJECT”).
Create a new project.
Your project ID will be present in your Google Open Online Education website's URL, for example: "<project_ID>.appspot.com".
Make sure to press the Edit button while creating the project if you want to customize this ID.
Go to Google Compute Engine at console.cloud.google.com/compute/ (or, equivalently, by clicking on the upper left-hand menu button, and going to: Compute Engine).
Make sure your new project is selected in the upper-left hand corner dropdown
Create a Linux Virtual Machine (often referred to as simply an "instance" or “virtual machine”).
The Virtual Machine OS used in this guide is the current default one: Debian GNU/Linux 9 (stretch) - this will probably change, so just try to find one that has Debian in the name as an alternative.
When creating the virtual machine, select the option to: “Allow full access to all Cloud APIs” (this is under Identity and API access - doing this gives your VM special access/permissions to certain APIs offered by Google Cloud).
Once it is created, click on the SSH button to connect to that Virtual Machine.
Install prerequisites by copying and pasting and running the following command on the Virtual Machine (note that we did not have to install Python since it was already included in the OS):
sudo apt-get update && sudo apt-get -y upgrade && sudo apt-get install unzip && sudo apt-get install -y python-dev && sudo apt-get install -y git && sudo apt-get install -y build-essential manpages-dev
Download and unzip Course Builder (if you do not want to install version 1.11.1, which is the latest version as of writing this guide, here are the download URLs for the ZIPs of the different versions of Course Builder: https://edu.google.com/openonline/course-builder/downloads/index.html):
wget https://github.com/google/coursebuilder-releases/blob/master/coursebuilder_1.11.001.zip?raw=true && unzip coursebuilder_1.11.001.zip\?raw\=true
Run common.sh to take care of dependencies:
bash coursebuilder/scripts/common.sh
Since CourseBuilder is no longer in active development, it has an outdated certificate, so we need to replace the old certificate with a new certificate by running the following command:
wget https://curl.haxx.se/ca/cacert.pem -O coursebuilder_resources_1_11_001/runtime/google_appengine/lib/httplib2/httplib2/cacerts.txt
Authorize gcloud to access your Google account:
gcloud auth login
After running the command, open your local computer's browser at the URL listed on your Virtual Machine's console to authorize gcloud, and then paste the code back into your instance.
Create an App Engine app within the current Google Cloud Project:
gcloud beta app create
Deploy the Course Builder application to Google App Engine (replace YOUR_PROJECT_ID with your project ID):
bash ./coursebuilder/scripts/deploy.sh YOUR_PROJECT_ID --noauth_local_webserver
After running the command, open your local computer's browser at the URL listed on your Virtual Machine's console to authorize App Engine, and then paste the code back into your instance.
Your app should now be running at https://your_project_id.appspot.com . You may now want to delete your Virtual Machine instance in Google Compute Engine so it does not consume any funds from your Google Cloud account.
--
You received this message because you are subscribed to the Google Groups "Course Builder Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to course-builder-f...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/course-builder-forum/72628adc-76fc-497f-be8d-7a1ef69b26b0%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Hello Augustine,I've created an google cloud account, and followed the instructions. But the site wasn't deployed. I think there is any problem with the last code that I ran. I've attached the screenshot of the last part. It'll be great if you give me any solution.
--
You received this message because you are subscribed to the Google Groups "Course Builder Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to course-builder-f...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/course-builder-forum/12c25cd7-8f95-4c98-8972-b1a6b4e36278%40googlegroups.com.
Dear Mike,Thank you for you note, I've successfully deployed the site :)
--
You received this message because you are subscribed to the Google Groups "Course Builder Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to course-builder-f...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/course-builder-forum/906d9435-b3cb-4306-a0ed-382a13899d3f%40googlegroups.com.
@Aep: I don't quite understand your question; could you expand on that a little? The easy answers are: In Google Cloud, as an App Engine application. As a website, at https://digitalinclusionbd.appspot.com but until Sunzid adds some content and makes it public, it's probably just going to return a 404 Not Found error for anyone else except them.
On Mon, May 28, 2018 at 9:55 PM Aep <ihandlebusin...@gmail.com> wrote:
--
On Monday, May 28, 2018 at 12:38:47 PM UTC-4, Sunzid Hassan wrote:Dear Mike,Thank you for you note, I've successfully deployed the site :)Where is digitalinclusionbd
You received this message because you are subscribed to the Google Groups "Course Builder Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to course-builder-forum+unsub...@googlegroups.com.
What does localhost 8080 refused to connect mean?
On Tuesday, May 29, 2018 at 9:26:38 AM UTC-4, Mike Gainer - Course Builder Team wrote:
@Aep: I don't quite understand your question; could you expand on that a little? The easy answers are: In Google Cloud, as an App Engine application. As a website, at https://digitalinclusionbd.appspot.com but until Sunzid adds some content and makes it public, it's probably just going to return a 404 Not Found error for anyone else except them.
On Mon, May 28, 2018 at 9:55 PM Aep <ihandlebusin...@gmail.com> wrote:
--
On Monday, May 28, 2018 at 12:38:47 PM UTC-4, Sunzid Hassan wrote:Dear Mike,Thank you for you note, I've successfully deployed the site :)Where is digitalinclusionbd
You received this message because you are subscribed to the Google Groups "Course Builder Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to course-builder-f...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/course-builder-forum/906d9435-b3cb-4306-a0ed-382a13899d3f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Course Builder Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to course-builder-f...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/course-builder-forum/20b0d82f-4e99-4216-9f28-a08cb07d1dad%40googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "Course Builder Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to course-builder-forum+unsub...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/course-builder-forum/545b85a1-1fc3-44a2-ba35-8a60895cbb9a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
hi, I trapped in the last step when I paste the code back into my instance. I saw the followingFile "/root/coursebuilder_resources_1_11_001/runtime/google_appengine/google/appengine/tools/appcfg.py", line 2401, in DoUpload self.error_fh) File "/root/coursebuilder_resources_1_11_001/runtime/google_appengine/google/appengine/tools/appcfg.py", line 497, in GetResourceLimits resource_limits.update(_GetRemoteResourceLimits(logging_context)) File "/root/coursebuilder_resources_1_11_001/runtime/google_appengine/google/appengine/tools/appcfg.py", line 467, in _GetRemoteResourceLimits yaml_data = logging_context.Send('/api/appversion/getresourcelimits') File "/root/coursebuilder_resources_1_11_001/runtime/google_appengine/google/appengine/tools/appcfg.py", line 1709, in Send result = self.rpcserver.Send(url, payload=payload, **kwargs) File "/root/coursebuilder_resources_1_11_001/runtime/google_appengine/google/appengine/tools/appengine_rpc_httplib2.py", line 240, in Send self._Authenticate(self.http, auth_errors[0] > 0) File "/root/coursebuilder_resources_1_11_001/runtime/google_appengine/google/appengine/tools/appengine_rpc_httplib2.py", line 465, in _Authenticate self.credentials = tools.run_flow(flow, self.storage, self.flags) File "/root/coursebuilder_resources_1_11_001/runtime/google_appengine/lib/oauth2client/oauth2client/util.py", line 137, in positional_wrapper return wrapped(*args, **kwargs) File "/root/coursebuilder_resources_1_11_001/runtime/google_appengine/lib/oauth2client/oauth2client/tools.py", line 225, in run_flow credential = flow.step2_exchange(code, http=http) File "/root/coursebuilder_resources_1_11_001/runtime/google_appengine/lib/oauth2client/oauth2client/util.py", line 137, in positional_wrapper return wrapped(*args, **kwargs) File "/root/coursebuilder_resources_1_11_001/runtime/google_appengine/lib/oauth2client/oauth2client/client.py", line 2000, in step2_exchange headers=headers) File "/root/coursebuilder_resources_1_11_001/runtime/google_appengine/lib/httplib2/httplib2/__init__.py", line 1584, in request (response, content) = self._request(conn, authority, uri, request_uri, method, body, headers, redirections, cachekey) File "/root/coursebuilder_resources_1_11_001/runtime/google_appengine/lib/httplib2/httplib2/__init__.py", line 1332, in _request (response, content) = self._conn_request(conn, request_uri, method, body, headers) File "/root/coursebuilder_resources_1_11_001/runtime/google_appengine/lib/httplib2/httplib2/__init__.py", line 1268, in _conn_request conn.connect() File "/root/coursebuilder_resources_1_11_001/runtime/google_appengine/lib/httplib2/httplib2/__init__.py", line 1037, in connect raise SSLHandshakeError(e)httplib2.SSLHandshakeError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)root@manu:~/gcloudstuff#
--
You received this message because you are subscribed to the Google Groups "Course Builder Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to course-builder-f...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/course-builder-forum/4768ab6a-5d16-4c2e-bfaa-9d14fe320f32%40googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "Course Builder Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to course-builder-f...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/course-builder-forum/e40e482b-b266-4125-9ad1-72585286457d%40googlegroups.com.
What do I do if it tells me "no such file or directory" when launching into the project id section? I have checked and double checked that I have it write and it still won't do anything
--
You received this message because you are subscribed to the Google Groups "Course Builder Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to course-builder-f...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/course-builder-forum/ffd994f5-20dd-4593-ba6a-e4f5a078d8bc%40googlegroups.com.
bash ./coursebuilder/scripts/deploy.sh YOUR_PROJECT_ID --noauth_local_webserver
I have a similar problem, this is the last lines of command:
--
You received this message because you are subscribed to the Google Groups "Course Builder Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to course-builder-f...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/course-builder-forum/b41a499f-a7ea-42db-a119-81c3cd5603c1%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/course-builder-forum/CAExSL7rFLwx%2BhkojXZO%2B5osO54%3DVHfihEhjCHMcq9XwMy7%2BfSw%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/course-builder-forum/CAMXOetnZfMzS9Kw%2BMJ_ssemKV_3zWtcuFD01DJRcEenkXwG6ug%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/course-builder-forum/CAExSL7r-WmoU-3wOJz-2WsYkvXQJ4FerhzVC-td4SJ1-RPQdWA%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/course-builder-forum/CAMXOet%3DqKB32mZc2G9E7XBY_Q2pdnPWiHBzSn%2BkfDsC%3DZKgqJw%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/course-builder-forum/CAExSL7q6buM%2BQvTpia8KA6MqN%2BvtMxO7P553fGU8O7j5hake2A%40mail.gmail.com.
CouldIMaybeGetThatWithTheAcutalNewlinesIncludedItsPrettyHardToReadAsSent.
To unsubscribe from this group and stop receiving emails from it, send an email to course-builder-forum+unsub...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/course-builder-forum/b41a499f-a7ea-42db-a119-81c3cd5603c1%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Course Builder Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to course-builder-forum+unsub...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/course-builder-forum/CAExSL7rFLwx%2BhkojXZO%2B5osO54%3DVHfihEhjCHMcq9XwMy7%2BfSw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Course Builder Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to course-builder-forum+unsub...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/course-builder-forum/CAMXOetnZfMzS9Kw%2BMJ_ssemKV_3zWtcuFD01DJRcEenkXwG6ug%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Course Builder Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to course-builder-forum+unsub...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/course-builder-forum/CAExSL7r-WmoU-3wOJz-2WsYkvXQJ4FerhzVC-td4SJ1-RPQdWA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Course Builder Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to course-builder-forum+unsub...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/course-builder-forum/CAMXOet%3DqKB32mZc2G9E7XBY_Q2pdnPWiHBzSn%2BkfDsC%3DZKgqJw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Course Builder Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to course-builder-forum+unsub...@googlegroups.com.
Error 404: --- begin server output ---This application does not exist (project_id=u'********'). To create an App Engine application in this project, run "gcloud app create" in your console.--- end server output ---
wget https://github.com/google/coursebuilder-releases/blob/master/coursebuilder_1.11.001.zip?raw=true && unzip coursebuilder_1.11.001.zip\?raw\=trueHello,
python "$GOOGLE_APP_ENGINE_HOME/appcfg.py" ... update ...--
You received this message because you are subscribed to the Google Groups "Course Builder Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to course-builder-f...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/course-builder-forum/35d9ae72-6266-45c2-9130-f7eaf0cd902f%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/course-builder-forum/90484c22-a678-4217-b799-5f134fce2094%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/course-builder-forum/CADHJ%3DajOLA1xBOSt5MC6jqQrzc45Lu7j-j2PaKLhawWMJFsKqg%40mail.gmail.com.
To unsubscribe from this group and stop receiving emails from it, send an email to course-builder-forum+unsub...@googlegroups.com.
To unsubscribe from this group and stop receiving emails from it, send an email to course-builder-forum+unsub...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/course-builder-forum/90484c22-a678-4217-b799-5f134fce2094%40googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "Course Builder Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to course-builder-forum+unsub...@googlegroups.com.