ML
    • Recent
    • Categories
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    Setup Nextcloud 19.0.4 on Fedora 32

    IT Discussion
    fedora fedora 32 nextcloud nextcloud 19 how to real instructions
    3
    46
    3.4k
    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.
    • JaredBuschJ
      JaredBusch @black3dynamite
      last edited by JaredBusch

      @black3dynamite said in Setup Nextcloud 19.0.4 on Fedora 32:

      Using sudo with tee works well.

      Yeah, that works for the apache vhost file, and will work with the nextcloud config file once I work out what to do instead of head -n 1 for that.

      1 Reply Last reply Reply Quote 0
      • JaredBuschJ
        JaredBusch
        last edited by JaredBusch

        ok fixed. thanks.

        sed '$d' for the win there.

        black3dynamiteB 1 Reply Last reply Reply Quote 1
        • black3dynamiteB
          black3dynamite @JaredBusch
          last edited by

          @JaredBusch said in Setup Nextcloud 19.0.4 on Fedora 32:

          ok fixed. thanks.

          sed '$d' for the win there.

          Nice! I was about to post that command.

          JaredBuschJ 1 Reply Last reply Reply Quote 0
          • JaredBuschJ
            JaredBusch @black3dynamite
            last edited by JaredBusch

            @black3dynamite since you are better with sed than I am... Or at least better with Google and the man pages than I am..

            How can I fix this to use the environment variables instead of manual.

            This is part of the next step to use the "pretty URL" as it is called.
            It works fine like this.

            sudo sed -i -e 's/\(^DocumentRoot\s*\).*$/\1"\/var\/www\/html\/nextcloud"/' /etc/httpd/conf/httpd.conf
            

            But I want it to use the above $WWW_PATH and $APP_FOLDER variables.

            1 1 Reply Last reply Reply Quote 0
            • 1
              1337 @JaredBusch
              last edited by 1337

              @JaredBusch said in Setup Nextcloud 19.0.4 on Fedora 32:

              @black3dynamite since you are better with sed than I am... Or at least better with Google and the man pages than I am..

              How can I fix this to use the environment variables instead of manual.

              This is part of the next step to use the "pretty URL" as it is called.
              It works fine like this.

              sudo sed -i -e 's/\(^DocumentRoot\s*\).*$/\1"\/var\/www\/html\/nextcloud"/' /etc/httpd/conf/httpd.conf
              

              But I want it to use the above $WWW_PATH and $APP_FOLDER variables.

              What does the line do exactly?
              Sets the DocumentRoot parameter to /var/www/html/nextcloud ?

              What does $WWW_PATH and $APP_FOLDER contain?
              Ah, the first post says: /var/www/html and nextcloud

              JaredBuschJ 2 Replies Last reply Reply Quote 0
              • JaredBuschJ
                JaredBusch @1337
                last edited by

                @Pete-S said in Setup Nextcloud 19.0.4 on Fedora 32:

                What does the line do exactly?
                Sets the DocumentRoot parameter to /var/www/html/nextcloud ?

                Correct.

                (      # Start a capture group
                ^      # Matches the start of the line 
                DocumentRoot  # Matches the word I am want
                \s     # a space character I should probably remove that. came from an example I found
                *      # umm everything maybe? not sure inside the capture group also likely need removed
                )      # End capture group 
                .*     # Matches anything
                $      # Matches the end of the line
                

                So, sed should find any instance of DocumentRoot at the beging of a line. This happens only once in a default Apache config file.

                The capture group means to capture the term within the parentheses in a variable. This is the 1 in the replacement section of the s/// command.

                I am then appending "/var/www/html/nextcloud" to the captured string "DocumentRoot" to end up with his
                a7813a10-f6c7-4e2b-bbb8-9faa43d02bc9-image.png

                1 Reply Last reply Reply Quote 0
                • JaredBuschJ
                  JaredBusch @1337
                  last edited by

                  @Pete-S said in Setup Nextcloud 19.0.4 on Fedora 32:

                  What does $WWW_PATH and $APP_FOLDER contain?
                  Ah, the first post says: /var/www/html and nextcloud

                  And that is why I want to use the environment variables. Not everyone installs everything to the default location.

                  1 Reply Last reply Reply Quote 0
                  • JaredBuschJ
                    JaredBusch
                    last edited by

                    @Pete-S said in Setup Nextcloud 19.0.4 on Fedora 32:

                    sudo sed -i -e 's/(^DocumentRoot\s*).*$/\1"/var/www/html/nextcloud"/' /etc/httpd/conf/httpd.conf

                    Better sed. I removed the \s*

                    1e498b1a-06b5-46f6-90a6-c7a3dee31f99-image.png

                    1 1 Reply Last reply Reply Quote 0
                    • 1
                      1337 @JaredBusch
                      last edited by 1337

                      @JaredBusch said in Setup Nextcloud 19.0.4 on Fedora 32:

                      @Pete-S said in Setup Nextcloud 19.0.4 on Fedora 32:

                      sudo sed -i -e 's/(^DocumentRoot\s*).*$/\1"/var/www/html/nextcloud"/' /etc/httpd/conf/httpd.conf

                      Better sed. I removed the \s*

                      1e498b1a-06b5-46f6-90a6-c7a3dee31f99-image.png

                      I think you can simplify it way more.

                      • you don't need -e
                      • don't use the / separator, use for instance #. So s#expression#replacement#. Then you don't have to escape your paths. And then you can put your variables straight in.
                      1 JaredBuschJ 2 Replies Last reply Reply Quote 1
                      • 1
                        1337 @1337
                        last edited by 1337

                        @Pete-S said in Setup Nextcloud 19.0.4 on Fedora 32:

                        @JaredBusch said in Setup Nextcloud 19.0.4 on Fedora 32:

                        @Pete-S said in Setup Nextcloud 19.0.4 on Fedora 32:

                        sudo sed -i -e 's/(^DocumentRoot\s*).*$/\1"/var/www/html/nextcloud"/' /etc/httpd/conf/httpd.conf

                        Better sed. I removed the \s*

                        1e498b1a-06b5-46f6-90a6-c7a3dee31f99-image.png

                        I think you can simplify it way more.

                        • you don't need -e
                        • don't use the / separator, use for instance #. So s#expression#replacement#. Then you don't have to escape your paths. And then you can put your variables straight in.

                        Don't think you need the sed script inside a quoted string either.

                        Maybe something like this:

                        sudo sed -i s#\(^DocumentRoot\).*$#\1$WWW_PATH/$APP_FOLDER# /etc/httpd/conf/httpd.conf
                        

                        If you want quotes around the sed "instructions" use " so you get variable expansion, and not '.
                        But you don't need to quote a string as long as it doesn't contain spaces.

                        JaredBuschJ 1 Reply Last reply Reply Quote 1
                        • JaredBuschJ
                          JaredBusch @1337
                          last edited by

                          @Pete-S said in Setup Nextcloud 19.0.4 on Fedora 32:

                          you don't need -e

                          You just trying to fix all my old habits?

                          1 Reply Last reply Reply Quote 0
                          • JaredBuschJ
                            JaredBusch @1337
                            last edited by

                            @Pete-S said in Setup Nextcloud 19.0.4 on Fedora 32:

                            @Pete-S said in Setup Nextcloud 19.0.4 on Fedora 32:

                            @JaredBusch said in Setup Nextcloud 19.0.4 on Fedora 32:

                            @Pete-S said in Setup Nextcloud 19.0.4 on Fedora 32:

                            sudo sed -i -e 's/(^DocumentRoot\s*).*$/\1"/var/www/html/nextcloud"/' /etc/httpd/conf/httpd.conf

                            Better sed. I removed the \s*

                            1e498b1a-06b5-46f6-90a6-c7a3dee31f99-image.png

                            I think you can simplify it way more.

                            • you don't need -e
                            • don't use the / separator, use for instance #. So s#expression#replacement#. Then you don't have to escape your paths. And then you can put your variables straight in.

                            Don't think you need the sed script inside a quoted string either.

                            Maybe something like this:

                            sudo sed -i s#\(^DocumentRoot\).*$#\1$WWW_PATH/$APP_FOLDER# /etc/httpd/conf/httpd.conf
                            

                            If you want quotes around the sed "instructions" use " so you get variable expansion, and not '.
                            But you don't need to quote a string as long as it doesn't contain spaces.

                            I'll try it in a bit on my local test instance.

                            I'm in the middle of migrating the CentOS 7 system to the Fedora 32 system that caused me to write this in the first place.

                            1 1 Reply Last reply Reply Quote 0
                            • JaredBuschJ
                              JaredBusch
                              last edited by

                              Could not make it execute without the quotes
                              But this works.

                              sudo sed -i 's#\(^DocumentRoot\).*$#\1 "'"$WWW_PATH"'/'"$APP_FOLDER"'"#' /etc/httpd/conf/httpd.conf
                              
                              1 1 Reply Last reply Reply Quote 0
                              • 1
                                1337 @JaredBusch
                                last edited by

                                @JaredBusch said in Setup Nextcloud 19.0.4 on Fedora 32:

                                @Pete-S said in Setup Nextcloud 19.0.4 on Fedora 32:

                                @Pete-S said in Setup Nextcloud 19.0.4 on Fedora 32:

                                @JaredBusch said in Setup Nextcloud 19.0.4 on Fedora 32:

                                @Pete-S said in Setup Nextcloud 19.0.4 on Fedora 32:

                                sudo sed -i -e 's/(^DocumentRoot\s*).*$/\1"/var/www/html/nextcloud"/' /etc/httpd/conf/httpd.conf

                                Better sed. I removed the \s*

                                1e498b1a-06b5-46f6-90a6-c7a3dee31f99-image.png

                                I think you can simplify it way more.

                                • you don't need -e
                                • don't use the / separator, use for instance #. So s#expression#replacement#. Then you don't have to escape your paths. And then you can put your variables straight in.

                                Don't think you need the sed script inside a quoted string either.

                                Maybe something like this:

                                sudo sed -i s#\(^DocumentRoot\).*$#\1$WWW_PATH/$APP_FOLDER# /etc/httpd/conf/httpd.conf
                                

                                If you want quotes around the sed "instructions" use " so you get variable expansion, and not '.
                                But you don't need to quote a string as long as it doesn't contain spaces.

                                I'll try it in a bit on my local test instance.

                                I'm in the middle of migrating the CentOS 7 system to the Fedora 32 system that caused me to write this in the first place.

                                Hmm, maybe you need some quotes anyway,

                                The sed thing is really s#regexp#\1 /www/whatever# (using `# as delimiter).
                                Where \1 tell sed to use the capture result of the first group which is "DocumentRoot".
                                Then a space and then the new path.

                                1 Reply Last reply Reply Quote 0
                                • 1
                                  1337 @JaredBusch
                                  last edited by

                                  @JaredBusch said in Setup Nextcloud 19.0.4 on Fedora 32:

                                  Could not make it execute without the quotes
                                  But this works.

                                  sudo sed -i 's#\(^DocumentRoot\).*$#\1 "'"$WWW_PATH"'/'"$APP_FOLDER"'"#' /etc/httpd/conf/httpd.conf
                                  

                                  OK try this then:

                                  sudo sed -i 's#\(^DocumentRoot\).*$#\1 '$WWW_PATH/$APP_FOLDER# /etc/httpd/conf/httpd.conf
                                  
                                  JaredBuschJ 1 Reply Last reply Reply Quote 0
                                  • JaredBuschJ
                                    JaredBusch @1337
                                    last edited by JaredBusch

                                    @Pete-S said in Setup Nextcloud 19.0.4 on Fedora 32:

                                    @JaredBusch said in Setup Nextcloud 19.0.4 on Fedora 32:

                                    Could not make it execute without the quotes
                                    But this works.

                                    sudo sed -i 's#\(^DocumentRoot\).*$#\1 "'"$WWW_PATH"'/'"$APP_FOLDER"'"#' /etc/httpd/conf/httpd.conf
                                    

                                    OK try this then:

                                    sudo sed -i 's#\(^DocumentRoot\).*$#\1 '$WWW_PATH/$APP_FOLDER# /etc/httpd/conf/httpd.conf
                                    

                                    That is missing the " that need to be around the value. But did make me realize I did not need to do all the quoting around the / since I changed the delimeter.. habits

                                    sudo sed -i 's#\(^DocumentRoot\).*$#\1 "'$WWW_PATH/$APP_FOLDER'"#' /etc/httpd/conf/httpd.conf
                                    

                                    47d7a0cd-466f-4ff8-9b41-7a2b81ae1e35-image.png

                                    1 1 Reply Last reply Reply Quote 0
                                    • JaredBuschJ
                                      JaredBusch
                                      last edited by

                                      \"# also works to end it.

                                      6198218f-2035-409b-86d6-983f5637123f-image.png

                                      1 Reply Last reply Reply Quote 0
                                      • 1
                                        1337 @JaredBusch
                                        last edited by

                                        @JaredBusch said in Setup Nextcloud 19.0.4 on Fedora 32:

                                        @Pete-S said in Setup Nextcloud 19.0.4 on Fedora 32:

                                        @JaredBusch said in Setup Nextcloud 19.0.4 on Fedora 32:

                                        Could not make it execute without the quotes
                                        But this works.

                                        sudo sed -i 's#\(^DocumentRoot\).*$#\1 "'"$WWW_PATH"'/'"$APP_FOLDER"'"#' /etc/httpd/conf/httpd.conf
                                        

                                        OK try this then:

                                        sudo sed -i 's#\(^DocumentRoot\).*$#\1 '$WWW_PATH/$APP_FOLDER# /etc/httpd/conf/httpd.conf
                                        

                                        That is missing the " that need to be around the value. But did make me realize I did not need to do all the quoting around the / since I changed the delimeter.. habits

                                        sudo sed -i 's#\(^DocumentRoot\).*$#\1 "'$WWW_PATH/$APP_FOLDER'"#' /etc/httpd/conf/httpd.conf
                                        

                                        47d7a0cd-466f-4ff8-9b41-7a2b81ae1e35-image.png

                                        Starting to look pretty good I think.

                                        I wonder about the ^DocumentRoot though. Apache don't need it to be the start of the line. There could be some whitespace first.

                                        JaredBuschJ 1 Reply Last reply Reply Quote 0
                                        • JaredBuschJ
                                          JaredBusch @1337
                                          last edited by

                                          @Pete-S said in Setup Nextcloud 19.0.4 on Fedora 32:

                                          I wonder about the ^DocumentRoot though. Apache don't need it to be the start of the line. There could be some whitespace first.

                                          That is because there are 3 instances in the file. But only that one matters.
                                          d01fc01b-9f82-44b8-9939-1c293cbfd751-image.png

                                          1 1 Reply Last reply Reply Quote 0
                                          • 1
                                            1337 @JaredBusch
                                            last edited by 1337

                                            @JaredBusch said in Setup Nextcloud 19.0.4 on Fedora 32:

                                            @Pete-S said in Setup Nextcloud 19.0.4 on Fedora 32:

                                            I wonder about the ^DocumentRoot though. Apache don't need it to be the start of the line. There could be some whitespace first.

                                            That is because there are 3 instances in the file. But only that one matters.
                                            d01fc01b-9f82-44b8-9939-1c293cbfd751-image.png

                                            I understand I'm just thinking about whitespace. It's very common to have indentation in the conf files. Especially when you are putting it under virtualhost.

                                            Then the regex wont match but works fine in apache.

                                            JaredBuschJ 1 Reply Last reply Reply Quote 0
                                            • 1
                                            • 2
                                            • 3
                                            • 2 / 3
                                            • First post
                                              Last post