Opened a ticket on StatusNet: http://status.net/trac/ticket/2226
There was a recent need to automate the installation of StatusNet, so I went ahead and modified the install.php to allow for a command line interface to the install process, including a version which can be used to run the install from a script. I’m not a fan of the install.php at all, but it does the job – so rather then a rewrite I expanded it – at least until I have more time.
The modified file can be found here:
The patch file is here:
So to handle the install process automatically:
php install.php dbhost sqltype dbname dbuser dbpass “Site Name Goes Here” siteurl fancyurl
The following might need explaining:
sqltype = mysql (it can also be pgsql)
Site name should be quoted, some characters like ! should be escaped.
siteurl = domain.com (not using http:// and no ending slash)
fancyurl is either true or false and if true the htaccess.sample should be renamed to .htaccess
So for the site I tested on:
php install.php mysql.gimmesoda.com mysql database dbuser dbpass “It’s Just Testing\!” testing.gimmesoda.com true
There is also an interactive command line install which is fun, try it out!
php install.php install
I custom compiled PHP in order to get the daemons running. Apparently PHP5 has the “pcntl” functions disabled by default and I had to compile with –enable-pcntl, with those functions enabled the daemons ran without error.
Also, I modified the script for compiling PHP5 from the DreamHost wiki, normally found here:
I’ve modified it so that it will compile a few PECL extensions into the binary statically and I didn’t have to go through the hassle of build a phpize that would work with the non-root user allowed me on the DreamHost environment. So I added memcache and mailparse to the binary and they are both working smoothly.
As mentioned earlier I was trying to get memcache to work on the PS and I am glad to report that I have gotten it working. Currently it’s setup to use a max of 512MB worth of memory and seems to be running nicely.
CPU MEM% COMMAND
0.0 1.4 0:00.11 ./memcached -d -m 512 -l 188.8.131.52 -p 11211
All in all – http://www.theserandomwords.com/ is coming along smoothly.
So apparently laconica fails to remote subscribe on various hosts – not sure if it is happening everywhere (I doubt it) but in any case DreamHost and BlueHost installs seem to be affected on version 0.7.3. Not so much fun!
I’m investing some time into getting this fixed mostly because this type of problem (an issue on a core feature) really really bugs me. I think I’ve gotten close but no luck yet – any devs reading? Wanna get your hands dirty!? I’m pretty sure the issue is related to the actions/remotesubscribe.php and/or the extlib/OAuth.php files.
Beyond that I have some good news! Since I’m on a DreamHost PS I was able to spend some time in getting two things setup for use with my laconica installs.
Sphinx and the OpenFire XMPP Server are both working smoothly and integrated into Laconica. Memcache is next on my list and maybe a plugin that will allow users to register OpenFire accounts when they signup with the laconica instance! Nice, no?
Finally, I really am not enjoying the current installer – I think I’ll streamline my current class and convert it to a much simpler/cleaner version and submit it as a replacement, with any luck we’ll be getting clean web-based installs soon, one way or another!
Anyhow I need some sleep. Night… or ummm Morning!
Just finished testing the updated installer for laconica version 0.7.3 codenamed “You Are The Everything“. I’ve gone ahead and cleared out the old laconica install at http://laconica.gimmesoda.com and tested the installer there with no problems. Also, there was a bug which allowed the installer to continue running even after failing to select the database. This has been fixed as well.
The installer can be downloaded from the usual location:
One last thing, you have to call the install script from gimme_install.php instead of install.php (laconica now has it’s own installer at that location).
If people still need help with this I do offer an install service, just contact me.
I had to do another install of laconica the other day and because of that I figured I would try out the installer that it comes with.
I’m sorry to say I was actually pretty disappointed. The config file that was generated had just a few lines in it, and when I loaded the site everything was basically broken theme wise.
I had to manually go in and fix up the config file. Looks like I will be updating my own installer after all – expect a release real soon.
I really got to get an easier way to detect if there are any newer versions of laconica… in any case while I work out that problem I’d just like to report that the newest update to the installer should be out tomorrow. It does work smoothly with the newest 0.7.1 version – which btw is an awesome update (0.7.x) by the people over Control Yourself, Inc., and all the devs working on this project!
I’ll be putting out the newly updated code tomorrow as I’ve got a few bug fixes to finish up.
It took me awhile to get it all sorted but all known bugs have been taken care of and the script seems to be working smoothly. Verified to work on DreamHost (of course :) and BlueHost. Mixed results on MediaTemple (MySQL doesn’t meet requirements for some people).
Enjoy! The Installer!
I had just updated the install software for laconica the other day to match their current version. It looks like another minor update has already been released. The installer has been setup to match.
Rapid development, gotta love it!
I realized I hadn’t checked in on Laconica for awhile now, so I went ahead and updated the installer to make sure it was grabbing the latest and greatest version of the software. I tested it over on http://laconica.gimmesoda.com/
Laconica Web Based Installer – Download
Laconica Web Based Installer – Updated
I also realized I never gave instructions for the installer. Here is the super quick rundown:
1) Upload the install.php and the installer folder to the location you want to install laconica. BUG NOTICE: For people who try to install into directories instead of the root folder, sorry it currently doesn’t work, I’ve already fixed this in the latest version of the GimmeSoda installer class but I haven’t pushed it into the laconica installer yet.
2) Access the install.php page
3a) Name your laconica install
3b) Put in the instal’s URL without the http! (ex: laconica.gimmesoda.com)
3c) Leave the directory blank since this isn’t working properly yet. (I’ll push the fix out real soon I promise!)
4) Fill in the mysql information for this install.
5) Click the test requirements button, if your install requirements pass then the system will automatically attempt to download and install laconica.
I’ve gotten reports that this installer works on BlueHost and a few VPS setups as well as DreamHost. Let me know if you run into trouble or have any successful install!
It’s ugly but if you meet requirements it SHOULD work. I’m sure it’ll have bugs (probably huge ones) but I was tired so yeah… no complaints!
For the installer: Laconica Web Based Installer – Updated Again
Verified to work on DreamHost and BlueHost, mixed results on MediaTemple.
I couldn’t sleep again, so I finally got around to getting a very very very badly done but working version of the web based installer finished. Grab a copy of the file below – throw it up wherever you want to install laconica and fill in the info. This should get the majority of people who meet the minimum requirements up with a very basic install.
END UPDATE – Everything below is old news!
I was a little bored this morning (AKA “I Couldn’t Sleep Again”) and ended up starting work on a web based installer for laconica. This is something which is currently sorely lacking from the software and would make the lives of many people who are trying to get this working much easier (not just for those users on dreamhost like my shell script).
Anyhow I got as far as checking for all the system requirements, php modules, apache version (I’m trying to find a way to check for modules on all environments not just mod_php so I can test for mod_rewrite), and a check to see if the laconica files have been uploaded if not then it downloads the laconica tar ball (if Evan is reading… it’d be nice if there was a laconica-latest.tar.gz!).
I should get a decent bit further tomorrow or the day after, it’ll be nice to have a web based installer. You can see the current (very ugly looking and horribly coded script) in action here:
Alright, enough talk – sleeping time!
*** Update ***
I did quite a bit of work on this (dead tired now). I’ve now completed testing for what I believe to be every requirement needed by Laconica, except for the external libraries as those should come with the package! I’m hoping soon, since this installer won’t really be able to pull off a complete install without them.
I have worked out the logic (very very messy) for the whole archive issue, so if your host allows you to use the ‘exec’ function and the ‘tar’ binary can be found on your server using the ‘which’ command then you’re in luck. The install will automatically do the following:
1) Detect that laconica files don’t exist yet
2) Download the archive
3) Extract the files
4) Move the extracted files to the working directory
5) Test to make sure the files were moved correctly
The installer will also test for your mysql version (even for those not using localhost) since it will connect to and query the server you will be using there is no confusion as to what version of MySQL you are really using. Finally – and this is the last thing I worked out, the installer will also check to see if the InnoDB storage engine is installed.
So, it’s definitely coming along, I should have something working very soon now.
Of course I just dedicated a good four hours of what should have been my sleep to this and I do work tomorrow… or ummm later today… so off to sleep I go, with any luck the baby girl won’t wake up in an hour… like usual!
For anyone interested in the core logic for the laconica installer I’ve copied the current code to this:
And no complaining! I did warn you all that it would be ugly, but overall it seems to be working decently atleast in my testing. I’ll release the whole installer package when I get the installer working on my end, but for now you can atleast see the functions I used to perform my testing.
*** Another Update ***
More code cleanup + the initial release of code – still doesn’t complete the install but it gives you an idea how I’m doing this so far and I’m definitely going to need people to look it over. Continues to be an ugly duckling.