Main Stories
Slash Boxes

Slash Open Source Project

Slashcode Log In

Log In

[ Create a new account ]

Article Poll

Poll I found this article to be
Very Helpful
Helpful
Not Helpful
Not Very Helpful
[ Results | Polls ]
Comments:0 | Votes:5

Install Slashcode for Dummies

posted by Krow on 04:46 AM June 26th, 2002   Printer-friendly   Email story
After 2.5 weeks of blood, sweat, and reinstalls, I successfully got slash up and running on my x86 Mandrake system. Considering the hours and hours I put into the whats and whys of this or that not working, and the fact that so many others have problems installing as well, I drew up an Install Slashcode for Dummies guide for those of us who have basic to intermediate knowledge of Linux, slash, perl, MySQL, and apache. Sure the Slashcode Install directions work, and the mailing list is great, but the directions don't dwelve into the complexities of installing such a system and navigating old mailing list emails is a bit daunting. This document is a work in progress, and I will update it accordingly. Please email comments and suggestions to keep it current and fact-filled.
This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login
Loading... please wait.
  • Well, I've been trying to install Slash on SuSE 8.0 for a little while, getting the usual assorted errors, so I figured I would give these instructions a try. Here is my take on them so far (note: I haven't finished the installation process yet, but i want to make notes as I go, so I don't forget anything)

    This distro comes with perl5.6.1, so I left that as it was because perl is required by so many other programs, I didn't want to get to screwed if I did something wrong. I also left MySQL up and running, without touching it. In YAST2 I clicked on add/remove software and did a search for 'apache' (case insensitive and include package descriptions). I 'deselected' pretty much everything apache, but at the same time, I installed thttpd as a backup/failsafe webserver (again in case I screwed anything up). Hit the 'Next" button and everything gets deleted or installed as the case may be.

    Next, I downloaded the latest source tarballs of apache 1.3.26 and mod_perl 1.99.04 by following the links given in the 'for dummies' instructions.

    In step 4 of the 'for dummies' instructions it says
    "You MUST install mod_perl and Apache as directed here. No buts."
    Well, unfortunately, it looks like there might be a mini-step or two missing. Mainly, while it says to unzip apache, it doesn't mention configuring, making, or installing it. (it reminds me of an old saying that if you try to make something foolproof, someone will make a better fool...look at AOL users - LOL, it had to be said). Anyway, I followed the instructions and unzipped apache, then cd'd over the /usr/download/mod_perl and did the "perl Makefile.PL" instructions as written, but I got an error saying:
    Reading Makefile.PL args from @ARGV
    !!! Unable to determin server version, aborting.
    !!! Please specify MP_APXS or MP_AP_PREFIX.
    I tried it twice to make sure I didn't just do a typo or something, but I got the same response. So, I went into the /usr/download/apache directory, read the README.configure file and did the './configure --prefix=/usr/local/apache'. Then I did make and make install. I went to /usr/local/apache/bin and did 'apachectl start', got httpd started, but it didn't take me too long to realize that I still had thttpd going. I went back to YAST2 and uninstalled thttpd, then restarted apachectl. At this point, I noticed SuSE did a couple of interesting things.

    In the SuSE packaged apache, there is a SuSE version of the test page. It says what version of apache is running, and what the main modules are (i.e. mod_perl, mod_PHP, etc). When I uninstalled apache, and put in thttpd, SuSE put up a thttpd test page, which is quite different from the apache one. After I reinstalled apache, I edited the httpd.conf file to use /usr/local/httpd/htdocs as the document root, which is the SuSE default. When I went to uninstall thttpd with YAST2, it mentioned that there was a potential conflict with running both apache and thttpd at the same time, so YAST2 knew that I reinstalled apache. I uninstalled thttpd, and then I saw that the SuSE apache test page was back, and to top it off, it reinstalled mod_perl!!!

    That's where I am now. I'm going to run with it at the moment and see if I get any problems. It installed mod_perl 1.26, so I'm going to keep my fingers crossed.

    Yes, I know it's a bit lengthy, but I've had two grande mochas since I got out of work, so I'm a bit...energized ;-) Hence, my handle.

    -barista
    • In step 4 of the 'for dummies' instructions it says

      "You MUST install mod_perl and Apache as directed here. No buts."

      Well, unfortunately, it looks like there might be a mini-step or two missing. Mainly, while it says to unzip apache, it doesn't mention configuring, making, or installing it.

      This is because mod_perl configures, makes, and installs apache with mod_perl in the compilation. You don't have to do apache then mod_perl seperate. You configure mod_perl, make sure you point out the source directory for apache, it all compiles together.

      Anyway, I followed the instructions and unzipped apache, then cd'd over the /usr/download/mod_perl and did the "perl Makefile.PL" instructions as written, but I got an error saying:

      Reading Makefile.PL args from @ARGV
      !!! Unable to determin server version, aborting.
      !!! Please specify MP_APXS or MP_AP_PREFIX.


      Sorry, I have yet to encounter this error so I can't help you with it. I wish I could. If you ever get this fixed, let me know and I'll happily add it to the document.

      I think the problem lies with your thttpd and httpd installs, multiple installations with multiple package installs, services run amok, etc. It basically went like this for those long two 1/2 weeks: if I installed any of that stuff, sans MySQL, with a package installer, slash Would Not Work. Period.

      Good luck

      misterorange
      • About the MP_AP_PREFIX error thing. You get this whenever you try to install mod_perl on Apache 2.x. It's the Apache installation prefix, under which the Apache include/ directory can be found. If Apache is not installed yet, you can point to the source directory. For example if you've have installed Apache 2.x in  /www on *nix, you should use: MP_AP_PREFIX=/www I wouldn't worry to much about MP_APX as it will probably be removed soon. I hope that helps. Oh yes, you can also read how to install it here: http://perl.apache.org/release/docs/2.0/user/insta ll/install.html
    • A couple of quick notes:

      I started going through the 'for dummies' instructions again, and when I was in the cpan shell and started installing the modules, I already had most of them installed (from the previous installation attempts, I guess). After I got to the point of entering the mysql information, I noticed there were no questions from DBIx::Password. I typed 'install DBIx::Password' and it told me it was already up to date. I typed help and looked at the cpan commands, then typed 'make DBIx::Password', which brought up the DBIx::Password questions. After I entered the info, I typed 'install DBIx::Password', but again it told me it was up to date. I'm not quite sure waht to make of that, so I left it.

      Then I went the slash directory and typed make and make install, but that was pretty much a lost cause, because it gave me a bunch of parse errors for mod_perl.h. I'm figuring that might have to do with the mod_perl SuSE automatically reinstalled. I just uninstalled it via YAST2, and I will reinstall it from the tarball tomorrow. I will pretty much follow the instructions again from the install mod_perl section.

      Also, on a side note, when I was in the shell and trying to connect to mysql to create the database (per the instructions), typing 'mysql --user=root password' didn't work. It would give me an error saying that I was trying to connect via localhost, using password=no. I logged out of su and tried it again, but got the same problem. Then I remembered 'mysql -u root -p'. It then prompted me for the password, I entered it, and it started the mysql shell. My question is, is this significant? I don't know how slash connects to mysql (it's late, and I'm too tired to hunt for that one at the moment), but if mysql isn't letting me connect with 'mysql --user=root password' could that be a sign that slash itself might have problems connecting? BTW, if I type 'mysql -u root -p password', it prompts me for a password again, and then tells me unknown database password. Hey, I'm okay with MySQL from phpMyAdmin, but the CLI is another story.

      Well, it's late. I'm rambling. I'll probably explore some of these things tomorrow.

      -barista
      • To force the CPAN module to reinstall DBIx::Password, use force install DBIx::Password.

        To answer the MySQL CLI question, the -p switch tells the client to prompt you for a password. password is interpreted as the name of the database to which you wish to connect. If you've created a database named slash, associated with a username of r00t, you'd connect to it with mysql -u r00t -p slash, entering your password at the prompt. Does that make sense?

    • Slashdot currently uses perl 5.6.1, so it should work just fine.

      Personally I install mod_perl as a DSO, which makes upgrading a lot easier.
      --

      --
      You can't grep a dead tree.
      • Personally I install mod_perl as a DSO, which makes upgrading a lot easier.

        How exactly do you do this? (so I can put this into the guide) And how would you upgrade it as well?