menu
Oro Documentation: Find everything you need to use and develop your OroCommerce, OroCRM, and OroPlatform application
    Result in:
    close
    • Back to Oro Inc
    • Users
      • Solution ArchitectureLearn about the OroCommerce architecture, integration points, and the infrastructure to implement it.
      • Concept GuidesGet contextual references to detailed feature descriptions based on your business use case.
      • Back-OfficeExplore the key features and learn to automate workflows, create reporting and much more.
      • Commerce StorefrontIntroduction to OroCommerce default storefront navigation, interaction, and browsing.
      • IntegrationsExplore OroCommerce's pre-built and custom integration options.
      • GlossaryNavigate OroCommerce terms easily with our comprehensive glossary guide.
      Up for a challenge? Validate your skills and earn the Oro Certificate!
      • Learn More
    • Developers
      • Backend Developer GuideComprehensive documentation on installing, customizing, and maintaining Oro applications efficiently.
      • Frontend Developer GuideLearn to efficiently customize Oro apps appearance both on the Storefront and in the Back-office.
      • Oro Bundles & ComponentsExplore Oro Config Component and core bundle implementation for non-standard customizations.
      • Web Services API GuideIntegrate Oro functionality into third-party systems with REST API guide.
      • Community GuideLearn about the best ways to contribute to Oro applications, and engage with the Oro community.
      Up for a challenge? Validate your skills and earn the Oro Certificate!
      • Learn More
    • Cloud Administrators
      • ArchitectureUncover OroCloud's architecture with illustrative diagrams for deeper understanding.
      • Environment TypesUnderstand OroCommerce environment types for tailored deployment options and configurations.
      • SecurityDiscover OroCloud network diagram and Oro's comprehensive security protocols.
      • MonitoringEnsure service continuity and proactive resource management with OroCloud monitoring tools.
      • OnboardingStreamline your Oro application deployment with our comprehensive onboarding process guide.
      • VPN ConnectionLearn how to connect OroCloud VPN across different operating systems.
      • MaintenanceExplore the tools to manage maintenance tasks within your OroCloud environment.
      • SupportDiscover Oro's support process for Oro authorized partners and Enterprise customers.
      Up for a challenge? Validate your skills and earn the Oro Certificate!
      • Learn More
    • OroCommerce
    • OroHive
    • Documentation >
    • Developers >
    • Backend Developer Guide >
    • Application Setup and Configuration >
    • Set Up Development Environment for OroPlatform Based Application >
    • Infrastructure-Related Configuration Parameters
    • Backend Developer Guide
      • Application Setup and Configuration
        • System Requirements
          • Performance Optimization
        • Development Environment
          • Setup on Ubuntu
          • Setup on macOS
          • Setup on Windows
          • Docker & Symfony Server
          • Web Server Configuration
          • Configuration Parameters
          • Environment Variables
          • Healthcheck and Data Monitoring
          • Setup From Database Dump
          • Oro Devbox VM
        • Demo Environment
          • Docker
          • VM VirtualBox
          • AWS Cloud Platform
          • Google Cloud Platform
          • Azure Cloud Platform
        • Jenkins CI
        • Get the Oro Application Source Code
        • Installation
        • Installation in Sub-Folder
        • Post-Install Activities
          • Content Restrictions
          • Flat Pricing
          • Cookies Configuration
          • Protected Cookies
        • Loading Demo Data
        • Launch
        • Upgrade Source Code
        • Upgrade Application
        • Deploy Changes
        • Reinstall
      • Application Architecture
        • Technology Stack
          • Database
          • File Storage
          • Session Storage
          • Message Queue
          • Search Index
            • Query Builder
            • Best Practices
            • Elasticsearch Configuration and Tuning
            • Fuzzy Search
            • Troubleshooting
        • Application Structure
        • Application Framework
          • Architecture Principles of Oro Applications
        • Application Customization
        • Differences to Common Symfony Applications
        • Custom Oro Application
        • Bundle-less Structure
      • Bundles and Extensions
        • Create a Bundle
        • Install Extension from the Oro Extensions Store
        • Add an Extension to Oro Extensions Store
      • Entities
        • Create Entities
        • Database Structure Migrations
        • Extend Entities
          • Option Enum Set Fields
          • Extended Associations
          • Multi-Target Extended Associations
          • Serialized Fields
          • Validation for Extended Fields
          • Define Custom Form Type for Fields
          • Extending the Extended Field Rendering
        • Configure Entities
          • Define a New Object Configuration Attribute
          • Implementation
          • Add Configuration Options
          • Access Entities Configuration
        • Create Custom Entities
        • Merge Entities
        • CRUD Operations
        • Custom Field Validation
        • Entity Aliases
        • Entity Activities
        • Turn an Entity into an Activity
        • Entity Fallback Values
        • Entity Manager
        • Entity Name Resolver and Providers
        • Entity Class Name Provider
        • Entity Structure Data Provider
        • Events
        • Dictionaries
        • Doctrine Field Types
        • Partial Indexes
        • Profiler of Duplicated Queries
        • Resolving ORM Query Hints
        • Entity Repositories as a Services
        • Transaction watchers for Default DBAL Connection
        • Attributes Configuration
        • Datagrids
          • Pass Request Parameters to the Grid
          • Enable Entity Pagination
        • Customize Datagrids
          • Backend Datagrid
            • Scopes
            • Views List
            • Datasources
              • Array Datasource
              • ORM Datasource
            • Parameter Binding
            • Extensions
              • Action Extension
              • Board Extension
              • Export Extension
              • Field ACL Extension
              • Formatter Extension
              • Grid Views Extension
              • Inline Editing
              • Mass Action Extension
              • Mode Extension
              • Pager Extension
              • Sorter Extension
              • Toolbar Extension
              • Totals Extension
              • Organization Column Extension
            • Events
            • Advanced Grid Configuration
            • Editable Datagrid Cells
            • Selected Fields Providers
            • State Providers
            • References in YAML Configuration
          • Frontend Datagrid
            • Mass Action Configuration
        • Protect Entities Using ACLs
        • Entity Attachments
        • Customize CRUD Pages
        • Fixtures
        • Data Sanitization
      • Entities Data Management
        • Fixtures and Demo Data
        • Reports & Segments
        • Workflows
          • Introduction
          • Configuration Reference
          • Elements
          • Basic Configuration
          • Transition Forms
          • Transition Services
          • Translation Wizard
          • Workflow Events
          • Configuration Example
        • Operations (Actions)
          • Glossary
          • Buttons
          • Action Groups
          • Configuration Reference
          • Actions and Conditions
          • Console Commands
        • Processes
        • Data Audit
      • Security
        • Introduction to Security in Oro Applications
        • ACL Manager
        • Custom Permissions
        • Field ACL
        • Configurable Permissions
        • CSRF Protection
        • Access Rules
        • Access Control
        • Custom listeners
        • Access Levels and Ownership (Example)
        • Global View Entities
        • HTTP Security Response Headers
      • Translation and Localization
        • Content and User Interface Translation
        • Translation Configuration
        • Data Fixtures
        • Schema Migrations
        • Localization
        • Add Translations to Source Code
      • Integrations
        • Oro Integration Bundle
          • Basic Implementation
          • Configuration Reference
          • Additional Serializable Fields
          • Reverse Synchronization
          • Default Owner for Integration Related Entities
          • Additional Capabilities
        • Import and Export
          • Overview
          • Domain Model
          • Gaufrette
          • Fields Configuration
          • Import and Export Entities
          • Events
          • Extend Entities to Support Bulk Import and Export
          • Accelerate Import
          • Postponing Rows
          • Import Custom Format File Via Batch API
        • API-Based Integration
        • Initial Data Loading
        • Notification Alerts
      • Dashboards
      • Navigation
      • Emails
      • Message Queue
        • Message Queue Topics
        • Message Queue Jobs
        • Consumer
          • Resetting Container
        • Security Context
        • Logging, Error Handling and Debugging
          • Writing Logs to ELK Stack
        • Testing
        • RabbitMQ (Enterprise Edition Only)
          • Command Lines
          • RabbitMQ Exchanges
          • Divide Queue to Separate Queues
          • Configure RabbitMQ for Production
          • Re-deliver Message with Limited Attempts
          • Backup and Restore
          • Troubleshooting
        • Supervisord
        • Writing Logs to Stackdriver
        • Filtering Messages in the Message Producer
        • Buffering Messages in the Message Producer
        • Delaying Messages
      • Cron
      • WebSocket Notifications
        • Websocket Recipes
          • Use Maintenance Mode Notifications in Oro Applications
          • Use Content Outdated Notifications in Oro Applications
          • Create a Topic and a Handler for Publishing and Subscribing
          • Publish Messages to Existing Topics
          • Use Authentication and Authorization in WebSocket Connections
        • WebSocket Connection Configuration
      • Scopes
      • Feature Toggle
      • Logging
      • System Configuration
      • Configuration Reference
        • Attributes
          • #[Acl]
          • #[AclAncestor]
          • #[Config]
          • #[ConfigField]
          • #[TitleTemplate]
        • YAML
          • Bundles’ Configuration
          • Access Control Lists
          • Access Control List Categories
          • Assets
          • Dashboards
          • Datagrids
          • Entity Configuration
          • Navigation
          • Placeholders
          • JS Modules
          • Search Index
          • System Configuration
          • Workflows
      • Extending Oro Application
        • Create Payment Method Integrations
        • Create Shipping Method Integrations
        • Add OroCommerce Capabilities to an OroCRM Application
        • Common Checkout Customization Methods
      • Akeneo Integration
      • Automated Tests
        • End-to-End
        • Integration
        • Functional
        • k6 Performance Tests
        • Debug Behat Tests
      • API Developer Guide
        • CLI Commands
        • Configure Stateless Security Firewalls
        • Configure Feature Depended Firewall Authenticators
        • General Configuration
        • Configuration Reference
        • Configuration Extras
        • Configuration Extensions
        • Forms and Validators Configuration
        • Documenting API Resources
        • Actions
        • Request Type
        • Processors
        • Headers
        • Filters
        • Post Processors
        • How to
        • CORS Configuration
        • CORS Configuration for Published OpenAPI Specifications
        • Testing REST API
        • Storefront REST API
        • Storefront Routes
        • Batch API
      • Organization Types
      • Field Sales App
        • Configuration Reference
    Version:
    6.1 (latest)
    • 5.1
    • 6.0
    • 6.1 (latest)
    • 7.0 (dev)
    • Contents
      • Default Configuration Values
      • Sample Configuration Parameters
      • Environment Variables

    Infrastructure-Related Configuration Parameters 

    Infrastructure-related environment variable defaults are stored in the .env-app file and grouped in the following way:

    • The ORO_DB_DSN environment variable used to connect to the database.

    • The ORO_MAILER_DSN environment variable define settings used to deliver emails sent by the application. See Sending Emails with Mailer for more information.

    • The ORO_WEBSOCKET_ environment variables define settings for the web UI.

    • The ORO_SEARCH_ENGINE_DSN environment variable is used to connect to the search engine.

    • The ORO_WEBSITE_SEARCH_ENGINE_DSN environment variable is used to connect to the website search engine.

    • The ORO_SESSION_DSN value specifies the PHP session handler to be used.

    • The ORO_MQ_DSN environment variable is used to connect to the message queue transport.

    • The ORO_SECRET value is used to generate CSRF tokens.

    • The ORO_ENTERPRISE_LICENCE value defines the project enterprise license.

    • The ORO_ENTERPRISE_LICENCE_START value defines the project enterprise license start date in UTC timezone. The value format is YYYY-MM-DD, f.e. 2022-02-24. All other formats will be taken as January 1st of the current year.

    • The ORO_JPEGOPTIM_BINARY path to the LiipImagineBundle: JpegOptimPostProcessor library.

    • The ORO_PNGQUANT_BINARY path to the LiipImagineBundle: PngquantPostProcessor library.

    • The ORO_MAINTENANCE_LOCK_FILE_PATH path to the maintenance lock file in the system.

    • The ORO_OAUTH_PUBLIC_KEY_PATH path to the OAuth public key.

    • The ORO_OAUTH_PRIVATE_KEY_PATH path to the OAuth private key.

    Default Configuration Values 

    Default configuration options for the Oro application are defined in the config/config.yml file. Some options have inline values, and others refer to environment variables, therefore they can be set and changed in runtime without application cache rebuild. Default values for environment variables are provided at the end of the config/config.yml files, with the parameter names in the format env(ENVIRONMENT_VARIABLE_NAME).

    parameters:
        # Some parameter values are not set from environment variables because Symfony service container build
        # depends on them. These parameter values cannot be changed in runtime without the application cache rebuild.
        web_backend_prefix: '/admin'
        database_server_version: '15.1'
        secret: '%env(ORO_SECRET)%'
        database_dsn: '%env(ORO_DB_DSN)%'
        mailer_dsn: '%env(ORO_MAILER_DSN)%'
        websocket_server_dsn: '%env(ORO_WEBSOCKET_SERVER_DSN)%' # The websocket server will listen on this address and port.
        websocket_frontend_dsn: '%env(ORO_WEBSOCKET_FRONTEND_DSN)%' # The host, port and path for the browser to connect to.
        websocket_backend_dsn: '%env(ORO_WEBSOCKET_BACKEND_DSN)%' # The host, port and path for the server-side code to connect to.
        search_engine_dsn: '%env(ORO_SEARCH_ENGINE_DSN)%'
        website_search_engine_dsn: '%env(ORO_WEBSITE_SEARCH_ENGINE_DSN)%'
        session_handler_dsn: '%env(ORO_SESSION_DSN)%'
        message_queue_transport_dsn: '%env(ORO_MQ_DSN)%'
        liip_imagine.jpegoptim.binary: '%env(ORO_JPEGOPTIM_BINARY)%'
        liip_imagine.pngquant.binary: '%env(ORO_PNGQUANT_BINARY)%'
        tracking_data_folder: '%env(ORO_TRACKING_DATA_FOLDER)%'
        maintenance_lock_file_path: '%env(resolve:ORO_MAINTENANCE_LOCK_FILE_PATH)%'
        oauth2_public_key: '%env(resolve:ORO_OAUTH_PUBLIC_KEY_PATH)%'
        oauth2_private_key: '%env(resolve:ORO_OAUTH_PRIVATE_KEY_PATH)%'
        log_path: '%env(resolve:ORO_LOG_PATH)%'
        log_stacktrace_level: '%env(resolve:ORO_LOG_STACKTRACE_LEVEL)%' # The minimum log message level for which an exception stacktrace should be logged. To disable the stacktrace logging an empty string or "none" value can be used.
    
        env(ORO_SECRET): ThisTokenIsNotSoSecretChangeIt
        env(ORO_DB_URL): 'postgresql://root@127.0.0.1/b2b_dev'
        env(ORO_DB_DSN): '%env(ORO_DB_URL)%'
        env(ORO_MAILER_DSN): 'native://default'
        env(ORO_SEARCH_URL): 'orm:'
        env(ORO_SEARCH_ENGINE_DSN): '%env(ORO_SEARCH_URL)%?prefix=oro_search'
        env(ORO_WEBSITE_SEARCH_ENGINE_DSN): '%env(ORO_SEARCH_URL)%?prefix=oro_website_search'
        env(ORO_SESSION_DSN): 'native:'
        env(ORO_WEBSOCKET_SERVER_DSN): '//0.0.0.0:8080'
        env(ORO_WEBSOCKET_FRONTEND_DSN): '//*:8080/ws'
        env(ORO_WEBSOCKET_BACKEND_DSN): 'tcp://127.0.0.1:8080'
        env(ORO_MQ_DSN): 'dbal:'
        env(ORO_JPEGOPTIM_BINARY): ''
        env(ORO_PNGQUANT_BINARY): ''
        env(ORO_REDIS_URL): 'redis://127.0.0.1:6379'
        env(ORO_REDIS_SESSION_DSN): '%env(ORO_REDIS_URL)%/0'
        env(ORO_REDIS_CACHE_DSN): '%env(ORO_REDIS_URL)%/1'
        env(ORO_REDIS_DOCTRINE_DSN): '%env(ORO_REDIS_URL)%/2'
        env(ORO_REDIS_LAYOUT_DSN): '%env(ORO_REDIS_URL)%/3'
        env(ORO_TRACKING_DATA_FOLDER): null
        env(ORO_MAINTENANCE_LOCK_FILE_PATH): '%kernel.project_dir%/var/maintenance/maintenance_lock'
        env(ORO_OAUTH_PUBLIC_KEY_PATH): '%kernel.project_dir%/var/oauth_public.key'
        env(ORO_OAUTH_PRIVATE_KEY_PATH): '%kernel.project_dir%/var/oauth_private.key'
        env(ORO_LOG_PATH): "%kernel.logs_dir%/%kernel.environment%.log"
        env(ORO_LOG_STACKTRACE_LEVEL): 'error'
    

    Sample Configuration Parameters 

    The sample contents of the <installation directory>/config/parameters.yml file for OroCommerce:

    parameters:
        # Enable GridFS support
        gaufrette_adapter.public: 'gridfs:%env(ORO_MONGODB_DSN_PUBLIC)%'
        gaufrette_adapter.private: 'gridfs:%env(ORO_MONGODB_DSN_PRIVATE)%'
    
        # Enable Redis support
        redis_dsn_cache: '%env(ORO_REDIS_CACHE_DSN)%'
        redis_dsn_doctrine: '%env(ORO_REDIS_DOCTRINE_DSN)%'
        redis_dsn_layout: '%env(ORO_REDIS_LAYOUT_DSN)%'
    

    Environment Variables 

    An environment variable is a variable with a value outside the application, typically through a functionality built into the operating system. You can find the list of all the infrastructure-related environment variables available in the application in the config/config.yml file.

    In the above parameters.yml file example, the web_backend_prefix parameter value is provided directly in the YAML file and cannot be changed in runtime without the application cache rebuild, while the database_dsn environment variable can be set in runtime by the environment variable named ORO_DB_DSN.

    The default value for the ORO_DB_DSN environment variable is provided at the end of the file and is set to postgresql://root@127.0.0.1/b2b_crm_ee_dev. It is used when the environment variable ORO_DB_DSN is not provided.

    Warning

    Environment variables are always string and are not cast automatically to integer, null, or other types. You should never pass an empty environment variable, like ‘ORO_DB_DSN=’ or ‘ORO_DB_DSN=NULL’. Instead, it should never be available (never be set).

    Get the latest Oro News

    • OroCommerce
    Compliances
    • Compliances
    • pci-dssfooter1SOCfooter1

    About Us

    • About us
    • Partners
    • Events
    • Careers
    • Bug Bounty

    Certifications

    • PCI DSS
    • SOC2

    Services

    • Oro Services
    • Training

    More Resources

    • Guides & Reports
    • Documentation
    • OroCommerce Blog

    Compliances

    pci-dssfooter1 SOCfooter1

    Follow Oro

    Oro GitHub Oro linkedin Oro twitter Oro Youtube
    © 2024 Oro, Inc. All Rights Reserved
    Terms & Conditions Privacy Policy Data Protection Framework Certification

    Follow Oro

    Oro GitHub Oro linkedin Oro twitter Oro Youtube
    Back to top