error: problems with web server write access

error: problems with web server write access

by m t -
Number of replies: 11

Ok. I  upload all the files after configurate config.php. I create in moodle dir "moodeldata" with all the permissions opened: user, group, others can red, write and enter.

Then, I try to go to admin and get the next error message:

Error: unable to access to /home/html/moodle/lib/moodlelib.php on line 1897
Error: you need to create the directory /home/html/moodle/moodledata with web server write access.

What can I do?
Average of ratings: -
In reply to m t

Re: error: problems with web server write access

by Howard Miller -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
At the risk of stating the obvious it is likely that either /home/html/moodle/moodledata does not exist or it's permissions are insufficient. Check again. Failing that please give us some more details of your system and post your config.php (without the password) here.
In reply to Howard Miller

Re: error: problems with web server write access

by m t -
The directory exist, and have total permissions...

Here is the config.php:

<?PHP // $Id: config-dist.php,v 1.62.2.2 2004/09/07 02:50:01 moodler Exp $
///////////////////////////////////////////////////////////////////////////
// //
// Moodle configuration file //
// //
// This file should be renamed "config.php" in the top-level directory //
// //
///////////////////////////////////////////////////////////////////////////
// //
// NOTICE OF COPYRIGHT //
// //
// Moodle - Modular Object-Oriented Dynamic Learning Environment //
// http://moodle.org //
// //
// Copyright (C) 1999-2004 Martin Dougiamas http://dougiamas.com //
// //
// This program is free software; you can redistribute it and/or modify //
// it under the terms of the GNU General Public License as published by //
// the Free Software Foundation; either version 2 of the License, or //
// (at your option) any later version. //
// //
// This program is distributed in the hope that it will be useful, //
// but WITHOUT ANY WARRANTY; without even the implied warranty of //
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
// GNU General Public License for more details: //
// //
// http://www.gnu.org/copyleft/gpl.html //
// //
///////////////////////////////////////////////////////////////////////////
unset($CFG); // Ignore this line

//=========================================================================
// 1. DATABASE SETUP
//=========================================================================
// First, you need to configure the database where all Moodle data //
// will be stored. This database must already have been created //
// and a username/password created to access it. //
// //
// mysql - the prefix is optional, but useful when installing //
// into databases that already contain tables. //
//
// postgres7 - the prefix is REQUIRED, regardless of whether the //
// database already contains tables. //
// //
// A special case exists when using PostgreSQL databases via sockets. //
// Define dbhost as follows, leaving dbname, dbuser, dbpass BLANK!: //
// $CFG->dbhost = " user='muser' password='mpass' dbname='mdata'"; //
//

$CFG->dbtype = 'mysql'; // mysql or postgres7 (for now)
$CFG->dbhost = 'www.gestionsql.com'; // eg localhost or db.isp.com
$CFG->dbname = 'aa9397'; // database name, eg moodle
$CFG->dbuser = 'aa6475'; // your database username
$CFG->dbpass = 'XXXXXX'; // your database password
$CFG->prefix = 'mdl_'; // Prefix to use for all table names

$CFG->dbpersist = false; // Should database connections be reused?
// "false" is the most stable setting
// "true" can improve performance sometimes


//=========================================================================
// 2. WEB SITE LOCATION
//=========================================================================
// Now you need to tell Moodle where it is located. Specify the full
// web address to where moodle has been installed. If your web site
// is accessible via multiple URLs then choose the most natural one
// that your students would use. Do not include a trailing slash

$CFG->wwwroot = 'http://singenerodedudas.com/moodle';


//=========================================================================
// 3. SERVER FILES LOCATION
//=========================================================================
// Next, specify the full OS directory path to this same location
// Make sure the upper/lower case is correct. Some examples:
//
// $CFG->dirroot = 'c:\program files\easyphp\www\moodle'; // Windows
// $CFG->dirroot = '/var/www/html/moodle'; // Redhat Linux
// $CFG->dirroot = '/home/example/public_html/moodle'; // Cpanel host

$CFG->dirroot = '/h2/singenerodedudas.com/home/html/moodle';


//=========================================================================
// 4. DATA FILES LOCATION
//=========================================================================
// Now you need a place where Moodle can save uploaded files. This
// directory should be readable AND WRITEABLE by the web server user
// (usually 'nobody' or 'apache'), but it should not be accessible
// directly via the web.
//
// - On hosting systems you might need to make sure that your "group" has
// no permissions at all, but that "others" have full permissions.
//
// - On Windows systems you might specify something like 'c:\moodledata'

$CFG->dataroot = '/home/html/moodle/moodledata';


//=========================================================================
// 5. DATA FILES PERMISSIONS
//=========================================================================
// The following parameter sets the permissions of new directories
// created by Moodle within the data directory. The format is in
// octal format (as used by the Unix utility chmod, for example).
// The default is usually OK, but you may want to change it to 0750
// if you are concerned about world-access to the files (you will need
// to make sure the web server process (eg Apache) can access the files.
// NOTE: the prefixed 0 is important, and don't use quotes.

$CFG->directorypermissions = 0777;


//=========================================================================
// 6. DIRECTORY LOCATION (most people can just ignore this setting)
//=========================================================================
// A very few webhosts use /admin as a special URL for you to access a
// control panel or something. Unfortunately this conflicts with the
// standard location for the Moodle admin pages. You can fix this by
// renaming the admin directory in your installation, and putting that
// new name here. eg "moodleadmin". This will fix admin links in Moodle.

$CFG->admin = 'admin';


//=========================================================================
// 7. OTHER MISCELLANEOUS SETTINGS (ignore these for new installations)
//=========================================================================
//
// These are additional tweaks for which no GUI exists in Moodle yet.
//
//
// Prevent users from updating their profile images
// $CFG->disableuserimages = true;
//
// Prevent scheduled backups from operating (and hide the GUI for them)
// Useful for webhost operators who have alternate methods of backups
// $CFG->disablescheduledbackups = true;
//
// Restrict certain usernames from doing things that may mess up a site
// This is especially useful for demonstration teacher accounts
// $CFG->restrictusers = 'teacher,fred,jim';
//
// Turning this on will make Moodle filter more than usual, including
// forum subjects, activity names and so on (in ADDITION to the normal
// texts like forum postings, journals etc). This is mostly only useful
// when using the multilang filter. This feature may not be complete.
// $CFG->filterall = true;
//
// Setting this to true will enable admins to edit any post at any time
// $CFG->admineditalways = true;
//
// This variable will override the default block configuration on newly
// created courses, or on upgraded courses from Moodle 1.2.1 and earlier.
// The names here should all be existing blocks in the "blocks" directory.
// $CFG->defaultblocks = "participants,activity_modules,search_forums,admin,course_list:news_items,calendar_upcoming,recent_activity";
//
// This setting will put Moodle in Unicode mode. It's very new and
// most likely doesn't work yet. THIS IS FOR DEVELOPERS ONLY, IT IS
// NOT RECOMMENDED FOR PRODUCTION SITES
// $CFG->unicode = true;
//
// To use spell-checking (experimental) define a path below to your
// locally-installed copy of Aspell (0.50.1 or newer)
// $CFG->aspellpath = '/usr/bin/aspell'; // *nix
// $CFG->aspellpath = '"c:\path\to\aspell\aspell.exe"'; // Windows
//
// Seconds for files to remain in caches. Decrease this if you are worried
// about students being served outdated versions of uploaded files.
// $CFG->filelifetime = 86400;
//
// The following two settings allow you to specify allowed domains for
// email addresses. If the first one is set, then Moodle will DISALLOW
// all domains EXCEPT those listed. Otherwise, if the second one is set
// then all addresses are ALLOWED EXCEPT those listed.
// $CFG->allowemailaddresses = "myschool.edu.au hotmail.com";
// $CFG->denyemailaddresses = "hotmail.com yahoo.com";

