Categories
People Specs Technology

Dropping support for RSS 2.0

Recovered from the Wayback Machine.

For those of you who subscribe to my feeds, note that I’m dropping the RSS 2.0 feed starting next week.

Why? Because hosting an RSS 2.0 feed is providing indirect support for behavior that sucks the joy out of my day. Because Dave Winer is a hypocrite, and the so-called RSS 2.0 ‘advisory board’ is a mockery on true open standards efforts. More importantly, though, when I woke this morning, I said to myself:

Today is a good day to stop supporting assholes.

Categories
Technology Weblogging

Survival guide to LAMP: Installing the weblogging tools

L is for Linux, M is for MySQL, and P is for PHP

 

I used nextpage to break this writing up into manageable chunks. I know that not everyone likes nextpage, and the implementation in 1.02 is a bit problematic, but we’ll see later how we can modify WordPress to provide full page displays for people who prefer this, and how to refine the nextpage behavior for the rest. And yes, we’ll also add in comment preview.

Once the software for Textpattern and WordPress is on the server and unzipped (discussed in last LAMP essay), you’ll need to create a MySQL database for both tools, unless one is provided for you by your ISP. Since they each use different table naming conventions, I used one database for both installation.

Creating the database is dependent on your ISP. Most companies providing MySQL also prohibit creating databases directly in the MySQL console–a command line interface directly with the database engine. Instead, you’ll use a tool like that which is attached to cPanel to create a database and a user and tie the two together. However, if you did have to create a database directly in MySQL, it’s not that complicated–as long as you have access to the command line version of MySQL.

To access MySQL from Linux, you’ll type the following command which opens a console to MySQL. Notice that you’re passing in a flag designating a specific user, and in this case asking the tool to prompt you for a password (you could also type the password directly in the line, but I prefer not to because Linux remembers your command in history, and I don’t like passwords to show in history):

mysql -u shelley -p

In this case, my user name is my first name, shelley. Once I get the password prompt and type it in , I’ll be in the database engine console.

Since I didn’t specify a database on the command line when I entered the console, I haven’t entered directly into any of my existing databases. To see what they are, I can ask MySQL to show me them:

Enter password:
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 1214348 to server version: 4.0.18-standard

Type ‘help;’ or ‘h’ for help. Type ‘c’ to clear the buffer.

mysql> show databases;
+——————+
| Database |
+——————+
| shelley_bbweblog |
| shelley_frgn1 |
| shelley_test |
| shelley_wp |
+——————+
6 rows in set (0.00 sec)

mysql>

Even if there are several people with databases on the system MySQL engine, only the databases you’re allowed to see should show. This provides a little extra privacy.

I’ve already created the WordPress 1.2/Textpattern database, the one named shelley_test. Well, I used cPanel to create the database ‘test’, and to keep it unique to me, the system called it ’shelley_test’. However, if I wanted to create a database in the console, I would use the create database command:

mysql> create database shelley_test;
Query OK, 1 row affected (0.06 sec)

Impressively easy, eh? Well, I can about guarantee that it’s the easiest thing you can do in MySQL. Now that I’ve generated even more interest in learning how to work with MySQL, you need to create a user and tie this user to the database. The reason is that both Textpattern and WordPress (and Movable Type and most other database driven tools), require three things for installation: a database, a user, and a password.

(They also require a server name, but unless you’re getting into some kinky remote data access, you’ll use the local server name, handily designated as ‘localhost’, when queried for server name.)

When creating a user, what you’re really doing is creating a named set of permissions, which just happens to be usable by a what can be termed a ‘user’. To do this, you’re going to use the MySQL GRANT command, and grant all permissions to the specified person, for the specified database, accessed via the localhost server, and identified by a password.

Or in one command:

mysql> grant all privileges on shelley_test.* to someuser@localhost
identified by ’somepass’ with grant option;
Query OK, 0 rows affected (0.00 sec)

