@ Lê Hoa`n
"moved" to a different server. Server is what OS?
If CentOS 6.x/RedHat Enterprise 6, is SELINUX running?
if output of above shows:
Current mode: enforcing
it is on and might be the reason. Change from 'enforcing' to 'permissive':
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - SELinux is fully disabled.
Reset of SELINUX requires restart of system.
Were *all* the files/folders in moodledata moved to the new server?
From /var/www/ of old server:
scp moodledata root@newserver:/var/www/
When using scp as above moodledata gets tagged as belonging to root:root.
moodledata is located in /var/www/ apache already has access to that location.
Logged on as root user new server:
chown apache:apache moodledata -R
chmod ugo+rwx moodledata -R
Check your apache access/error logs.
If all those checkout, turn on debugging.
'spirit of sharing', Ken