三更回家 国语 电影:moodle 2.0.2 安装图文教程 2——PHP Mysql环境搭建和moodle安装 - 乔木的日志 - ICT教育 - 中小学信息技术教育和教育信息化网站

来源:百度文库 编辑:中财网 时间:2024/04/29 20:25:27

moodle 2.0.2 安装图文教程 2——PHP+Mysql环境搭建和moodle安装

热度 6已有 211 次阅读2011-3-29 16:49|个人分类:moodle|关键词:moodle 2 图文安装教程 php环境

快速增加积分秘笈!前期debian 6 linux的安装教程在这里:http://sns.ictedu.net.cn/home-space-uid-24-do-blog-id-1233.html
本文是接前面这个教程的。
本文承蒙本站lsstarboy 和laolaotang等多位网友给与技术指导和大力支持,一并致谢!
最后修改:2011-4-2 08:15

转载请注明本文出处:http://sns.ictedu.net.cn/home-space-uid-24-do-blog-id-1247.html

本次实验我在虚拟机中完成,现在把虚拟机文件压缩,605MB,上传到了115U,需要的朋友可以自行下载:http://u.115.com/file/f869b2befd解压缩,自己在电脑里面安装一个virtualbox,用这个vdi文件新建一个虚拟机,即可启动运行,得到一个debian 6+moodle 2的环境,用于自己做实验。刚才在virtualbox 4.04 里面测试通过。
系统和mysql的两个root密码都是:ictedu  moodle的admin密码是Zzzxlsg123#  注意大小写!IP是192.168.16.8

由于在安装过程中选择了简体中文,系统默认采用的编码也被自动设置为zh_cn UTF-8,这样在系统显示中文的时候有些信息会显示为乱码,当然我们也可以解决这个问题,显示为中文,但是没有必要,还是默认英文方便一些,包括后续的一些安装,所以我们先修改默认编码
root@debian:~#dpkg-reconfigure locales
用空格键取消zh_cn UTF-8,再选中en_US.UTF-8,然后重启,再运行:
root@debian:~# locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=


linux下面系统配置的修改,基本都是通过编辑文本文件进行的,所以一定要熟悉linux下面某个文本编辑器的使用,最常用的是vi,我们一般使用它的增强功能版本vim,vi/vim具体使用方法请大家自行google吧,会简单的插入、删除、保存等操作就可以了,能会批量替换就更好了。
现在刚安装好的系统,可能没有vim,只能用vi了
如果你是在虚拟机里面安装的,默认路由模式,可能是DHCP获得的IP,我们要修改为静态的,当然,虚拟机里面要改为桥接模式。如果是物理机安装,就不需要这一步了,除非你以后修改IP地址或者其他设置需要。只要把最后一部分按照你的网络环境修改即可。
root@debian:~# vi /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
# 如果你的debian是DHCP获取IP的,下面这一行的最后应该是dhcp字样,修改为static,然后下面增加具体的网络参数
iface eth0 inet static
        address 192.168.16.8
        netmask 255.255.255.0
        network 192.168.0.0
        broadcast 192.168.16.255
        gateway 192.168.16.1
        dns-nameservers 8.8.8.8
修改了网络设置,需要重启一下网卡
root@debian:~# /etc/init.d/networking restart

另外此时我们可以通过ssh远程登录到debian服务器进行操作,这样可以把我这里的很多命令直接拷贝粘贴过去,会大大简化操作。你的桌面如果是linux系统,可以直接用ssh命令,如果桌面是win系统,可以下载一个putty程序,通过这个来远程连接到debian服务器。如果和debian之间有防火墙,注意debian 的ssh 服务需要22端口开放。
如果自己输入命令,linux支持命令的自动补齐,这样在输入较长的命令或者参数的时候,可以尝试输入几个字母后敲tab键,自动补齐会大大提高我们的效率。

然后我们修改源(软件源)。以后安装卸载软件都通过apt进行,这样大大简化了安装卸载软件的步骤,一条命令即可安装/卸载好多软件包,不需要编译等复杂的操作,自动配置。
先把原来的默认源文件备份,然后添加国内的源,速度要快得多。                             
root@moodle:/etc/apt# cp sources.list sources.list-bk
root@moodle:/etc/apt# vi sources.list

修改文件内容,可以删除所有,然后把这几行粘贴过去,在vi里面整行删除可以用dd,前面加个数字,表示从光标所在的行开始,删除多行。然后进入插入编辑模式,粘贴下述两行。
deb http://mirrors.163.com/debian/ squeeze main non-free contrib
deb-src http://mirrors.163.com/debian/ squeeze main non-free contrib

