IPCop Configuration Backup

Contents

History The intent of this enhancement was to implement a feature I felt was missing from IPCop. Though IPCop had a mechanism for backing up the configuration to a floppy disk, this would obviously not work if a floppy drive was not present in the machine. And, if a floppy drive was present, it could be inconvenient to use, especially if the floppy disk needed to be left in the machine or if the IPCop machine was not easily accessible. So, I set out to remedy that.

IPCop

IPCop is a very capable open source firewall. I highly recommend it. For more information, follow the title link. This page is to document my additions to it. IPCop Configuration Backup This enhancement is to increase the configuration backup capabilities of IPCop. IPCop v1.2 through v1.3.0 only allowed for backing up the configuration to a floppy disk. This enhancement allows for backing up the configuration through the web interface. Note: This functionality is included in IPCop starting with v1.4.0.

Web Site Evolution, Part I

Or, From Static to PHP Just a little background I have had a web site of some sort since around 1995. What you see on this site is, of course, the current implementation. As with most sites, this is not how it started. Though I have worked with some of the technologies used to created dynamic web sites, I have not used them to my own web site until fairly recently. For a very long time, I had a purely static web site, static HTML pages and mostly static content, too. Between then and now, I have experimented with various approaches, still having a mostly static result. Other than just adding some simple links pages, the early changes were to add some of my photography to the site just to add some spice. This helped some, adding some visual interest if not much else. For a time, I experimented with the ArsDigita Community System(ACS). This web application framework was written in Tcl, ran on AOLserver and used the Oracle database server. This had the capability of creating dynamic web sites, though it also included an associated cost that made it prohibitive for my to use long-term for my personal web site. OpenACS offered an alternative to this. Based on ACS, it used the PostgreSQL database instead of Oracle. Also written in Tcl and running on AOLserver, this provided the capability for dynamic web sites with a lower cost of entry. While fun to experiment with for a while, I felt the need for something more, more mainstream that is. Part of the desire to use mainstream technologies was the desire to development marketable skills. So, during the ACS experimentation, I also looked at having a Java based web site. This testing and evaluation was done using the Apache web server combined with the Jakarta Tomcat Java Servlet container. This, too, was fun to work with and more popular than Tcl and AOLserver. Further experimentation used Perl and Python with the Apache web server, two other popular solutions. Eventually, I ended up with the framework I have now, which seems to be growing in popularity. What next? Developing web applications at work with Microsoft’s ASP demonstrated the ease of development offered by scripted web pages. The addition of VB COM components handled the intensive tasks. This combination allows for fairly rapid development, with compiled code providing increased speed where necessary. With my personal web site, I do not expect to have traffic that would require compiled code. It is possible some portions in the future may be compiled, but I expect that to be the exception more than the rule. As for the Microsoft tools, I am also reluctant to spend the money required to license the servers and development tools for creating and running a personal web site. That is not to say that I will not do that in the future, only that I have not done it for a while. During my independent consulting days as BSoft Productions, I did have a Microsoft MSDN subscription. When that was no longer tax deductible as a business expense, the subscription and the expense ended. Now that ASP.Net works with C#, it may be worth making the investment again. But, I digress. The use of Microsoft technologies raises again the cost factor, which can be substantial. ACS was cost prohibitive due to Oracle and the skills to be gained using Tcl and AOLserver technologies used by OpenACS were not quite marketable enough. Web technologies have changed since then as they continue to do. The ease of development offered by scripted languages such as Perl and Tcl continue with new languages being added. One such language is PHP. After some experimentation with it, I decided to rework my web site using PHP as the basis. A web server running Linux, Apache with mod_PHP and using PostgreSQL for the database provides the capabilities for hosting a dynamic web site while still offering the low cost factor. With the growing popularity of PHP, the skills may have future marketability also, though possibly not as much as with Microsoft technologies. However, in order to pay now to earn later, you need to be able to pay now, which I cannot afford at the moment. The choice I made should be a nice compromise for personal use. While the syntax may be different, PHP web pages offer scripted classes and inheritance. I have heard that ASP.Net and C# offer this as well. Though I have not yet had a chance to work with the .Net technologies, I plan to do so when the opportunity presents itself, but I digress again. Current implementation Over a couple days time, I made some changes that will provide a framework for future enhancements. The first change was to add the Gallery software to allow for easily adding images and albums without requiring code changes. The second change was a bit more drastic, replacing the static HTML pages with a framework written using PHP. This framework is based primarily on the support of classes and inheritance offered by PHP. There is a base class for a Page, which the individual pages inherit from. Supporting the Page class is a Breadcrumb class and replaceable PageSection derived classes. The class inheriting from Page provides the actual content for the pages. The PageSection derived classes, PageTop, PageCenter and PageBottom, serve a supporting role to the Page classes. The use of CSS and replaceable pages and page sections derived from common base classes allow for easily changing the look of the entire site. The next article will have more details on the beginnings of the framework. Proposed enhancements The quick, two-day change is just the start of the work I have planned. While the use of a pre-written PHP framework may allow for a more rapid implementation, it would not provide the educational experience I also desire. Besides, I am not even sure such a framework exists and searching for it has not been a priority. A few of the changes I have planned are to use the database for data storage. The first few changes are for the articles, links and bookshelves. I will provide more details on these in future articles, but here is a quick overview. Articles: The current implementation for articles includes the page contents by reading the data from a static file. This was the quickest change from static HTML to using PHP, but does not provide the dynamic nature I wish for. The article data needs to be stored in a database according to topic. The first iteration will likely have the entire page data stored. Eventually, I would like to store different segments of the articles separately to allow for better formatting capabilities. Links: Maybe I have too many. I definitely have too many that have gone stale. Moving them to the database will provide an easier way to manage this. A regularly running script can check the database for stale links, marking which ones have possibly gone stale or are just having the site reworked. After being stale for a time, they can be automatically hidden and marked for removal. Bookshelf: I had started creating bookshelves to track some of the books I have on my shelves. As with the articles, I have books on many different topics. To present some of these on the web site, a database would provide an easier way to add new books without having to modify the pages to do so. I would like to have the ability to add new book entry simply by entering an ISBN number. The admin pages should be able to find the cover images to use for creating the links. Conclusion This seems like a lot of work for a personal site and it is given the time constraints of family life. While some individuals may benefit from the information presented, I feel I benefit the most. The educational experience alone is worth the effort. Besides, maybe the framework will become good enough to share or, at a minimum, others can learn from my mistakes.

