Posted by: Diabolic Preacher | June 26, 2006

drupal and puppy linux: the blabberings at the monthly meet

as usual i went in late…but there was no inauguration cake…so it’s all good. reached the venue by bus from univ. so took a li’l more time but the bus reached early while i kept the bag and played with the touch-me-nots after sooo long and rejoiced being a kid. 🙂 Reached the venue 40 mins. late as per my watch (there used to be a time when i used to reach close to 1500 and people didn’t turn up till after 1600…now it’s my turn, when am required to be present and present my topics 😀 ). Like last time, the crowd…umm audience size looked reasonable…new faces this time…for me atleast. luckily we had our introductions so i got to know well about all the people. FN posted a summary of all our profiles which i reposted to my lug with some error corrections over here. This post is about the talks i presented this time….as usual i was conscious of my errors and bluntly went thru them and yet am shameless to ask for more chances, hoping that some day i’ll improve, knowing well that till date…i never prepare well, coz there are lots of helpful ‘content’ crowders who do most of the talking….while i try n lip sync them.


My first talk was on drupal, bout which i blogged recently here. There’s nothing new that the regular readers already didn’t knew. One thing was it definitely is a new topic…a bit more of a FOSS topic than a LOSS topic. As I wrote before, setting up drupal (given that you…rather your host have the right versions of required server-side software) is so unbelievably easy and maintaining it further down the line is still more easy. Drupal lets you focus more on the content (that is unless you have a white text on white background theme) and has features for running heavy duty websites, mainly because it grew out from being a bulletin board system to a full fledged content management system which is expected to be open to public registrations and a huge number at that. Being a student, I can visualize that CMS is very much useful where a number of users should be allowed to proactively participate at various levels. One such CMS that we already are using is Moodle that i blogged about a few months back. Although most of us relate CMS with community forums and news websites, one must know that fresher the updates, more the interest in the site and hence more the visits…just a theory, one could also effect more visits thru other means…outside the scope of this discussion. In brief, the steps for setting up a drupal-powered PHP+MySQL+Apache (insist on Apache rather than IIS…u don’t want to be entangled in the open/closed source feud) site is as follows : –

  1. Download the appropriate drupal version. files are in tar.gz (gunzipped tarball) format. In GNU/Linux you use the “tar -zxvf” command (i never figured out how to make this command extract the files to a directory of my choice without copying the tarball package to that location). On windows one can use ZipGenius as well as WinRAR to extract the files and save to a folder.
  2. Connect to your server/host using a FTP client and upload the entire directory. I did it in windows using FileZilla. I’d done individual file uploads in college, would like to know how to do entire directory uploads….recursive at that. Upload the directory to the web root folder. For Apache it is httpdocs, but might be custom set for certain hosts. Check with your hosting provider.
  3. Now create a blank database. Some hosting providers allow creating one through their control panel interface and then allow to manipulate the tables using phpmyadmin. some allow to use phpmyadmin for the entire process. some might allow shell access, but that’s a rare possibility…probably feasible if you’re the hosting provider yourself.
  4. Import the *.mysql or *.pgsql file depending on whether you are using MySQL or PostgreSQL and depending on the version of the chosen database that you are using. I had chosen MySQL as PHPMyAdmin is a MySQL management front-end (u also have phpPgAdmin) and i have worked with MySQL before. If you’re using phpMyAdmin, which is mostly the case, click on the database name on the left pane. Then on the right pane you’ll get some tabs like Browse, SQL, Export, etc. Select (click) SQL and that’ll open a form where you can enter a set of SQL statements manually or upload an existing SQL formatted files. Browse for the *.mysql file and upload it. Voila! your tables are ready to be filled…> 50 at that!
  5. Now you need to tell drupal where the database is located and the username and password needed to connect to it (mostly during the database creation step, when you use the control panel, you can create users as well. one is enough to manipulate database contents on behalf of drupal). This is done by editing a file called settings.php in ./sites/default subdirectory under the root of drupal installation. In older versions the file was conf.php which was located in the includes subdirectory under the root of drupal installation. The files are well commented. One thing to note that ‘localhost’ will be ‘localhost’. Kanfuzan? just take a look at the configuration files i just mentioned above.
  6. Visit your site’s URL and if all steps were done correctly, you should see a successful drupal installation prompting you to create the first account which becomes the administration account. What is scary over here is that…what if someone before you creates the first account and takes control? what do you do?….disable/remove the database! 😀
  7. A more interesting way to learn drupal installation is by checking out the videocast at drupal’s videocast page, although it’s for the latest version.