Of course, you’ll replace the name and password for your system, as well as the database name, but what I’ve done with this command is to grant all priviledges on anything contained within the database shelley_test to the ’someuser’. However, they’ll only be able to access the database from the local machine and only after giving the specified password.

I could have given this person access to all databases using ‘*.*’ in place of ’shelley_test.*’, but first rule of thumb with good database habits: never give more than is needed. By this I mean never grant more permissions that a person needs to get the job finished.

If I had not given the localhost host designation, your PHP applications would not have been able to access the database, and the user would not be able to log int MySQL from the command line. If they tried, they’d get an error similar to:

ERROR 1045: Access denied for user: ‘anotheruser@localhost’ (Using password: YES
)

Of course, MySQL could automatically assume all users can access the database system from the local host, except this violates that rule I just mentioned, which is Never give more than is needed.

There are fancy variations of all these commands, but we’ll hold them for another time. Right now, you’ve created what you’ve needed to finish the WordPress and Textpattern installations.

Installing WordPress

When the WordPress files are unzipped, chances are they’re unzipped into a named subdirectory. The first thing you’ll want to do is move them into your wordpress directory. You can do this your FTP program, or you can use the Unix move command, ‘mv’. Change to the subdirectory that contains all the files and subdirectories and do the following:

mv *.* ../.

When finished, you can then delete the directory just emptied, again using your FTP program, or the Unix remove command, ‘rm’. First, move up a directory, and then remove the WordPress unzipped file directory:

cd ..
rm -r wordpress-somename

There is a readme.html file located in the top level directory of the files just installed. You can see the one with my installation here. This provides what WordPress calls the “5-minute install”, and you’ll want to use these instructions.

You can either manually edit the configuration file for the weblog, by opening wp-config-sample.php either using a text editor on Linux, or by downloading the file to your PC and editing it there. Later I’ll demonstrate how to use the granddaddy text editor of them all, vi to do simple text edits in Linux, but for now, we’ll let the program make the configuration file.

To create the config file, open the install-config.php page in the wp-admin subdirectory in your browser and provide the information needed. This will be the database name, username, host (localhost), and user password. If you’re running multiple versions of WP, you can change the table prefix, but for now, since this is the first install, we’ll leave it at wp_.

Once you run, you should get a message something to the effect of, All right sparky! with congratulations for not screwi… congratulations for being successful. You don’t have to remove install-config.php, as it can’t be used to overwrite an existing configuration file; but you should anyway. The second rule of good database habits is: evil shit lives, don’t leave behind any open doors.

Next, load the install.php application, also located in wp-admin. A link for this file is provided in install-config.php if you’ve run this. The installation application should be able to run unassisted, and as long as it can access the database, you shouldn’t have any problems.

The first page provides feedback as to what’s been created, and a link for step 2. This page also shows some status of table and other object creation, and also asks you what the URL for the blog is. In my installation this is “http://wordpress.burningbird.net”.

Step 3 should give you note that you’ve successfully installed WordPress, that a user has been created called admin, and a generated password is given. Don’t lose this! If you don’t record that password down, you’ll have to do the install all over again.

At that point, you can log into WordPress, and the first thing you should do is access the Profile option, and change the password. You’ll also have to provide an email address for the admin user.

That’s it. You be WordPress bad at this point. My installation is at http://wordpress.burningbird.net.

In the next essay, we’ll take a closer look at the WordPress tables, and work on importing Movable Type entries. Next, though, installing Textpattern.

Installing Textpattern

Since the database has already been created, all you need to do with Textpattern is make sure the tool files are located directly in the weblog directory, moving them out of the unzipped subdirectory if needed. Once set, all you need to do is run the Textpattern setup application, setup.php, located in the textpattern subdirectory.

As with the WordPress installation, you’ll need to provide your MySQL username and password, database name, and host. Again, provide a prefix if you’re going to install multiple weblogs in the same database; otherwise leave it blank. In addition, ensure that the paths to the web root and textpattern installation are correct.

You’ll note a secret word, used for authentication security. Make sure you change this, okay?

