Site blog

Anyone in the world

         2010年开始在中国教育人博客上发博客,其中有一些Moodle和系统管理有关的博客,还是有必要整理一下与大家共享:

         原文发表于2016-08-25:

        在Windows系统下,PHP扩展的调用需要在php.ini文件中去掉相应扩展前的注释,如;extension=php_xmlrpc.dll,去掉;。这样才能正常装载。
         在linux系统下,安装和调用php扩展很简单,只需要执行安装命令即可,如apt-get install php5-xmlrpc。也就是说执行完这个命令,就万事大吉了,重启一下apache2即可自动装载所安装的php扩展,并不需要在php.ini中进行任何配置。如果你在php.ini中添加了 extension=xmlrpc.so,反而画蛇添足,会导致重复调用,出现php错误报警:PHP Warning: Module 'xmlrpc' already loaded in Unknown on line 0。
         其实,在安装扩展的过程中,系统已经添加了扩展的配置文件,如xmlrpc.ini, curl.ini。在这些配置文件中已经添加了调用命令,如:extension=xmlrpc.so

参阅:PHP remove/fix module not found or already loaded warnings?
答案
When you install php5-memcache it adds it's own memcache.ini file which is set to load that extension already. So Just remove/comment the loading of the extension from your php.ini.
;extension=memcache.so
Similar with APC (Alternative PHP Cache Module).
;extension=apc.so
Tags:
 
