====== 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]]