WebDevelopersJournal.comTips on Web Page Design, HTML and Graphics
SITE SEARCH
Newsletters
HTML (M-F) Text (M,TH)



Jobs at webdeveloper.com

Resources By Subject
Technical
Graphical
Authoring
Business
WDJ resources
Archive

internet.com

internet.commerce
  • Partner With Us
















Developer Channel


Find a web host with:
CGI Access DB Support Telnet Access
NT Servers UNIX Servers



Semi-automatic?

JavaScript
JavaScript Helper:
Meet Paige Turner, the least geeky geek we've ever come across.

Variables and Operators Explained:
First of a three part guide to JavaScript basics.

Controlling Forms:
Enhance your HTML forms with a touch of JS.

DHTML:
Forget how it works, let's see some in action!


How do I build a Web site with Linux?

by Ted Brockwood

Here are the tools you need.

Have you been debating whether to jump over to the Linux camp and try your hand at building a Web site on this upstart operating system? Or are you all ready to go, and now your only question is "how?" Lucky for you, Linux comes with a complete toolkit to get your site building in full gear, and even includes a Web server to make testing sites even easier!
Revised December 15, 1999

If you've been a long-standing fan of the Web Developer's Journal, you've surely read Charlie Morris' treatise "Tools of the Trade." In this article, Charlie does a great job of covering what types of tools you should have at hand to develop a good site. Not to blatantly steal from him, but I will. Here's a summary (right out of Charlie's article) of the types of tools you should have handy:

  • Editing software to create your HTML pages, as well as graphic and possibly audio editing packages.
  • Browsers to preview your work.
  • FTP and Telnet to communicate with your Web server.
  • If you're running ads, ad management and log analysis systems.
  • Lots of other handy little goodies.

I'd like to add that you should have a testing Web server handy. While most users will simply upload to their hosting provider, quality check the pages, then upload new changes, I don't like doing this with a "live" site. Once a site is out there for everyone to see, you should only be uploading changes when you've tested them on a staging machine and thoroughly debugged them. Web history is replete with stories of well-intentioned designers who thought "ahh, that code is fine, let me push it live" and before they knew it, they'd destroyed consumer confidence in their site as shopping carts failed, searches stalled, and downloads died. Don't fall into this trap - ensure you've got a testing server.

As Charlie mentioned in his article, there are plenty of "all-in-one" site tools for Windows 95/98/NT. For Linux, however, you're stuck. There's really nothing out there that puts it all into one integrated package. Actually, if you're a hard-core Linux user, I'm sure you could find all the plugins/modules to do just about everything in Emacs, but if you're a newbie, I doubt you'll find success in that route.

First off, as I mentioned, you need a Web server to post your test sites on. Thankfully, Linux comes with the world's most popular Web server, Apache. Apache is the big daddy of Web servers. With almost every Linux distribution available, you'll be given the option to install a Web server when installing the operating system. Say "yes" and you're just about guaranteed Apache.

Apache is based on the old NCSA httpd server, meaning it has years of testing and modification behind it. For you, this means:

  • It's fast and stable.
  • It's relatively secure (compared to most other servers).
  • It can run on even the ugliest of machines (right down to a 386).
  • It's relatively easy for users to upload and download files to.
  • Administration, once you learn it, is quick and foolproof (ok, maybe fool-resistant).

This article is intended to be a short overview, so I won't go into Apache configuration (we'll save that for a follow-up). Suffice it to say that pretty much anything you need to know can be found at www.apache.org. While the documentation can be a little cryptic, spending some time testing each feature is your greatest way to learn. And along the way, you might learn a few things about the http protocol and DNS that you never knew, but often wondered about. If you have Linux already installed, have a look in your /etc/httpd/conf directory and you'll find some useful configuration files. If you fear editing any configuration files by hand, you should download Comanche, which puts a nice friendly GUI over the Apache configuration process.

If we jump back to Charlie's original list of tools you'll need, he makes note that you'll need an HTML editor and graphics tools. In Linux, most people tend to use the many vanilla text editors that are available for free. A personal favorite is Pico. While lacking any custom editing tools, it's quick and easy. If your Web host runs Linux or a Unix-ish system, try to telnet into your directory and use Pico to edit your pages on the server. Running pico is simple - simply type "pico <filename>" at the prompt. Pico is especially useful if you find you've uploaded a ton of pages, and screwed up the spelling in just one. Instead of editing, then FTPing it back up, you can telnet in, pico the file, and jump out. Pico even features a spellchecker, though it is fairly useless when editing HTML as it thinks every tag is a misspelling. There are other text editors with more power available, the most common of which is probably Emacs. Emacs is the Swiss army knife of Linux/Unix, and your best bet is to look up documentation for it on the Net.

Text editing your HTML scares you? Well then you do have a few freeware WYSIWYG HTML editors out there, the most known of them being Netscape's Composer. As with Apache, just about every installation of Linux will have the option to install the Netscape Communicator package. This of course installs Composer, a WYSIWYG HTML editing package. While not nearly as advanced as something like Dreamweaver (I pray for a Linux version of Dreamweaver every day…Macromedia, are you listening?), it still gets the job done.

