This website is composed of information connected through taxonomy. It is simultaneously a proof-of-concept and a means to allow Agaric to share and store information both within the collective and the world as part of our open documentation philosophy.

User login

This website is composed of information connected through taxonomy. It is simultaneously a proof-of-concept and a means to allow Agaric to share and store information both within the collective and the world as part of our open documentation philosophy.

Adding an IP-based site to an Apache web server

sudo vi /etc/httpd/sites.d/example

This will create a new file called example if one doesn't already exist.

(You need an include sites.d/* in /etc/httpd/conf/httpd.conf)

i to edit, this is the model (Agaric hasn't tested the subdomain part quite like this, but for just one directory, even if the domain isn't even pointing at your site yet, the IP will work):

sudo vi /etc/httpd/sites.d/example

This will create a new file called example if one doesn't already exist.

(You need an include sites.d/* in /etc/httpd/conf/httpd.conf)

i to edit, this is the model (Agaric hasn't tested the subdomain part quite like this, but for just one directory, even if the domain isn't even pointing at your site yet, the IP will work):

<

pre>
<VirtualHost 101.01.010.10:80>
ServerName www.example.coop
DocumentRoot /home/example/public_html/main
Options Indexes FollowSymLinks
</VirtualHost>

How to give a user global FTP privileges (with vsftpd)

This guide applies to CentOS (a generic version of Red Hat Enterprise Linux, or RHEL) and vsftpd.

There's actually not much reason to give a Linux user FTP access to your entire server; each user can access its own directory, which is fine for user mywebsite. But this can be useful for an admin to create a generic FTP user, with a different username and password from any users with sudo to root capabilities.

cd etc
sudo vi vsftpd/vsftpd.conf

In /etc/vsftpd/vsftpd.conf, uncomment these lines (press i to enter insert/edit mode):

This guide applies to CentOS (a generic version of Red Hat Enterprise Linux, or RHEL) and vsftpd.

There's actually not much reason to give a Linux user FTP access to your entire server; each user can access its own directory, which is fine for user mywebsite. But this can be useful for an admin to create a generic FTP user, with a different username and password from any users with sudo to root capabilities.

cd etc
sudo vi vsftpd/vsftpd.conf

In /etc/vsftpd/vsftpd.conf, uncomment these lines (press i to enter insert/edit mode):

Quick Site Recipe Shell Command Generator

Update: This has of course been quite obsoleted by drush, which Agaric is building our own scripts around (we would like to build them into Drush as much as possible), and we should eventually note on our main drush post.

I hope to turn this into a module with a form, for now it's just a PHP page that can only be edited by an admin with PHP privileges. The code that creates this page is attached.

Update: This has of course been quite obsoleted by drush, which Agaric is building our own scripts around (we would like to build them into Drush as much as possible), and we should eventually note on our main drush post.

I hope to turn this into a module with a form, for now it's just a PHP page that can only be edited by an admin with PHP privileges. The code that creates this page is attached.

<?php
/* NOTE: need some way of dealing with Drupal contrib modules with 2.0 versions */

$nl = "\n"// line separator

$sudo = 0// 0 no sudo needed, 1 sudo needed
$drupal_version = "DRUPAL-5";
$target_directory = "test";
$contrib_modules_directory = "modules/contributed";
$contrib_themes_directory = "themes/contributed";

/* array of Drupal contributed modules
* alphabetical except 'child' modules follow parent (esp. CCK, for instance "email" is a CCK field)
*/

$spaceshare_contrib_modules = array(actions, akismet, article, auto_nodetitle, autosave, bloginfo, bookmark_us, buddylist, casetracker, cck, email, text_regexp, captcha, comment_mover, comment_subject, contemplate, ed_classified, ed_readmore, favorite_nodes, fivestar, focus, globalredirect, gmap, gsitemap, image, imagecache, leech, links, location, logintoboggan, menu_trim, mimemail, nodefamily, nodeprofile, panels, pathauto, relativity, releasemonitor, spam, send, service_links, subscriptions, systeminfo, tagadelic, taxonomy_access, taxonomy_breadcrumb, taxonomy_theme, textimage, token, upload_preview, userlink, usernode, views, views_alpha_pager, views_bonus, votingapi, weather, webform, weight, workflow);

/* array of Drupal contributed themes */
$contrib_themes = array(aberdeen, amadou, bluebreeze, golden_hour, stylized_beauty, sinatra, sympal_theme, zen);

$contrib_modules = $spaceshare_contrib_modules;

print

"<pre>";
print
"This script was made with the following variables:" . $nl;
print
"Drupal Version: " . $drupal_version . $nl;
print
"Target Directory: " . $target_directory . $nl;
print
"Path to Contrib Directory: " . $contrib_directory . $nl;
print
"Contributed Modules:" . $nl;
print_r($contrib_modules);

$intro = "You should paste this output in your shell (e.g. Terminal, Putty) " . $nl .
 
"starting from the directory ABOVE your target directory.";
print
$intro . $nl;

$ssh = "";

// get Drupal itself
if ($sudo) $ssh .= "sudo ";
$ssh .= "cvs -d:pserver:anonymous:anonymous@cvs.drupal.org:/cvs/drupal checkout -d " . $target_directory . " -r " . $drupal_version . " drupal";

$ssh .=$nl;

$ssh .= "cd " . $target_directory;
$ssh .= $nl;

if (

$sudo) $ssh .= "sudo ";
$ssh .= "mkdir " . $contrib_modules_directory;
$ssh .= $nl;

foreach(

$contrib_modules as $module) {
  if (
$sudo) $ssh .= "sudo ";
 
$ssh .= "cvs checkout -d " . $contrib_modules_directory . "/" . $module . " -r " . $drupal_version . " contributions/modules/" . $module;
 
$ssh .= $nl;
}

if (

$sudo) $ssh .= "sudo ";
$ssh .= "mkdir " . $contrib_themes_directory;
$ssh .= $nl;

foreach(

$contrib_themes as $theme) {
  if (
$sudo) $ssh .= "sudo ";
 
$ssh .= "cvs checkout -d " . $contrib_themes_directory . "/" . $theme . " -r " . $drupal_version . " contributions/themes/" . $theme;
 
$ssh .= $nl;
}
print
$ssh;

print

"</pre>";
?>

Theme by Section

Thanks to Webchick

use subdomains
multi-site setup
using same databases
but hardcode theme and other variables as needed

(How about primary links, blocks, etc?)

Thanks to Webchick

use subdomains
multi-site setup
using same databases
but hardcode theme and other variables as needed

(How about primary links, blocks, etc?)

Printer-Friendly View and CCK

This page describes a way to make an end run around the printer-friendly module and just load a new stylesheet for making pages look good for printing:

Printer-Friendly View and CCK?
http://drupal.org/node/94098

But surely there is a righter, more Drupal way of doing this?

If we can find one, we'll post about it back to the issue queue also.. somewhere else

This page describes a way to make an end run around the printer-friendly module and just load a new stylesheet for making pages look good for printing:

Printer-Friendly View and CCK?
http://drupal.org/node/94098

But surely there is a righter, more Drupal way of doing this?

If we can find one, we'll post about it back to the issue queue also.. somewhere else

http://drupal.org/node/94098#comment-176891

Fixing Clean URLs on Some Drupal Installations

On some servers, the initial installation of Drupal will fail the clean URLs test.

Just giving the server an initial path, "/" in .htaccess solves this problem.

Keywords: .htaccess rule change Drupal clean URLs

On some servers, the initial installation of Drupal will fail the clean URLs test.

Just giving the server an initial path, "/" in .htaccess solves this problem.

Keywords: .htaccess rule change Drupal clean URLs

Fun with GNU-Linux Shell: Messaging Other Users

to send messages to another user simply type write username then you can type your message and ctrl+c sends it.

to find out which users are logged in type users

gnu linux message ssh user

In addition to write, there's a more interactive, Instant Messaging (IM) style of GNU-Linux communication: talk.

talk username

Note: it will not cause any dock icon to bounce or taskbar button to flash when someone responds to you!

to send messages to another user simply type write username then you can type your message and ctrl+c sends it.

to find out which users are logged in type users

gnu linux message ssh user

In addition to write, there's a more interactive, Instant Messaging (IM) style of GNU-Linux communication: talk.

talk username

Note: it will not cause any dock icon to bounce or taskbar button to flash when someone responds to you!

Apache, PHP, and disaster

Help! I've installed Apache 2.2 and PHP 5.2 and all my PHP is printed plain text!

Isn't this right?

# Use for PHP 5.x:
LoadModule php5_module        modules/libphp5.so
AddHandler php5-script php

PHP and Apache are both running, appear to know about each other, but cannot get PHP files to be interpreted? This is an emergency help situation.

I'd say it happens to the best of us, but modesty precludes.

I threw into httpd.conf:

AddType application/x-httpd-php .php

Help! I've installed Apache 2.2 and PHP 5.2 and all my PHP is printed plain text!

Isn't this right?

# Use for PHP 5.x:
LoadModule php5_module        modules/libphp5.so
AddHandler php5-script php

PHP and Apache are both running, appear to know about each other, but cannot get PHP files to be interpreted? This is an emergency help situation.

I'd say it happens to the best of us, but modesty precludes.

I threw into httpd.conf:

AddType application/x-httpd-php .php

PHPIniDir "/usr/local/apache2/php/php.ini"

one of them did it.

Installing ClamAV: NOT YET SUCCESSFUL

Agaric Design Collective is installing CiviCRM's CiviMail for a client, which requires AMaViS, which optionally asks for ClamAV. We will be taking optional at its word right now, since it has dependencies for OpenSSL tools that are more recent than what the rest of this CentOS installation use.

Agaric Design Collective is installing CiviCRM's CiviMail for a client, which requires AMaViS, which optionally asks for ClamAV. We will be taking optional at its word right now, since it has dependencies for OpenSSL tools that are more recent than what the rest of this CentOS installation use.

General RPM instructions: http://www.tuxfiles.org/linuxhelp/rpminstall.html
General Yum instructions: http://crash.fce.vutbr.cz/yum-repository.html

Future reference: building your own RPMs. http://www.hobbitmon.com/hobbiton/2005/07/msg00280.html

Installing ClamAV

Get Real Step by Step

Brainstorm

Come up with ideas.

Paper sketches

Sketches are quick, dirty, and cheap and that's exactly how you want to start out. Draw stuff. Scrawl stuff. Boxes, circles, lines. Get your ideas out of your head and onto paper. The goal at this point should be to convert concepts into rough interface designs. This step is all about experimentation. There are no wrong answers.

(I've never understood how, let alone why, to make brainstorming and sketches separate steps.)

Brainstorm

Come up with ideas.

Paper sketches

Sketches are quick, dirty, and cheap and that's exactly how you want to start out. Draw stuff. Scrawl stuff. Boxes, circles, lines. Get your ideas out of your head and onto paper. The goal at this point should be to convert concepts into rough interface designs. This step is all about experimentation. There are no wrong answers.

(I've never understood how, let alone why, to make brainstorming and sketches separate steps.)

Create HTML screens