by Ted Pan.
The question #2 has been solved. Thanks
by Ted Pan.
The question #2 has been solved. Thanks
by sysmo nat.
Hi,
I am using Moodle version 3.3. I've tried to transfer the database from postgresql to mysql using database transfer tool in moodle (admin/tool/dbtransfer/index.php) but it does not work as I get this error :
"Transferring this pgsql database to mysqli database "fsbmma_fsbm" on "localhost"
Checking source table structure
Creating the tables in the target database
Copying table contents
DDL sql execution error"
what is going on wrong and how can I solve it?
by Dimitrios Desyllas.
Hello fellows I am trying to dockerize the moodle as you can see on:
https://github.com/ellakcy/docker-moodle/tree/dev
I managed to build the container correctly and I try to install on cli using the admin/cli/install_database.php provided on moodle distribution. I do it on this script https://github.com/ellakcy/docker-moodle/blob/dev/scripts/entrypoint.sh where I do all the basic installation.
But on the first run (using docker-compose up) I get this particular message:
moodle_mysql_1 | !!! <p>Error: database driver problem detected</p>
moodle_mysql_1 | <p>The site administrator should verify server configuration</p><p>Unknown driver native/
moodle_mysql_1 | mysqli</p> !!!
The configuration for database I do it with the use of enviromental variables and with the following moodle-config.php.
The image I try to build is the apoache based one using php7. For the database I have installes mysqli and pdo support as you can se on the following pastebin link:
The docker builds are on an Ubuntu 16.04 maching using docker-compose.
Do you fellows have any idea about this prob.
by Matteo Scaramuccia.
Hi Dimitrios,
if I look at the entrypoint, https://github.com/ellakcy/docker-moodle/blob/8303d6280a0b1e9f91621748b2f018b093113731/scripts/entrypoint.sh#L48, MOODLE_DB_TYPE will be never evaluated since OK is always 0.
That being said, since the exception talks about the proper driver it looks like the file implementing the mysqli native driver actually missing or w/ permission issues.
BTW, give https://github.com/moodlehq/moodle-docker a try: it is currently focused on running tests but it could be useful for other purposes too.
HTH,
Matteo
by Kahraman Bulut.
Dear Moodlers,
I would like to know your opinion, experience and advice on the following Moodle upgrade options. I have listed ADVantages(+) and DISadvantages(-) of each option. Please feel free to share your feedback, which I will use to upgrade from version 3.1.1 (Build: 20160711) to version 3.3.
1. Backup (code,moodledata,DB) and upgrade in your production server
+ ADV: use of a single server, no need to for additional servers
- DIS: Production site will not be available during the upgrade
- DIS: If upgrade fails, it may take some time to go back to the backup version
2. Upgrade in a testing server(code) and copy your DB and moodledata
+ ADV: you production site won't be affected
+ ADV: you only switch when you are satisfied and test all functionality in the new version
-DIS: You need 2 servers/resources: a current and a testing environment
3. Install a new version of Moodle from scratch in a new server. Then recreate identical courses, and then move (backup+restore,export/import) all course, user, grades,enrollment, assessments,.. and copy moodledata.
+ ADV: you production site won't be affected
- DIS: Backup and restore may not be possible for huge courses with many videos and audios
- DIS: How to link moodledata, grades, enrollments activities and resources to courses;
- DIS: User,group export/import may not link users to courses
4. Another better option
Which one do/did you use? Why? Your experience, suggestions, tips and tricks?
What do you think?
Thanks for your feedback!
Cheers,
Kahraman
by Emma Richardson.
You are missing the fact that the production server will be offline the some time in any option. You cannot have changes being made on your production site while you are transferring the data across so you have to take it offline.
I upgrade my live server. I have the advantage of being on virtual servers and I can snapshot prior to upgrade. I download the code, make all the necessary changes and if lucky, the live site is only offline a few minutes for the actual upgrade. With the other options, I can get everything ready but just prior to the upgrade, I have to rsync the moodledata folder and dump and restore the database again. So, it actually takes a lot longer that just upgrading live.
by Kahraman Bulut.
Thanks Emma for your input.
Yes, you are right I missed the fact that production is going to be offline for sometime. I updated the related disdvantage.
> "make all the necessary changes"
Can you mention what are these changes are?
Thanks
by Chung Nguyen.
There's an issue in my configuration of nginx. Just clear nginx configuration and following the installation guide and it works well.
by Lester Yeo.
I have tried to install the hub but am stuck at Step 4.I don't get the /local directory part so how do i produce the /local/hub?
Any help would be much appreciated.
by Willman Acosta Lugo.
Hi
Since we updated our Moodle from 2.9 to 3.3, we can not restore the courses we support.
When we use "restore", Moodle give the following error: Fatal error: Class 'restore_qtype_truefalse_plugin' not found in .../backup/util/plan/restore_structure_step.class.php on line 290
¿May someone help us?
by Emma Richardson.
Option 2: Any change made on the live site while you are working on the development site will need to be synced across before you switch to the dev site. This means that when you are ready to switch, you need to resync the moodledata folder and the database. This takes more time that running an upgrade.
Option 3: Any changes made while you are uploading the courses to the new site will not be reflected in the new site so you need to take the live site offline during this process which is far slower than running an upgrade.
Best solution:
Have a development site that is a clone of your live site. Test the upgrade. Fix any issues that may arise on the live site prior to the live site upgrade. Download the new code, copy across all your plugins/config.php file etc, check permissions etc. Live site is online during this process. Take live site offline, run upgrade, put back online. Live site (if there are no issues) offline less than 15 minutes.
Option 4: Use git to upgrade.
by Howard Miller.
It sounds a bit unlikely, but go to (Moodle) directory...
question/type/truefalse/backup/moodle2
...and see what's in it. Should be two files...
-rw-r--r-- 1 xxx yyy 2490 Apr 21 14:22 backup_qtype_truefalse_plugin.class.php
-rw-r--r-- 1 xxx yyy 3438 Apr 21 14:22 restore_qtype_truefalse_plugin.class.php
volgens Vicke Denniston.
Hi Matthew
have you figured anything out on this? I have an instructor who swears that the course she imported from was using Simple Weighted, but the destination course had Weighted Mean. She fixed everything before saying anything, so we have no way of making sure she hadn't imported from the wrong semester or something
by Dimitrios Desyllas.
In the end for some reason if I install mysql-cli package (via apt-get) on my image it works like a charm. I wonder if mysql-cli has a nessesary library for mysql. Also I wonder why mysqli-package is needed in order to work.
Also by default MOODLE_DB_TYPE has value 'mysqli' defined in Dockerfile. I use a netcat in order to ping the database if could not connect then I exit the entrypoint with fial status. Also I use a php script to define the appropriate value ;)
Also to the github lib where are the Dockerfiles?
by Frank B.
I am installing on NGINX and MariaDB.
On the installation page it is devoid of details and will not allow me to enter a password. All the other pages leading up to this one display the moodle log and look normal. But as soon as I get to this one, it all changes. It's almost as if Javascript was not working of something. I tried with different browsers and got the same result. All the files have been CHOWN'd to the webserver user. Any ideas?
PHP variables:
upload_max_filesize = 200M
post_max_size = 200M
memory_limit = 200M
file_uploads = On
max_execution_time = 300
disable_functions = mail
cgi.fix_pathinfo=0
Nginx Config:
rewrite ^/moodle/(.*\.php)(/)(.*)$ /moodle/$1?file=/$3 last;
client_max_body_size 200m;
fastcgi_read_timeout 300;
location / {
try_files $uri $uri/ /index.html;
}
PHP LOG SHows:
2017/09/08 14:50:39 [error] 14108#14108: *2312435 rewrite or internal redirection cycle while internally redirecting to "/index.html", client: x.x.xx.x, server: xxxxx.com, request: "GET /lib/javascript.php/1504897465/lib/requirejs/require.min.js HTTP/1.1", host: "xxxxxxxxx", referrer: "https://xxxxxxx.com/user/editadvanced.php?id=2"
by Howard Miller.
In the nicest way... why?
Are you sure you're not producing another 'one-click' installer for Moodle that will just be trouble in 6-months time. I hate to be negative, but Softaculous and its friends cause endless problems that we can't help with most of the time.
Although - to be perfectly honest - looking at the Docker web page, I'm not 100% sure I understand what it does.
by Frank B.
SOLVED!!
Just needed to put this into my nginx config and presto!
location ~ [^/]\.php(/|$) {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_index index.php;
# fastcgi_pass 127.0.0.1:9000 (or your php-fpm socket);
fastcgi_pass unix:/var/lib/php5-fpm/web98.sock;
include fastcgi_params;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
by Ken Task.
Under your number 4.
Clone production site to dev site. Get both sites git.
Use the dev site to do git update and upgrade.
All goes well, then do same on production.
https://docs.moodle.org/33/en/Git_for_Administrators
Aside from getting a backup of code and a DB dump prior to any update or upgrade updates normally take no longer than 5 minutes. Upgrades longer .... 10 at the most.
moodledata is not touched often ... so it's only new code and the DB for the site that's being updated/upgraded.
Advanced planning/research .... DB server requiremnts for 3.3 and beyond.
'spirit of sharing', Ken
volgens Dimitrios Desyllas.
Well the whole point is one - click basic installation, but with the ability to modify to your needs (using a bit of bash). As you can see with the latest commits to my branch I based my image on another image. So you can also base your custom moodle image to ours and do any change you want ;)
Well this method it may not be rookie-friendly on one hand but usefull tool on the other.
Also docker is a technology similar to Freebsd Jails, in another words an isolated environment that runs an application with the ability to move it around and scale your applications (eg. a site that runs on multiple servers behind a load balancer) without messing with your OS.
volgens Howard Miller.
One click Moodle installs make me nervous
However, having read quite a bit more about Docker I don't think a casual user would ever want to use this.
I'm still not 100% sure what it does but I suspect it's solving a problem that I don't have in the first place