Little Red Ride

Or, My First Bike Yes. I did get a bike. No. I have not yet passed the MRC:RSS. Hmmm. How do I approach this? My original goal was to get decent gear, pass the MRC:RSS, get my license and then buy my first bike. I still want to do all those things. Only the order has changed. That’s my story and I’m sticking to it, though I can provide a bit more detail. After several months of not being able to take the MRC:RSS, I was getting tired of waiting for a chance. I could just try to wait it out, but I didn’t want to wait another year. I had started waiting last year for this year. I didn’t want to put it off for another. I still believe in the value of the education provided by the course. I am thankful for the knowledge I did receive from the portions of the course I was able to take. If I did not have at least some foundation, I wouldn’t have altered my path the way I did. But, I did and I’m not sorry either. I had taken a look at a local bike that would fit me fairly well. It was a Suzuki Bandit 600S, and it was red. But, I didn’t get it. During the discussion with the owner and a friend of his, I became a bit apprehensive about it. It had been sitting for a while, several months in fact. I asked about what he did before storing it and he told me, but a specific piece of information I was looking for was missing. Later in the conversation, I asked if they ever put StaBil in the tank. The owner mentioned that the dealer might have done that. It was obvious that he didn’t know what it was for. His friend clued him in. This was to be my first bike and I was looking at it, alone but for my wife. What did I know about evaluating a used bike? Nothing. That’s what. While it may have been minimal, I didn’t want to risk carmelization and a possible carburetor overhaul. There was quite a bit of fuel that could have carmelized, too. It sloshed quite a bit when I rocked the bike sideways. Also, I haven’t heard of a dealer doing something that wasn’t asked for. Since the owner hadn’t asked, I doubt it had been added. Progress on finding the right bike was slow. As I didn’t know what type of riding I would be doing, I wasn’t exactly sure what I wanted. Reading various reviews and comments on web sites gave me a few more choices. I knew I wanted a standard. That would give me a good balance between a crotch rocket and a cruiser, neither of which really attracted me. My readings pointed me towards either a Kawasaki ZR-7, a Suzuki Bandit 600S or a Suzuki SV650. I went to look at another Suzuki, an SV650 this time, a new one. I visited a couple of dealers, each of which had a new SV650 in stock. One was blue. The other was red. I didn’t get either one, though a slight change in pricing might have changed thing. It wasn’t the price actually that caused me not to get it. The difference in prices allowed the circumstances to play out. Both dealers had given me out the door prices over the phone. I won’t debate the value of that practice here. Suffice it to say that the red one was slight higher priced than the blue. Blue is my favorite color, too. But, I digress. After speaking with the dealer selling the blue SV650, I managed to get some time off work and went for a visit. The sales person I had spoken with was busy with another customer, along with their significant other. During a quick break from them, he asked if I would wait a bit while he finished with them. No problem. I could wait a little while and went to look at the bikes. I found the blue SV650 parked outside around the corner. I sat on it and tried out the fit. I walked around some more and tried it out again. I had been there a little while now and went back to check on the sales person. My salesman was still busy with the original customer; I could wait a little more. After a bit more waiting, I heard something a customer should never hear. The original customer had walked outside to look at the bikes again and my salesman was in a heated argument with someone that I guessed to be the sales manager. They were cussing up a storm, in the showroom no less, and in front of several customers. This complete lack of professionalism really turned me off. Then, to top it off, my salesman started talking to another customer right in front of me. They obviously didn’t want my business. So, I left. Besides, the lean angle on the SV650 bothered my back a bit. I wasn’t sure I could take that for a long period of time anyway. I needed to look at something different. Earlier in the year, back when the motorcycle show was in town, I managed to attend it. I attended another one when I went to Minnesota to pick up my Aerostich. Of course, I’m going to sit on some bikes at the show. That’s what we go for. Right? There always seemed to be one brand that I was more attracted to than the others. They’re a class act for sure. Quite a few people think so anyway. I did too, though I wasn’t sure I could swing it. As with many motorcycle manufacturers, there are larger models and smaller models. My preference was for a particular larger model. My long-term goals would have picked a different model, but for a first bike, this one might work ok. The smaller model was nice, too, but I liked the larger just a bit more. Though the motorcycle shows had been months earlier, I started thinking about these bikes again. I should go take another look. After a perusal through the manufacturers’ web site, a search of the dealer locator page and a few phone calls, I found a local dealer who had the model I was interested in. Though late in the day, I arranged to go take a look at it and try it on again. This I did. I tried it on and had a good conversation with the salesman. Again I heard something I had not expected to hear at a dealership. The salesman told me that I should not buy this as a first bike, but should buy a smaller Japanese bike to learn on. Unexpected? Definitely. But, it made me want to give them my business just on principal. The dealer was Laurel BWM in Westmont, IL and they only sell BMWs. He was telling me to give my money to another dealer. That’s unheard of, to me anyway. Rafe said that the R1100RL was just a bit too large for me to start on. He had an F650, but wanted to keep that as a loaner. It was hard to believe that they would sacrifice a sale for the good of their customers. Needless to say, I was impressed. I did end up buying a BMW, but the smaller one. I am now the proud owner of a 1998 BMW F650, red, of course. Chicago Cycle had it in on consignment. The prior owner was moving to the West Coast, riding his GS, and couldn’t take the second bike. His loss is my gain. This will be the bike I learn to ride on. With less than 2000 miles on the odometer, a year left on the warranty and a price to match the SV650 I had looked at previously, it looked like a winner. That it was a dual-purpose and could handle whatever type of riding I might decide to try was a bonus I couldn’t pass up. The salesman, Mike Abt, made the purchase a very pleasant experience. Have you heard of low pressure? This was no pressure. He made me feel totally comfortable and I thank him for that. I can look back on the experience with fondness instead of regret. My wife is not what I would call enthused about the idea of me riding a motorcycle. She is, however, supportive of my endeavors, even this one. I had called many of the dealers listed on the BMW dealer locator page, asking about what they had in or might be expecting, but found nothing. I was ready to call it quits and wait some more, when my wife suggested I try a few more. My call to Mike yielded the winner. He had received it just two days before I called. Thanks to my wife, my Little Red Ride is now parked in our garage. To come full circle, I do still intend to pass the MRC:RSS. In the mean time, I will learn to ride and get my license. Either this year or the next, I will take the course again and fully expect to pass, even if I do get more bad bikes. Following that with the ERC will get my motorcycles adventures off to a good start.