Anyone in the world

         2010年开始在中国教育人博客上发博客,其中有一些Moodle和系统管理有关的博客,还是有必要整理一下与大家共享:

         原文发表于2016-08-24:

        首先,要启用Moodle中的用户基于Email的自助注册,需要在 网站管理 ——插件——身份认证中启用“基于email的自助注册”。
        接着,需要明白的是,Moodle并不是一个邮件转发程序(MTA ,mail transfer agent),不能实现邮件的发送。邮件发送需要依赖于一个外部MTA或者第三方SMTP服务器。详见Moodle官网讨论(2.7.2 Email-Based Self-Registration: No email sent
        如果用第三方SMTP服务器,如qq、126等邮箱,那么只需要在Moodle中的 网站管理 ——插件——消息输出——Email中按照第三方SMTP的客户端设置填写相应的 SMTP参数即可。但测试发现,这种途径转发Moodle邮件往往不成功,因为受限于第三方SMTP服务器端的严格限制和各种过滤。
        另外一种可行的途径则是在服务器上自建一个MTA来转发邮件,这也是Moodle默认的邮件发送方式,参见Moodle官方的SMTP说明
SMTP stands for Simple Mail Transfer Protocol. The SMTP host is an email relay that will take the email from Moodle and send it to users. You will need to set this only if your server does not allow mail relay. Otherwise, PHP will send out the mail using its built-in mail server. All the email sent by forums and other modules will be sent through this host.  
       也就是说,默认情况下Moodle的PHP程序会调用mail()函数发送邮件,而Mail()函数起作用有赖于系统中的sendmail程序(参阅php mail()函数)。在ubuntu系统中,sendmail已经被更安全、快捷的postfix程序代替,所以还需要安装postfix并进行配置。这里找到一种简易的仅仅把Postfix作为邮件发送程序的配置方法(How to Install and Configure Postfix as a Send-Only SMTP Server on Ubuntu 16.04)。高级的配置需要花更多的时间来熟悉。
       注意,如果选择自身服务器的Postfix来转发moodle邮件,那么就不需要在Moodle中设置第三方SMTP了。
Tags:
 
Anyone in the world

         2010年开始在中国教育人博客上发博客,其中有一些Moodle和系统管理有关的博客,还是有必要整理一下与大家共享:

         原文发表于2016-03-10:

        昨天终于彻底解决了Moodle网站中的邮件配置问题。长期以来,我们的Moodle网站(Wolearn)是基于Email的方式让用户自主注册,但以前在Moodle中的配置只涉及了两个模块:
  • 网站管理——插件——身份认证,启用基于Email的自助注册。

  • 网站管理——插件——消息输出——Email,在其中输入smtp邮件服务器主机的域名或端口号。建议使用SSL协议和465端口,这样更安全些。

        长期以来以为只需要配置这两大块就可以了,于是过去经过反复试验发现只有QQ邮箱的smtp.qq.com:465才能成功地让用户自主注册(其实是因为管理员的邮箱设置的就是QQ邮箱)。然而QQ邮箱的smtp发信是有限制的,有时候被拦截为疑似垃圾邮件,无法发送成功。最近在不断尝试其它smtp邮箱的过程中偶然发现,Moodle中还有一个邮件配置也会影响这种基于Email的用户自助注册能否成功,这就是:

  • 网站管理——技术支持——支持email。无意中发现,这里填写的email地址如果和smtp邮件服务器中的email邮箱不一致,用户注册时,Moodle网站依然不能够正常发给用户注册信息的邮件,用户也就无法注册成功了。另外也发现,这里默认的email即为管理员的email地址。

        也就是,smtp的邮箱、技术支持email(如果填写的话)必须保持一致,才能最终确保基于Email的自助注册方式的成功。如果不一致,会出现由技术支持email的地址代发邮件的情况,那这很有可能被其它邮件服务器作为垃圾邮件拒收。

Tags:
 
Anyone in the world

         2010年开始在中国教育人博客上发博客,其中有一些Moodle和系统管理有关的博客,还是有必要整理一下与大家共享:

         原文发表于2012-07-03:

       2010年用Moodle1.9为英国博尔顿大学的一门开放课程搭建了的平台,并在其中创建了几门其它课程。最近想将这个平台恢复起来,主要是其中的一些数据和课程还需要进一步的分析,但是该平台已经撤销了很长一段时间,管理员的用户名和密码都彻底忘记了。最后在Moodle官网中终于查找到了解决办法,成功重置了管理员的密码。

      对于Moodle 2,官方网站的支持文档中有“I have forgotten the admin password ”的解决办法。但是尝试了所例举的几种办法都不成功。要么是Moodle1.9的邮件功能没有配置成功,通过邮件找回密码的方式行不通;要么通过命令行的方式“$ sudo -u apache /usr/bin/php admin/cli/reset_password.php”也不成功,因为Moodle1.9 admin文件夹下没有cli文件夹也不存在reset_password.php文件。接着用phpmyadmin进入moodle1.9数据库的mdl_user表,方才得知管理员的用户名是多少,可密码是加密的方式,所以无法在数据库中直接得知。

       最后,在一个论坛讨论中找到了解决方案,即使用mysql命令即可重置管理员的密码:

update mdl_user set password=md5('abcdefgh') where username='admin'。需要说明的是:The password field in the database needs to be md5-encrypted. So if you want your admin password to be abcdefgh (bad password but for the sake of an example), you could use the sql query。在SQL命令中,md5为加密方式,abcdefgh为重置的初始密码,admin为在mdl_user中的管理员用户名。


Tags:
 
Picture of 红亮 马
by 红亮 马 - Friday, 10 August 2018, 9:00 PM
Anyone in the world

   

      ClamAV是一个开源(GPL)的杀毒引擎,面向服务器端,主要用在邮件扫描、web扫描和端点安全等。ClamAV可以工作在许多的平台上,它主要是来防护一些WINDOWS病毒和木马程序。ClamAV提供有许多功能,包括一个灵活的和可扩展的多线程程序,命令行扫描器和一个先进的数据库自动更新工具。


      在Moodle的标准插件中包含有防病毒插件-ClamAV,启用后,你还得在Linux系统中安装ClamAV软件。以Ubuntu系统为例,输入apt-get install clamav-daemon进行安装。之后,你还要在系统中设置定时自动升级病毒库、定时扫描moodledata文件。

         最后,你还需要将clamav用户添加到www-data用户组中,以实现Moodle系统对用户上传文件的自动扫描。在设置这一项时,别忘了重启clamav服务:service clamav-daemon restart。


       参考文献:

Tags:
[ Modified: Saturday, 11 August 2018, 6:04 PM ]
 
Picture of 红亮 马
by 红亮 马 - Friday, 10 August 2018, 12:39 PM
Anyone in the world

    昨天在编写Ubuntu的sh文件(shell脚本),以定时自动备份moodle数据库。开始使用的是Notpad++软件,因为看到有保存为bash、sh文件的选项。自动备份的命令都输入对了,结果上传到服务器,然后在调用sh文件时系统多处提示:No such file or directory,反复检查备份命令,都没有问题。折腾了1个多小时,突然醒悟过来可能是在Windows下用Notpad++编辑Linux可执行文件这种方式存在问题,于是在Ubuntu下直接用Nano命令新建了一个sh文件,一调用立刻顺利备份。


    今天网上一查,Windows下用Notpad++编写的sh文件其实是Dos格式,显然不适合在Linux系统下运行。最好还是直接在Linux系统下编写sh文件。

Tags:
[ Modified: Friday, 10 August 2018, 1:07 PM ]