This was more like overdoing it…like right now i am overwaking…just for the love of blogging and miseducating all readers against proprietory software. 🙂 However using Puppy Linux is just so delightful. This is, if i’m not mistaken, true of all those live cd’s that are so-called micro-distributions, but are close to being all-purpose distros and are yet small enough to run from RAM or from USB disk. if you already have a linux partition, the swap partition greatly improves the performance of live cd’s. Puppy Linux is meant for the home user and is hence devoid of developer tools but has task based icon labels like draw, play (media), write, email, etc. rather than inkscape, gxine, abiword, kmail. the default window manager is JWM colorful, but light. Surprisingly, it has a fairly reasonable amount of applications (if not choices) for a 70mb distro. My favorite features of the distro is that almost all apps are accessible thru the ‘menu’ called the kicker/start menu most commonly. Most configurations have wizard scripts to help you through and all the main wizard scripts can be invoked from an unified interface. It has ndiswrapper for wi-fi support using windows xp drivers. Gxine plays MP3, WMA, RM, MOV files (although certain brand new versions of these formats may not play). Till now I have tested the distro on 3 machines, my best and memorable experience being that on the oldest machine of the 3. A celeron mendocino (PII based with 64 mb ram and no linux partitions). Although the machine had been clean installed with windows 98, neither the display could be configured correctly nor was the sound card getting detected without us having to detect the driver CD. Enter the puppy! One of the steps in starting up puppy is choosing xvesa or xorg as the preferred X server (display/visual output server). Here again there was a unique experience. After I selected xorg like i did for the other machines, puppy was infinitely probing the display unit to get the configuration and was showing a blinking cursor. First when i pressed the power button once, it trapped the signal and showed a corresponding message. I pressed Ctrl+Alt+Del to do an abrupt reboot, but puppy trapped the key combo and did a clean exit….good dog! After the system was up and running, I could view the desktop in a more respectable resolution. I was able to configure the soundcard using ALSAconf (which i’d never used before….but learnt on the spot thanks to the helpful wizards….i did learn the command line stuff….no point n click bizness) and yeah was able to test play some songs off my pen drive..which win98 cudn’t do without again having us ‘detect’ the drivers. As far as mounting of drives are concerned puppy linux is way too user-friendly with it’s Media Utility Tool. It enlists all the mounted as well as unmounted drives, whose status you can toggle just by clicking on the button to mount/unmount next to the corresponding drive path. esp. helpful to mount pen drives, whose device path is not easy to find for a new user. puppy is the newborn…puppy is for the newbie…puppy is small….puppy is fast…if not fastest.

During the meeting, the topic of puppy linux came up when discussing usage of live cd’s for educational institutions. One point that I indirectly implied but forgot to explicitly mention is that given the fact that puppy could run entirely off RAM if you have around 128 (or better 256) mb RAM or if you have a linux swap partition, a computer lab need not burn one copy per machine but could boot off all machines using one disc and keep them up and running thru the day. Students could save their files to their floppies or USB sticks….but, puppy doesn’t have dev tools, although some versions are claiming to have. it’s easier to install the required programs if their DotPUP packages are available. Also given that puppy can read both fat and ntfs as well the myriad linux partitions…while being on RAM, you can use your sole optical drive for backing up data using blank CD’s/DVD’s.

Both the tools are waiting for you to explore them….Try them out!


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: