Moodle运行安装脚本来创建config.php 配置文件

本帖最后由 紫衫木 于 2012-9-22 11:24 编辑

要运行安装脚本(install.php),只需要在浏览器中输入你的Moodle 站点主URL,或直接访问http://yourserver/install.php 。安装程序将尝试设置一个会话cookie 到你本机的浏览器。如果你看到你的浏览器弹出一个警告窗口,请确认你的浏览器设置允许接受cookie!Moodle 将会检测需要的配置并且带领你通过一些界面来创建一个新的config.php 配置文件。在安装程序的最后,Moodle 会尝试写入配置文件到正确的目录,如果不行,可以通过一个按钮下载它并上传到服务器上的恰当的目录中。另外,也可以通过按一个按钮来从安装程序下载config.php,并且将其上传到服务器上Moodle 的主目录。在这过程中安装程序会测试你服务
器的环境,并且给你如何修复这些问题的建议。对于大部分的常见问题,这些建议是很有效的,但如果遇到麻烦,看看下面这些关于常见问题的详细信息。

  1. 通用的Web 服务器设置
    首先,确认你的web 服务器设置使用index.php 作为默认的页面(或许还需要设置index.html, default.htm 等等)。在Apache 中,通过使用在httpd.conf 文件中的DirectoryIndex 参数。通常设置请参照下面的命令:
    DirectoryIndex index.php index.html index.htm
    只需要确认index.php 在这个列表中(为了有效,推荐将其作为列表中的第一个)。
    第二,如果你使用Apache 2,那么你需要打开AcceptPathInfo 变量,这允许脚本传递参数,例如http://server/file.php/arg1/arg2。这是一个允许资源之间的相对链接的基础,它提供了使用你的Moodle 站点的用户一个性能上的增强,你可以打开这个选项通过添加这些行到你的httpd.conf 文件。
    AcceptPathInfo on
    第三,Moodle 需要激活一些PHP 的配置参数才能开始工作。在大多数的服务器上,这些已经是缺省的设置。然而,一些PHP 版本(包括一些最近发布的版本)或许采用了不同的设置。这些变量定义在PHP 的配置文件(通常叫做php.ini):
    magic_quotes_gpc = 1 (推荐但非必须)
    magic_quotes_runtime = 0 (必须)
    file_uploads = 1
    session.auto_start = 0
    session.bug_compat_warn = 0
    如果你不能修改服务器上的httpd.conf 或php.ini,或者你安装Moodle 的服务器同时安装了需要其他配置的程序,那么无需担心,你通常可以覆盖缺省设置。要完成这个,你需要创建一个叫做.htaccess 的文件在Moodle 服务器的主目录下,并包含下面这些行。这仅对Apache 服务器有效,并且仅当Overrides(覆盖)设置在主配置文件中被允许。
    DirectoryIndex index.php index.html index.htm
AcceptPathInfo on

php_flag magic_quotes_gpc 1
php_flag magic_quotes_runtime 0
php_flag file_uploads 1
php_flag session.auto_start 0
php_flag session.bug_compat_warn 0

你也可以做一些像定义允许的最大上传文件大小的设置:
LimitRequestBody 0
php_value upload_max_filesize 2M
php_value post_max_size 2M

最容易的做法是从lib/htaccess 下拷贝一个范例文件,然后修改成为符合你的设置,它包含了更进一步的设置指令。作为范例,在Unix 脚本环境下:cp lib/htaccess .htaccess

2. 创建一个数据库
你需要创建一个空白的数据库(例如"moodle") 在你的数据库系统上,同时,设置一个数据库用户(例如"moodleuser") 能够访问你所创建的数据库(你可以设置该用户只能访问此数据库)。你也可以使用"root"用户如果你在一个测试服务器上,但不推荐你在生产环境使用这种方式。如果黑客发现了你的密码,那么你整个数据库系统都会有危险而不是仅仅一个数据库。如果你使用主机托管服务,那通常会有一个web 的管理界面允许你来创建数据库。
Cpanel 系统是其中一个常见的主机托管管理系统。要在Cpanel 中创建数据库,点击"MySQL 数据库"图标。输入"moodle" 在数据库字段并点击"添加数据库"。输入用户名和密码(不是你目前正在使用的主机托管帐号)在相应的位置并点击"添加用户"。现在使用"添加用户到数据库" 按钮来给新用户帐号"ALL"权限到新的数据库。注意用户名和数据库或许被加上你的Cpanel 帐号作为前缀。当输入这些信息到Moodle安装程序时,注意使用全称。
如果你能使用Unix 命令行,那么你可以通过下面这些命令行来完成同样的工作。这是一些范例的Unix MySQL 命令行:

mysql -u root -p

CREATE DATABASE moodle;
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,ALTER ON
moodle.* TO moodleuser@localhost IDENTIFIED BY ‘yourpassword’;
quit

mysqladmin -p reload

这是一些PostgreSQL 的范例代码:

su - postgres

psql -c “create user moodleuser createdb;” template1
psql -c “create database moodle;” -U moodleuser template1
psql -c “alter user moodleuser nocreatedb;” template1

  1. 创建一个数据目录
    Moodle 也需要你服务器上的一些硬盘空间来存储上载的文件,例如课程文档和用户的图片。Moodle 安装程序很努力的尝试为你创建这个目录,但是如果安装程序不能创建这个数据目录,你需要自己手工来创建它。

从安全的方面考虑,这个目录最好不能直接从Web 目录访问。最简单的方法是把它放在web 目录之外,但如果你必须把它放在web 目录下,你需要在创建一个叫.htaccess 的数据目录下,包含这一行:
deny from all
AllowOverride None
要确认Moodle 能够保存上传的文件到这个目录,检查web 服务器软件(例如Apache) 具有读、写和执行的权限在这个目录中。在Unix 机器上,这意味着设置目录的拥有者给用户"nobody" 或"apache",然后给用户读、写和执行的权力。在Cpanel 系统,你可以使用"文件管理(File Manager)" 来找到这个目录,点击它,然后选择"更改授权(Change Permissions)“。在很多共享主机的托管服务器,你可能需要限制所有的文件访问到你所在的"用户组” (要防止其他的web 主机用户查看或修改你的文件),但提供全部的读/写权限给另外的人(这允许你的web 服务器访问你的文件)。跟你的服务器管理员联系,如果你设置安全性时碰到问题。特别是一些站点使用叫做"Safe Mode" 的PHP 特性时,可能需要管理员来为你创建这个目录。