保存退出即可

先更新一下:
root@debian:/etc/apt# apt-get update
安装vim
root@debian:/etc/apt# apt-get install vim
系统会提示你需要同时安装依赖的其他软件包,输入y确认连同其他依赖的包一起安装,就从刚才的源下载、安装、配置软件包一条龙自动完成。

然后通过apt安装必须的环境软件
root@debian:/etc/apt# apt-get install nginx
这里从源安装的版本是 0.7.67-3
Nginx 当前最新版本:
    * 当前开发版: Nginx 0.9.6 | Nginx/windows 0.9.6 (更新记录) (2011年3月21日)
    * 当前稳定版: Nginx 0.8.54 | Nginx/windows 0.8.54 (更新记录) (2010年12月14日)
    * 历史稳定版: Nginx 0.7.68 | Nginx/windows 0.7.68 (更新记录) (2010年06月15日)

启动nginx
root@debian:/etc/apt# /etc/init.d/nginx start

从其他电脑打开浏览器,地址栏输入debian 的ip,可以显示以下内容,说明nginx工作正常了
404 Not Found
nginx/0.7.67

安装php支持,如果是用apache,运行PHP比较简单,但是nginx效率更高一些,跑php稍微麻烦一点点。
先安装php相关的一些软件包,以下所有利用apt安装软件包的时候,可能会自动增加几个需要依赖的软件包,大家都选择y确认一起安装。
root@debian:/etc/apt#apt-get install php5-cgi php5-mysql php5-sqlite php5-gd php5-xslphp5-xmlrpc php5-memcache php5-mcrypt php5-curl php5-cli php-pearphp5-intl
root@debian:/# apt-get install spawn-fcgi
root@debian:/# spawn-fcgi -a 127.0.0.1 -p 9000 -C 20 -f '/usr/bin/php5-cgi'
php-cgi只是一个解析器,它需要另外一个程序来启动和管理,我们这里用spawn-fcgi程序,参数含义:
-a 127.0.0.1 绑定在本地网卡,不对外工作。
-p 9000 端口号9000
-C 20 开启20个进程(不是线程),也就是ps后有20个php-cgi
-f .... 指定php-cgi的位置。
nginx只负责把php文件传递给php-cgi来解析,它起的作用只是一个转发,然后回收php解析完的结果。
而php-cgi必须靠fcgi来启用,spawn-fcgi是其中的一种。
为了保证这个spawn-fcgi 程序也随系统自动启动,我们需要简单设置一下。为了简单起见,直接把这一行命令添加到nginx启动脚本里面
root@debian:~# cd /etc/init.d/
root@debian:/etc/init.d# vim nginx

脚本的最后,形如:
esac
#edited by ictedu-moodle
/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 20 -f '/usr/bin/php5-cgi'
exit 0
即可。

