Installing Additional Plugins for S9Y on Safe Mode
Yesterday I noticed that my trackbacks weren’t working in [http://blogs.ittoolbox.com/database/soup/ Josh’s blog]. I figured wasn’t much of a big deal, probably his blog provider was all busted. But then today I saw that someone else had actually trackbacked on him successfully, which meant that something was awry and it was up to me to figure out what.
It turns out that Josh’s blog provider **is** busted, but also that there was something I could do about it. The problem is that Josh’s providor doesnt’t provide the trackback URL in the RDF metadata for each entry, so when [http://www.s9y.org s9y] tries to do it’s automated trackback pings, it fails miserably:
Checking http://blogs.ittoolbox.com/database/soup/ for possible trackbacks...
Trackback failed: No trackback-URI found.
However you can trackback Josh’s blogs if you know how. The key is that you need to direct your trackback ping directly at the trackback url provided in the blog posting. [http://wordpress.org/support/topic/549 Wordpress] makes you do this type of thing all the time when you write a new post, but s9y doesn’t, since they figure it is easier to just do it automagically for you. Which it is. If it works. Which it didn’t. So after a quick conferance on [http://s9y.org/23.html #s9y], it was decided what I needed was the manual trackback plugin. Ok, simple enough I think. So I install s9y’s Sparticus plugin, which is designed to allow you to download plugins from the web and install them into s9y. A few clicks later and I have a nice list of plugins from the net, I pick my trackback plugin, hit install and got a whole mess of errors like:
Trying to open URL serendipity_event_trackback.php?rev=1.9999...
Fetched 8112 bytes from the URL above. Saving file as /apache/xzilla/plugins/serendipity_event_trackback/serendipity_event_trackback.php...
Cannot write to file /apache/xzilla/plugins/serendipity_event_trackback/serendipity_event_trackback.php.
Warning: mkdir(): SAFE MODE Restriction in effect. The script whose uid is 100 is not allowed to access /apache/serendipity-0.9.1/plugins/serendipity_event_trackback owned by uid 30 in /apache/serendipity-0.9.1/plugins/serendipity_event_spartacus/serendipity_event_spartacus.php on line 225
Cannot write to file /apache/xzilla//plugins/serendipity_event_trackback/UTF-8.
Trying to open URL lang_ja.inc.php?rev=1.9999...
Fetched 517 bytes from the URL above. Saving file as /apache/xzilla//plugins/serendipity_event_trackback/UTF-8/lang_ja.inc.php...
Error: serendipity_event_trackback:67828dfe6253cda55cebe289e7ec3b11 (serendipity_event_trackback)
DEBUG: Plugin serendipity_event_trackback:67828dfe6253cda55cebe289e7ec3b11 not an object: .
Input: Array ( [adminModule] => plugins [pluginPath] => serendipity_event_trackback [install_plugin] => serendipity_event_trackback [spartacus_fetch] => event [action] => [adminAction] => ) .
Fatal error: Call to a member function on a non-object in /apache/serendipity-0.9.1/include/admin/plugins.inc.php on line 797
Turns out sparticus doesn’t work in safe mode, and given the number of dba/admins involved in our project, you know they require we run the server in safe mode, so that’s kind of a non-starter. The good news is you can install the plugins manually if you want. Having spent the last few hours tripping over myself doing this, let me provide some tips:
1. Uninstall Sparticus -> you can’t use it, and it’s install mechanism conflicts with the manual install. Had I done this right away I would have saved myself a lot of time.
2. Swing on over to the [http://cvs.sourceforge.net/viewcvs.py/php-blog/additional_plugins/ s9y cvsweb interface], and go into the additional_plugins module and browse around till you find the plugin your looking for. In this case it is called “serendipity_event_trackback”.
3. Create a directory in your plugins that matches the plugin you want to install –> “serendipity_event_trackback”
4. Looking in that directory, you’ll see the files you need, so go ahead and download them into your new directory.
5. Make sure the files have the right name! I wasted some time on this too, since I used lwp-download to grab the files and it appended a .txt extension on the files I needed, so s9y couldn’t see them.
6. Make sure your webserver can read all of the files you have downloaded, chown is your friend here.
7. That’s pretty much it, you should be able to go into s9y and install the plugins now.
It’s easy when you know how. [[image /xzilla/templates/default/img/emoticons/smile.png alt=”:-)” style=”display: inline; vertical-align: bottom;” class=”emoticon” /]]