For those that aren't big fans of Netscape Composer, you can scrounge up a copy of Bulldozer, Amaya, or one of the others that are available. They aren't the newest and greatest WYSIWYG tools, but they will do in a pinch. Also available is a whole new crop of raw HTML editors for those who want something more than a text editor, but don't want the hassle of WYSIWYG. Some of these include AsWedit, ASHE, august, and more recently, the popular Coffee Cup editor. Coffee Cup, it should be noted, is shareware, and so you will be expected to pay for it when the demo period is up, but all other applications mentioned are freeware or open-source/GPL. As a final note on this subject, you can also download free personal copies of WordPerfect for Linux and Staroffice for Linux, both of which do exceptional jobs of exporting your word processing document to HTML.

Image editing…the GIMP, there is none other. The GIMP simply dominates the Linux image editing market, and is so popular and powerful, it has been ported to Windows. Why? Well, take all the power of Photoshop, add the ability to download new filters, scripts, and tools at whim, and make it FREE. Another advantage of the GIMP is that it can run under 16 MB of RAM on 486s and Pentiums, which I've yet to see done effectively with Photoshop. The GIMP is, in my humble opinion, the best editing tool available for image capture and manipulation. Again, like Apache and Netscape, you have the option of auto installing the GIMP during your initial Linux installation, or you can always install it by hand from the CD or download and install it. If you'd like more information about the GIMP, check out www.gimp.org.

Another tool that every Webmaster should be handy with is Adobe's Acrobat product. While Linux does not have an official Adobe-sanctioned version of its popular Acrobat product, you can still create clean, usable PDF documents in Linux. PDF documents have become the lingua franca of the Net, and are especially useful for those instances where HTML formatting just doesn't cut it, such as posting hundred page-long company reports. In Linux, when you print a document, you can choose to print it to a Postscript file. Once you have that file created, you can run ps2pdf in Linux, which will convert that Postscript file directly to clean PDF formatting. The ps2pdf application comes as part of the new GhostScript viewer package, which, you guessed it, can be installed during the Linux setup, or afterwards. Cost: $0.

Now you've got some files ready to roll. How do you get them from your machine to the server? Again, Linux offers several free options. First and foremost, there's the tried and true console-based ftp application. Just type "ftp" at the prompt, and away you go. Just make sure you know the differences between "get" and "put", lest you start overwriting the wrong files.

For a twist on the vanilla ftp client, there's ncftp. The ncftp client is a very useful console-based client that can be set up to give a visual meter of file moves, along with a very useful bookmarking facility that will save your login and password (if you're so inclined) to ftp sites. A really really nice feature of ncftp is wildcard file manipulation. Have a ton of .html files you want to move, have ncftp run a "put *.html" and away they will all go.

Ok, so you're groaning at the concept of console-based ftp, luckily for you IglooFtp and gFTP are available. IglooFTP will be familiar if you've ever used CuteFTP or BulletProofFTP. The gFTP client will be very familiar to you if you've been a fan of the classic WS_FTP product for Windows. Both are simple to learn and use FTP clients that should get you up and running quickly.

Ad management and log analysis are still finding a home on Linux. Most users find that writing their own customized CGI scripts in PERL is better than trying to hunt down or buy a boxed application. Web Trends has recently released a reporting server for Linux, though I have yet to check it out, and it's definitely not free.

Java IDEs are not widely available for Linux, though most coders tend to prefer simply writing code in their favorite text editors (Emacs especially) and then compiling it. Linux comes with developer kits and compilers for just about every language there is, so you'll be hard pressed to find a language you can't compile on Linux. That also reminds me of something else: Web application languages. If you're a big fan of Active Server Pages, check out PHP (www.php.net). This scripting language has almost all the power of ASP and doesn't require a Windows-based server. If you really love ASP and don't want to give it up, take heart - Apache, with a few properly configured plugins, can execute ASP code!

So there you have it, an entirely Linux-based Web building toolkit. No longer do you need to fear trying Linux out in your daily routine. With all the tools mentioned, you will find yourself quickly building and testing new sites.

Resources

Web Tools Download Page

Linux Application Sites:
Linuxberg: http://www.linuxberg.com
Dave Central: http://www.davecentral.com
Linux.com: http://www.linux.com
LinuxNow: http://www.linuxnow.com
Freshmeat: http://freshmeat.net



Ted Brockwood is the Information Services Manager for a real estate listing service in Oregon. His experience covers Java, Linux, UNIX, NT, Win95/98, Win3.x, and DOS.



Other articles by Ted Brockwood:

WebTrends vs Hit List

Caldera OpenLinux 2.2 vs Red Hat Linux 6.0

Linux

BeOS 4.5

BeOS 4.0

Drumbeat 2000

HoTMetaL Pro

ColdFusion

NetObjects Fusion

SQL

PhP

Java Beans

Rapid App Dev

What is Java?

What is Active X?

Visual Basic Workshop



Suits PonytailsPropheadsContact WDJDiscussWeb AudioSearch

internet.comearthweb.comDevx.commediabistro.comGraphics.com

Search:

Jupitermedia Corporation has two divisions: Jupiterimages and JupiterOnlineMedia

Jupitermedia Corporate Info

Legal Notices, Licensing, Reprints, Permissions, Privacy Policy.
Advertise | Newsletters | Tech Jobs | Shopping | E-mail Offers