When you click the bright red button, the next page that opens has a textarea with your configuration information contained in it. You’ll want to copy this and add this to the config.php file in the textpattern subdirectory. You can use your local text editor or one located on the server.

Important Note: It’s critical that there is no text or white space or carriage returns after the final closing PHP tag, ?> in this file. Doing so will cause problems later. Once you add the text, stop, save, and close the file.

After you’ve created the config.php file, then click the button that says, “I did it”. The next page allows you to create a user, use whatever answers are appropriate to your circumstances. Note that the version used in this example does not verify the password: watch the typos.

Click the button and that’s it. You’re ready to go. After you remove the setup.php file, that is. My Textpattern installation is at http://textpattern.burningbird.net.

Again, next essay we’ll look at importing Movable Type entries, and explore the Textpattern tables.

Why WordPress over Textpattern

I’ve been asked in comments, and elsewhere: why WordPress over Textpattern? Both are PHP, and both are open source.

Well, when I originally looked at Textpattern, I didn’t know it was open source. I had missed the license information that read:

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

* Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.

* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.

* Neither the name Textpattern nor the names of its contributors may be used to
endorse or promote products derived from this software without specific
prior written permission.

Though Textpattern is being developed by one person, Dean Allen, he has left the source open for innovation, copy, reuse, and even distribution–with the only caveat that the original copyright be included. This is open source.

Still, there is a major difference between the two development efforts: WordPress is not only open source, it’s also a multi-developer project, registered and maintained at Source Forge. Though Matt of Photo Matt fame is the primary developer of this product, if for some reason he decides he would rather spend his time photographing naked people holding fruit, he can; the project might slow for a bit, it won’t stop. Why? Because Matt is not the only force behind WordPress.

More than that security, I, as a developer, am attracted by the thought that changes to code I make could be incorporated back into the product, if it’s vetted by the development team. The same is true for Textpattern, but the infrastructure isn’t in place.. As far as I know, Textpattern is Dean Allen, and if Dean gets hit by a beer truck–fates forbid–that’s it for Textpattern.

(Let me know if I have this wrong.)

More than that, though: I’m a tweaker. WordPress is naturally easier to tweak, in my opinion, than Textpattern. However, this is more my personal opinion than any ultimate truth; others may find Textpattern easier to tweak.

Finally, WordPress is the more mature product, and those aspects of Textpattern that folks like, such as the friendlier administrative interface and superior XHTML support and controls, not to mention abstraction from the physical layer, just aren’t as important to me. Or if they are, I feel they can be emulated in WordPress…with a little tweaking.

Regardless, both are good products by good people and a viable alternative to proprietary software options, which is why I’m covering both.

Enough for tonight. But as you can see, installing both Textpattern and WordPress is not a complicated process: grab the software, unzip it, place it in the weblog directory, create database and user, and then open a page in your browser and follow the instructions.

Categories
Technology Weblogging

For those about to move to WordPress or Textpattern…

Recovered from the Wayback Machine.

Six Apart released new pricing information today, and no matter how you package it, it’s not going to have people happy.

Yes, there will be a free version of Movable Type 3.0.

Mena Trott writes, but what she doesn’t say in the page is that free only works if you have one weblog author and three weblogs.

One of the reasons people haven’t moved to WordPress or other weblogging tools is lack of support for multiple weblogs–yet. Movable Type provided this, and it was simple to create a new weblog and add new authors, and many of us have done so. We didn’t see that this was going to be an issue someday. There was a major storm headed our way, and we never saw it coming.

I’ve created weblogs for multiple authors, and I’ve created multiple weblogs on one installation of MT. I have enough weblogs on my current installation that if I had stayed with Movable Type, and moved to 3.0, I’d have to go with a commercial license, and be paying upwards of $600.00. No, I didn’t see this coming. There wasn’t a clue.

All along we’ve said that we’d pay for a pro version of MT that provided what we needed. Several people understood that this new release wouldn’t have everything we asked for, but it was still free. Now we find out the caveats, the hammer dropping.