A Long Time to Nowhere

Or, Still Missing the MRC:RSS It has been several months now, but yes, I am still missing the MRC:RSS course. However, that is not to say that I didn’t pass the course. Well, I haven’t done that either. The thing is, I still haven’t retaken it. I know. I know. I wanted to take the course before doing anything else, before getting the motorcycle or my license. It’s just not working out that way. I did have confirmed reservations in two courses in addition to the one I had first taken. But, circumstances conspired against me. That seems to be happening a lot lately. I hope it is not a sign of how most things related to motorcycle experience are going to go. The first course I was scheduled to take was the single weekend version, Friday night and all day Saturday and Sunday. Well, I had something else that needed to be done that Sunday. Don’t you hate it when that happens? Yes. Yes. I know. Where are my priorities? Anyway, I didn’t bother to show for Friday night to check in. It wouldn’t be fair really. Someone else might be able to use the spot to actually pass the course. The most I would get is some more practice. Besides, my elbow wasn’t quite healed yet. The second course was of the two-weekend variety, with afternoon sessions on Saturday and Sunday two weekends in a row. I really wanted to take the course. After all, I had missed the previous one and I did still want to pass the course before proceeding. But, then I did have something that needed to be done the following Sunday afternoon. You know. It was the Sunday afternoon when I would be taking the exam. Knowing that I wouldn’t be able to make the following Sunday for the exam, I tried a different tack. I showed up as a walk-in for the morning session. The next four weekend mornings were open, no conflicts. Getting the registration would mean I wouldn’t have to worry about attending the afternoon session. I would be able to take the course and keep to my original plan of passing the MRC:RSS before taking the next step. Can you guess what happened? The morning session wasn’t quite full. At least, not all of the confirmed registrants showed up. I was the second person there that morning, which gave me a good chance of getting in, or so I thought at the time. Then a few other people showed up. No, they were not confirmed registrants. But, for me, the effect was the same. They were confirmed walk-ins. And there were more of them than spaces available. No morning sessions for me. While waiting for the instructors to arrive for the first session, I talked a bit with the person ahead of me in the queue. He was a young guy. Well, younger than me anyway. I think he was in his late teens, still a kid. His father had just bought a local motorcycle dealership and he wanted to help out around the shop. In order for him to do that, he needed to get his license. The best way to learn to ride and get your license at the same time, at least in Illinois, is to pass the MRC:RSS course. I felt sorry for him, actually. He really needed the license, more than I did anyway. He needed it to work. I wanted to ride for the fun and enjoyment of it and to commute to work, though for my three-quarter mile commute, my truck did suffice. Besides, I did have a conflict that would prevent me from taking the exam. Sometimes, I wonder if I’m too nice. I gave the kid my registration card and told him I wouldn’t bother showing up for the afternoon session. And, I had a confirmed registration, too, not a confirmed walk-in, but an actual registration. But, I still wouldn’t have passed the course. And, he did need it more than I did. It turns out that the registration card didn’t help any, though my not showing up did. He was able to attend as a walk-in and managed to pass the course. I found this out from an interesting source. I received an email the Monday morning after that first weekend. A fellow worker had attended the same course, heard my name called, and wondered if they were referring to me. They were. Oh, and she passed it, too. The end of the season is nearing. Soon, there will be no more courses until next year. I still have a goal of passing the MRC:RSS and eventually the ERC also. If I find some courses scheduled that I might be able to attend, I’ll try for another walk-in. In any case, there is always next year.