//=========================================================================
// ALL DONE! To continue installation, visit your main page with a browser
//=========================================================================
if (file_exists("$CFG->dirroot/lib/setup.php")) { // Do not edit
include_once("$CFG->dirroot/lib/setup.php");
} else {
if ($CFG->dirroot == dirname(__FILE__)) {
echo "

Could not find this file: $CFG->dirroot/lib/setup.php

";
echo "

Are you sure all your files have been uploaded?

";
} else {
echo "

Error detected in config.php

";
echo "

Error in: \$CFG->dirroot = '$CFG->dirroot';

";
echo "

Try this: \$CFG->dirroot = '".dirname(__FILE__)."';

";
}
die;
}
// MAKE SURE WHEN YOU EDIT THIS FILE THAT THERE ARE NO SPACES, BLANK LINES,
// RETURNS, OR ANYTHING ELSE AFTER THE TWO CHARACTERS ON THE NEXT LINE.
?>
In reply to m t

Re: error: problems with web server write access

by Howard Miller -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
no it isn't smile  Your config.php isn't showing up. Don't forget to tell us your server machine specs (what software and what versions of apache,php,mysql or whatever)
In reply to Howard Miller

Re: error: problems with web server write access

by m t -
Sorry. At this moment I can not know the version of php and mysql, but I think is a new version because I run other software (CMS) and have no problem with.

config.php:

<?PHP // $Id: config-dist.php,v 1.62.2.2 2004/09/07 02:50:01 moodler Exp $
///////////////////////////////////////////////////////////////////////////
//                                                                      //
// Moodle configuration file                                            //
//                                                                      //
// This file should be renamed "config.php" in the top-level directory  //
//                                                                      //
///////////////////////////////////////////////////////////////////////////
//                                                                      //
// NOTICE OF COPYRIGHT                                                  //
//                                                                      //
// Moodle - Modular Object-Oriented Dynamic Learning Environment        //
//          http://moodle.org                                            //
//                                                                      //
// Copyright (C) 1999-2004  Martin Dougiamas  http://dougiamas.com      //
//                                                                      //
// This program is free software; you can redistribute it and/or modify  //
// it under the terms of the GNU General Public License as published by  //
// the Free Software Foundation; either version 2 of the License, or    //
// (at your option) any later version.                                  //
//                                                                      //
// This program is distributed in the hope that it will be useful,      //
// but WITHOUT ANY WARRANTY; without even the implied warranty of        //
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the        //
// GNU General Public License for more details:                          //
//                                                                      //
//          http://www.gnu.org/copyleft/gpl.html                        //
//                                                                      //
///////////////////////////////////////////////////////////////////////////
unset($CFG);  // Ignore this line

//=========================================================================
// 1. DATABASE SETUP
//=========================================================================
// First, you need to configure the database where all Moodle data      //
// will be stored.  This database must already have been created        //
// and a username/password created to access it.                        //
//                                                                      //
//  mysql      - the prefix is optional, but useful when installing    //
//                into databases that already contain tables.            //
//
//  postgres7  - the prefix is REQUIRED, regardless of whether the      //
//                database already contains tables.                      //
//                                                                      //
// A special case exists when using PostgreSQL databases via sockets.    //
// Define dbhost as follows, leaving dbname, dbuser, dbpass BLANK!:      //
//    $CFG->dbhost = " user='muser' password='mpass' dbname='mdata'";    //
//

$CFG->dbtype    = 'mysql';      // mysql or postgres7 (for now)
$CFG->dbhost    = 'www.gestionsql.com';  // eg localhost or db.isp.com
$CFG->dbname    = 'aa9397';      // database name, eg moodle
$CFG->dbuser    = 'aa6475';    // your database username
$CFG->dbpass    = '20carmen05';    // your database password
$CFG->prefix    = 'mdl_';        // Prefix to use for all table names

