Walk-through part 2: Making a blog

In this installment of the LnBlog walk-through, we'll be taking a look at the administration page and creating a new weblog. This will get you to the point of having a working, if empty, weblog.

Administration Page

When you access the main LnBlog URL again after your initial setup, you will be asked to log in and then taken to the administration page. LnBlog administration page This is where you will create new users, new blogs, and perform upgrade and administration functions.

Let's briefly go through the links you'll find on this page. In the "Add Features" section, the "configure site-wide plugins" link allows you to control the default plugin settings for your blogs. Plugins can be set up on a per-blog basis, so if you don't specifically change the plugin settings for a certain blog, the ones set here will be in effect. I'll cover plugin configuration in detail in a future installment.

The next link, "configure enabled plugins and load order" allows you to disable installed plugins and to change the order in which they are loaded. The defaults will probably be fine for a new installation, but if you want to, for example, put the blog sidebar panels in a different order, the easiest way to do it is by chaning the plugin load order. As with the plugin settings, loaded plugins are configurable on a per-blog basis.

The "edit system.ini file" and "edit group.ini file" links will simply let you edit the indicated files in a text area. Currently (as of version 0.8.0), the only reason to edit group.ini is to make other users administrators. The system.ini file, on the other hand, does have a few setting that you might be interested in. I'll save that for another day, though. Right now, we're still on the basics.

The "modify site-wide menubar" link is used to add custom links to the site map bar under the page banner. Note that this is also configurable on a per-blog basis, so use this link to create the default site map. Note that the site map is controled by the SiteMap plugin, which has several configuration options. If you do not change the settings, then the default behavior is to dynamically add a link in the sitemap to each blog you create, so you really only need this to add links to sections not managed by LnBlog.

The "add new user" link should be pretty self-explanatory. It just lets you create new users, just like you did in the last installment. The only difference is that any new users you create will not be administrators.

Creating Blogs

That brings us to the "add new blog" link. If you click that, you will be taken to the new blog screen. New blog screen Here you will enter the options for your first blog.

The first piece of information you need is the blog path. This is the root-relative URL of the blog and the path to the folder it will be created in. For example, if you give "myblog" as the blog path, then LnBlog will store this blog in a folder called "myblog" under the document root on your web server. The resulting URL of your blog would be http://yourhost.com/myblog/. Note that you can specify paths in this box as well, provided the beginning components of the path already exist. For example, you could give blogs/tech/linux as the path, so long as you already have a /blogs/tech/ on your server.

The blog owner is the username of whoever "owns" this blog. The blog owner is considered the administrator of this blog and can change any of the blog's settings. Note that site administrators, like your first user account, can also change any settings on any blog.

The "additional allowed writers" box lets you list specify a list of other usernames who can post new entries to this blog. You should separate the usernames by commas with no spaces. Note that these users will not be able to change any blog settings (unless they are also administrators).

The blog name and description boxes are pretty obvious - they're the name and description for your blog. These will be displayed in the page banner, the RSS feeds, and various other places. Note that the PageHeader plugin defaults to only show the blog name. There is an option to show the description as well.

The theme drop-down box allows you to select a theme for your blog. A theme is a set of templates, style sheets, images, and scripts that determine what your pages look like. Note that it is possible to customize your pages on a per-blog basis or to simply create your own theme, which can be either entirely original, or simply modifications to a few selected files. The themes use XHTML and CSS with a some inline PHP code to insert variables into templates and control display. Theming is a somewhat complicated topic, which I will, yet again, save for another day.

The "maximum number of entries" box determines how many blog entries to show on the front page of the blog. Likewise, the "maximum number of entries in RSS feeds" determines how many entries to show at once in the RSS feeds.

The "send Pingbacks when posting entries" box is used to enable or disable sending Pingback pings to pages your entries link to. By default, Pingback pings will be sent whether your entries accept Pingbacks pings or not. You can disable sending pings when you post your entry, but this sets the default.