If it was just a ding to the toe, people would hop about and grumble a bit, and probably pay. But damn, this is a sledgehammer.

Nothing wrong with making a profit. But all the $20,000.00 contests in the world won’t make up for the fact that you don’t encourage people to use a product a certain way, and then charge them what are, frankly, extremely high fees–the highest in the business by my figuring–to upgrade to a new version.

If I were still a MT user now, I’d be furious. Now that I’m not, frankly, I feel a bit smug.

I need to return quickly to my Survival Guide to LAMP series. I expect a lot of movement to Textpattern and WordPress about now, and folks might be wanting help. But no fears–I won’t charge you to read my writing.

Yet.

update 

Hee. I like Steve’s take on the license.

By the way, I want you all to know that I made a prediction in Phil Ringnalda’s weblog earlier this week, saying that WordPress and Textpattern would surpass MT in users in a year. This was before the pricing announcement, so I want you to have some respect for my crystal ball reading ability.

Second update

Just caught this. The following are what you get, specifically, with the paid version of MT 3.0 that are conspicuously missing from the free version:

# Application updates and fixes (not including major upgrades)
# A guaranteed path to future versions

I think that after MT 3.0, you can probably kiss free versions of MT good-bye. I see the TypePad/TypeKey writing on the wall.

third update

From Paul Freeman I found out that you have to be registered with TypeKey in order to download the free version.

We were assured that TypeKey wasn’t required for Movable Type. I specifically remember this being said.

I also didn’t realize the physical limitations of the free version–one installation only, and no installation on multi-CPU machines. Most hosted environments are multiple CPU machines. Does this mean even if you are a single author/single weblog user, but hosted, you still can’t use MT?

update four

Looks like the trackback for the Six Apart entry is broken at 79, but you can get links at Technorati.

Categories
Technology Weblogging

Blogger gets comments

Thanks to Phil Ringnalda, I found out about Blogger’s new look and feel, including the addition of comments. I have old Blogger accounts, and first thing I did was pick one of the templates, and re-build my Blogger pages.

The user interface for the tool is improved, but I don’t completely understand this obsession with rounded corners; I mean, it’s not as if we’re going to brush up against them and snag our shirts on them or something. They’re pretty, true. But they don’t join the cow kicking the bucket over the moon.

Under the hood, one major change is that Blogger now supports individual posts, which is a goodness. Not only that, but it’s using what I feel is the defacto individual entry file naming convention: year/month/title name, with dashes in place of spaces and other characters in the title. It’s the same naming convention used by WordPress.

Question though: is Blogger providing redirects from old URLs to the new, for people who have been linked? I can’t find anything on this in the documentation.

Everyone is oohing and ahhing the new templates, and there are some pretty ones. I picked my favorite, and then did a couple of small modifications. However, it’s easy to spot the New Look in weblogs this year: centered and two columns. Rather like my weblog, in fact (though nicer). The Blogger templates use CSS for their centering, and I’m still using a table, but both can be XHTML strict compliance with a little tweaking on my part. However, since this look is becoming increasingly popular with most weblog users (it’s also popular with TypePad and WordPress and Textpattern), chances are I’ll change my look to something new.

(Roger Benningfield (and Bill Simoni, who also gave it a shot) will never forgive me for this, after all the hard work building CSS to emulate this table. But I can use most of what they provided even for a new look.)

Speaking of looks, if you read Phil’s comments, you’ll see I was not happy about Zeldman’s Ms. Moto and Mr. Moto *templates. The one for Mr. Moto shows a classic gray, very professional looking weblog with a photo of a building in one of the posts. However, the one for Ms. Moto is all in purple/pinks, and shows a photo of a Barbie doll in the example post.

What is the message from these templates? That men have professional looking sites, while women favor pink and dolls? I am surprised at an experienced man like Zeldman perpetuating this type of stereotype.

As Mark Pilgrim said in Phil’s post, yes men and women may both like pink sites. I don’t have a problem with pink; it was the gender association (not to mention the doll–was that an accident?) that grabbed me. There were other templates that also featured pink, or rose, but none of them made an association with a gender through the name.

