Installing and configuring Bareos (Bacula fork) with web front-end on Debian Wheezy.

And taking nice backups easy to be restored.

The story is quiet simple: some times ago I would have liked to have a kind of 8 months old backup for a friend of mine, but it was too late. So now, I want backups with a decent retention. So I can go “back in time” and recover files. Another choice could have been Subversion, but I’m going to backup images as well so, for this reason I’ll not take Subversion into consideration.
Continue reading “Installing and configuring Bareos (Bacula fork) with web front-end on Debian Wheezy.”

Incoming search terms:

  • bareos (20)
(Visited 38,722 times, 2 visits today)

Raspberry pi Raspbian checking for SSL libraries… configure: error: Cannot find ssl libraries

Compile error? ./configure on raspberry gives following eror.

This will solve:

 --with-ssl=/usr/bin/openssl --with-ssl-lib=/usr/lib/arm-linux-gnueabihf/
(Visited 2,100 times, 1 visits today)

[personal log] Tomcat 6 with apache2 as reverse proxy on one or more Virtual Hosts

Tomcat-logo.svg
As reported on the my other article about Hippo Open Source CMS i will start a fresh install of tomcat 6.

If you need to do the same as me, read on this article until the end.

First thing to do is to remove the tomcat6 installation made by using aptitude.
Continue reading “[personal log] Tomcat 6 with apache2 as reverse proxy on one or more Virtual Hosts”

(Visited 3,010 times, 1 visits today)

MediaWiki Installation Log

Media Wiki logo
Media Wiki logo

As I already wrote many times, this Blog is just for me and for my poor memory that is raped every day by thousands ideas, dreams, problems, my dog… So i use to write things that helped me doing something for the future me, and since i really belive in sharing knowledge on the net i publish them. So if you are about installing WikiMedia on a Debian Squeeze Virtual Machine with ISPConfig, here you are my experience so you can avoid mistakes and messing with operating system. Continue reading “MediaWiki Installation Log”

(Visited 1,106 times, 1 visits today)

Shineisp Installation Log / mini How to

Shineisp is an italian open source WHM (Web Hosing Management) and we are going to give it a try. I recall i alredy installed it last year, but the machine had a poor hardware and shineisp is a greedy MVC phpmysql program. For this “instalfiguration” we assume we are on Debian Squeeze and we will cover the steps needed to get shineisp up and running in 10 minutes.

Continue reading “Shineisp Installation Log / mini How to”

(Visited 2,277 times, 1 visits today)

Moodle Certificate Module Italian Translation

If you need this Certificate Module for your Moodle installation, here you can find the italian translation for free, unlimited downloads.

 

Continue reading “Moodle Certificate Module Italian Translation”

Incoming search terms:

  • http//blog giuseppeurso net (26)
(Visited 1,093 times, 1 visits today)

Moodle and WordPress Single Sign On in 20 minutes – Part 1

It’s time to make WordPress authentication work on Moodle too.

For moodle 3.0, please see the comment from Carlos below, it takes a few changes in order to work on this new version of moodle.

Scenario:

WordPress installation and Moodle installation.
We are going to use the WordPress database in order to authenticate Moodle users. This way, we can sell courses using some wordpress ecommerce plugin and have instant access from customers.

