We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 1169
    • 312 Posts
    I don’t know if this will help I saw a similar post for 1 on 1 hosting:-

    http://modxcms.com/forums/index.php/topic,52649.msg304855.html#msg304855

    Maybe see if anyone has successfull Revo install on 1 on 1 ?

    1 on 1 maybe able to help. huh
      DEVELOPMENT ENV:- Ubuntu 12.04 | MODx Revolution 2.2.8 | LAMP 2i Apache 2.2.22 | Php 5.3.10 | Mysql 5.5.31 MySQL client version: 5.5.31
      • 11802
      • 12 Posts
      Alan,

      Thanks for your reply. As I see the cited post is about database connection. In my case the database connection is working. I could manage to get every subfolder to be writeable that needs to be except the document root, which is in my case /srv/www/vhosts/<mydomain.com>/httpdocs/.

      As I have a VPS on 1and1 I have only bad experience with support from 1and1. I don’t feel that it is specific to 1and1 hosting, because its a basic Apache2 Server on Linux with PHP5. I have successfully installed multiple different PHP-based products including MODx Evolution.

      As the is_writeable(getcwd()) function returns true I feel that it must be a modx setup script problem of Revo Advanced or the script does some more/other checks than the simple one I tried.
        • 1169
        • 312 Posts
        Sorry my post was of no help.

        I did not check the details my only thought was the 1 on 1 hosting.

        Hope someone more knowlegable on hosting can step in with better advice.
          DEVELOPMENT ENV:- Ubuntu 12.04 | MODx Revolution 2.2.8 | LAMP 2i Apache 2.2.22 | Php 5.3.10 | Mysql 5.5.31 MySQL client version: 5.5.31
          • 1169
          • 312 Posts
          Just a thought not realy a solution.

          Could you not install in a sub-dir as you seem to be able to control writing to those. huh

          And maybe use a redirect to this dir until you are able to ’fix’ the root problem.
          Not a perfect idea but may get you going.
            DEVELOPMENT ENV:- Ubuntu 12.04 | MODx Revolution 2.2.8 | LAMP 2i Apache 2.2.22 | Php 5.3.10 | Mysql 5.5.31 MySQL client version: 5.5.31
            • 9207 ☆ A M B ☆
            • 2,475 Posts
            I’d try the sub-directory approach too.. just to see if that works. Every time you install software on a host, there are certain things that have to work together... the req’s of Revo are different than Evo. The permissions issue seems strange... so if you could isolate that as an issue (or discount it as one), that’d be helpful.
              • 11802
              • 12 Posts
              Thanks guys for all your hints to fix this problem. That’s really helpful.

              I have tried installing into subdir /docs which works perfect. So it seems to be related somehow to the special folder which is the document root of the server.

              I started digging into the setup scripts. And echo some debug information in function is_writeable2(). Will post if I have any further results.
                • 11802
                • 12 Posts
                I found something is wrong with the setup script:
                The page index.php?action=contexts shows:
                /srv/www/vhosts/haraldmaida.at/httpdocs/
                /
                /srv/www/vhosts/haraldmaida.at/httpdocs/connectors/
                /connectors/
                /srv/www/vhosts/haraldmaida.at/httpdocs/manager/
                /manager


                but the checks in modinstall.class.php are done for the dirs:
                DEBUGGING modinstall.class.php -> is_writeable2()
                /srv/www/vhosts/haraldmaida.at = /srv/www/vhosts/haraldmaida.at
                /srv/www/vhosts/haraldmaida.at/4c74dd84f1c64.cache.php = /srv/www/vhosts/haraldmaida.at/4c74dd84f1c64.cache.php
                
                DEBUGGING modinstall.class.php -> is_writeable2()
                /srv/www/vhosts/haraldmaida.at/httpdocs = /srv/www/vhosts/haraldmaida.at/httpdocs
                /srv/www/vhosts/haraldmaida.at/httpdocs/4c74dd84f281b.cache.php = /srv/www/vhosts/haraldmaida.at/httpdocs/4c74dd84f281b.cache.php
                file created successfully
                writting to file successful = 18
                /nEND DEBUGGING
                
                DEBUGGING modinstall.class.php -> is_writeable2()
                /srv/www/vhosts/haraldmaida.at/httpdocs = /srv/www/vhosts/haraldmaida.at/httpdocs
                /srv/www/vhosts/haraldmaida.at/httpdocs/4c74dd84f33d3.cache.php = /srv/www/vhosts/haraldmaida.at/httpdocs/4c74dd84f33d3.cache.php
                file created successfully
                writting to file successful = 18
                /nEND DEBUGGING

                  • 11802
                  • 12 Posts
                  Now I have modified the function _checkAdvPaths() in the file /setup/includes/checks/modinstalltestadvanced.class.php like this

                      /**
                       * Check paths for writability
                       */
                      protected function _checkAdvPaths() {
                          /* web_path */
                          $this->results['context_web_writable']['msg'] = '<p>'.sprintf($this->install->lexicon['test_directory_writable'],$this->install->settings->get('context_web_path'));
                  //        $webDir = dirname($this->install->settings->get('context_web_path'));
                          $webDir = $this->install->settings->get('context_web_path');
                          if (!$this->is_writable2($webDir)) {
                              $this->results['context_web_writable']['msg'] .= '<span class="notok">'.$this->install->lexicon['failed'].'</span></p>';
                              $this->results['context_web_writable']['class'] = 'testFailed';
                          } else {
                              $this->results['context_web_writable']['msg'] .= '<span class="ok">'.$this->install->lexicon['ok'].'</span></p>';
                              $this->results['context_web_writable']['class'] = 'testPassed';
                          }
                  
                          /* mgr_path */
                          $this->results['context_mgr_writable']['msg'] = '<p>'.sprintf($this->install->lexicon['test_directory_writable'],$this->install->settings->get('context_mgr_path'));
                  //        $mgrDir = dirname($this->install->settings->get('context_mgr_path'));
                          $mgrDir = $this->install->settings->get('context_mgr_path');
                          if (!$this->is_writable2($mgrDir)) {
                              $this->results['context_mgr_writable']['msg'] .= '<span class="notok">'.$this->install->lexicon['failed'].'</span></p>';
                              $this->results['context_mgr_writable']['class'] = 'testFailed';
                          } else {
                              $this->results['context_mgr_writable']['msg'] .= '<span class="ok">'.$this->install->lexicon['ok'].'</span></p>';
                              $this->results['context_mgr_writable']['class'] = 'testPassed';
                          }
                  
                          /* connectors_path */
                          $this->results['context_connectors_writable']['msg'] = '<p>'.sprintf($this->install->lexicon['test_directory_writable'],$this->install->settings->get('context_connectors_path'));
                  //        $conDir = dirname($this->install->settings->get('context_connectors_path'));
                          $conDir = $this->install->settings->get('context_connectors_path');
                          if (!$this->is_writable2($conDir)) {
                              $this->results['context_connectors_writable']['msg'] .= '<span class="notok">'.$this->install->lexicon['failed'].'</span></p>';
                              $this->results['context_connectors_writable']['class'] = 'testFailed';
                          } else {
                              $this->results['context_connectors_writable']['msg'] .= '<span class="ok">'.$this->install->lexicon['ok'].'</span></p>';
                              $this->results['context_connectors_writable']['class'] = 'testPassed';
                          }
                      }
                  }


                  and all the checks and setup ran through successfully! smiley

                  Now I can move to the next challenge: I do get a white page only when opening the /manager/
                  but thats another thing.
                    • 9207 ☆ A M B ☆
                    • 2,475 Posts
                    That’s some great troubleshooting work you’ve done! Did you report this as a bug?
                      • 11802
                      • 12 Posts
                      Filed as bug #MODX-2305