What is MyContactics? MyContactics is a simple web based contact management program written in perl using MySQL as the contact storage database. The main program is a perl CGI script, mycontactics.cgi. Requirements A web server with perl CGI script support. The web server must also have the CGI, DBI and DBD::mysql perl modules installed. Access to a MySQL database from the web server. The MySQL database does not have to reside on the web server but must be accessible from it. Installation Create a database on your MySQL server named something like mycontacticsdb or whatever you want. Also create a MySQL user that can access the database you create. If you have root access to your MySQL server you can use the example commands below. If not, ask your MySQL server administrator to create a user and database for you. The example MySQL commands below are compatible with MySQL 5.0. Adjust for your version if necessary. Example MySQL commands: CREATE DATABASE mycontacticsdb; CREATE USER 'mycontactics'@'localhost' IDENTIFIED BY 'XXXXXXXX'; GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,REFERENCES,INDEX,ALTER, CREATE TEMPORARY TABLES,LOCK TABLES,CREATE ROUTINE,ALTER ROUTINE, EXECUTE ON mycontacticsdb.* TO 'mycontactics'@'localhost'; If you choose a different database name than mycontacticsdb, change it in the CREATE DATABASE and GRANT commands. If you choose a different database username than mycontactics, change it in the CREATE USER and GRANT commands. If your MySQL server is on a different machine than the web server, change localhost to the hostname of the web server in the CREATE USER and GRANT commands. Change XXXXXXXX to the password that you want to use for the database username in the CREATE USER command. Load the table structure in to the database you just created. A file, mycontactics.clean.sql, is included in the MyContactics distribution archive that you downloaded. This file contains a clean copy of the database. There are probably several ways to load it in to the database. The recommended command that can be executed at a command prompt on the MySQL server is: mysql --user=mycontactics -p mycontacticsdb < mycontactics.clean.sql Replace the username mycontactics and the database name mycontacticsdb if you changed them from the defaults. Open mycontactics.cgi in a text editor. If your perl interpreter is not at /usr/bin/perl, change it at the top of the file. Change the $exitpage variable to a different URL if you want. This URL will be where you go when you click the Exit link when using MyContactics. Scroll down in the file to about line 53 and change the five variables there that start with $sql if needed. At a minimum you should change the $sqlpassword variable to what you chose for the MySQL user password in the MySQL commands above. If your MySQL server is not on the web server, you should change the $sqlhostname variable to the hostname of your MySQL server. You shouldn't change the $sqldbtable variable unless you know what you are doing (sharing another database instead of creating a new one?). Save the changes. Copy/upload mycontactics.cgi to where you want it to reside on your web server. It should probably go in your cgi-bin directory or another directory that has CGI execute permission. You should probably change the permissions on mycontactics.cgi so it is only readable by your username and the web server username (possibly the same). Good UNIX permissions would probably be 750 or 700 depending on your situation. MyContactics should now be ready to use. Try to access the URL that relates to where you installed it (such as http://www.yourdomain.com/cgi-bin/mycontactics.cgi). If you can not access it or get errors when trying to use it, make sure you completed all of the steps above and talk with your web and/or MySQL server administrator. If you are still having problems and getting a specific error you can try contacting me at the address listed in the AUTHORS file. Comments and notes MyContactics was designed for my use but is being released to the public in the hope that it may be useful to someone else. It is a simple procedural program. If it starts growing it could be rewritten in a more modular way. There is NO password protection built in to MyContactics. You should use something like HTTP authentication (such as Apache Auth in .htaccess file or web server configuration) to limit access to it. If people start using it and want authentication integrated in to MyContactics, it can be done. The interface is functional but has not been beautified in any way. If people start using it and want beautification, it can be added. Test this program well before relying on it at any level. There are absolutely no guarantees or anything with this program. If you find a bug, see AUTHORS for contact details. MyContactics website The MyContactics website is http://www.johnmerriam.net/mycontactics where you can find the latest version and any important information about MyContactics.