$CFG->dbpersist = false;        // Should database connections be reused?
                // "false" is the most stable setting
                // "true" can improve performance sometimes


//=========================================================================
// 2. WEB SITE LOCATION
//=========================================================================
// Now you need to tell Moodle where it is located. Specify the full
// web address to where moodle has been installed.  If your web site
// is accessible via multiple URLs then choose the most natural one
// that your students would use.  Do not include a trailing slash

$CFG->wwwroot  = 'http://singenerodedudas.com/moodle';


//=========================================================================
// 3. SERVER FILES LOCATION
//=========================================================================
// Next, specify the full OS directory path to this same location
// Make sure the upper/lower case is correct.  Some examples:
//
//    $CFG->dirroot = 'c:\program files\easyphp\www\moodle';    // Windows
//    $CFG->dirroot = '/var/www/html/moodle';    // Redhat Linux
//    $CFG->dirroot = '/home/example/public_html/moodle'; // Cpanel host

$CFG->dirroot  = '/h2/singenerodedudas.com/home/html/moodle';


//=========================================================================
// 4. DATA FILES LOCATION
//=========================================================================
// Now you need a place where Moodle can save uploaded files.  This
// directory should be readable AND WRITEABLE by the web server user
// (usually 'nobody' or 'apache'), but it should not be accessible
// directly via the web.
//
// - On hosting systems you might need to make sure that your "group" has
//  no permissions at all, but that "others" have full permissions.
//
// - On Windows systems you might specify something like 'c:\moodledata'

$CFG->dataroot  = '/home/html/moodle/moodledata';


//=========================================================================
// 5. DATA FILES PERMISSIONS
//=========================================================================
// The following parameter sets the permissions of new directories
// created by Moodle within the data directory.  The format is in
// octal format (as used by the Unix utility chmod, for example).
// The default is usually OK, but you may want to change it to 0750
// if you are concerned about world-access to the files (you will need
// to make sure the web server process (eg Apache) can access the files.
// NOTE: the prefixed 0 is important, and don't use quotes.

$CFG->directorypermissions = 0777;


//=========================================================================
// 6. DIRECTORY LOCATION  (most people can just ignore this setting)
//=========================================================================
// A very few webhosts use /admin as a special URL for you to access a
// control panel or something.  Unfortunately this conflicts with the
// standard location for the Moodle admin pages.  You can fix this by
// renaming the admin directory in your installation, and putting that
// new name here.  eg "moodleadmin".  This will fix admin links in Moodle.

$CFG->admin = 'admin';


//=========================================================================
// 7. OTHER MISCELLANEOUS SETTINGS (ignore these for new installations)
//=========================================================================
//
// These are additional tweaks for which no GUI exists in Moodle yet.
//
//
// Prevent users from updating their profile images
//      $CFG->disableuserimages = true;
//
// Prevent scheduled backups from operating (and hide the GUI for them)
// Useful for webhost operators who have alternate methods of backups
//      $CFG->disablescheduledbackups = true;
//
// Restrict certain usernames from doing things that may mess up a site
// This is especially useful for demonstration teacher accounts
//      $CFG->restrictusers = 'teacher,fred,jim';
//
// Turning this on will make Moodle filter more than usual, including
// forum subjects, activity names and so on (in ADDITION to the normal
// texts like forum postings, journals etc).  This is mostly only useful
// when using the multilang filter.  This feature may not be complete.
//      $CFG->filterall = true;
//
// Setting this to true will enable admins to edit any post at any time
//      $CFG->admineditalways = true;
//
// This variable will override the default block configuration on newly
// created courses, or on upgraded courses from Moodle 1.2.1 and earlier.
// The names here should all be existing blocks in the "blocks" directory.
//      $CFG->defaultblocks = "participants,activity_modules,search_forums,admin,course_list:news_items,calendar_upcoming,recent_activity";
//
// This setting will put Moodle in Unicode mode.  It's very new and
// most likely doesn't work yet.  THIS IS FOR DEVELOPERS ONLY, IT IS
// NOT RECOMMENDED FOR PRODUCTION SITES
//      $CFG->unicode = true;
//
// To use spell-checking (experimental) define a path below to your
// locally-installed copy of Aspell (0.50.1 or newer)
//      $CFG->aspellpath = '/usr/bin/aspell'; // *nix
//      $CFG->aspellpath = '"c:\path\to\aspell\aspell.exe"'; // Windows
//
// Seconds for files to remain in caches. Decrease this if you are worried
// about students being served outdated versions of uploaded files.
//      $CFG->filelifetime = 86400;
//
// The following two settings allow you to specify allowed domains for
// email addresses.  If the first one is set, then Moodle will DISALLOW
// all domains EXCEPT those listed.  Otherwise, if the second one is set
// then all addresses are ALLOWED EXCEPT those listed.
//      $CFG->allowemailaddresses = "myschool.edu.au hotmail.com";
//      $CFG->denyemailaddresses = "hotmail.com yahoo.com";