The "allow enclosure for entries" box simply turns on and off the text box for entering an enclosure URL for blog entries. Enclosures are the feature of RSS by which podcasting is made possible. If you don't do any podcasting, then you can uncheck this box to remove the extraneous box from the post editor. If the extra text box doesn't bother you, can can safely ignore this option.

Lastly, the "default markup for entries and articles" box allows you to pick the default mode for writing your entries. You can override this on a per entry basis. The available choices are auto-markup (which is plain text with URLs made clickable), LBCode (which is a variant of BBCode), and raw HTML (no auto-generated code - not even line breaks). The default for new blogs is LBCode, as it is the easiest use, especially if you're familiar with web forums. You can read the LBCode documentation for the full list of supported tags.

When you have filled in all these boxes, click the submit button to create your blog. Note that the path and owner are the only fields that cannot be changed after you create the blog. (Well, technically they can be changed, there's just no graphical interface for it - you have to do it the old-fashioned way, with a text editor and an FTP client.)

You should now be looking at a nice blog page with no entries on it. Next time, we'll briefly go over the how LnBlog handles user security and then we'll move on to filling in that empty blog.

Walk-through: Initial setup

Welcome to te LnBlog walk-through! In this series of entries, I will be walking you through the process of setting up a weblog using LnBlog, from initial installation to advanced customization.

It is my hope that these articles will serve as a guide to help new users get up and running quickly and to help encourage people to try out LnBlog. If you have any questions or feedback, please feel free to post comments or e-mail me privately. I will do my best to answer all questions.

So, without further ado, let's get to it! Today's installment will cover installation and initial configuration. This will take you from zero to the main administration page.

Requirements

LnBlog doesn't have much in the way of requirements. In fact, that's half the point - it's meant to work well on both low-cost shared hosting accounts and full-featured hosting. The only hard and fast requirements are PHP 4.1, the standard Perl-Compatible Regular Expression extention (which nearly every installation should have), and the ability to write files, either through PHP's normal functions or via FTP. Support for the less-common gettext, CURL, and fileinfo or mime-magic extensions is recommended, but not required for proper operation. Things will work better if you have them, but don't worry about it if you don't.

Installation

After downloading a copy of LnBlog, the first order of business is to get it on your web server. To do this, simply extract the LnBlog-version.zip file to your hard drive and upload the resulting folder to your web host. You will probably want to rename the directory to remove the version number, so that upgrading to a newer version will be easier. Note that you need to upload the folder to someplace under your document root directory, i.e. somplace where you can get to it with a web browser.

Initial Configuration

To configure LnBlog, fire up your favorite web browser and point it to the URL corresponding to where you put the LnBlog folder, e.g. http://yourhost.com/LnBlog/. This will launch the file writing configuration screen, seen here. LnBlog file writing setup screenThe first section asks you to set the path to the document root directory on your web server. LnBlog will calculate a default value for this. The default should be right for your setup, but you can change it here if it's not. If you're not sure, try the "test document root" link to run a simple test.

The second section on this page asks you to configure file writing. Here, you have two choices. You can either use PHP's native file writing functions, or you can write files through FTP. For shared hosting accounts, especially cheap ones, the recommended setup is to use FTP file writing, because you won't have to worry about safe mode or directory permissions.

If you choose native file writing, no further configuration is required within LnBlog. However, there are a few things to keep in mind. First, native file writing won't work with PHP's safe_mode enabled, so you'll have to get your hosting provider to turn it off for your account. Also, you will have to check the file permissions on the web server and make your LnBlog/userdata folder writable to everyone. Keep in mind that when you create new blogs, you will also have to the directory where you create them writiable to all users. Because file permissions have to be handled manually, native file writing can be harder to manage, especially when using shared hosting accounts.

FTP file writing should not require many manual setup and it works just fine when safe_mode is enabled. However, it does require that you have FTP access to your web space. It also requires some extra configuration.FTP file writing configuration You will need to provide a username and password for a user account which can upload files to your site via FTP. LnBlog will assume that the FTP server is running on the same machine as the web server (hence the name localhost) and will attempt to calculate the root directory for FTP access automatically. This should work for most configurations, but you can also specify these manually if you need to. You can click the "test FTP root" link to get a simple test page that will attempt to connect to the FTP server and calculate the FTP root directory.

Once you have picked your file writing method, click the submit button. If all goes well, you will be taken to the user creation page. Create new administrator pageThis page allows you to create a new user who will serve as the system administrator. That means that this user will be able to create other user accounts, create new blogs, and make changes to any existing blog or post. In other words, an administrator is allowed to do anything that can be done in LnBlog.

As for the fields themselves, you can enter any username you like. The "real" name is the name that will be displayed as the author's name on posts you create, so it is recommended that you specify some name here. An e-mail address is required if you want to get e-mail notifications of replies (i.e. TrackBacks, Pingbacks, and reader comments). The homepage is purely for informational purposes. Lastly, the contact URL allows you to enter an HTML like that allows people to contact you. If you enter a link here, then that will be displayed in your profile instead of your e-mail address.

Once you have successfully created your account, you will be redirected to the login page. Note that this first user account will be automatically marked as the administrator, so you will be able to use this account to log in and administer LnBlog. This includes editing configuration files, creating new users, creating new blogs, and so forth. We'll take a look at the administration page and creating anew blog in the next installment.

LnBlog 0.8.0, "No Need for TrackBack"

Well, it's finally here: LnBlog 0.8.0 is now available. You can grab it here or go to the download page.

Several files have been removed in this release, so to upgrade, you should upload the new directory to your server and then copy/move your old userdata folder into it. Before that, though, you might want to take a look at the new system.ini file, just to see what the new options are. That part is optional, though.

Lots of changes and lots of bug fixes in this release. I won't bore you with all (or even most) of the specifics. That's what the changelog is for. However, for this version, I did do some extra testing and even documented the outstanding problems in this release. Fortunately, most of them are relatively small.

There are bunches of new features. First, LnBlog now has support for Pingbacks. You can turn on and off both the sending and receiving of Pingbacks on a per-entry basis. Note that there is an AllowLocalPingback setting in the entryconfig section of the system.ini file. If you set this to 0, then LnBlog will not send Pingback pings to enrties on your

Second, there's a new standard plugin: the TrackbackValidator. Basically, this checks the URLs of incoming TrackBack pings to see if they link to your blog. This works on the principle that legitimate TrackBacks almost always link to you, but TrackBack spam almost never does. So far, it seems to have completely eliminated my TrackBack spam problem.

Third, there's now a standard profile.ini file. This adds a custom "contact me" link field for your profile. This field takes an HTML link as its input. If this is given, then your e-mail address will not be displayed in your profile. You can use this with the ContactForm plugin.

Fourth, LnBlog now has simple Podcast support. Basically, this means you can add an enclosure URL to your entries and it will be included as an RSS enclosure in the RSS 2.0 feed (if you have one). You can either enter the RSS attributes directly, specifying url="http://somehost/file" length="12345" type="audio/mpeg", or, if the file in on the same server as LnBlog, you can give the URL and let LnBlog compute the file size and MIME type. Note that you can also use LBCode-style relative URIs, giving only the name for files in the entry directory, or a path relative to the blog root.

Last, I've reworked the post editor, including a lot more JavaScript. I've condensed the LBCode editor buttons, added a drop-down menu to add topics, and hidden the extra settings in an expandable box. I think it's much easier to use now. Also note that there's an EditorOnBottom setting to the entryconfig section of the system.ini file. Although it's not acutally in the default file, the default value is 0, which puts the editor buttons above the text area. Add this setting with the value of 1 to put them below.

I think that pretty much sums up the big things for this release. As usual, all forms of feedback are welcome. If you have any comments, find any bugs, or whatever, feel free to leave a comment, e-mail me, or whatever.