No big deal you say? By itself, no. But after three years of girlism and baring breasts as fund raisers, not to mention being told time and again how ladies are supposed to act in this environment, and how women webloggers only write about home while men write about politics and tech–I am weary of how much weblogging promotes stereotypes. I stopped pointing out how woman don’t seem to get the same notice as men in weblogging when it comes to writing in order not to perpetuate a stereotype; the least others can do is not make associations between female bloggers and Barbie dolls.

Mark “The Pink” Pilgrim has hinted that he’ll probably do a redesign, perhaps based on pink and dolls. Dolls with big, hard nippleless breasts. If so, and I see several men sporting the new Ms. Moto look, I will be less inclined to be critical.

So, guys show me that Ms. Moto is genderless and protect Zeldman’s honor at the same time. If you have Blogger, pick that template, but don’t forget to add in a doll or two. If not, then do something comparable in your own toolset. Then I’ll know pink and dolls aren’t just ‘girly’ things, they’re also for manly mans. We’ll have a contest. Maybe Mark and Zeldman will judge.

The biggest news with the new Blogger is support for comments, but no offense to Google/Pyra/Blogger, this is one of the worst comment implementations I’ve seen. Sorry, but I’m not going to pretend otherwise.

The comment template tags are straightforward, especially if you’ve worked with templates and tags before. And the comments seem to work without problem (though I received some odd results after I posted). However, when you click through to post, you’re taken to Blogger, which asks you to either log in or to register for a Blogger account (and get a weblog, too), if you don’t have a login. Oh my, what was the Blogger team thinking with this one?

True you can specify that people can post anonymously, and there’s a link for this in the Blogger comment page. Still, I was aghast when I saw the Blogger page. I don’t care for any centralized comment login, such as Six Apart’s TypeKey, but at least the comments are local to the weblog, and they don’t require you to get a weblog just to comment.

(However, I found I could register for a new Blogger account and then when I was taken to create the weblog, just stop registration at that point and the account is still valid. Is this a bug or a feature?)

Additionally, the only way to have a link connected with your name is to have a login, but that just takes you to your Blogger page, rather than your weblog. This system repeatedly inserts Blogger, as tool, between the commenter and the site, and the world and the commenter. Too much so.

The offsite comments demonstrate something else about the tool–there is only one template in Blogger, and it handles every page–archive, individual, and the main page. After years of working with weblog tools that give you a great deal of freedom in the look and feel of your site, I find this extremely limiting. But I must remember that Blogger is a free, hosted tool, which makes it attractive for new users. When a person is starting out, it’s best to stay with a simple interface and less choice rather than more. Too much choice and you’re going to frustrate new folks.

In addition, there are a lot of bloggers who really don’t care about the look and feel of their weblog. All they want is to be able to write, and have people read their material. Most of the top political webloggers have very plain sites, with minimal customization. Now they have Blogger comments and they can argue back and forth among themselves that much more.

That is, until people start deleting their own comments–another feature of Blogger’s comment system. (Note that it doesn’t look like the weblog owner can delete the comments, only the cooment author.) Now, not only can we make fools of others with our words, we can lure them in, and then remove our comments, making them look like bigger idiots. Oh my Blogger team, what were you thinking?

In my opinion, the comment implementation is a mistep that no amount of pretty will get around. In fact, for those people who have comments from YACCS or other third-party product, I would strongly recommend that you continue using it.

Lastly, there is discussion going around about the fact that Blogger only supports Atom with the old non-Pro accounts, and RSS 1.0 and Atom with the old Pro accounts, like mine. Let me say as a person who has been around the syndication wars for too long, I doubt this was a technical decision. Personally I think it would be more consumer friendly to provide options for people to choose which syndication format to use: Atom, RSS 1.0, and RSS 2.0. Tool makers don’t have to support all formats, but customers like choice and I don’t understand why any weblogging tool would deny choice.

