1. Install PHP 7.3 ```bash brew install php@7.3 ``` 2. Run commands from the above command output. In my environment there are two of them after this phrase: `If you need to have php@7.3 first in your PATH run:` ```bash echo 'export PATH="/usr/local/opt/php@7.3/bin:$PATH"' >> ~/.zshrc echo 'export PATH="/usr/local/opt/php@7.3/sbin:$PATH"' >> ~/.zshrc ``` 3. Install NodeJs ```bash brew install nodejs ``` 4. Install Mysql 5.7 ```bash brew install mysql@5.7 ``` 5. Run command from the above command output. In my environment it's: `If you need to have mysql@5.7 first in your PATH run:` ```bash echo 'export PATH="/usr/local/opt/mysql@5.7/bin:$PATH"' >> ~/.zshrc ``` 6. Start Mysql Server ```bash brew services start mysql@5.7 ``` 7. Download Symfony server ```bash curl -sS https://get.symfony.com/cli/installer | bash ``` 8. Install Symfony Flex globally ```bash composer global require symfony/flex --no-scripts ``` 9. Restart the CLI terminal 10. "cd" to the folder where you are going to install an application 11. Clone training repository ```bash git clone -b 4.1/training_step_1_bundle_extension https://github.com/oroinc/trainings oro-trainings ``` 12. ```bash cd oro-trainings ``` 13. configure PHP for the project ```bash echo 7.3 > .php-version echo "memory_limit = 2048M \nmax_input_time = 600 \nrealpath_cache_size=4096K \nrealpath_cache_ttl=600 \nopcache.enable=1 \nopcache.enable_cli=0 \nopcache.memory_consumption=512 \nopcache.interned_strings_buffer=32 \nopcache.max_accelerated_files=32531 \nopcache.save_comments=1" > php.ini ``` 14. Make sure the right php version is used ```bash symfony local:php:list ``` **In the command output you should see 7.3.\* highlighted** 15. Configure database connection parameters and create an empty database ```bash cp config/parameters.yml.dist config/parameters.yml DB_NAME=oro_trainings sed -i "" "s/database_user"\:".*/database_user"\:" root/g" ./config/parameters.yml sed -i "" "s/database_password"\:".*/database_password"\:" null/g" ./config/parameters.yml sed -i "" "s/database_driver"\:".*/database_driver"\:" pdo_mysql/g" ./config/parameters.yml sed -i "" "s/database_name"\:".*/database_name"\:" ${DB_NAME}/g" ./config/parameters.yml mysql -u root -Bse "DROP DATABASE IF EXISTS $DB_NAME; CREATE DATABASE $DB_NAME"; ``` 16. Install vendors ```bash composer install ``` 17. Install an application ```bash time symfony console oro:install -vvv \ --sample-data=y \ --application-url=https://oro-trainings.wip \ --user-name=admin \ --user-email=admin@example.com \ --user-firstname=John \ --user-lastname=Doe \ --user-password=admin \ --organization-name=Oro \ --timeout=0 --symlink -n; ``` 18. While installation is running, let's configure the Symfony Server: - Open proxy settings by following this guide https://support.apple.com/guide/mac-help/enter-proxy-server-settings-on-mac-mchlp2591/mac - Set the following URL as the value of the Automatic Proxy Configuration: http://127.0.0.1:7080/proxy.pac 19. Install SSL sertificate, start proxy server, attach the domain to the Symfony Server and start it ```bash symfony local:server:ca:install symfony local:proxy:start symfony local:proxy:domain:attach oro-trainings symfony server:start -d ``` 20. Once installation is finished, open website in a browser ```bash symfony open:local ``` ### Tada :tada:!