• asm2-pcb.jpg

Tech

Right now you're probably thinking, is it technology? technical? techno?

The answer: Yes.

This is the most comprehensive reference on the interweb for all things drupal related, from theming to configuration, custom coding, and even server setup. There's even some stuff on Wordpress...

Well, uh, maybe not the most comprehensive, or comprehensive at all for that matter, but there is some really useful information here, and we are constantly adding more of it.

Some of us more than others...

More tech than you can handle

Apache access control the Agaric way

Key words and phrases: 
require password authentication Apache authorization limiting access to test server control who can view development sites
Description & Info: 

Clients don't like their test site competing with their live, production site for Google results. Therefore, we have put our entire set of test sites behind a pop-up requiring basic Apache authentication.

For ongoing maintenance — adding new people to access the test environment behind the authorization wall — the operative command is:

Roughly following the instructions here:
http://httpd.apache.org/docs/2.2/howto/auth.html


sudo mkdir /etc/apache2/passwd

sudo htpasswd -c /etc/apache2/passwd/passwords dan
New password:
Re-type new password:
Adding password for user dan

sudo htpasswd /etc/apache2/passwd/passwords benjamin
New password:
Re-type new password:
Adding password for user benjamin

With XAMPP, permission denied for MySQL user with % (all) host access but works for localhost

Key words and phrases: 
Drupal development environment localhost User 'jonasconstructio'@'localhost' : Edit Privileges @% @localhost at percent all hosts
Description & Info: 

For reasons not known to man nor beast, on XAMPP on Mac OS X (and not XAMP but another all in one WAMP stack, but not that name either) will not work with the wildcard availability host name (%). It will work (or anyhow may work for you, it worked for Agaric!) with the @localhost for host name.

Too-true Typo of the Week: the wanders of unit testing

Description & Info: 

The too-true typo of the week, from Kyle Mathews' Unit Testing Success Story:

The Lullabot crew had a recent podcast on the wanders of unit testing.

The wanders, indeed.

by Benjamin Melançon
Posted on Tue, 2008-07-01 23:44
in

In a shell script, create a database if it does not exist

Key words and phrases: 
mysql create database from bash script mysql if database exists automate creation of database if it doesn't already exist PHP script bash script if mysql database does not exist create
Description & Info: 

Use the MySQL: SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = 'database_name'

<?php
if (mysql_num_rows(mysql_query("SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = '". $dbname ."'"))) {
echo "Database $dbname already exists.";
}
else {
// go on and create the user, database, etc.
// create the user

by Benjamin Melançon
Posted on Tue, 2008-07-01 08:16
in

Update or commit: See what's changed in a version-controlled file with svn diff

Key words and phrases: 
identifying changes svn diff differences in versions
Description & Info: 

When you run
sudo svn status -u
and see

M 6549 www/.htaccess

you can see exactly what's up with those changes with
svn diff www/.htaccess
Showing something like:
Index: www/.htaccess

===================================================================
--- www/.htaccess (revision 6549)

by Benjamin Melançon
Posted on Tue, 2008-07-01 08:01
in

RSA host key changed, requires validation: what to do

Description & Info: 

RSA host key for example.com has changed and you have requested strict checking.
Host key verification failed.

In the line above it will actually tell you where the bad key is, with known_hosts being the file and 2 being the position of the problem key:

Offending key in /home/you/.ssh/known_hosts:2

by Benjamin Melançon
Posted on Tue, 2008-07-01 07:24
in

Getting out of the local permissions / server login catch 22

Key words and phrases: 
authorized keys
Description & Info: 

The first step to getting out of the local permissions / server login catch-22 is to know you're in it.

Perhaps you found this page searching for "Permission denied on publickey even though I can log into the server with a public key it doesn't make any sense grrr argh how dare it deny me i created it why won't it work permissions are correct this isn't right" or something like that.

by Benjamin Melançon
Posted on Sun, 2008-06-29 19:09
in

Agaric Utility function: set default values in an array

Key words and phrases: 
array defaults
Description & Info: 

the original line is almost as short as the function, but if we want to add checking on "empty()" or need to change anything else, it's all in one place

/**
* Set a default value for an array key if that key does not exist.
*
* The _au_ namespace stands for agaric utility, and are things
* we may reuse in so many modules we'll want to put in a helper

Piston not found after installation, setting bash paths

Key words and phrases: 
Add to sudo path linux add command to path debian add user to sudo group
Description & Info: 

http://neoarch.wordpress.com/2007/07/13/bash-cap-command-not-found/

vi ~/.bashrc

#Set path for Piston
export PATH=$PATH:/var/lib/gems/1.8/bin

source ~/.bashrc

server:~$ sudo vi /root/.bashrc
server:~$ source /root/.bashrc

/var/lib/gems/1.8/bin

restart bash

ben@server:~$ sudo /bin/bash --login

root@server:~# piston -h
Usage: piston [options]

by Benjamin Melançon
Posted on Tue, 2008-06-24 18:23
in

Forward Drupal path to an external URL

Key words and phrases: 
drupal module page titles drupal automatically forward url redirect all of address path to another domain
Description & Info: 

UPDATE: A better, universal approach which should be all you need is immediately here--

Simply provide the internal path that really belongs to the old site (in 'path', and the URL you want to send things with this path to, in the 'url' value of 'callback arguments').