install-fusionpbx.ps1 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. Function Install-FusionPBX() {
  2. #includes
  3. . .\resources\new-password.ps1
  4. . .\resources\domain_name.ps1
  5. #Set directory
  6. if (-not (Test-Path $system_directory)) {
  7. New-Item $system_directory -ItemType Directory
  8. }
  9. # Create folder and make it current
  10. #if (-not (Test-Path "$env:PUBLIC\Downloads\FusionPBX")) {
  11. # mkdir "$env:PUBLIC\Downloads\FusionPBX"
  12. #}
  13. #Set-Location "$env:PUBLIC\Downloads\FusionPBX"
  14. <# #Clean default files
  15. if (Test-Path "$system_directory\iisstart.htm") {
  16. Get-ChildItem "$system_directory\*" -Recurse | Remove-Item -Force
  17. }
  18. #>
  19. #Clone FusionPBX GIT from Master or 4.2
  20. if ($system_branch -eq "stable") { $branch = "4.2" }
  21. else { $branch = ""}
  22. Start-Process "C:\Program Files\Git\bin\git.exe" "clone $branch https://github.com/fusionpbx/fusionpbx.git C:/inetpub/FusionPBX/" -Wait
  23. #Grant permissions to FusionPBX folder
  24. if ($iis_identity -ne "LocalSystem") {
  25. Icacls $system_directory /grant "${iis_identity}:(OI)(CI)M"
  26. }
  27. #Copy configuration
  28. Move-Item "c:\Program Files\FreeSWITCH\conf" "c:\Program Files\FreeSWITCH\conf-orig"
  29. Copy-Item "c:\inetpub\FusionPBX\resources\templates\conf" "c:\Program Files\FreeSWITCH\" -recurse
  30. #Update xml_cdr url, user and password
  31. $filename = "C:\Program Files\FreeSWITCH\conf\autoload_configs\xml_cdr.conf.xml"
  32. (Get-Content $filename) -replace "{v_http_protocol}","http" `
  33. -replace "{domain_name}",$domain_name `
  34. -replace "{v_project_path}","" `
  35. -replace "{v_user}:{v_pass}",((New-Password 8) + ":" + (New-Password 8)) | Out-File $filename
  36. }