Ein für Shopware 6 vorbereitet Systemmanagment.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

115 lines
3.6 KiB

2 years ago
2 years ago
2 years ago
2 years ago
  1. #!/bin/bash
  2. ### DO NOT EDIT THIS FILE
  3. source "$(dirname "${BASH_SOURCE[0]}")/../includes/includes.sh"
  4. app_dir=$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." &> /dev/null && pwd)
  5. source "$app_dir/etc/config.sh"
  6. updatemode=0
  7. echo
  8. echoMainTitle "Shopware installer/updater"
  9. path="$app_dir/git/$project_name"
  10. if [ -f "$path/install.lock" ]
  11. then
  12. updatemode=1
  13. echo "Update mode"
  14. else
  15. echo "Install mode"
  16. fi
  17. if [ "$updatemode" == "0" ]
  18. then
  19. echo
  20. echoSequenzeTitle "Wich database to use?"
  21. echo
  22. echoSelect "[live] " "Local live database"
  23. echoSelect "[stage]" "Local stage database"
  24. echo
  25. env=$(readConsole "Select: " "Invalid selection" "live stage")
  26. echo
  27. echoSequenzeTitle "Basic configuration"
  28. shop_name=$(requiredParameter "Shop name")
  29. shop_email=$(requiredParameter "Shop email")
  30. shop_locale=$(requiredParameter "Shop locale")
  31. shop_currency=$(requiredParameter "Shop currency")
  32. echo
  33. echoSequenzeTitle "Storefront configuration"
  34. store_name=$(requiredParameter "Storefront name")
  35. store_url=$(requiredParameter "Storefront url")
  36. echo
  37. echoSequenzeTitle "Admin user"
  38. admin_firstname=$(requiredParameter "Firstname")
  39. admin_lastname=$(requiredParameter "Lastname")
  40. admin_email=$(requiredParameter "Email")
  41. admin_user=$(requiredParameter "User/Login")
  42. fi
  43. ### Fetch sources
  44. echo
  45. echo "Fetch sources ..."
  46. wget -q --show-progress -O "$app_dir/var/tmp/sdp.html" "https://www.shopware.com/de/download/"
  47. if [ "$updatemode" == "0" ]
  48. then
  49. download_url=$(grep -Po '(?<=href=")https://releases.shopware.com/sw6/install_[^"]*' "$app_dir/var/tmp/sdp.html")
  50. filename="shopware_install.zip"
  51. else
  52. download_url=$(grep -Po '(?<=href=")https://releases.shopware.com/sw6/update_[^"]*' "$app_dir/var/tmp/sdp.html")
  53. filename="shopware_update.zip"
  54. fi
  55. wget -q --show-progress -O "$app_dir/var/tmp/$filename" "$download_url"
  56. echo "Install files ..."
  57. unzip -oqq "$app_dir/var/tmp/$filename" -d "$path"
  58. local_database_socket=$(eval "echo \"\$local_${env}_database_socket\"")
  59. local_database_host=$(eval "echo \"\$local_${env}_database_host\"")
  60. local_database_port=$(eval "echo \"\$local_${env}_database_port\"")
  61. local_database_name=$(eval "echo \"\$local_${env}_database_name\"")
  62. local_database_user=$(eval "echo \"\$local_${env}_database_user\"")
  63. local_database_password=$(eval "echo \"\$local_${env}_database_password\"")
  64. if [ "$local_database_socket" != "" ]
  65. then
  66. database_url="mysql:unix_socket=$local_database_socket;dbname=$local_database_name;user=$local_database_user;password=$local_database_password"
  67. else
  68. database_url="mysql://$local_database_user:$local_database_password@$local_database_host:$local_database_port/$local_database_name"
  69. fi
  70. export DATABASE_URL="$database_url"
  71. cwd=$(pwd)
  72. cd "$path"
  73. if [ "$updatemode" == "0" ]
  74. then
  75. echo "Setup Shopware ..."
  76. cp "$app_dir/etc/.env.local" "$path/.env"
  77. bin/console system:install --shop-name="$shop_name" --shop-email="$shop_email" --shop-locale="$shop_locale" --shop-currency="$shop_currency" --no-interaction --env="dev"
  78. bin/console sales-channel:create:storefront --name="$store_name" --url="$store_url" --no-interaction --quiet
  79. bin/console user:create -a --firstName="$admin_firstname" --lastName="$admin_lastname" --email="$admin_email" "$admin_user"
  80. else
  81. echo "Prepare Shopware setup ..."
  82. bin/console --quiet --no-interaction --env="dev" system:update:prepare
  83. "$path/public/recovery/update/index.php"
  84. fi
  85. cd "$cwd"
  86. postScript "$app_dir/bin/postscripts/install_shopware.sh"
  87. rm "$app_dir/var/tmp/sdp.html"
  88. rm "$app_dir/var/tmp/$filename"