The two sites are on the very same machine but on different domains (actually WordPress is in the “www.domain.tld” and “*.domain.tld” subdomains and Moodle is on another subdomain (courses.domain.tld) so we need to authenticate users in both sites using the very same database table.

The Problem:

The Moodle external autentication plugin does not work with WordPress authentication out of the box. To make it work, it will need a couple of modification very easy to make, don’t worry, even for a non php skilled person.
We will come back on this later on this post.

Let’s start our 20 minutes modification!

Shop list:

  • WordPress Version 3.4.2
  • WordPress database informations
  • Moodle Version 2.0
  • Moodle External Database Authentication Plugin (already in the Moodle default installation)
  • Some coding so, all stuff for ftp things/sftp/ssh things and a decent text editor with some failsafe feature (save a copy before modify etc)

That’s enough to start working on.

Once installed the two systems, you will have to properly configure the external database authentication plugin on Moodle platform. To do this you have to authenticate yourself as site administrator, then on the menubar choose and click on “Site Administration” -> “Plugin” -> “Authentication” -> “Manage Authentication”.

You can use the provided image on the left to quickly find out the links path needed to get there.

 

 

 

Once there you will see a list of all authentication plugin, their status (active or inactive) their priority order and the link to their “settings”. As you can see in the image below, you have to enable and prioritize the plugin in order to make it work. You probably want to disable the self-registration (see picture in bottom part) feature in order to prevent user to signup using moodle platform because, otherwise, all users created within Moodle will not be able to authenticate against WordPress.

This is the list of the moodle authentication plugins. It shows if a plugin is enabled or not, and it exposes a link for each plugin to be configured.

Once you have done, let’s click on the “Setting” link and let’s try to configure this plugin the best we can.

We have to enter all info used by Moodle to read the WordPress database.
Fields are:

  • Host, in my case i will use “localhost” and probably you too unless your db is hosted on a different machine, in that case you have to use the Hostname or ip address of that machine
  • Database, in my case “mysqli” (Please, notice the trailer “i” – mysqli and not mysql).
  • Use sybase quotes, we do not need this to be on so we will leave it on “NO
  • Db name, the name of your wordpress database (get it from wp-config.php)
  • Db User, mysql user that can access WordPress db tables
  • Db Password, mysql password for mysql user
  • Table, the name of the table where username/passwords are stored. The most of the time is “wp_users” unless you changed your table prefix
  • Username Field, the field containing the username, for WordPress: “user_login”
  • Password Field the field containing the password for username for WordPress: “user_pass”.
  • Password Format, we should choose “wordpressformat but there is no such option in this drop down, so what? we will solve this later, don’t worry
  • External db encoding, i use “UTF-8″
  • SQL setup command, you can leave it blank
  • Debug ADOdb, choose “NO
  • Password-change URL, we use the wordpress password recovery page link

These are the needed field to make this thing work, if you want more integration, you can configure the part named “cron syncronization script” and sync information such as first name, surname, user preferences and so.

But now we have to stay focused on the missing dropdown item and find a way to get it out of there.

We need to modify the file in /auth/db/config.html and change this (at line 190)

$passtype = array();
$passtype["plaintext"] = get_string("plaintext", "auth");
$passtype["md5"] = get_string("md5", "auth");
$passtype["sha1"] = get_string("sha1", "auth");
$passtype["internal"] = get_string("internal", "auth");
echo html_writer::select($passtype, "passtype", $config->passtype, false);

to this

$passtype = array();
$passtype["plaintext"] = get_string("plaintext", "auth");
$passtype["md5"] = get_string("md5", "auth");
$passtype["sha1"] = get_string("sha1", "auth");
$passtype["internal"] = get_string("internal", "auth");
$passtype["wordpress"] = "wordpress";
echo html_writer::select($passtype, "passtype", $config->passtype, false);

This modification will make “WordPress” authentication drop down item available, but still not working.
We need to process the password with this class: class-phpass.php [Phpass Website].
This class, can actually process passwords the same way wordpress does, so this is the missing link to make sso work.
Just copy the file class-phpass.php in your /moodle/lib folder
And then add this line right after other requires at the beginning of wp-login.php to moodle/auth/db/auth.php:

require_once($CFG->libdir."/class-phpass.php");

.
To make our modifications work we need to add a few lines of code to the file /auth/db/auth.php, it’s easy. Open the file and go about line 90, you should see something like this:

if ($this->config->;passtype === 'md5') {   // Re-format password accordingly

$extpassword = md5($extpassword);

} else if ($this->config->;passtype === 'sha1') {
$extpassword = sha1($extpassword);
}

Now, let’s do our final modification and right after the lines here, add this code:

else if ($this->config->passtype === 'wordpress') {
$hash =new PasswordHash(8, false);
$rs = $authdb->Execute("SELECT * FROM {$this->config->table}
WHERE {$this->config->fielduser} = '".$this->ext_addslashes($extusername)."'");
$check = $hash->CheckPassword( $extpassword, $rs->fields["user_pass"]);
return $check;
}

If you are as lazy, you can download a copy of both file here, but i strongly suggest you to make modification by hand because time goes by and releases change.

Moodle auth with wordpress

Now, finally we can come back to the settings page and add “WordPress” as “Password format“.

All you have to do to try if this works, is to logout from wordpress, signup into wordpress as new user, and then go and authenticate with the same credentials against Moodle. If all work you will be redirected to the user profile page on moodle where you can complete your profile with your informations.

Incoming search terms:

  • moodle wordpress (30)
  • wordpress moodle integration (26)
  • wordpress moodle (22)
  • moodle single sign on (16)
  • moodle wordpress integration (16)
  • wordpress sso (14)
  • wordpress single sign on (12)
  • wordpress and moodle (11)
  • single sign on moodle (11)
  • wordpress and moodle integration (10)
(Visited 42,157 times, 1 visits today)

VPS: Debian squeeze apt-get update returned an error code (1)

Also known as “E: Sub-process /usr/bin/dpkg returned an error code (1)“.
Well you are trying to run apt-get upgrade on a virtual private server running Debian squeeze (it can happen on Lenny too) hosted on several Xen based platforms.
It happens because grub cannot find your disk in order to rewrite your initrd image.

Since Xen kernel management is transparent to your machine itself, and it is all you need in order to boot your machine, you can remove grub with no fear, typing:

root@apple.com:~#apt-get remove grub-legacy grub-common

And yes, finally you will go to the end of your apt-get upgrade process.

Hope this can help out there!

 

Output of my machine follows:

Setting up linux-image-2.6.32-5-amd64 (2.6.32-39squeeze1) ...
Running depmod.
Running update-initramfs.
update-initramfs: Generating /boot/initrd.img-2.6.32-5-amd64
Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 2.6.32-5-amd64 /boot/vmlinuz-2.6.32-5-amd64
run-parts: executing /etc/kernel/postinst.d/zz-update-grub 2.6.32-5-amd64 /boot/vmlinuz-2.6.32-5-amd64
Searching for GRUB installation directory ... found: /boot/grub
warning: grub-probe can't find drive for /dev/xvda1.
grub-probe: error: cannot find a GRUB drive for /dev/xvda1.  Check your device.map.
run-parts: /etc/kernel/postinst.d/zz-update-grub exited with return code 1
Failed to process /etc/kernel/postinst.d at /var/lib/dpkg/info/linux-image-2.6.32-5-amd64.postinst line 799.
dpkg: error processing linux-image-2.6.32-5-amd64 (--configure):
subprocess installed post-installation script returned error exit status 2
Setting up linux-image-2.6.32-5-xen-amd64 (2.6.32-39squeeze1) ...
configured to not write apport reports
Running depmod.
Running update-initramfs.
update-initramfs: Generating /boot/initrd.img-2.6.32-5-xen-amd64
Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 2.6.32-5-xen-amd64 /boot/vmlinuz-2.6.32-5-xen-amd64
run-parts: executing /etc/kernel/postinst.d/zz-update-grub 2.6.32-5-xen-amd64 /boot/vmlinuz-2.6.32-5-xen-amd64
Searching for GRUB installation directory ... found: /boot/grub
warning: grub-probe can't find drive for /dev/xvda1.
grub-probe: error: cannot find a GRUB drive for /dev/xvda1.  Check your device.map.
run-parts: /etc/kernel/postinst.d/zz-update-grub exited with return code 1
Failed to process /etc/kernel/postinst.d at /var/lib/dpkg/info/linux-image-2.6.32-5-xen-amd64.postinst line 799.
dpkg: error processing linux-image-2.6.32-5-xen-amd64 (--configure):
subprocess installed post-installation script returned error exit status 2
configured to not write apport reports
Errors were encountered while processing:
linux-image-2.6.32-5-amd64
linux-image-2.6.32-5-xen-amd64
E: Sub-process /usr/bin/dpkg returned an error code (1)

After the cure, finally:

root@apple.com:~# apt-get remove grub-legacy grub-common
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
gettext-base libfreetype6 ucf os-prober
Use 'apt-get autoremove' to remove them.
The following packages will be REMOVED:
grub-common grub-legacy
0 upgraded, 0 newly installed, 2 to remove and 0 not upgraded.
2 not fully installed or removed.
After this operation, 5,931 kB disk space will be freed.
Do you want to continue [Y/n]? Y
(Reading database ... 17063 files and directories currently installed.)
Removing grub-legacy ...
Removing grub-common ...
Processing triggers for man-db ...
Processing triggers for install-info ...
Setting up linux-image-2.6.32-5-amd64 (2.6.32-39squeeze1) ...
Running depmod.
Running update-initramfs.
update-initramfs: Generating /boot/initrd.img-2.6.32-5-amd64
Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 2.6.32-5-amd64 /boot/vmlinuz-2.6.32-5-amd64
run-parts: executing /etc/kernel/postinst.d/zz-update-grub 2.6.32-5-amd64 /boot/vmlinuz-2.6.32-5-amd64
Setting up linux-image-2.6.32-5-xen-amd64 (2.6.32-39squeeze1) ...
Running depmod.
Running update-initramfs.
update-initramfs: Generating /boot/initrd.img-2.6.32-5-xen-amd64
Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 2.6.32-5-xen-amd64 /boot/vmlinuz-2.6.32-5-xen-amd64
run-parts: executing /etc/kernel/postinst.d/zz-update-grub 2.6.32-5-xen-amd64 /boot/vmlinuz-2.6.32-5-xen-amd64

et voilà

And now

Some music

Incoming search terms:

  • raspbmc dpkg: error processing network-manager (--configure): (10)
(Visited 3,202 times, 1 visits today)