Linux & Alsa: Toggle speakers off remotely, from ssh

Today I’ll stay home instead going to the Amsterdam office. I have a terrible headache and i stay better on the dark-silence.

But i want to stay in touch with the office so i start my email, chat, and other web apps, but  suddenly I realize that probably in the office, my colleagues hear a sound for each chat, email i receive and calendar alarms as well.

So I wanted to shut down my pc speaker in the office from ssh.

Continue reading “Linux & Alsa: Toggle speakers off remotely, from ssh”

(Visited 949 times, 1 visits today)

Backup Shell script: each Mysql database to a separated dump

MySql LogoAnother life-saver script for a sysadmin.
Run with root mysql user privileges, so.

Use this script at your own risk. The -h option provides a short usage line. If you notice any bug or if you have a useful addition please post your feedback as a comment. Continue reading “Backup Shell script: each Mysql database to a separated dump”

Incoming search terms:

  • mail esac pt (48)
(Visited 2,371 times, 1 visits today)

Using rsync, ssh and cronjob – automatic secured backup

One of My favourite technical article EVER!

I don’t usually produce redundancy copying articles from other’s websites, but after happened to a website (cannot mention, but it was suddenly closed), i decided to keep it (until its license grants me to keep it).

source: http://troy.jdmz.net/rsync/index.html

Using Rsync and SSH
Keys, Validating, and Automation
This document covers using cron, ssh, and rsync to backup files over
a local network or the Internet. Part of my goal is to ensure no user
intervention is required when the computer is restarted (for passwords,
keys, or key managers).

Incoming search terms:

  • raspberry pi rsync (18)
  • rsync raspberry pi (11)
(Visited 3,910 times, 1 visits today)

PhpMyAdmin and smaller alternatives

phpMyAdmin Logo

MySql Logo

 

 

Nobody can survive without either MySql and phpMyAdmin, but in some case i have had the need for a very small script to be uploaded for example on a smartphone wich uses MySql, or on a very slow connection, or with an expensive gsm/umts/hsupa/whatever internet connection. Continue reading “PhpMyAdmin and smaller alternatives”

(Visited 723 times, 1 visits today)

Automating Moodle: basic cronjob solution

If you navigate your moodle administration side and click on “Notifications” you will probably see this statement:
The cron.php maintenance script has not been run for at least 24 hours.

just like this one:

Unless you have already setup an automated way to accomplish this, you want to Continue reading “Automating Moodle: basic cronjob solution”

(Visited 2,718 times, 1 visits today)

Debian: How to run scripts at boot time

Personal notes to be always available for debian installations.

secure-coding-php

Here’s a very simple script which is divided into two parts, code which always runs, and code which runs when called with “start” or “stop”.

If you need something like a service to start at boot time, you need this.
Debian stores script needed to usually start, stop and restart in /etc/init.d/
Scripts contained have to be able to manage at least the start and stop parameters. Continue reading “Debian: How to run scripts at boot time”

(Visited 5,720 times, 1 visits today)

[Ita] Come installare XBMC su Raspberry Pi con Raspbian Wheezy

Xbmb on top of raspbian: how to

Questo articolo illustrerà la procedura per installare correttamente XBMC su un Raspberry Pi che utilizza Raspbian Wheezy, ovvero Debian. Continue reading “[Ita] Come installare XBMC su Raspberry Pi con Raspbian Wheezy”

Incoming search terms:

  • raspbian xbmc (104)
  • installare xbmc su raspbian (43)
  • xbmc raspbian (26)
  • raspbian wheezy (23)
  • installare xbmc su raspberry (20)
  • portakalsepeti com (19)
  • raspbian wheezy static ip (18)
  • raspbian wheezy xbmc (18)
  • come installare xbmc su raspberry pi (14)
  • installare xbmc su raspberry pi (13)
(Visited 18,340 times, 1 visits today)

Raspberry video streaming server for keychain 808 with ffmpeg

Hi there,

I’m writing down some notes about

installing, configuring, testing an 808 Keychain Webcam #3

even if i think it can be appliable to several different models (if they can actually act as webcam).
Continue reading “Raspberry video streaming server for keychain 808 with ffmpeg”

Incoming search terms:

  • www canlıvebcam org (13)
(Visited 9,078 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)
  • single sign on moodle (11)
  • wordpress and moodle (11)
  • wordpress and moodle integration (10)
(Visited 42,913 times, 6 visits today)

WordPress and “ALERT – script tried to increase memory_limit to 268435456 bytes” issue

untitledSometimes you can find the following line appearing in your webserver error logs:

[Tue Mar 13 10:48:03 2012] [error] [client 23.19.25.190] ALERT - script tried to increase memory_limit to 268435456 bytes which is above the allowed value (attacker '23.xx.25.190', file '/var/www/xxxxx/xxxxxx/xxxxxx/web/wp-admin/admin.php', line 109), referer: http://website.com/wp-admin/edit.php

There is a quick solution and it can be found in a file called:

wp-includes/default-constants.php

[20121223 – UPDATED]: Please, see the Andreas comment below.
It seems to be better to move the “define(‘WP_MAX_MEMORY_LIMIT’, ’64M’);” in wp-config.php rather than default-constants.php. Anyway this stopped after the wordpress update
Thank you Andreas!

you can easily change (around line 96) the var value from 256 megs to the memory size that best suits your server needs.

Do not hesitate to comment for help.

(Visited 1,920 times, 1 visits today)