//=========================================================================
// ALL DONE!  To continue installation, visit your main page with a browser
//=========================================================================
if (file_exists("$CFG->dirroot/lib/setup.php"))  {      // Do not edit
    include_once("$CFG->dirroot/lib/setup.php");
} else {
    if ($CFG->dirroot == dirname(__FILE__)) {
        echo "<p>Could not find this file: $CFG->dirroot/lib/setup.php</p>";
        echo "<p>Are you sure all your files have been uploaded?</p>";
    } else {
        echo "<p>Error detected in config.php</p>";
        echo "<p>Error in: \$CFG->dirroot = '$CFG->dirroot';</p>";
        echo "<p>Try this: \$CFG->dirroot = '".dirname(__FILE__)."';</p>";
    }
    die;
}
// MAKE SURE WHEN YOU EDIT THIS FILE THAT THERE ARE NO SPACES, BLANK LINES,
// RETURNS, OR ANYTHING ELSE AFTER THE TWO CHARACTERS ON THE NEXT LINE.
?>
In reply to m t

Re: error: problems with web server write access

by Howard Miller -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
Have you got shell access? If so, show me the results of...

ls -al /h2/singenerodedudas.com/home/html/moodle

and

ls -al /home/html/moodle/moodledata

by the way - you should have obscured those usernames and passwords. You'll need to change the password now!!
In reply to Howard Miller

Re: error: problems with web server write access

by m t -
Well, I am in linux, but I am a new user and I dont know how to do it... Is there an alternative way?
In reply to m t

Re: error: problems with web server write access

by Howard Miller -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
I take it you are using some sort of hosting service and you are using cpanel or something like it to control things?

What I am really asking is how do you *know* the moodledata path exists and is setup correctly? The $CFG->moodledata and $CFG->dirroot settings are very different in your config.php - so different that I would really like you to *prove* that they are correct.

In reply to Howard Miller

Re: error: problems with web server write access

by m t -
I know it because I did created it by ftp... I hvae upload all the files by ftp, and created the directory moodledata inside the directory moodle... and I change the permissions to the directory by ftp (kbear program).
In reply to m t

Re: error: problems with web server write access

by Howard Miller -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
Well that settles it then - the path in config.php for $CFG->moodledata *must* be wrong, because it isn't inside the moodle directory - the paths are *completely* different!

I'm guessing, but I would try:

$CFG->moodledata = "/h2/singenerodedudas.com/home/html/moodle";

...but where did you get the current setting from, is it just the one suggested by install.php or something?
In reply to Howard Miller

Re: error: problems with web server write access

by m t -
All is ok now.

I have deleted the directory and created again aout of moodle directory and all works ok.

Thank you very much.