XCP-ng
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    Tips on installing XO

    Scheduled Pinned Locked Moved Xen Orchestra
    97 Posts 11 Posters 18.8k Views 9 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • J Offline
      jasonnix @Danp
      last edited by

      @Danp, Not really. Which settings?

      DanpD 1 Reply Last reply Reply Quote 0
      • DanpD Offline
        Danp Pro Support Team @jasonnix
        last edited by

        @jasonnix It is in the documentation at the very bottom.

        J 1 Reply Last reply Reply Quote 0
        • J Offline
          jasonnix @Danp
          last edited by jasonnix

          Hi @Danp,
          Do you mean this?
          I did:

          # rm -rf node_modules
          # yarn
          # yarn build
          

          Then:

          # nano config.toml
          
          useSudo = true
          

          After it:

          # nano /etc/sudoers
          
          xo ALL=(root)NOPASSWD: /bin/mount, /bin/umount, /bin/findmnt
          

          Then, I tried to install XO as a system service:

          # yarn global add forever
          yarn global v1.22.21
          [1/4] Resolving packages...
          [2/4] Fetching packages...
          [3/4] Linking dependencies...
          [4/4] Building fresh packages...
          success Installed "forever@4.0.3" with binaries:
                - forever
          Done in 6.52s.
          #
          # forever start dist/cli.mjs
          warn:    --minUptime not set. Defaulting to: 1000ms
          warn:    --spinSleepTime not set. Your script will exit if it does not stay up for at least 1000ms
          info:    Forever processing file: dist/cli.mjs
          (node:742838) Warning: Accessing non-existent property 'padLevels' of module exports inside circular dependency
          (Use `node --trace-warnings ...` to show where the warning was created)
          (node:742838) Warning: Accessing non-existent property 'padLevels' of module exports inside circular dependency
          (node:742838) Warning: Accessing non-existent property 'padLevels' of module exports inside circular dependency
          root@XO:/usr/local/src/xen-orchestra-master/packages/xo-server# yarn global add forever
          yarn global v1.22.21
          [1/4] Resolving packages...
          [2/4] Fetching packages...
          [3/4] Linking dependencies...
          [4/4] Building fresh packages...
          success Installed "forever@4.0.3" with binaries:
                - forever
          Done in 5.91s.
          #
          # forever-service install orchestra -r xo -s dist/cli.mjs
          forever-service version 0.5.11
          
          Platform - Debian GNU/Linux 12 (bookworm)
          Could not provision service
          Service is already present
          

          Finally:

          # /sbin/service orchestra status
          ● orchestra.service - LSB: forever-service startup script for orchestra
               Loaded: loaded (/etc/init.d/orchestra; generated)
               Active: active (exited) since Mon 2024-03-11 05:42:09 EDT; 6min ago
                 Docs: man:systemd-sysv-generator(8)
              Process: 743635 ExecStart=/etc/init.d/orchestra start (code=exited, status=0/SUCCESS)
                  CPU: 19ms
          
          Mar 11 05:42:05 XO systemd[1]: Starting orchestra.service - LSB: forever-service startup script for orchestra...
          Mar 11 05:42:07 XO orchestra[743635]: Starting orchestra
          Mar 11 05:42:09 XO systemd[1]: Started orchestra.service - LSB: forever-service startup script for orchestra.
          
          1 Reply Last reply Reply Quote 0
          • J Offline
            jasonnix
            last edited by jasonnix

            Hello,
            Any idea to solve this? I have to manually start XO with the forever start dist/cli.mjs command and when I reboot the server, the service doesn't start automatically!

            J 1 Reply Last reply Reply Quote 0
            • J Offline
              john.c @jasonnix
              last edited by

              @jasonnix said in Tips on installing XO:

              Hello,
              Any idea to solve this? I have to manually start XO with the forever start dist/cli.mjs command and when I reboot the server, the service doesn't start automatically!

              Did you enable that service to start at boot with systemctl enable orchestra.service?

              This will make the Xen Orchestra service start automatically on each and every boot.

              J 1 Reply Last reply Reply Quote 0
              • J Offline
                jasonnix @john.c
                last edited by jasonnix

                Hi @john-c,
                I did:

                # systemctl enable orchestra.service
                orchestra.service is not a native service, redirecting to systemd-sysv-install.
                Executing: /lib/systemd/systemd-sysv-install enable orchestra
                

                Then I rebooted the system and checked the service:

                # systemctl status orchestra.service
                ● orchestra.service - LSB: forever-service startup script for orchestra
                     Loaded: loaded (/etc/init.d/orchestra; generated)
                     Active: active (exited) since Wed 2024-03-27 08:10:55 EDT; 1min 11s ago
                       Docs: man:systemd-sysv-generator(8)
                    Process: 514 ExecStart=/etc/init.d/orchestra start (code=exited, status=0/SUCCESS)
                        CPU: 30ms
                
                Mar 27 08:10:49 XO systemd[1]: Starting orchestra.service - LSB: forever-service startup script for orchestra...
                Mar 27 08:10:53 XO orchestra[514]: Starting orchestra
                Mar 27 08:10:55 XO systemd[1]: Started orchestra.service - LSB: forever-service startup script for orchestra.
                

                XO is not running:

                # ss -tupln
                Netid   State    Recv-Q   Send-Q       Local Address:Port       Peer Address:Port   Process                                                     
                udp     UNCONN   0        0                  0.0.0.0:111             0.0.0.0:*       users:(("rpcbind",pid=468,fd=5),("systemd",pid=1,fd=37))   
                udp     UNCONN   0        0                     [::]:111                [::]:*       users:(("rpcbind",pid=468,fd=7),("systemd",pid=1,fd=39))   
                tcp     LISTEN   0        511              127.0.0.1:6379            0.0.0.0:*       users:(("redis-server",pid=515,fd=6))                      
                tcp     LISTEN   0        4096               0.0.0.0:111             0.0.0.0:*       users:(("rpcbind",pid=468,fd=4),("systemd",pid=1,fd=36))   
                tcp     LISTEN   0        511                  [::1]:6379               [::]:*       users:(("redis-server",pid=515,fd=7))                      
                tcp     LISTEN   0        4096                  [::]:111                [::]:*       users:(("rpcbind",pid=468,fd=6),("systemd",pid=1,fd=38)) 
                

                Can't login to XO:

                This site can’t be reached
                
                D 1 Reply Last reply Reply Quote 0
                • D Offline
                  DustinB @jasonnix
                  last edited by

                  @jasonnix I think it's time you try and use an installation script. You're clearly having issues that are specific to you.

                  I'd just give up on this "I don't trust scripts" thing you have if you can't figure this process out, which is really straight-forwards.

                  1 Reply Last reply Reply Quote 0
                  • DanpD Offline
                    Danp Pro Support Team
                    last edited by

                    You may want to try removing the service and then installing it again.

                    J 1 Reply Last reply Reply Quote 0
                    • J Offline
                      jasonnix @Danp
                      last edited by

                      Hi @Danp,
                      How?

                      DanpD 1 Reply Last reply Reply Quote -1
                      • DanpD Offline
                        Danp Pro Support Team @jasonnix
                        last edited by

                        @jasonnix Documentation for forever can be found at https://github.com/zapty/forever-service

                        J 1 Reply Last reply Reply Quote 0
                        • J Offline
                          jasonnix @Danp
                          last edited by

                          @Danp, according to the XO documentation I ran the following command:

                          $ sudo forever-service install orchestra -r "Current_UserName" -s dist/cli.mjs
                          

                          Is this wrong?

                          DanpD 1 Reply Last reply Reply Quote 0
                          • DanpD Offline
                            Danp Pro Support Team @jasonnix
                            last edited by

                            @jasonnix AFAIK it is correct. I've never personally used forever, so my advice is only based on what you've posted to this thread.

                            This part looked suspicious, so that is why I recommended removal / recreation --

                            # forever start dist/cli.mjs
                            warn:    --minUptime not set. Defaulting to: 1000ms
                            warn:    --spinSleepTime not set. Your script will exit if it does not stay up for at least 1000ms
                            info:    Forever processing file: dist/cli.mjs
                            (node:742838) Warning: Accessing non-existent property 'padLevels' of module exports inside circular dependency
                            (Use `node --trace-warnings ...` to show where the warning was created)
                            (node:742838) Warning: Accessing non-existent property 'padLevels' of module exports inside circular dependency
                            (node:742838) Warning: Accessing non-existent property 'padLevels' of module exports inside circular dependency
                            
                            J 1 Reply Last reply Reply Quote 0
                            • J Offline
                              jasonnix @Danp
                              last edited by

                              Hi @Danp,
                              I did:

                              # sudo forever-service delete orchestra
                              forever-service version 0.5.11
                              
                              Platform - Debian GNU/Linux 12 (bookworm)
                              Service orchestra deleted successfully
                              

                              What is the next step? Should I run $ sudo forever-service install orchestra -r "Current_UserName" -s dist/cli.mjs command again?

                              1 Reply Last reply Reply Quote 0
                              • DanpD Offline
                                Danp Pro Support Team
                                last edited by

                                These are the steps shown in the documentation --

                                yarn global add forever
                                yarn global add forever-service
                                
                                # Be sure to edit the path below to where your install is located!
                                cd /home/username/xen-orchestra/packages/xo-server/
                                
                                # Change the username below to the user owning XO
                                forever-service install orchestra -r username -s dist/cli.mjs
                                

                                I don't see where you previously ran the line to install forever-service. Is that no longer needed? 🤔

                                To answer your question, Yes, you would rerun that command after switching to the correct directory as shown above.

                                J 1 Reply Last reply Reply Quote 0
                                • J Offline
                                  jasonnix @Danp
                                  last edited by

                                  Hi @Danp,
                                  I did the following commands:

                                  # yarn global add forever
                                  yarn global v1.22.21
                                  [1/4] Resolving packages...
                                  [2/4] Fetching packages...
                                  [3/4] Linking dependencies...
                                  [4/4] Building fresh packages...
                                  
                                  success Installed "forever@4.0.3" with binaries:
                                        - forever
                                  Done in 5.19s.
                                  #
                                  # yarn global add forever-service
                                  yarn global v1.22.21
                                  [1/4] Resolving packages...
                                  [2/4] Fetching packages...
                                  [3/4] Linking dependencies...
                                  [4/4] Building fresh packages...
                                  
                                  success Installed "forever-service@0.5.11" with binaries:
                                        - forever-service
                                        - get-forever-config
                                  Done in 4.48s.
                                  #
                                  # forever-service install orchestra -r xo -s dist/cli.mjs
                                  forever-service version 0.5.11
                                  
                                  Platform - Debian GNU/Linux 12 (bookworm)
                                  orchestra provisioned successfully
                                  
                                  Commands to interact with service orchestra
                                  Start   - "sudo service orchestra start"
                                  Stop    - "sudo service orchestra stop"
                                  Status  - "sudo service orchestra status"
                                  Restart - "sudo service orchestra restart"
                                  #
                                  # sudo service orchestra start
                                  #
                                  # sudo service orchestra status
                                  ● orchestra.service - LSB: forever-service startup script for orchestra
                                       Loaded: loaded (/etc/init.d/orchestra; generated)
                                       Active: active (exited) since Thu 2024-03-28 08:38:18 EDT; 22s ago
                                         Docs: man:systemd-sysv-generator(8)
                                      Process: 199365 ExecStart=/etc/init.d/orchestra start (code=exited, status=0/SUCCESS)
                                          CPU: 19ms
                                  
                                  Mar 28 08:38:16 XO systemd[1]: Starting orchestra.service - LSB: forever-service startup script for orchestra...
                                  Mar 28 08:38:17 XO orchestra[199365]: Starting orchestra
                                  Mar 28 08:38:18 XO systemd[1]: Started orchestra.service - LSB: forever-service startup script for orchestra.
                                  #
                                  # systemctl enable orchestra.service
                                  orchestra.service is not a native service, redirecting to systemd-sysv-install.
                                  Executing: /lib/systemd/systemd-sysv-install enable orchestra
                                  

                                  Then I rebooted the system, but XO is not running:

                                  # ss -tupln
                                  Netid State  Recv-Q  Send-Q   Local Address:Port   Peer Address:Port Process                                                   
                                  udp   UNCONN 0       0              0.0.0.0:111         0.0.0.0:*     users:(("rpcbind",pid=472,fd=5),("systemd",pid=1,fd=37)) 
                                  udp   UNCONN 0       0                 [::]:111            [::]:*     users:(("rpcbind",pid=472,fd=7),("systemd",pid=1,fd=39)) 
                                  tcp   LISTEN 0       4096           0.0.0.0:111         0.0.0.0:*     users:(("rpcbind",pid=472,fd=4),("systemd",pid=1,fd=36)) 
                                  tcp   LISTEN 0       511          127.0.0.1:6379        0.0.0.0:*     users:(("redis-server",pid=517,fd=6))                    
                                  tcp   LISTEN 0       511              [::1]:6379           [::]:*     users:(("redis-server",pid=517,fd=7))                    
                                  tcp   LISTEN 0       4096              [::]:111            [::]:*     users:(("rpcbind",pid=472,fd=6),("systemd",pid=1,fd=38)) 
                                  

                                  The log shows me the following error:

                                  2024-03-28T12:45:02.002Z xo:main WARN   Access denied.
                                  2024-03-28T12:45:02.003Z xo:main WARN   Ports < 1024 are often reserved to privileges users.
                                  ✖ EACCES: permission denied, open '/home/xo/.config/xo-server/config.z-auto.json'
                                  Error: EACCES: permission denied, open '/home/xo/.config/xo-server/config.z-auto.json'
                                  {"level":"error","message":"Forever detected script exited with code: 1"}
                                  {"level":"error","message":"Script restart attempt #28"}
                                  

                                  What should I do if I want to completely remove XO and use the script xenorchestra_installer?

                                  DanpD 1 Reply Last reply Reply Quote 0
                                  • DanpD Offline
                                    Danp Pro Support Team @jasonnix
                                    last edited by

                                    @jasonnix

                                    2024-03-28T12:45:02.002Z xo:main WARN Access denied.
                                    2024-03-28T12:45:02.003Z xo:main WARN Ports < 1024 are often reserved to privileges users.
                                    ✖ EACCES: permission denied, open '/home/xo/.config/xo-server/config.z-auto.json'

                                    Did you read this part of the documentation? https://xen-orchestra.com/docs/installation.html#sudo

                                    What should I do if I want to completely remove XO and use the script xenorchestra_installer?

                                    I hope that was more of a rhetorical question, because your best option is to simply spin up a new VM and start over. There are other options as well --

                                    • Revert to an existing snapshot that you took prior to all of the above
                                    • Remove the /home/username/xen-orchestra directory and hope for the best 😆
                                    J 1 Reply Last reply Reply Quote 0
                                    • J Offline
                                      jasonnix @Danp
                                      last edited by

                                      @Danp, Yes. I read.
                                      These were questions that I had asked before and no one answered:
                                      1- Should I run the commands as root or sudo?

                                      2- Which directory is suitable to clone XO? I want to clone it in the /usr/local/src directory and this requires administrative access.

                                      1 Reply Last reply Reply Quote 0
                                      • J Offline
                                        jasonnix
                                        last edited by

                                        Hello,
                                        I cloned the repository Jarli01/xenorchestra_installer. I then tried to install it using the bash xo_install.sh command, but I got the following error:

                                        Cloning into 'xen-orchestra'...
                                        remote: Enumerating objects: 128131, done.
                                        remote: Counting objects: 100% (4123/4123), done.
                                        remote: Compressing objects: 100% (1937/1937), done.
                                        error: RPC failed; curl 92 HTTP/2 stream 5 was not closed cleanly: CANCEL (err 8)
                                        error: 611 bytes of body are still expected
                                        fetch-pack: unexpected disconnect while reading sideband packet
                                        fatal: early EOF
                                        fatal: fetch-pack: invalid index-pack output
                                        xo_install.sh: line 50: cd: /opt/xen-orchestra: No such file or directory
                                        yarn install v1.22.22
                                        info No lockfile found.
                                        [1/4] Resolving packages...
                                        [2/4] Fetching packages...
                                        [3/4] Linking dependencies...
                                        [4/4] Building fresh packages...
                                        success Saved lockfile.
                                        Done in 0.17s.
                                        yarn run v1.22.22
                                        error Couldn't find a package.json file in "/opt"
                                        info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
                                        xo_install.sh: line 54: cd: packages/xo-server: No such file or directory
                                        cp: cannot stat 'sample.config.toml': No such file or directory
                                        ls: cannot access '/opt/xen-orchestra/packages/xo-server-*': No such file or directory
                                        Created symlink /etc/systemd/system/multi-user.target.wants/xo-server.service → /lib/systemd/system/xo-server.service.
                                        
                                        
                                        Installation complete, open a browser to:
                                        172.20.2.56 
                                        
                                        Default Login:admin@admin.net Password:admin
                                        
                                        Don't forget to change your password!
                                        
                                        DanpD 1 Reply Last reply Reply Quote 0
                                        • olivierlambertO Offline
                                          olivierlambert Vates 🪐 Co-Founder CEO
                                          last edited by olivierlambert

                                          @jasonnix you should report 3rd party script issues where they are built, eg https://github.com/Jarli01/xenorchestra_installer

                                          The community forums are meant to deal with the documented way to install XO 🙂

                                          1 Reply Last reply Reply Quote 0
                                          • DanpD Offline
                                            Danp Pro Support Team @jasonnix
                                            last edited by

                                            @jasonnix Looks like you had an issue during the attempt to git clone the XO repository, which would explain why the directory was subsequently not found. I would recommend retrying the install using a fresh VM.

                                            J 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post