How to install PEDoober in 10 easy steps: ----------------------------------------- *If you are upgrading from a previous version of PEDoober, please read the UPGRADE file. 1) Verify that you have the necessary components. + Apache webserver. I've only tested this on Apache. If you get it to work on anything else, please let me know. + Perl. 5.6 (or greater) What you probably have will probably work. These programs have only been officially tested on 5.6 + PerlMagick 5.3.x (or greater) http://imagemagick.org/www/perl.html If you have ImageMagick already, PerlMagick may or may not already be included. In some cases I heard it was included ONLY in the developers packages of ImageMagick. + Ability to run CGI/Perl scripts outside /cgi-bin. Either add the directories which the cgi's must run via Apache's ScriptAlias directive OR, setup ExecCGI to allow cgi's from anywhere. 2) Check one of the .cgi files to make sure the FIRST line is correct. It is currently set to "#!/usr/bin/perl" on ALL of the files. Since no install program was included you will need to adjust this on EACH and every .cgi included with this package. There are scripts in the base directory, /members, and /admin. 3) Change the permissions on the /data directory accordingly. If you are running suexec then you can leave them as chmod'd 755. Otherwise apache or some other user will need to write to the data directory. If so change the permissions to 766. 4) Edit the .htaccess files in /admin and /members. AuthUserFile needs to be correctly set for the current location on your server. 5) Feel free to Delete the current .htpasswd files I have included. Create new ones in both /admin and /members. /admin is the location of the PRIMARY admin's tools. I suggest you make a user called admin by going into the /admin directory and typing: "htpasswd -c .htpasswd admin" This will create a new password file called ".htpasswd" and add the user "admin" to it. This account will let you delete ALL users events, ALL user profiles, and allow you to ADD & DELETE access to the /members directory. /members is the location of the programs your users need. Create a replacement .htpasswd file here as well and add username for yourself. If you are using suexec make sure no one but you can write to it. If you are not, please chmod the file 766. htedit.cgi will need to modify it. 6) Edit pe_settings.conf. IMPORTANT: This is the main configuration file and is included in almost every script. Edit this file accordingly. If you are using suexec NOW is a good time to chmod it 700. Why? That way no one else can read this file. It has an option for having a password to prevent all users from creating events. If they can read the pe_settings.conf file they will be able to get the password from the file very easily. !! Work out all the kinks above. If everything is working go on. !! 7) Edit the header.html files in /admin /members and the base directory. You can change important aspects in the site to integrate PEDoober into the rest of your site like the background color and link colors. 8) Edit the index.html file in /admin and /members to match your site. 9) By default I don't include a working index.html in the base directory. Two suggestions here. Throw out the lame index.html and either: a) Make a copy of "display_events.cgi" or "people_index.cgi" and name it "index.cgi". b) Make your own snazzy front page. (If you aren't up and running now try reading the Q&A section at the end of this file.) HOW TO USE IT: -------------- By now you should have everything setup. So here's what you do. Go into /admin Enter your password for you admin account that you should have created. Start adding users. All you need to do is enter their name then password twice and click the button. Once a user has an account made they can click the Members link. From there they can make their profile. > PROFILES To make a Profile only 3 things are required. 1) A picture. 2) Answer to QUESTION1 and 3) Answer to QUESTION2 (see pe_settings.conf file). Everything else is an optional field. Profiles are automatically added to the People page. Once you have 10 people on any People page an additional page will be generated as needed and a link to that page will automatically be generated. If you use the script to delete the users profile in the /admin section, REMEMBER this does NOT delete their account, just their profile. Make sure you load the htedit.cgi and remove their account if you're eliminating the user completely. > EVENTS When someone creates an event it will automatically be added to the Events page. There can ONLY be one event per day. This is a current limitation because each event really just creates a directory on the system named by the date of the event. Currently the script will error and let the user know and event already exists on that day. If pe_settings.conf has a passcode set a field will appear on the Make Event program that will only allow users with the passcode to make an event. If you turn off this feature ANY member will be able to make an event. If you can't trust everyone turn on the passcode and only give it to people who you know will not make bogus events for kicks. When the event is past the system's current date it will be displayed in the Past Events section of the events page. Currently nothing ever gets deleted so if you have a bunch of events you'll have to find a way to archive them or delete them when things get out of control. Only users who CREATED the event can DELETE the event. As the admin you can always go into your /admin directory and delete an event from there. > RANT This is just a place for users to post cool websites, bitch, moan, and otherwise rant about anything they want. This is not meant to be a Bulletin Board system, have threads, etc. It's simple. Change pe_settings.conf's settings to allow more posts. > PASSWORD MAILER (getpasswd.cgi) This program uses sendmail to send a form letter and password to a potential users e-mail address. There is a getpasswd.log file which logs the IP, username, and e-mail address of each person who used the program. There is also a file called getpaswd.ban. This file lists e-mail addresses, domains, or IP's that are banned from getting logins on the system. The ban list should be edited manually. When using this password mailer make sure that the .ban and .log files are chmod'd correctly so the getpasswd.cgi file can write to them. Q & A: ------ Possible problems and possible solutions. (If you've run into what could be a common problem, let me know so I Can add it to this section) Q.) Clicking on a Link to CGI Scripts just displays the program source and does not run the program. A.) Check your http.conf (or whatever you apache conf is named) for: "AddHandler cgi-script .cgi" You may already have one setup for .pl and not .cgi. So add one. Q.) All I get when i run a script is "Internal Server Error". A.) Check your http logs which are *probably* in /var/log/http or /var/log/apache. Type "tail -f logfilename" and reload the page. You'll see the error pop up again if you've got the right file. Go from there. Q.) I have ImageMagick, but PerlMagick is giving me an error. A.) I mentioned this before but in some cases you may have installed ImageMagick but PerlMagick is not included. You might be able to install PerlMagick via CPAN. Try this: "perl -MCPAN -e shell" (if you've never run CPAN answer a few questions) cpan> install Image::Magick OR, try reinstalling ImageMagick (RPM, package, whatever) Q.) I think your code is awful. WHY? A.) Sorry, I am by no means a professional programmer. I took a few C/C++ programming courses in college. Dabbled with Visual C++ and then didn't program one bit for about 3 years. Then one day I picked up a book on perl and decided to make a few web pages. With no one to "guide" me on coding techniques I sort of developed on my own. This is really my first program that I'm putting out to the public. Q.) Oh yeah, why is it called PEDoober? A.) Basically I couldn't think of a better name. It stands for People & Events Doober. Doober is just some nonsense word to me. If it's actually a trademark or something, someone let me know I'll change the name. HELP! ----- Since I wrote it I can probably help you figure out why it isn't running. Feel free to catch me on-line: E-mail: kenta@sleeper.978.org kenta@guster.net AOL IM: n0cb0y (those are zero's not O's) IRC : EFnet #manh #978 If I've got the time I'll help you out. Also, if you make a site with these programs please let me know. I may want to include links to working examples beyond my own. EOF