-
I posted to worthyisthelamb.info
http://worthyisthelamb.info/blog/rss.xml
worthyisthelamb.info
Now that you installed Drupal on your site, how do you turn it into a blog? As a newcomer, what you will soon encounter is:
A default install that leaves you with what appears to be a broken site. Documentation geared for programmers (so it’s packed with tech jargon).
A non-intuitive gui (compare adding widgets in Wordpress, for example, to adding blocks in Drupal).
No worries, though. Getting your site up and running is a snap. <!--break--> h2. #1 Installation
Installing Drupal is about as simple as unzipping a file. Unzip (or untar) the source files either on the web server root or in a subfolder. The url of your site will be either http://your-site/ or http://your-site/blog, depending on what you called the subfolder. But don’t visit your site just yet. First, you need to create a mysql database.
Note: If you are impatient and are not familiar with cron jobs, you can leave that for the end. You don’t really need that to run right now.
On a host like Dreamhost, there are tool wizards for creating databases. The steps involved are (1) create the database, (2) create a user to access the database, (3) give the user ALL access privileges to the database, and (4) add a password for the user. Make sure to write down the values for the database since you will need them for the install script.
Once done, visit the url of your site. The install script should run. Fill in the values for your database.
Note: On a shared host, the server adds your host username to the database and database username. So, for example, if the database is called blog, the database user is blogger and the host username is foo. Then your database is actually foo_blog and the database user is foo_blogger.
If you are running your site on a home machine, you’ll need to first make sure mysql is installed and running. This is two distinct steps: (1) installing mysql and (2) running the daemon. While it may sound obvious, when I was first starting out, I thought these two steps were one and the same. (I was spoiled by Ubuntu.)
Once mysql is running, don’t bother installing a GUI. For installing Drupal, all you need is the command line:
log in: mysql -u root -p create the database: CREATE DATABASE databasename;
add the user to the database, give the user all access privileges, and setup a password (all in one step): GRANT ALL ON databasename.* TO userlocalhost IDENTIFIED BY “password”;@
#2. Modules
Before you can blog, enable the blogging module. Do this in Administer >> Site building >> Modules.
While you’re there, make sure the following are enabled:
Blog API — allows you to blog from an external application, like ScribeFire for Firefox or Microsoft’s LiveWriter. (Yes, Microsoft. This is actually a great little program for blogging. It’ll even automagically upload pictures to your blog. The only drawback is that it’s windows only.) Comment Contact Path — for human readable url’s instead of node/1, node/2, etc. Ping — so that Drupal automagically lets blog services know you wrote a post Poll — for polls, like “Which is your favorite theme?” Search Taxonomy — for tags or labels
and any other modules you may find useful
#3. Tags/Labels
You enabled “tags” or “labels” in the previous step. Now you need to create a vocabulary. A vocabulary is simply a name for your tags. Having more than one vocabulary allows you to have different tags for different topics. So, for example, you can have one set of tags for Music posts and another set of tags for Technology posts.
Go to Administer>>Content Management>>Taxonomy>>Add vocabulary. Then:
Give your “vocabulary” a name, like Music. Check off the content types you want to use. (Check off at least Blog entry.)
Under settings, check off tags (for easy tag creation) and multiple select (so you can use more than one tag per post).
#4 Permissions
If you were to add a post right now, you’d find that guest users can’t comment or search the site. You need to set permissions.
Go to Administer>>Permissions>>. At this point you have only 3 types of users: (1) Anonymous (guest), (2) Authenticated (registered), and (3) Admin. (They are not listed since they have permission for everything.)
Make sure guest and registered users can do the following:
access comments post comments access site-wide comment form access content vote polls search content
use advanced search
Note that a registered or Authenticated user is anyone who registers from the site, so it’s probably a bad idea to give them admin permissions.
#5 An About Page and Contact Form
An About Page
We’re almost done — just a few more finishing touches. Create an “about” page. Go to Create content>>Page.
Write down the url of the page.
A Contact Form
In Drupal there is actually a single contact form for the entire site. So you can, for example, set up a contact form for the webmaster, “author1”, “author2”, etc.
Each Category corresponds to a different contact form. Different recipients are selected with a simple drop-down box.
Go to Administer>>Site building>>Contact form. Click on Add category. In Category, write the name that will appear in the drop-down box.
The url of the contact form is http://your-site/contact or http://your-site/blog/contact (depending on how you setup your site).
Your contact form and about page are done. We’ll link to them in the next step.
#6 Primary links (the Navigation Bar)
Let me first clarify the terminology using Wordpress as a reference point (only because the jargon makes more sense there).
In Wordpress, most blogs have: (1) a blogroll (usually a list of links in the sidebar), (2) a static menu bar for navigation (Ex: Home | About | Contact — usually found in the top in the form of tabs), (3) a dynamic menu bar in the admin theme that changes depending on what you are doing.
In Drupal, as far as I can tell, a blog roll is a Menu, created in Adminster>>Site building>>Menus>>Add menu. (They’re not the Secondary links because many themes hardcode them into weird places.)
The static navigation menu bar is … ahem, called the Primary links (for crying out loud!). This drove me nuts when I first started because I was expecting this to be the blog roll. No, most themes (including the default Garland theme) treat this as a navigation bar.
The dynamic menu bar is called the Navigation menu. In Drupal, this can be used for more than just administrating your site. For example, if you add a “book” section, this menu can be used to navigate the different sections of your book.
Now that everything is clear, let’s add the About page and the Contact form to the primary links. Go to Administer>>Site building>>Menus>>Primary links. Adding links should be straightforward.
In the default Garland theme, links to the Contact form and About page should automagically appear at the top of the page.
#7 Blocks
Blocks are widgets on the page with a very specific job. Ex: the top posts block, the recent comments block, the tag cloud block, etc.
Go to Administer>>Site building>>Blocks. Add whatever blocks tickle your fancy. The following is a list of recommended (default) blocks:
Navigation (actually, this is a must — you can’t admin without it) User login Search form (search bar) Syndicate (RSS) Primary links
Most recent poll
Many themes hardcode the location of certain blocks, meaning you don’t have to add it (nor can you move it or delete it). For example, the default Garland theme hardcodes the search bar block in the left sidebar and the RSS link in the footer.
Also, sadly, Drupal doesn’t come (by default) with a tag cloud block or top post block. Although I’m pretty sure you can install those as plugins. Oh right, while we’re in the topic of plugins, Drupal calls these modules. Installing a module is a simple as unzipping the file into the modules folder and then enabling the module.
#8 Tie Up Loose Ends
You’re pretty much done. Go reward yourself by creating your first post. Go to Create content>>Blog entry. Make sure you make the url human readable by giving it a name in URL path settings. (If you hate doing this for each post, install the pathauto module.)
When you return, tie up the remaining loose ends:
The Cron Job
Enable the cron job in case you skipped that step in the beginning. The official docs do a pretty good job of explaining how to do this. I recommend using the secure cron if your host can handle it.
Enable Caching
To help fight the dig effect, enable caching. Go to Administer>>Site configuration>>Performance.
Use A WYSIWIG Editor
As you may have noticed when you wrote your first post, the html was done by hand. You have three alternatives:
Use an external WYSIWIG editor like LiveWriter or ScribeFire. Run the textile or markdown modules.
Install a WYSIWIG editor plugin for Drupal.
Change the Theme
Installing a theme is as simple as unzipping the theme file in the themes folder and enabling the theme. A good theme site is the Drupal Theme Garden. Note that there are many amateurish themes but there are also many gems, like Scruffy. (OK, a good theme is a matter personal taste.)
Read the Docs
Read the official docs when you get a chance, specially the docs on securing your site. Security can be summarized by these two things: (1) correct file permissions and (2) no directory listings.
Well that’s it!
Array ( [title] => Setup a Blog Using Drupal in 10 Minutes [permalink] => http://worthyisthelamb.info/blog/setup-drupal-blog-in-10-minutes [content] =>
Now that you installed Drupal on your site, how do you turn it into a blog? As a newcomer, what you will soon encounter is:
- A default install that leaves you with what appears to be a broken site.
- Documentation geared for programmers (so it’s packed with tech jargon).
- A non-intuitive gui (compare adding widgets in Wordpress, for example, to adding blocks in Drupal).
No worries, though. Getting your site up and running is a snap.
<!--break-->
h2. #1 InstallationInstalling Drupal is about as simple as unzipping a file. Unzip (or untar) the source files either on the web server root or in a subfolder. The url of your site will be either
http://your-site/orhttp://your-site/blog, depending on what you called the subfolder. But don’t visit your site just yet. First, you need to create a mysql database.Note: If you are impatient and are not familiar with cron jobs, you can leave that for the end. You don’t really need that to run right now.
On a host like Dreamhost, there are tool wizards for creating databases. The steps involved are (1) create the database, (2) create a user to access the database, (3) give the user ALL access privileges to the database, and (4) add a password for the user. Make sure to write down the values for the database since you will need them for the install script.
Once done, visit the url of your site. The install script should run. Fill in the values for your database.
Note: On a shared host, the server adds your host username to the database and database username. So, for example, if the database is called
blog, the database user isbloggerand the host username isfoo. Then your database is actuallyfoo_blogand the database user isfoo_blogger.If you are running your site on a home machine, you’ll need to first make sure mysql is installed and running. This is two distinct steps: (1) installing mysql and (2) running the daemon. While it may sound obvious, when I was first starting out, I thought these two steps were one and the same. (I was spoiled by Ubuntu.)
Once mysql is running, don’t bother installing a GUI. For installing Drupal, all you need is the command line:
- log in:
mysql -u root -p - create the database:
CREATE DATABASE databasename;
- add the user to the database, give the user all access privileges, and setup a password (all in one step):
GRANT ALL ON databasename.* TO userlocalhost IDENTIFIED BY “password”;@
#2. Modules
Before you can blog, enable the blogging module. Do this in
Administer >> Site building >> Modules.While you’re there, make sure the following are enabled:
Blog API— allows you to blog from an external application, like ScribeFire for Firefox or Microsoft’s LiveWriter. (Yes, Microsoft. This is actually a great little program for blogging. It’ll even automagically upload pictures to your blog. The only drawback is that it’s windows only.)CommentContactPath— for human readable url’s instead ofnode/1,node/2, etc.Ping— so that Drupal automagically lets blog services know you wrote a postPoll— for polls, like “Which is your favorite theme?”SearchTaxonomy— for tags or labels
- and any other modules you may find useful
#3. Tags/Labels
You enabled “tags” or “labels” in the previous step. Now you need to create a vocabulary. A vocabulary is simply a name for your tags. Having more than one vocabulary allows you to have different tags for different topics. So, for example, you can have one set of tags for Music posts and another set of tags for Technology posts.
Go to
Administer>>Content Management>>Taxonomy>>Add vocabulary. Then:- Give your “vocabulary” a name, like Music.
- Check off the content types you want to use. (Check off at least
Blog entry.)
- Under
settings, check offtags(for easy tag creation) andmultiple select(so you can use more than one tag per post).
#4 Permissions
If you were to add a post right now, you’d find that guest users can’t comment or search the site. You need to set permissions.
Go to
Administer>>Permissions>>. At this point you have only 3 types of users: (1) Anonymous (guest), (2) Authenticated (registered), and (3) Admin. (They are not listed since they have permission for everything.)Make sure guest and registered users can do the following:
access commentspost commentsaccess site-wide comment formaccess contentvote pollssearch content
use advanced search
Note that a registered orAuthenticateduser is anyone who registers from the site, so it’s probably a bad idea to give them admin permissions.#5 An About Page and Contact Form
An About Page
We’re almost done — just a few more finishing touches. Create an “about” page. Go to
Create content>>Page.Write down the url of the page.
A Contact Form
In Drupal there is actually a single contact form for the entire site. So you can, for example, set up a contact form for the webmaster, “author1”, “author2”, etc.
Each
Categorycorresponds to a different contact form. Different recipients are selected with a simple drop-down box.Go to
Administer>>Site building>>Contact form. Click onAdd category. InCategory, write the name that will appear in the drop-down box.The url of the contact form is
http://your-site/contactorhttp://your-site/blog/contact(depending on how you setup your site).Your contact form and about page are done. We’ll link to them in the next step.
#6 Primary links (the Navigation Bar)
Let me first clarify the terminology using Wordpress as a reference point (only because the jargon makes more sense there).
In Wordpress, most blogs have: (1) a blogroll (usually a list of links in the sidebar), (2) a static menu bar for navigation (Ex:
Home | About | Contact— usually found in the top in the form of tabs), (3) a dynamic menu bar in the admin theme that changes depending on what you are doing.In Drupal, as far as I can tell, a blog roll is a
Menu, created inAdminster>>Site building>>Menus>>Add menu. (They’re not theSecondary linksbecause many themes hardcode them into weird places.)The static navigation menu bar is … ahem, called the Primary links (for crying out loud!). This drove me nuts when I first started because I was expecting this to be the blog roll. No, most themes (including the default Garland theme) treat this as a navigation bar.
The dynamic menu bar is called the Navigation menu. In Drupal, this can be used for more than just administrating your site. For example, if you add a “book” section, this menu can be used to navigate the different sections of your book.
Now that everything is clear, let’s add the About page and the Contact form to the primary links. Go to
Administer>>Site building>>Menus>>Primary links. Adding links should be straightforward.In the default Garland theme, links to the Contact form and About page should automagically appear at the top of the page.
#7 Blocks
Blocks are widgets on the page with a very specific job. Ex: the top posts block, the recent comments block, the tag cloud block, etc.
Go to
Administer>>Site building>>Blocks. Add whatever blocks tickle your fancy. The following is a list of recommended (default) blocks:- Navigation (actually, this is a must — you can’t admin without it)
- User login
- Search form (search bar)
- Syndicate (RSS)
- Primary links
- Most recent poll
Many themes hardcode the location of certain blocks, meaning you don’t have to add it (nor can you move it or delete it). For example, the default Garland theme hardcodes the search bar block in the left sidebar and the RSS link in the footer.
Also, sadly, Drupal doesn’t come (by default) with a tag cloud block or top post block. Although I’m pretty sure you can install those as plugins. Oh right, while we’re in the topic of plugins, Drupal calls these modules. Installing a module is a simple as unzipping the file into the
modulesfolder and then enabling the module.#8 Tie Up Loose Ends
You’re pretty much done. Go reward yourself by creating your first post. Go to
Create content>>Blog entry. Make sure you make the url human readable by giving it a name inURL path settings. (If you hate doing this for each post, install thepathautomodule.)When you return, tie up the remaining loose ends:
The Cron Job
Enable the cron job in case you skipped that step in the beginning. The official docs do a pretty good job of explaining how to do this. I recommend using the secure cron if your host can handle it.
Enable Caching
To help fight the dig effect, enable caching. Go to
Administer>>Site configuration>>Performance.Use A WYSIWIG Editor
As you may have noticed when you wrote your first post, the html was done by hand. You have three alternatives:
- Use an external WYSIWIG editor like LiveWriter or ScribeFire.
- Run the textile or markdown modules.
- Install a WYSIWIG editor plugin for Drupal.
Change the Theme
Installing a theme is as simple as unzipping the theme file in the
themesfolder and enabling the theme. A good theme site is the Drupal Theme Garden. Note that there are many amateurish themes but there are also many gems, like Scruffy. (OK, a good theme is a matter personal taste.)Read the Docs
Read the official docs when you get a chance, specially the docs on securing your site. Security can be summarized by these two things: (1) correct file permissions and (2) no directory listings.
Well that’s it!
[enclosures] => Array ( [0] => SimplePie_Enclosure Object ( [bitrate] => [captions] => [categories] => [channels] => [copyright] => [credits] => [description] => [duration] => [expression] => [framerate] => [handler] => [hashes] => [height] => [javascript] => js [keywords] => [lang] => [length] => [link] => [medium] => [player] => [ratings] => [restrictions] => [samplingrate] => [thumbnails] => [title] => [type] => [width] => ) ) [categories] => Array ( [0] => SimplePie_Category Object ( [term] => CMS [scheme] => [label] => ) [1] => SimplePie_Category Object ( [term] => Drupal [scheme] => [label] => ) ) [tags] => Array ( [0] => CMS [1] => Drupal ) [image] => ) -
I posted to worthyisthelamb.info
http://worthyisthelamb.info/blog/rss.xml
worthyisthelamb.info
I’m a huge fan of markdown and textile. It was only natural that I use textile for my blog. I first tried the king of blogs, Wordpress. However, the textile plugin for Wordpress is well, ... let’s just say inefficient. By default, everytime some visits a page, the plugin turns the textile page into HTML right there on the spot. This is only asking for trouble when your site gets any decent amount of traffic. (To be fair, you can use other plugins to achieve the same effect. However, I decided against Wordpress because I wanted to try something new.) <!--break--> So then I tried TextPattern. I’ll admit, TextPattern had me drooling at first — it’s a CMS built around textile. That’s right, you get textile built right in and a full featured CMS. On top of that, instead of PHP, it uses a very elegant (and simple) HTML-like markup. Who can beat that?
Unfortunately, the honeymoon soon ended — my default site (no plugins) with a mere two articles, ran painfully slow. The reason is that TextPattern does not use cacheing. That means all that “elegant” HTML-like markup gets turned into PHP each time anyone visits your site. That’s CPU intensive. On my slow host, this is the kiss of death.
Yes, I can use plugins to cache in TextPattern — but, unfortunately, I know from past experience that’s only asking for trouble. When you rely on an add-on for core functionality, stuff inevitably breaks. Thus, I’m leaving TextPattern and switching back to Drupal.
Array ( [title] => TextPattern, I Bid Thee Farewell [permalink] => http://worthyisthelamb.info/blog/node/4 [content] =>
I’m a huge fan of markdown and textile. It was only natural that I use textile for my blog. I first tried the king of blogs, Wordpress. However, the textile plugin for Wordpress is well, ... let’s just say inefficient. By default, everytime some visits a page, the plugin turns the textile page into HTML right there on the spot. This is only asking for trouble when your site gets any decent amount of traffic. (To be fair, you can use other plugins to achieve the same effect. However, I decided against Wordpress because I wanted to try something new.)
<!--break-->
So then I tried TextPattern. I’ll admit, TextPattern had me drooling at first — it’s a CMS built around textile. That’s right, you get textile built right in and a full featured CMS. On top of that, instead of PHP, it uses a very elegant (and simple) HTML-like markup. Who can beat that?Unfortunately, the honeymoon soon ended — my default site (no plugins) with a mere two articles, ran painfully slow. The reason is that TextPattern does not use cacheing. That means all that “elegant” HTML-like markup gets turned into PHP each time anyone visits your site. That’s CPU intensive. On my slow host, this is the kiss of death.
Yes, I can use plugins to cache in TextPattern — but, unfortunately, I know from past experience that’s only asking for trouble. When you rely on an add-on for core functionality, stuff inevitably breaks. Thus, I’m leaving TextPattern and switching back to Drupal.
[enclosures] => Array ( [0] => SimplePie_Enclosure Object ( [bitrate] => [captions] => [categories] => [channels] => [copyright] => [credits] => [description] => [duration] => [expression] => [framerate] => [handler] => [hashes] => [height] => [javascript] => js [keywords] => [lang] => [length] => [link] => [medium] => [player] => [ratings] => [restrictions] => [samplingrate] => [thumbnails] => [title] => [type] => [width] => ) ) [categories] => Array ( [0] => SimplePie_Category Object ( [term] => CMS [scheme] => [label] => ) [1] => SimplePie_Category Object ( [term] => General [scheme] => [label] => ) [2] => SimplePie_Category Object ( [term] => TextPattern [scheme] => [label] => ) ) [tags] => Array ( [0] => CMS [1] => General [2] => TextPattern ) [image] => )
Page: 1
