====== Development ======
* [[codingstds|Coding Standards and Best Practices]]
* [[software_versions|Software Installation and Configuration]]
* [[features_and_related_component_list|Important Notes Related to Starting up Services]]
* [[Caching]]
* [[Deploying]]
* [[Deploying BBB Client]]
* [[Setup and Deploy BBB 081]]
* [[Setup and Deploy BBB 10]]
* [[Install code signing certificate to learnexa live event screen share]]
* [[checkinout|Checkin/Checkout Process]]
* [[devprocess|Development Process]]
* [[feature_specs|Feature Specs]]
* [[open_items|Open Items]]
* [[Performance Product Mockups|Performance Product Mockups]]
* [[Talent Management|Talent Management Features]]
* [[Ruby/Rails Stack]]
* [[Capistrano Gem source]]
* [[Tech talks]]
* [[Developer Challenges]]
* [[Topics for knowledge exchange]]
* [[Gems recommendation & improvements]]
* [[SVN structure for scripts]]
====== Testing Notes =====
* [[Test Suites|Test Suites]]
* [[Post deployment testing|Post Deployment Testing]]
* [[ie_issues|IE Related issues]]
* [[browsers support|Browsers Support]]
* [[automated testing|Automated Testing Using Selenium]]
* [[current selenium test cases|Current Selenium Test Cases]]
* [[automated test cases updated|Learnexa automated Test Cases Updated]]
* [[haproxy internal site validation|Testing Learnexa when maintenance slide is on]]
====== Deployment ======
* [[qastageandproductiondeployment|QA, Stage and Production Deployment]]
* [[deploying_learnexa_code]]
* [[capistrano|Capistrano related information]]
* [[BigBlueButton Integration]]
* [[Deploying BBB Client]]
* [[loadbalancer_maintenance_page|Understanding Load Balancer State and Maintenance Page during code deployment]]
* [[postdeploymentchecklist|Post Deployment Check List]]
* [[byodomain|Bring your own Domain]]
* [[asterisk|Asterisk Server]]
* [[releasespecifictasks|Release specific additional tasks (Learnexa)]]
* [[performexa-releasespecifictasks|Release specific additional tasks (Performexa)]]
* [[lrs-releasespecifictasks|Release specific additional tasks (Recordexa)]]
* [[meeting-releasespecifictasks|Release specific additional tasks (Meeting)]]
* [[Additional Prodution app server with load balancer]]
* [[HTTPS Support]]
* [[Steps to Implement Maintenance Page in Performexa Production Site]]
====== Maintenance ======
* [[restart_collab_server|Restart Collaboration Server]]
* [[maintenance_log|Changes Made To Production Environment]]
* [[ HDFS Write speeds testing ]]
* [[Production reboot checklist]]
* [[Learnexa SSL Certificate Change]]
* [[Maintenance Preparation / Approval Template]]
====== Product Management ======
* [[featurelist|Feature List]]
* [[screendesigns|Screen Designs]]
* [[documents|Documents]]
====== Project Management ======
* [[schedule|Schedule]]
* [[Vacation_Calendar | Vacation Calendar ]]
====== Infrastructure ======
* https://wiki.exphosted.com/doku.php/inventory
* [[Email_Server_Domain_Reputation]]
* [[Add_storage_collab_server]]
===== Architecture Diagrams =====
* [[deploymentarchitecture|SC Office Network topology (with IP) and block view of Crossbow installation (DEV & QA)]]
===== Setting up new systems by roles =====
* [[setup_an_app_server|App role]]
* [[setup_bbb_server|BBB role]]
* [[https://wiki.exphosted.com/doku.php/setup_other_roles#Memcached Role|Memcached role]]
* [[https://wiki.exphosted.com/doku.php/setup_other_roles#Chat Role|Chat role]]
* TBD: [[|DB role]].
* [[https://wiki.exphosted.com/doku.php/setup_other_roles#Load balancer Role|Loadbalancer role]]
* TBD: [[|Buildbox role]]
===== Monitoring Systems & Apps (Shared) =====
https://wiki.exphosted.com/doku.php/production_platform_monitoring\\
[[monit|Using Monit for additional monitoring]]\\
===== Securing Systems & Apps =====
https://wiki.exphosted.com/doku.php/security_issues
===== DR / Backup Systems / Processes (Shared) =====
* [[Backup_|Learnexa Backup]]
* [[https://wiki.exphosted.com/doku.php/dr_infrastructure|DR on AWS]]
===== Environments =====
* [[DevServer|Dev Server, Names, Configuration]]
* [[QA02Server| QA Server, Names, Configuration]]
* [[productionservers|Production Servers, Names, Configuration]]
* Source Control: repos.exphosted.com
* Staging: http://stage01.exphosted.com/
* Build Status: http://tracker.exphosted.com/
* Wiki: https://wiki.exphosted.com/doku.php
* Tracker: https://tracker.exphosted.com/my_view_page.php
* [[opsourceenvironment|Environment at OpSource]]
* [[ SoftwareVersions|Software Versions]]
* [[lbarchitecture|Building a scalable multi-vendor multi-site Architecture]]
* [[https://wiki.exphosted.com/doku.php/scfirewall| Santa Clara Firewall]]
====== Expertus Meeting ======
===== Development =====
* [[Meeting feature specs | Feature Specs]]
===== Infrastructure =====
* [[infra_guidebook| Learnexa Infrastructure guidebook]]
===== Architecture Diagrams =====
* [[deploymentarchitecture|SC Office IT(with IP) and block view of Crossbow installation (DEV & QA)]]
* [[https://docs.google.com/a/expertus.com/document/d/1Kv67AV1RxhSgda23mWA_oQi0uJer026_2Hu8N8GU1do/edit?usp=drive_web| To be consolidated after rollout]]
===== Shared with Learnexa =====
* [[Backup_|Learnexa Backup]]
* [[https://wiki.exphosted.com/doku.php/security_issues| Security]]
===== Environments =====
* [[meetingservers|Expertus Meeting Servers]]
* [[asterisk|Asterisk Server]]
===== Setting up new systems by roles =====
* TBD: Setting up an Asterisk role
* [[expertusmeeting|Setting up Meeting App Server Role]]
* [[setup_bbb_server|Setting up BBB]] ( Currently, on the same machine as App Role )
* [[setup_expertus_meeting_081_expertusone | Setup and Deploy Expertus Meeting (0.81) for Expertus one ]]
=====Deployment=====
* [[expertusmeeting-deploy|Expertus Meeting]]
* [[releasespecifictasks-meeting| Release specific additional tasks (Expertus Meeting)]]
* [[checklist_meeting_server_to_do| Server Migration from OpSource to DO]]
=====Testing=====
[[Selenium Setup Instructions]]
[[Expertus Meeting Framework]]
[[Selenium Automation Setup for Java]]
====== TinCan ======
===== Development =====
* [[tin_can_lrs_feature_specs|Feature Specs]]
* [[recordexa_server_setup|Recordexa server setup]]
===== Infrastructure =====
===== Architecture Diagrams =====
===== Environments =====
* [[dev_tincanservers| Dev Server, Names, Configuration]]
===== Setting up new systems by roles =====
* [[setup_tincan_server|Setting up TinCan Role]]
===== LRS Pricing Model =====
* [[lrs_pricing_model|Pricing Model]]
===== Https Changes =====
All the API request should send with SSL Enabled
Eg: http.use_ssl = true
**Important:** When we deploy LRS SSL(HTTPS) enabled code E1 environments should be HTTPS mode and **Expertusone** Application should send the request with SSL(HTTPS) enabled
===== HTTPS support for own domain sites =====
1. Create the custom domain folder structure
cd /opt/nginx/conf
sudo mkdir sites-available
sudo mkdir sites-enabled
2. Remove default server block from nginx.conf and create it as a default template and include the template in the nginx.conf
a. cut the below server block from nginx.conf based on the environments
server {
listen 80;
server_name dev01.recordexa.com;
rewrite ^/?(.*) https://$host/$1 redirect;
}
server {
listen 443 ssl;
server_name dev01.recordexa.com;
ssl_certificate /opt/nginx/conf/ssl/recordexa/server.crt;
ssl_certificate_key /opt/nginx/conf/ssl/recordexa/server.key;
ssl_prefer_server_ciphers on;
ssl_dhparam /etc/pki/tls/private/dhparam.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
root /deploy/tincan/current/public;
passenger_enabled on;
passenger_app_env development;
passenger_min_instances 12;
client_max_body_size 8M;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
b. Add the below code 'include /opt/nginx/conf/sites-enabled/*;' in nginx.conf inside the http block
include /opt/nginx/conf/sites-enabled/*;
c. cd sites-available
sudo vi default - add the above removed server block here(Make sure to update server_name based on the environment eg: dev01.recordexa.com)
server {
listen 80;
server_name dev01.recordexa.com;
rewrite ^/?(.*) https://$host/$1 redirect;
}
server {
listen 443 ssl;
server_name dev01.recordexa.com;
ssl_certificate /opt/nginx/conf/ssl/recordexa/server.crt;
ssl_certificate_key /opt/nginx/conf/ssl/recordexa/server.key;
ssl_prefer_server_ciphers on;
ssl_dhparam /etc/pki/tls/private/dhparam.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
root /deploy/tincan/current/public;
passenger_enabled on;
passenger_app_env development;
passenger_min_instances 12;
client_max_body_size 8M;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
d. Create symlink from sites-available to sites-enabled
cd ..
sudo ln -s /opt/nginx/conf/sites-available/default /opt/nginx/conf/sites-enabled/default
3. Reload the nginx configuration changes
sudo /etc/init.d/nginx reload
4. Create the shared 'ssl_settings.yml' config file in /deploy/tincan/shared/config/ssl_settings.yml
cd /deploy/tincan/shared/config/
vi ssl_settings.yml
Paste the below code (Make sure update the top key based on the environment and also make sure the indentation)
staging:
enable_own_domain: true
auto_run_script: true
#Rails root directory will be appended with "/bin/enable_or_disable_ssl.sh"
ssl_script_path: "/bin/enable_or_disable_ssl.sh"
web_server_path: "/opt/nginx/conf"
notify_admin: true
ssl_script_process_timeout: 150
5. Add the file in the deploy.rb file under linked_files array
cd /home/expdev01/tincan/config
vi deploy.rb
Existing: set :linked_files, %w{config/application.yml config/database.yml config/sunspot.yml}
Modified: set :linked_files, %w{config/application.yml config/database.yml config/sunspot.yml config/ssl_settings.yml}
===== Information required for Recordexa =====
**Social Links:**
1. Twitter Link
2. LinkedIn link
3. Facebook link
4. Google+ link
5. YouTube link
**Mail:**
1. mail: 'info@recordexa.com'
2. support_mail: 'support@recordexa.com'
====== Performexa ======
===== Development =====
* [[performance_software_install|Software Versions]]
* [[performance_feature_specs| Feature Specs]]
* [[performance_email_notifications | Email notifications]]
* [[performance_screen_designs | Screen Designs]]
* [[performance_api_calls | API Calls]]
===== Infrastructure =====
===== Environments =====
===== Setting up new systems by roles =====
[[Setup Performance app role]]
===== Deployment =====
* [[qastageandproductiondeployment|QA, Stage and Production Deployment]]
* [[performexa-releasespecifictasks|Release specific additional tasks (Performexa)]]
===== Testing =====
[[Selenium Setup Instructions]]
[[Performexa Framework]]
====== Review and Discussion ======
* [[stress_test|Stress test]]
* [[solr_configuration|Solr conf]]
* [[passenger_configuration| Passenger Apache conf]]
* [[rails_configuration| Rails & MySQL conf]]
* [[chat_configuration | Chat reconf]]
* [[appserver_monitoring | App Server Monitoring]]
* [[sendmail_changes | Sendmail Configuration Change]]
* [[glibc_update | Ghost Vulnerability Patching]]
* [[haproxy_changes | HAProxy - TCP / Kernel fine tuning for better performance]]
* [[fail2ban | Dropping vulnerability scan attempts with fail2ban]]
* [[dj2aj | Migration from Delayed Job to Active Job]]
* [[stackupg | Stack Upgrade in NA1]]
* [[cashnet_tech_spec | CashNet - Technical Specification]]
* [[paypal_integration | Paypal integration]]
* [[legacy_user_import | Legacy User/Course/Enrolment Import]]
* [[database_rollback | Database Rollback]]
* [[azure_ad_integration | Azure Active Directory Integration Guide]]
* [[microsoft_dynamics_crm_integration | Microsoft Dynamics CRM Integration]]
* [[skills_search | Skills Search]]
====== Obsolete ======
* [[prodenv|Operating and maintaining the production environment]]
* [[dev02 as QA site ]]
* [[QAServer|QA Server, Names, Configuration (archived)]]
* [[dev01server|Deploying to Development Test Server - dev01.exphosted.com]]
* [[qaserver|Deploying to QA Server - qa01.exphosted.com]]
* [[byodomain-cname|Bring your own Domain with CNAME approach]]
* [[remote_syslog|Papertrail application software logs]]
* [[bbb_81_prodcollab|Upgrade prodcollab01.learnexa.com to BBB 0.81]]
[[http://www.dokuwiki.org/syntax|dokuwiki syntax]]