# ETD Guide/Technical Issues/VT DV and other tools

This page describe the hardware and software requirements involved in setting up your own ETD database.
Hardware
To use this software, you must have a web server available. At Virginia Tech we use a UNIX-based server platform. You should allocate enough disk space on your machine for at least a year's worth of submissions. Our site averages 2.5 Megabytes per submission. Keep in mind that it's better to have more space early on, as the scripts are not designed to deal with a collection which spans multiple drives. You should also have enough memory to handle the web server, the database server, and whatever other tasks you have in mind. As an example, our site uses a dual-processor Sun Enterprise 250 with 384 Mb of RAM, running Solaris 2.7. Our machine has an 18Gb drive allocated solely for the ETD collection.
Software
Before you can make use of the scripts provided here, you must have the following installed:
Mysql
Mysql is a database server and client which partially implements the SQL 9.2 standard. It is many ways similar to other SQL databases, such as Oracle, Postgres, and miniSQL. UNIX versions of Mysql are made available without charge to education institutions at http://www.mysql.com/. A version of Mysql for Windows NT is available as well for an additional charge, although the scripts are not designed for use with Windows NT.
Perl
All of the scripts included with this distribution are written using perl. Perl is also freely available (under the GNU public license) from http://www.perl.com/CPAN/. It is recommended that you download, install, and test the latest version available for your operating environment.
CGI.pm
The CGI module for perl is one of the most widely used and best supported libraries of CGI oriented routines in existence. Virtually all of the query handling performed in these scripts relies heavily on CGI.pm. CGI.pm is available from http://www.perl.com/CPAN-local/modules/bymodule/CGI/.
The DBI and DBD:Mysql modules for perl
The DBI module for perl is a generic set of database calls designed to interface with a wide range of different database technologies in a powerful, reliable, and easy to understand way.
To make use of the DBI module, you need a DBD module for the particular database you intend to use. The DBD:Mysql module (also known as the DBD:Msql module) allows you to easily perform all types of database operations on a Mysql database from within perl.
Both modules are available from http://www.perl.com/CPAN/modules/dbperl/.
The Tie-IxHash module for perl
The Tie-IxHash module is a very small add-in that allows you to reliably output hashes in the order they are defined in. Without this module, none of the global hashes that contain department names, degree information, etc. would appear in the order we'd like them to. This module is available at http://www.perl.com/CPAN-local/modules/by-module/Tie/
Web Server Software
The perl scripts provided are designed for the most part to be used through a CGI interface, meaning that you must have a compatible web server installed. The freely available Apache Web Server is our recommendation, although any web server capable of seamlessly handling html output from perl scripts should be acceptable. Apache is available from http://www.apache.org/.
Once you have all the preceding items installed and tested, you should be ready to download (http://scholar.lib.vt.edu/ETD-db/developer/download/) and install(http://scholar.lib.vt.edu/ETD-db/developer/install.html) the scripts
Next Section: Library Automation/OPAC: VTLS