Hmm, customers imply paying, but Blogger is a free product, and maybe that’s the point on the syndication feeds and comment system. It’s free, and if you don’t care for it, use another tool. After all, if you’re handing out free lollies, who are we to bitch if you use pink wrapping instead of gray? Unless only boys get the gray wrapped lollies, and girls get pink, that is.

*As for direct template links, according to Zeldman, “I wish we could simply link directly to the templates, but Google rightfully wishes to avoid tempting the ethically challenged. Actually, there is a way to link directly to the templates, but we respect the wishes of Google and Pyra.”

Guys, I have a hint for you: if someone picks a template, it’s going to be out there in the world, anyway. Not linking to the templates as a way to stop the ‘ethically challenged’ makes no sense at all. Well, unless you don’t expect anyone to pick the template.

Categories
Technology

Survival guide to LAMP: The command line is fine, come on in

L is for Linux

When you’re writing for a large audience–you are a large audience, aren’t you?–you can’t predict what level of knowledge your readers have, so you have to pick a point to start, and then hope you won’t either overwhelm the less knowledgeable, or bore to death the experienced. With a book this problem becomes acute, and it’s one of the toughest tasks of technical writing: trying to define your audience and then focus the writing accordingly.

Writing to a weblog is much easier, because the experienced can just skip the section covering tech they’re familiar with, and the less experienced can ask questions of the author directly, in comments or in an email. In addition, others can contribute or correct, as the need arises. I suppose I could do this in a wiki, but I won’t.

Having sufficiently covered my butt, I hope, time for the next LAMP essay:

To install both WordPress and Textpattern, first I need to create or clear a location for the products. Then I need to download the application files from the tool sites, unzip them, and move them to their permanent home. At that point, I may have to change the permissions on one or more files to get them to work.

Chances are if you’ve installed software before, you’re familiar with this routine. One technique you can use is download the zipped file to your home computer, unzip the files there, and then FTP the files up to your site. You can also use FTP to create a subdirectory, and change permissions, if your FTP software provides this functionality, and most do. I use FileZilla and it does everything you can need to install software on your site.

However, there is a drawback to this approach, which is why I never use it if I can avoid it. First, you have to download the files to your computer; then you have to upload the files to your site. In addition, you have to use a tool that is really meant to transfer files to do site file and directory management, and again, this is just something I don’t care for. It’s not efficient.

Instead, what I do is use SSH (Secure Shell) to virtually log onto my site, where I can then move easily about, deleting and moving files, changing permissions, and even downloading files easily and quickly using any number of utilities and tools that are traditionally installed with more full featured versions of Unix.

SSH is a way of creating a virtual shell (operating environment) on your remote site, and then running commands at the command line. If you have a good broadband connection, accessing the command line using SSH is very fast. Even modem access can be acceptable. By using SSH, you’re also very secure when working with your remote site because all communications between you and the site are encrypted, and protected from prying eyes.

Not all hosting companies provide SSH support, but the more comprehensive ones do, though you may have to have the ISP turn SSH support on for your site. (To know if you have SSH access, check with your ISP.) If your ISP does support it, then you’ll also need to have client SSH software installed on your home computer.

Users of Mac OS X are lucky, because SSH is built into the underlying Unix-based environment for the operating system. To access SSH directly, you can open a Unix command window using the Terminal application installed as part of the operating system utilities. You can also locate it using Finder, typing in “Terminal”.

The Terminal application gives you a Unix command line interface, so you can play around within your home computer before logging into your remote server–just remember that some commands are quick to run, but slow to recover from. When you’re ready to access your site, type in a command such as the following:

ssh -l shelley burningbird.net

This allows me to create a secure shell into burningbird.net, specifying my username for the site. I’ll then be asked for my password, and the SSH application will also provide you some feedback that an exchange of necessary information has been made between the server and the client. This exchange, then, allows all communication between you and the remote server to be encrypted, and safe from prying eyes.

(Note, if you’re concerned about something Nasty invading your pretty TiBook, no worries – inbound SSH, as with FTP, is turned off by default at installation.)