编辑nginx的配置文件,原文件已经有下面一段,把这一段每一行前面的注释符合:# 删除即可, $fastcgi_script_name;前面的路径要根据你服务器的web文档具体路径设置来修改。
root@debian:~# cd /etc/nginx/sites-available/
root@debian:/etc/nginx/sites-available# vim default
#前面的行号不需要输入,在vim的命令模式下输入: set number 即可显示出来,第18行加入默认的首页文件名。
 16         location / {
 17                 root   /var/www;
 18                 index  index.php index.html index.htm;
 19         }
 20
 21         location /doc {
#以下行号我没有显示

        location ~ \.php$ {
                fastcgi_pass   127.0.0.1:9000;
                fastcgi_index  index.php;
                fastcgi_param  SCRIPT_FILENAME  /var/www/$fastcgi_script_name;
                include fastcgi_params;
        }
然后重启一下nginx
root@debian:/etc/apt# /etc/init.d/nginx restart

再编辑一个测试的php文件
root@debian:/# cd /var/
root@debian:/var# mkdir www
root@debian:/var# cd www/
root@debian:/var/www# vim index.php
输入以下内容:
phpinfo();
?>
保存退出,然后在浏览器里面打开debian 的IP,看看能否看到PHP的信息,如图



安装rcconf,然后运行rcconf,选择哪些服务随debian一起启动
root@debian:~#apt-get install rcconf
root@debian:~# rcconf


开始安装mysql数据库相关组件
root@debian:~#apt-getinstall php5-mysql php5-sqlite php5-gd php5-xsl php5-xmlrpcphp5-memcache php5-mcrypt php5-curl  mysql-client mysql-serverlibdbd-mysql-perl libdbi-perl libhtml-template-perl libnet-daemon-perllibplrpc-perl mysql-client-5.1 mysql-server-5.1 mysql-server-core-5.1

安装过程中,会让你设定mysql的管理员(root)密码

 While not mandatory, it is highly recommended that you set a password for the MySQL administrative "root" user.
If this field is left blank, the password will not be  changed.
New password for the MySQL "root" user:  

以下两个命令分别是创建moodle数据库;创建用户user,该用户的密码为ictedu,该用户拥有moodle这个数据库的所有权限。
root@debian:~# mysql -u root -p
mysql> Create DATABASE moodle default charset utf8;
Query OK, 1 row affected (0.01 sec)

mysql> GRANT ALL PRIVILEGES ON moodle.* TO user@localhost IDENTIFIED BY 'ictedu';
Query OK, 0 rows affected (0.00 sec)

下载moodle安装文件
root@debian:~# wget http://download4.moodle.org/download.php/direct/stable20/moodle-latest-20.tgz
解压缩
root@debian:~# tar zxf moodle-latest-20.tgz
把释放的文件夹移动到web目录下面
root@debian:~# mv moodle /var/www/

在客户端电脑浏览器输入moodle所在路径,可以浏览到moodle的安装程序,开始安装

http://192.168.16.8/moodle/
Choose a language
确认路径 默认
选择数据库驱动 默认:改进的MySQL (native/mysqli)

版权声明
检查服务器  您的服务器环境满足所有最低需求。
moodle 2.0需要的环境见论坛的这个帖子:http://bbs.ictedu.net.cn/thread-63236-1-2.html

安装系统 花一些时间,可能要1分钟甚至更久。
设置您的主管理员帐号
主管理员密码的要求非常严格:
密码中至少要有 8 个字符。
密码中至少要有 1 个数字。
密码中至少要有 1 个大写字母。
密码中至少要有 1 个非字母、数字字符。
必须完全符合上述所有条件才可以,不过这次设置这样一个强壮的密码,安装完成后,可以再修改密码规则,如果你感觉这个密码太难记住的话。

新设置 - 首页设置 这些可以以后修改,保存后即可访问了。

以下为phpmyadmin的配置,用于通过浏览器更方便地管理mysql数据库。
先安装phpmyadmin
root@debian:~# apt-get install phpmyadmin
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  dbconfig-common javascript-common libjs-mootools wwwconfig-common
Suggested packages:
  postgresql-client apache apache-ssl
The following NEW packages will be installed:
  dbconfig-common javascript-common libjs-mootools phpmyadmin wwwconfig-common
0 upgraded, 5 newly installed, 0 to remove and 8 not upgraded.
Need to get 5,106 kB of archives.
After this operation, 20.9 MB of additional disk space will be used.
Do you want to continue [Y/n]?

──┤ Configuring phpmyadmin ├────────────────────────────────┐
            Please choose the web server that should be automatically configured to run phpMyAdmin.
Web server to reconfigure automatically:
  [ ] apache2  
 [ ] lighttpd          


很遗憾我们使用的nginx不在这个web服务器列表里面,我们后面将不得不手动配置

┤ Configuring phpmyadmin ├──────────────────────────────────────────────────────────────┐

 Thephpmyadmin package must have a database installed and configured beforeit can be used.  This can be optionally handled with dbconfig-common.  │

 If you are an advanced database administrator and know thatyou want to perform this configuration manually, or if your database hasalready been    installed and configured, you should refuse thisoption.  Details on what needs to be done should most likely be providedin  /usr/share/doc/phpmyadmin.      Otherwise, you should probablychoose this option.
Configure database for phpmyadmin with dbconfig-common?

在此过程中,有两处需要输入密码的,我没有看清楚第一处,所有地方都输入了mysql的root密码,稍后我再找时间重新配置看看。
────┤ Configuring phpmyadmin ├──────────────────────────────────────────────────────┐
          │ Please provide a password for phpmyadmin to register with thedatabase server.  If left blank, a random password will be generated.  │

MySQLapplication password for phpmyadmin: ***********_________________________________________________________________________________________________________________________    

实际phpmyadmin针对apache的配置文件:/etc/phpmyadmin/apache.conf 只是在web根目录下做了个虚拟目录,把phpmyadmin的实际目录:/usr/share/phpmyadminalias到web根目录下面。我们可以在操作系统层面来解决这个问题。
root@debian:/var/www# ln /usr/share/phpmyadmin/ -s ./phpmyadmin
把/usr/share/phpmyadmin/ 做一个软链接到/var/www/phpmyadmin 下面即可,而且不需要重启,和web服务无关。

此时找个客户端,在浏览器地址栏输入:http://ip/phpmyadmin/即可看到phpmyadmin的登录界面。