If you’re a Windows user, you’ll have to install SSH client software. I use a commercial product called SecureCRT, and I’m very happy with the tool. However, why pay bucks if you don’t have to. According to the WikipediaPuTTY is a favorite free SSH client for Windows and Unix. (If you know of other good ones, please put a note in the comments.)

Your ISP may also provide an online SSH client that you can use. A word to the wise, though: these almost invariably work miserably. You’re better off just using SSH software for your computer, or using what’s already installed.

The steps I’m going to take to set up a working subdirectory for each of these tools assumes that you’re using SSH to access the site’s Unix interface.

Creating a home for your weblogging software, and pulling in the files

First, I’m going to create the subdirectories for the tools. I’ve decided for these tutorials to create a semi-permanent home for these products under their own subdomain names: wordpress.burningbird.net and textpattern.burningbird.net. If your hosting company allows you to create subdirectories, it will also provide you the software, or the instructions, or both to create these. When the subdomains are created, the physical sub-directories are also, usually created.

However, to create a subdirectory is easy in Unix, as long as you have permission to create directories. If you can create directories with FTP, you can create them at the command line.

To create a directory, and make it accessible via the Net, you’ll need to change to your public Web site directory. In my environment, when I log in using SSH, I need to change to the public_html (or www, which is an alias) directory using a command like the following:

cd public_html

The ‘cd’ command is ‘change directory’, and as you can see, it’s pretty simple to use. If you want to go to a specific absolute address, you specify the entire directory structure, such as the following:

cd /home/shelley/public_html

If you want to move to the directory above your current location, use:

cd ..

or

cd ../../..

To move up three directories.

Once in the target directory, create your subdirectory as follows:

mkdir textpattern

At this point, a subdirectory called ‘textpattern’ is created. Change to that directory (using ‘cd’), and you’ll be ready to download the software.

On many Linux systems, there are some very helpful utilities installed. One of the more common ones is an application called Wget. What this application does is access a file and download it to your current location, whether that file is an HTML file, or the compressed file containing the Textpattern files.

To get the recent Textpattern build, I find the link for the file and then download it:

wget http://textpattern.com/deanload/textpattern_g118a.tgz

If wget is not installed on your system, or you don’t have a comparable program from your ISP (check with them), then download the zipped file to your client machine, and FTP it down to your server.

Note that I’m accessing the Gzip file, not the zip one. Once you see how fast wget works–remember that you’re now taking advantage of your ISP’s superior connections–you’ll see why I rarely use FTP to install software on my server.

Once downloaded, I need to both unzip the file as well as pull the contents out of the packed tar file. Again, making use of existing facilities, one way to unzip the TGZ (or tar.gz) files is to use gunzip to uncompress it, and then tar to pull the files from the tar file:

gunzip textpattern_g118a.tgz
tar -xf textpattern_g118a.tar

You can also use a Unix shortcut, which is to take the result from the gunzip operation and pass it to the tar program using what is known as a Unix Pipe:

gunzip -c packedfiles.tar.gz | tar -xf –

With this, the results of the gunzip program is passed as input to the tar application. It’s a shortcut, nothing else.

At this point, we’re ready to install Textpattern, but we’ll do that in the next essay, after we create the MySQL database for it. For now, what we’ll do is the same procedure for downloading WordPress:

  • Creat the directory for WordPress, using your ISP’s tools or by creating the directory using mkdir:

    mkdir wordpress

  • Change to the subdirectory just made using cd:

    cd wordpress

  • Download the software using wget:

    wget http://wordpress.org/nightly/wordpress-2004-05-05.tar.gz

  • Unzip it using gunzip and tar:

    gunzip -c http://wordpress.org/nightly/wordpress-2004-05-05.tar.gz | tar -xf –

If you’ve not experimented around with the Unix command line interface before, at this point you officially be bad.

This has been a rather fast intro to some basic Unix commands. For a more detailed one, I’ve recovered my Ten Basic Commands of Unix, and re-posted as a Survival Guide entry.

After that, we’ll start getting into the database and install both products.