Table of contents
- 1.1.1. Alfresco appliance
- 1.2. Preparation / Prerequisites
- 1.3. Alfresco Installation
- 1.3.1. ATA over Ethernet appliance
- 1.3.2. Notes
- 1.3.3. Backup and restore state of an appliance
- 1.3.4. Notes
- 1.3.5. Desktop Appliance
- 1.3.6. Drupal 7 appliance
- 1.3.7. Easy customization
- 1.4. Beta released
- 1.5. Overview
- 1.6. Design goals
- 1.7. Design
- 1.7.1.1. Web registry of extensions
- 1.8. Advantages
- 1.8.1. GroupWare appliance
- 1.8.2. Summary
- 1.8.3. Setup Overview
- 1.8.4. Installation Instructions
- 1.8.5. Notes
- 1.8.6. iFolder Server
- 1.8.6.1. Installing iFolder
- 1.8.7. Error 500:
- 1.9. /usr/lib/simias/web/bin/FlaimWrapper.so
- 1.10. The current state of play
- 1.10.1. Mirth Connect Appliance
- 1.10.2. Overview
- 1.10.2.1. What is Mirth Connect?
- 1.10.2.2. Install turnkey on VMWare (or similar)
- 1.10.2.3. Download files and upload to server
- 1.10.3. Setup
- 1.10.4. Checkings
- 1.10.4.1. Check Mirth installation
- 1.10.4.2. Check Webmin access
- 1.10.5. Future
- 1.10.6. Network services appliance
- 1.10.7. Notes
- 1.10.8. OpenERP - MagentoConnector
- 2. Required bits & pieces
- 2.1.1. OpenGoo Appliance
- 2.1.2. Overview
- 2.1.3. Setup using Webmin (can be done remotely via web browser)
- 2.1.4. Setup using Console (logged into local Turnkey server)
- 2.1.5. Install OpenGoo
- 2.1.6. OpenTaps - ERP and CRM
- 2.1.7. OpenVZ Template - TKL Core v11.0RC
- 2.1.7.1.1. tklovz
- 2.1.7.1.2. tkl-ovz-patch.tar.gz/conf
- 2.1.7.1.3. /etc/init/openvz.conf
- 2.1.7.1.4. /tmp/excludes.excl
- 2.1.8. OpenVZ Template - TKL Core/LAMP/MediaWiki v2009.x
- 2.2. Install Turnkey Core Appliance
- 2.3. Customise system
- 2.3.1. Edit sources.list (if required)
- 2.3.2. Tweak packages and cleanup
- 2.3.3. Upgrade
- 2.3.4. Fix problem with Ubuntu procps
- 2.3.5. Mod to support IPv6
- 2.3.6. Disable sync() for syslog
- 2.3.7. Fix /etc/mtab
- 2.3.8. Other services - /etc/init.d
- 2.3.9. Set hostname and /etc/hosts
- 2.3.10. Remove nameserver(s)
- 2.3.11. Clean up packages, udev and logs
- 2.4. Package Template
- 2.5. Collect files required
- 2.6. Install bzip2 (optional)
- 2.7. Disable getty
- 2.8. Disable old network interface (optional)
- 2.9. Package final template
- 2.10. References
- 2.11. Note to Devs
- 2.11.1. Pentaho appliance
- 2.11.2. PHP acceleration
- 2.11.3. Notes
- 2.11.4. References
- 2.11.5. Publishing from appliance to remove web server
- 2.11.6. Notes
- 2.11.7. Redmine "Virtual Appliance" Instructions
- 2.11.8. TKL Client
- 2.11.9. TKL VE (Virtual Environment)
- 2.11.10. Tutturu
- 2.11.11. WordPress multi-blogging appliance
- 2.11.12. Wordpress plugins
- 2.11.13. Resources
- 2.11.14. WP Forum
- 2.11.15. WP-hackers mailing list
- 2.11.15.1. @ThomasScholz
- 2.11.15.2. @Paolo Tresso
- 2.11.16. Linked-In
- 2.11.16.1. @WillKemp
- 2.11.16.2. Ewan Lauder
- 2.11.16.3. Glenn Haggard
Whiteboard for Todo items (e.g., new features or appliances)
Alfresco appliance
Please note there is now a TKLPatch for Alfresco 3.3g available from the TKL forums here.
I (Daniel Serodio) have started work on an Alfresco appliance. I'll be posting my installation notes here, and after I've reached a usable installation I plan on making a TKLPatch.
Since Turnkey Linux is based off Ubuntu 8.04.3 at this time, there's no Ubuntu (or Debian) package for Alfresco, so I'm doing a "manual" install from the Alfresco-Community-3.2r2-Linux-x86-Install package.
I thought using the Tunrkey Tomcat Appliance would be a good start, but Alfresco 3.2 needs Tomcat 6, so I uninstalled Tomcat 5.5 from Turnkey and used the bundled Tomcat 6 from Alfresco.
Preparation / Prerequisites
First, I created a VM with 1024 MB RAM (Java is memory hungry) from Turnkey Linux Tomcat.
Then I installed gnupg (apparently needed to add the GPG key from byobu's PPA repository):
apt-get install gnupg
Then I installed byobu from its PPA repository. First, I created /etc/apt/sources.list.d/byobu.list with the following contents:
deb http://ppa.launchpad.net/byobu/ppa/ubuntu hardy main
deb-src http://ppa.launchpad.net/byobu/ppa/ubuntu hardy main
Then I installed the public key, then byobu itself
apt-key adv --recv-keys --keyserver keyserver.ubuntu.com F430BBA5
apt-get update
apt-get install byobu byobu-extra
I found that Alfresco 3.2 needs Tomcat 6, so I had to uninstall the ubuntu package
apt-get remove --purge tomcat5.5
I replaced Ubuntu's default GCJ with Sun's Java 6:
apt-get install sun-java6-sdk
update-alternatives --set java /usr/lib/jvm/java-6-sun/jre/bin/java
update-alternatives --set javac /usr/lib/jvm/java-6-sun/bin/javac
Installed MySQL to be used by Alfresco
apt-get install mysql-server
Installed OpenOffice, ImageMagick and pdf2swf
apt-get install openoffice.org-headless openoffice.org-java-common imagemagick swftools
Created /etc/init.d/openoffice.org with the following contents:
#!/bin/bash
# Boot open office so that Alfresco can do transforms.
#
# Based on http://wiki.alfresco.com/wiki/Runnin..._From_Terminal
# and adapted for Ubuntu Linux by Daniel Serodio
#
# chkconfig: 2345 55 25
# description: OpenOffice Headless
#
# processname: soffice
# source function library
. /lib/lsb/init-functions
RETVAL=0
SOFFICE_PATH='/usr/bin'
SOFFICE_ARGS1="-nofirststartwizard -nologo -headless "
SOFFICE_ARGS2='-accept=socket,host=localhost,port=8100;urp;StarOffice.ServiceManager'
SOFFICE_PIDFILE=/var/run/soffice.bin.pid
start() {
log_begin_msg "Starting OpenOffice.org"
$SOFFICE_PATH/soffice $SOFFICE_ARGS1 $SOFFICE_ARGS2 >/dev/null 2>&1 &
log_end_msg $?
pidof soffice.bin > $SOFFICE_PIDFILE
echo
}
stop() {
log_begin_msg "Stopping OpenOffice.org"
kill $(cat $SOFFICE_PIDFILE)
log_end_msg $?
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo $"Usage: $0 {start|stop|restart}"
esac
Alfresco Installation
I unpacked the installation file in /opt and renamed the resulting directory from Alfresco to alfresco (Iowercase folder names are easier to type).
Then I fixed Alfresco's shell scripts:
perl -pi -e "s|\@\@ALFRESCO_HOME\@\@|/opt/alfresco" /opt/alfresco/*.sh
perl -pi -e "s|\@\@JAVA_HOME\@\@|/usr/lib/jvm/java-6-sun" /opt/alfresco/*.sh
Then I changed the location of Alfresco's data files from /opt/alfresco/alt_data to /srv/alfresco and setup Imagemagick and pdf2swf install locations, by editing /opt/alfresco/tomcat/shared/classes/alfresco-global.properties:
perl -pi -e "s|^#?dir_root.*$|dir_root=/srv/alfresco|" /opt/alfresco/tomcat/shared/classes/alfresco-global.properties
perl -pi -e "s|^#?img_root.*$|img_root=/usr|" /opt/alfresco/tomcat/shared/classes/alfresco-global.properties
perl -pi -e "s|^#?swf.exe.*$|swf.exe=/usr/bin/swf2exe|" /opt/alfresco/tomcat/shared/classes/alfresco-global.properties
ATA over Ethernet appliance
Notes
Tools to assist in using ATA over Ethernet
http://packages.debian.org/lenny/aoetools
http://debian.oregonstate.edu/debian/pool/main/a/aoetools/aoetools_26-1_i386.deb
virtual AoE blade emulator
http://packages.debian.org/lenny/vblade
http://debian.oregonstate.edu/debian/pool/main/v/vblade/vblade_16-1_i386.deb
Backup and restore state of an appliance
Please note that TKLBAM is now available.
It should be possible to save/backup and restore the state of an appliance to/from Windows file share, NFS or S3. See how JumpBox do this for reference.
Implementing this allows us to easily migrate an appliance from one machine (development) to another (the "cloud")
Notes
There is already a support request for that sort of functionality.
It should be implemented so that user might have at least 2 levels of backup:
- backup/restore websites + db
- backup/restore whole appliance
Desktop Appliance
This idea has been padded out quite a bit more and renamed TKL Client which entails a whole lot more than just a desktop appliance. It is more a range of GUI based appliances (ie clients rather than servers). It is not limited to a simple Desktop appliance, but obviously could, and ideally would have such an appliance as part of the range. Below is the idea as originally floated 04/2010.
A light Desktop type appliance specifically designed for portability and customisation (with whichever tools you want). As suggested by David in this post: http://www.turnkeylinux.org/forum/ge...e#comment-2585
Probably aimed at development and/or support work?
Someone please elaborate more....
The Developer Desktop Use Case:
As a software developer, we all have a favorite operating system (eg ubuntu :), window manager (gnome) and set of tools and compilers (emacs, gcc, javac ) etc...
When need to work in multiple sites or, heaven forbid, work at home. When we move around, we keep having to synchronise our tools and data. Even worse, if ubuntu is our favorite desktop at home and we work in Windows desktop shop, we are miserable all day long.
If you could download a TKL Desktop Appliance with a sort of bootstrap desktop. Then personalise it a bit. After savig it as a VMware image you could carry it around on a usb stick or pocket drive and have the same environment where ever you work so long as you have vmware player.
Drupal 7 appliance
Drupal 7.0 was officially released on Jan 5, 2011, yet there is still no Ubuntu package available. There is a Debian package available for Sid, but attempts to incorporate it into a TurnKey LAMP appliance proved problematic. I can understand concerns about relying on upstream developers for support, but in this case the availabilty of Drupal 7's built-in updates and Drush's site-install, provide the ability to obtain updates directly from the source.
A new strategy of installing Drush first using git, and then using the power of Drush to download, install, and configure the Drupal site has proven effective. Some minor cleanup is needed before releasing a beta1 patch to GitHub.
The Drupal 7 appliance includes the following:
# drupal7 7.9-1 7.10
# mysql-server 5.1.41-3ubuntu12.8
# apache2 2.2.14-5ubuntu8.7
# phpmyadmin 4:3.3.2-1
# drush 4.5
Bundled Modules
admin_menu
advanced_help
backup_migrate
recaptcha
ckeditor
ctools
date
devel
email
fivestar
getid3
globalredirect
google_analytics
imageapi
imce
jquery_ui
lightbox2
link
logintoboggan
panels
pathauto
rules
simpletest
tagadelic
token
transliteration
views
votingapi
webform
This list of modules was derived from the Drupal 6 appliance, dropping those that were incompatible with Drupal 7.
recaptcha was substituted for captcha because of better support for Drupal 7.
Now would be a good time to re-evaluate this list of added modules to determine if they should be retained or replaced.
Also other useful modules could be added, so I'm open to suggestions.
Additional items under consideration:
* Development of a custom profile to handle the installation and enabling of the bundled modules
* Including a custom theme for the Drupal appliance
* Adding a webmaster account for managing Drupal and Drush
The latter is due, in part, to a concern about file permissions and running Drush as root.
See the discussion, Drush, File Permissions, Web Servers, and the coming Armageddon for more details.
PracticalWeb Ltd. also has some suggestions, Drupal files directory permissions for continuous integration
Easy customization
Beta released
The TurnKey Linux Customization Mechanism has been released under the name TKLPatch. The updated design, installation, and usage details see http://www.turnkeylinux.org/docs/tklpatch
Overview
This page documents as yet unimplemented ideas for an easy customization mechanism for TurnKey Linux appliances. Our goal is to develop a dead-simple way in which an existing generic product could be extended/tweaked by a given end-user to tweak the system for their needs.
Example tweaks:
- adding a repository
- tweaking a configuration file
- adding data files
- adding a package
Design goals
- very simple technically to reduce barriers to entry
- make sharing of tweaks possible and easy, to encourage tweakers to publish their tweaks
- well designed mechanism (simple, generic and powerful)
Design
Web registry of extensions
A web registry of extensions (with download links) sorted according to votes? (recommend, don't recommend).
If there isn't anything we can use off the shelf perhaps we can begin by maintaining a registry of recommended extensions ourselves via the CMS - people can notify us of their existence via email or via the forums.
Advantages
- incorporate good developments upstream to the generic products
- establish opensource ecosystem of extensions (let a thousand flowers bloom)
- increase size of audience
- satisfy long tail of special needs
GroupWare appliance
Full featured groupware aplpiance to replace Exchange and Lotus Domino.
Summary
Businesses today need a simple, full featured, cost effective suite for collaboration that does not lock them into a certain platform or product. Unfortunately items such as Exchange and Lotus continue to be the solution of choice. This isn't because Exchange or Lotus are great but due to open source alternatives are timely to setup, configure and integrate into existing systems.
Citadel is the simplest groupware server to setup and manage. Citadel provides a wealth of functionality such as email, calendaring/scheduling, address books, bulletin boards, mailing list server, instant messaging, multiple domain support and even includes a modern AJAX-style web interface. Citadel also supports most major mail clients natively or via third party plugin.
Setup Overview
The following assumes the following:
A working installation of TurnKey Core, updated and patched of course.
A fully qualified domain name, (optional).
Installation Instructions
- Citadel requires a few items from Hardy repos. Edit
/etc/apt/sources.list.d/sources.listand uncomment the repos EXCEPT hardy-backports. - Add Citadels repo to
/etc/apt/sources.list.d/sources.list. Repo URL:deb http://ubuntu.citadel.org/ubuntu/ hardy main - Update APT:
apt-get update - Install Citadel:
apt-get install citadel-suite - Follow the prompts and accept the defaults.
- Once the install is done open the servers IP in a browser and login to Citadel with username
Administratorand leave the password blank. - On the left hand menu select Administration -> User account management -> Add, change, delete user accounts. Select Administrator and set the password.
At this point the server is good to go. You can either allow users to create accounts or manually add them yourself. Citadel works with most mail clients. A plugin for Outlook is available here.
Notes
You can change the default message that gets sent to new users. So maybe we want to create one for TurnKey?
Integration with Spamassassin and ClamAV is possible but I haven't done much research in this area. This link provides some information on using Citadel with Spamassassin and ClamAV.
There are themes available but I haven't seen many. There is one that is very simple and easy on the eyes that I would like to possibly use for TurnKey. I want to have the TurnKey appliance to look different than a default install.
Lastly I appologize for the extermely long delay. I did a lot of research on the numerous groupware suites out there and found that NONE of them are as simple to install and deal with as Citadel. When comparing suites I focused on the following items:
- Ease of installation
- Ease of management
- Minimal dependencies
- Core functionality (limiting use of 3rd party software)
- No "crippleware" or "trialware", software must be open source
- Development activity (If its not being worked on or progress is too slow we don't want it)
- Stability
- Interoperability
So after messing with over 10+ groupware suites, Citadel was the only one I kept going back to. Also, look forward to a email archiving solution!
iFolder Server
TKL iFolder Server was originally suggested by James Drew in this thread.
iFolder is a file sharing service similar to a private DropBox. It is open source. The homepage is here and is on Wikipedia here.
Unfortunately iFolder is not in the Ubuntu repos and does not have an offical .deb either. The server app is available as a tarball or .rpm here. The client software is also available there as a tarball, .rpm and Win .exe.
Some (more) documentation re Ubuntu can be found here. Also there are instalation instructions for Ubuntu here
Installing iFolder
I have spent a fair bit of time trying to install v3.8 of the iFolder Server software (from source). Initially I tried using TKL Core (8.04) as the base but there was a problem with an unmet dependancy when trying to build (from memory it was to do with a python package which TKL uses a Debian package which whilst newer than required wasn't recognosed as an apropriate apckage). So I persevered with a vanilla 8.04 server (I figured once working I could then look at how to get it to work on top of TKL).
Unfortunately even after much stuffing around I had to give up. But in my travels I discovered a PPA that has v3.6 for Hardy. I figured as long as it works with the latest client then that may be acceptable until the new TKL release (where the current instructions for the latest build should work).
So I went to work installing (again just into vanilla Ubuntu Server 8.04) I still haven't got it working but it seems close. Here's what I did:
Add PPA to source.list.d
echo '# Repository for iFolder (3.6) PPA' >> /etc/apt/sources.list.d/ifolder-ppa.list
echo 'deb http://ppa.launchpad.net/ruiboon/ppa/ubuntu hardy main' >> /etc/apt/sources.list.d/ifolder-ppa.list
echo '# deb-src http://ppa.launchpad.net/ruiboon/ppa/ubuntu hardy main' >> /etc/apt/sources.list.d/ifolder-ppa.list
Update and install packages
apt-get update apt-get install simias apache2 libapache2-mod-mono mono-apache-server2 a2enmod rewrite
Configure, using the Ubuntu guide here, its pretty much the same for 3.6 as 3.8. Start the cong with this command:
simias-server-setup
Then restart apache.
/etc/init.d/apache2 restart
That all goes ok, but it doesn't work :( When I browse to ip-of-server/simias10 I get this:
Error 500:
Server Error in '/simias10' Application
/usr/lib/simias/web/bin/FlaimWrapper.so
Description: Error processing request.
Error Message: HTTP 500. System.DllNotFoundException: /usr/lib/simias/web/bin/FlaimWrapper.so
Stack Trace:
The current state of play
Considering I have spent a huge amount of time trying to get this to work and have basically got nowhere. I will shelve this until the new 10.04 based TKL is out (which probably should be soon hopefully)
Mirth Connect Appliance
Overview
Step by step I will explain how to build Mirth Connect Appliance from Turnkey Core. Now I have one running on VMWare Server. Next step I like create LiveCD and using Debian sources.
What is Mirth Connect?
Mirth Connect is an open source standards-based healthcare integration engine. Mirth Connect facilitates the routing, filtering, and transformation of messages between health information systems over a variety of protocols (like LLP, Database, and FTP) with support for numerous standards (such as HL7, XML, and DICOM).

Install turnkey on VMWare (or similar)
- Deploy Turnkey-Core ISO image on VMWare with 2GB hard disk and 512MB RAM.
Download files and upload to server
- Last Mirth Connect v.1.8.1: http://download.mirthcorp.com/pub/mirth/1.8.1.4211/mirth-1.8.1.4211.948-linux-installer.bin
- Last Java JDK (Java SE Development Kit 6u14): https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/ViewProductDetail-Start?ProductRef=jdk-6u14-oth-JPR@CDS-CDS_Developer
- Put this files on server using Webmin to Tools > Uploads and Downloads > Upload to Server tab
Setup
- Access to Turnkey-Core using console (IP of your virtual machine). Remember your default password is
turnkey
ssh root@172.16.17.130
- Install Java:
-
Move java file
mv /jdk-6u14-linux-i586.bin /opt
- Run Java to install
cd /opt/ ./jdk-6u14-linux-i586.bin
- Create simbolic link
ln -s /opt/jdk1.6.0_14 /opt/java
-
- Install Mirth Connect
- Run Mirth to install
./mirth-1.8.1.4211.948-linux-installer.bin
- Setup Mirth
cd /opt/mirth /opt/java/bin/java -jar mirth-1.8.1.4211xxxx-setup.jar script.xml
Your Mirth install on /opt/Mirth (careful with uppercase and lowercase, on linux is diferent Mirth and mirth) - Mirth config to run on reboot
ln -s /opt/Mirth/mirth-daemon /etc/init.d/mirth-daemon update-rc.d mirth-daemon defaults
-
Set JAVA_HOME on Mirth, edit file:
/opt/Mirth/mirth-daemonadd next lines at top:export JAVA_HOME=/opt/java PATH=$JAVA_HOME/bin:$PATH
- Run Mirth to install
- (Optional) set JAVA_HOME on your user (root):
- Edit file: /root/.bash_profile and add next lines:
export JAVA_HOME=/opt/java PATH=$JAVA_HOME/bin:$PATH
- Edit file: /root/.bash_profile and add next lines:
- Reboot system:
shutdown -r now
Checkings
Check Mirth installation
Go to Mirth at http://172.16.17.130:8080/ (IP of your virtual machine)

Note: Your client need have Java JRE and user/pass default is admin/admin
Check Webmin access
Go to Webmin at https://172.16.17.130:12321/
Future
- I like to write this machine on LiveCD and create image
- Run Mirht with another user, I don't like run with root user.
- Run on Debian Image for more stability, from scratch maybe...
Network services appliance
Samba can be used as a domain controller but configuring such a beast is really hard work. A general network services appliance preconfigured as a drop in replacement for a windows domain controller and general authentication server would be really useful.
Notes
I've heard Samba4 will have native support to be a 2k3'ish DC. I'm working more and more w/ OpenLDAP to act as a proxy for other LDAP servers like AD, so I'll help out where I can. Also look into other LDAP servers like OpenDS, Penrose, Fedora DS and maybe even Sun One, (its free but only has binaries for MS and RPM based distos). Mabe even incorporate items like phpLDAPadmin as the webui or bundle jXplorer considering its a desktop app that runs on Linux and Windows.
-- Patrick
OpenERP - MagentoConnector
On Bazaar, OpenERP plus the Magento Connector looks very interesting, though somewhat difficult to combine. If this could be built and packaged together My sense is that it could be a real blockbuster:
I am finding all the Pieces, I just have no Experience Downloading and Installing Packages etc.. so I am putting these for some integration help: This should Ideally be a "Prebuilt" Apliance. Magento is fast becoming the 100 lb Gorilla in Ecommerce but it is really isolated from the rest of Business Management. OpenErp Fills this space, but the two need to work together. The MagentoERPConnector fills the gap but it is a big chore, it seems, to link them. If this could be prebult and integrated into the Package Management of Bazaar via TurnKey this would be the GoTo method.
(essentially an OPENERP/Magento Connected Build)
Bazaar Branches are here:
https://launchpad.net/openerp/
https://launchpad.net/magentoerpconnect
Info on how to integrate follows.
OpenERP is Here:
OpenLabs: One of the Partners in OpenERP/Magento Connector is here:
READ the TEXT Not the MENU TO START:
http://openlabs.co.in/article/open-e...ntegration-new
MagentoConnector Install Directions are somewhat outlined here:
http://www.openerp.com/forum/topic20961.html
updated next 2 lines:
http://tazjel.blogspot.com/2011/01/openerp-magento-integration.html
http://www.zbeanztech.com/blog/openerp-magento-integration
From the OpenLabs link above the following may also be required:
Required bits & pieces
- Required Open ERP Addons (Available for download from this site):
- Module: product
- Module: base_external_referentials
- Module: base_sale_multichannels
- Module: product_m2mcategories
these links seem part of the above, but this is also some of the complication here:
https://launchpad.net/openobject-addons
https://code.launchpad.net/~openerp/openobject-addons/6.0
I think this is all doable. For some reason this is all being held behind the veil of Package Managment and to get inside it would be great to have a method that not only got the system started but also let people start to participate in the Branches Forks and Development...
Lots to learn. I just want a working Ap by Next Week.
OpenGoo Appliance
Overview
OpenGoo is an Open Source Web Office (see http://www.opengoo.org/about.html for more info)
I have started working on setting this up as an appliance (based on Turnkey Linux LAMP)
I currently have this working quite well. I haven't spent a lot of time testing yet but it all seems to be ok.
These instructions assume that you have a working install of Turnkey LAMP (I used a virtual machine in VirtualBox but that shouldn't make any difference).
Setup using Webmin (can be done remotely via web browser)
To use these instructions you will need to log into your Turnkey Server from a web browser. On a default Turnkey LAMP setup you'll need to browse to https://your.appliance.ip:12321/ and log in. If you'd rather use the console, see below.
1) To be able to upload files to your server using Webmin you will need to install the zip/unzip packages.
- Select Software Packages (Sytem > Software Packages)
- Update packages - click <Upgrade Now> (bottom of the page)
- Install new package - Select Packages from APT - write
zip unzipthen click <Install>
2) OpenGoo requires a php extension that isn't included with Turnkey LAMP by default so you need to install php5-gd as well.
- Install new package - Select Packages from APT - write
php5-gdthen click <Install>
There are a number of dependencies that will need to be installed, but Turnkey Linux will take care of sorting all that out.
3) Download the OpenGoo zip package (if you haven't already). http://www.opengoo.org/downloads.html
4) Upload OpenGoo
- Select File Manager (Tools > File Manager)
- Click <Upload> (you may need to allow pop-ups)
- <Browse> to OpenGoo.zip
- Upload to
/var/www - Select Yes (or Yes and delete) - Uncompress ZIP or TAR file
- Click <Upload>
5) Change ownership (permissions) of /var/www/opengoo directory. To make OpenGoo 'automatically' upgradeable you will need to change ownership of the whole folder.
- Still in File Manager (Tools > File Manager)
- In the left pane, click
varthenwwwnow in the right pane click onopengoo - Click <Info>
- Change Ownership to
www-dataand set it to apply to This directory and all subdirectories (drop down at the bottom). Click <Save>
If you would rather not allow full web server write access and are happy to install OpenGoo updates manually you can just set the permissions of the indivdual folders. The folders are all located in /var/www/opengoo. They are
/config/public/files/cache/upload/tmp
Now Install OpenGoo (see below)
Setup using Console (logged into local Turnkey server)
1) To keep the instructions inline with the above Webmin method, install the zip/unzip packages.
apt-get update apt-get install zip unzip
2) Install php5-gd
apt-get install php-gd
There are a number of dependencies that will need to be installed, but Turnkey Linux will take care of sorting all that out.
3) Download the OpenGoo zip package (if you haven't already). http://www.opengoo.org/downloads.html
4) Upload OpenGoo.zip to /var/www using your preferred method eg ftp, rsync etc. Then unzip
unzip /var/www/opengoo.zip
you can then delete the .zip package if you'd like.
5) Change ownership (permissions) of /var/www/opengoo directory. To make OpenGoo 'automatically' upgradeable you will need to change ownership of the whole folder.
chown www-data:www-data /var/www/opengoo
If you would rather not allow full web server write access and are happy to install OpenGoo updates manually you can just set the permissions of the indivdual folders.
chown www-data:www-data /var/www/opengoo/config chown www-data:www-data /var/www/opengoo/public/files chown www-data:www-data /var/www/opengoo/cache chown www-data:www-data /var/www/opengoo/upload chown www-data:www-data /var/www/opengoo/tmp
Now Install OpenGoo (see below)
Install OpenGoo
Now comes the easy part!
Using your web browser, browse to OpenGoo: http://your.appliance.ip/opengoo/
Just follow the instructions at http://wiki.opengoo.org/doku.php/installer, its pretty straight forward.
For more info please read the OpenGoo Manual (http://wiki.opengoo.org/doku.php/Home) - User's manual first, followed by the Administrator's manual (scroll down).
Please msg me if there is something I've missed or something that needs a bit more clarification (especially if its before I get a chance to get back and tidy up)
Good luck!
OpenTaps - ERP and CRM
This system looks to be a good combination of features and possibilities. For a structural overview go to: http://en.wikipedia.org/wiki/Opentaps
Attractive feature is that it "Links with Magento (out of the box)" but also integrates serious CRM, ERP and its own Web Selling program. I am not clear yet what level the Demo is promoted to:
Gave it a first spin at install and do have it running now on top of TKL Tomcat Apache. I am reading however that the install was such that it installed its own Tomcat and Database system. Purports to be installable onto Postgres and MySQL both. Thinking MySQL would be a good default as it integrates into TKLBAM.
various demo pages start here:
http://www.opentaps.org/products/online-demo
this is their integral web store (not the Magento Store)
http://demo1.opentaps.org/ecommerce/control/main
download request here:
http://www.opentaps.org/products/download
Sourceforge is here:
http://sourceforge.net/projects/open...pentaps%201.4/
Big system. (downloading now)
Important Links that informed my First Install:
http://www.asksaro.com/363-how-to-se...-server-10-10/
How to Modify ANT to work in Tomcat:
http://ubuntuforums.org/archive/inde.../t-625579.html
Method followed for first install:
(I believe this is in etc, but I need to look again)... followed asksaro's recomendation:
Before we build Opentaps, we must set the correct Java paths. The follwing is asksaro's example.
# export JAVA_HOME=/usr/lib/jvm/openjdk-1.6.0-jdk
# export PATH=$PATH:$JAVA_HOME/bin
Dropped Download onto Root: Expanded into its own Folder in Root: Renamed Folder to simply OPENERP (taking 1.52 off the end - Giving the 1.52 ending to the Readme File in the same folder
First Tomcat Applied Commands:
apt-get install ant ant-optional
ant run-install (to get Sample Data installed)
OR:
ant run-install-seeed
ant run-install-extseed (to get blank install with base template)
some variaton of:
startofbiz.sh (see Asksaro.com link above)
Builds its own Database and Web Server.
________
AskSaro.com link above documents how to do PostGres Install.
OpenTaps.org Documents how to do MySQL install.
Wiki indicates that this can be installed on nearly any Database.
_________
Will spend some time comparing OpenTaps to OpenERP. Full package eval and also comparison of Magento Tie ins.
Will need to learn how to setup multiple Hosts on a System in order to host different business entities.
Making a Patch will need to automate Database Setup, and should also define various "host entities" if at all possible (This is also needed in Magento Patc - Build).
OpenVZ Template - TKL Core v11.0RC
Important Note: These instructions apply only to 10.04/Lucid based TKL (currently v11.0RC). As Ubuntu have dropped support for OpenVZ (both as guest and host) there are some hacks required to get 10.04/Lucid (base of TKL v11) running as an OpenVZ guest. I consider this a work in progress.
You can find a script which leverages tklpatch (with an acompanying patch) on the TKL forums here.
tklovz
(mod of tkpatch) script:
MindTouch.Deki.Script.Compiler.DekiScriptParserException: invalid Primary: /content/body/pre[1], line 1, column 3 at MindTouch.Deki.Script.Compiler.Errors.SynErr (System.String origin, Int32 line, Int32 col, Int32 n) [0x00000] in <filename unknown>:0 at MindTouch.Deki.Script.Compiler.Parser.SynErr (Int32 n) [0x00000] in <filename unknown>:0 at MindTouch.Deki.Script.Compiler.Parser.Primary (MindTouch.Deki.Script.Expr.DekiScriptExpression& expr) [0x00000] in <filename unknown>:0 at MindTouch.Deki.Script.Compiler.Parser.Unary (MindTouch.Deki.Script.Expr.DekiScriptExpression& expr) [0x00000] in <filename unknown>:0 at MindTouch.Deki.Script.Compiler.Parser.MulExpr (MindTouch.Deki.Script.Expr.DekiScriptExpression& expr) [0x00000] in <filename unknown>:0 at MindTouch.Deki.Script.Compiler.Parser.AddExpr (MindTouch.Deki.Script.Expr.DekiScriptExpression& expr) [0x00000] in <filename unknown>:0 at MindTouch.Deki.Script.Compiler.Parser.ConcatExpr (MindTouch.Deki.Script.Expr.DekiScriptExpression& expr) [0x00000] in <filename unknown>:0 at MindTouch.Deki.Script.Compiler.Parser.RelExpr (MindTouch.Deki.Script.Expr.DekiScriptExpression& expr) [0x00000] in <filename unknown>:0 at MindTouch.Deki.Script.Compiler.Parser.EqlExpr (MindTouch.Deki.Script.Expr.DekiScriptExpression& expr) [0x00000] in <filename unknown>:0 at MindTouch.Deki.Script.Compiler.Parser.AndExpr (MindTouch.Deki.Script.Expr.DekiScriptExpression& expr) [0x00000] in <filename unknown>:0 at MindTouch.Deki.Script.Compiler.Parser.OrExpr (MindTouch.Deki.Script.Expr.DekiScriptExpression& expr) [0x00000] in <filename unknown>:0 at MindTouch.Deki.Script.Compiler.Parser.NullCoalescingExpr (MindTouch.Deki.Script.Expr.DekiScriptExpression& expr) [0x00000] in <filename unknown>:0 at MindTouch.Deki.Script.Compiler.Parser.TernaryExpression (MindTouch.Deki.Script.Expr.DekiScriptExpression& expr) [0x00000] in <filename unknown>:0 at MindTouch.Deki.Script.Compiler.Parser.Expression (MindTouch.Deki.Script.Expr.DekiScriptExpression& expr) [0x00000] in <filename unknown>:0 at MindTouch.Deki.Script.Compiler.Parser.Statements (MindTouch.Deki.Script.Expr.DekiScriptExpression& expr) [0x00000] in <filename unknown>:0 at MindTouch.Deki.Script.Compiler.Parser.DekiScript () [0x00000] in <filename unknown>:0 at MindTouch.Deki.Script.Compiler.Parser.Parse () [0x00000] in <filename unknown>:0 at MindTouch.Deki.Script.Compiler.DekiScriptParser.Parse (Location location, System.IO.Stream source) [0x00000] in <filename unknown>:0 at MindTouch.Deki.Script.Compiler.DekiScriptParser.Parse (System.Xml.XmlElement current, System.Collections.Generic.List`1 list) [0x00000] in <filename unknown>:0
tkl-ovz-patch.tar.gz/conf
(the patch applied by tklovz - this is what does all the template creation part):
MindTouch.Deki.Script.Compiler.DekiScriptParserException: invalid Primary: /content/body/pre[2], line 1, column 3 at MindTouch.Deki.Script.Compiler.Errors.SynErr (System.String origin, Int32 line, Int32 col, Int32 n) [0x00000] in <filename unknown>:0 at MindTouch.Deki.Script.Compiler.Parser.SynErr (Int32 n) [0x00000] in <filename unknown>:0 at MindTouch.Deki.Script.Compiler.Parser.Primary (MindTouch.Deki.Script.Expr.DekiScriptExpression& expr) [0x00000] in <filename unknown>:0 at MindTouch.Deki.Script.Compiler.Parser.Unary (MindTouch.Deki.Script.Expr.DekiScriptExpression& expr) [0x00000] in <filename unknown>:0 at MindTouch.Deki.Script.Compiler.Parser.MulExpr (MindTouch.Deki.Script.Expr.DekiScriptExpression& expr) [0x00000] in <filename unknown>:0 at MindTouch.Deki.Script.Compiler.Parser.AddExpr (MindTouch.Deki.Script.Expr.DekiScriptExpression& expr) [0x00000] in <filename unknown>:0 at MindTouch.Deki.Script.Compiler.Parser.ConcatExpr (MindTouch.Deki.Script.Expr.DekiScriptExpression& expr) [0x00000] in <filename unknown>:0 at MindTouch.Deki.Script.Compiler.Parser.RelExpr (MindTouch.Deki.Script.Expr.DekiScriptExpression& expr) [0x00000] in <filename unknown>:0 at MindTouch.Deki.Script.Compiler.Parser.EqlExpr (MindTouch.Deki.Script.Expr.DekiScriptExpression& expr) [0x00000] in <filename unknown>:0 at MindTouch.Deki.Script.Compiler.Parser.AndExpr (MindTouch.Deki.Script.Expr.DekiScriptExpression& expr) [0x00000] in <filename unknown>:0 at MindTouch.Deki.Script.Compiler.Parser.OrExpr (MindTouch.Deki.Script.Expr.DekiScriptExpression& expr) [0x00000] in <filename unknown>:0 at MindTouch.Deki.Script.Compiler.Parser.NullCoalescingExpr (MindTouch.Deki.Script.Expr.DekiScriptExpression& expr) [0x00000] in <filename unknown>:0 at MindTouch.Deki.Script.Compiler.Parser.TernaryExpression (MindTouch.Deki.Script.Expr.DekiScriptExpression& expr) [0x00000] in <filename unknown>:0 at MindTouch.Deki.Script.Compiler.Parser.Expression (MindTouch.Deki.Script.Expr.DekiScriptExpression& expr) [0x00000] in <filename unknown>:0 at MindTouch.Deki.Script.Compiler.Parser.Statements (MindTouch.Deki.Script.Expr.DekiScriptExpression& expr) [0x00000] in <filename unknown>:0 at MindTouch.Deki.Script.Compiler.Parser.DekiScript () [0x00000] in <filename unknown>:0 at MindTouch.Deki.Script.Compiler.Parser.Parse () [0x00000] in <filename unknown>:0 at MindTouch.Deki.Script.Compiler.DekiScriptParser.Parse (Location location, System.IO.Stream source) [0x00000] in <filename unknown>:0 at MindTouch.Deki.Script.Compiler.DekiScriptParser.Parse (System.Xml.XmlElement current, System.Collections.Generic.List`1 list) [0x00000] in <filename unknown>:0
Here are the contents of the overlay files:
/etc/init/openvz.conf
MindTouch.Deki.Script.Compiler.DekiScriptParserException: EOF expected: /content/body/pre[3], line 1, column 16 at MindTouch.Deki.Script.Compiler.Errors.SynErr (System.String origin, Int32 line, Int32 col, Int32 n) [0x00000] in <filename unknown>:0 at MindTouch.Deki.Script.Compiler.Parser.SynErr (Int32 n) [0x00000] in <filename unknown>:0 at MindTouch.Deki.Script.Compiler.Parser.Expect (Int32 n) [0x00000] in <filename unknown>:0 at MindTouch.Deki.Script.Compiler.Parser.Parse () [0x00000] in <filename unknown>:0 at MindTouch.Deki.Script.Compiler.DekiScriptParser.Parse (Location location, System.IO.Stream source) [0x00000] in <filename unknown>:0 at MindTouch.Deki.Script.Compiler.DekiScriptParser.Parse (System.Xml.XmlElement current, System.Collections.Generic.List`1 list) [0x00000] in <filename unknown>:0
/tmp/excludes.excl
(list of files to be excluded when the prelimary template is created)
MindTouch.Deki.Script.Compiler.DekiScriptParserException: EOF expected: /content/body/pre[4], line 1, column 1 at MindTouch.Deki.Script.Compiler.Errors.SynErr (System.String origin, Int32 line, Int32 col, Int32 n) [0x00000] in <filename unknown>:0 at MindTouch.Deki.Script.Compiler.Parser.SynErr (Int32 n) [0x00000] in <filename unknown>:0 at MindTouch.Deki.Script.Compiler.Parser.Expect (Int32 n) [0x00000] in <filename unknown>:0 at MindTouch.Deki.Script.Compiler.Parser.Parse () [0x00000] in <filename unknown>:0 at MindTouch.Deki.Script.Compiler.DekiScriptParser.Parse (Location location, System.IO.Stream source) [0x00000] in <filename unknown>:0 at MindTouch.Deki.Script.Compiler.DekiScriptParser.Parse (System.Xml.XmlElement current, System.Collections.Generic.List`1 list) [0x00000] in <filename unknown>:0
References:
Some of my previous experience with OpenVZ and the references I used for 8.04/Hardy were still relevant but there is also a lot of Lucid specific stuff:
Bodhizazen's Blog: http://blog.bodhizazen.net/linux/ubuntu-10-04-openvz-templates/
Ubuntu forum thread : http://ubuntuforums.org/showthread.php?t=1471305
best looking instructions I have found so far are a blog post here.
OpenVZ Template - TKL Core/LAMP/MediaWiki v2009.x
Important Note: These instructions apply only to 8.04/Hardy based TKL (up to and including 2009.10-2). They do not work on the new 10.04/Lucid based TKL. Unfortunately as Ubuntu have dropped support for OpenVZ (both as guest and host) it's a little tricky to get 10.04 running as an OpenVZ guest. I have started work on a separate TKL Dev Wiki entry here.
Below are the steps that I took to create an OpenVZ Template of (Ubuntu 8.04/Hardy based) TKL Core/LAMP/MediaWiki. This information will be superceded once the TKL devs produce official OpenVZ tempates, but until then this works for me (so far) and hopefully it will work for you too.
Disclaimer: Be warned I am somewhat of a Linux noob! Most of this information I got off the OpenVZ wiki and a few other sources (including google) and with a huge amount of time and patience I patched it all together and have produced a working template. I can not guarantee this will work for you and I have not done extensive testing yet so I can't even be sure mine works 100%. In other words proceed with caution!
This may work for other TKL appliances and it may even work on other customised Ubuntu or Debian systems but I can not guarantee it. So far I have tested:
- TKL-Core 2009.10
- TKL-LAMP 2009.10
- TKL-MediaWiki 2009.0? (previous stable release)
- TKL-Fileserver 2009.10
- TKL-PDC 2009.10
I have heard that Java doesn't play well with OpenVZ by default (so the Zibra appliance may not work without some tweaking). Please see here for more details. There is also a link to some pre-created templates made by xtrac568
I have developed a script which basically does all these steps automatically. It isn't very professional (just writing it was a huge learning curve!) but I am happy to share if you'd like a go at it. - JedMeister
Install Turnkey Core Appliance
This first step is pretty straight forward, proceed as you would for any TKL instalation. I suggest you use a virtual environment (eg VirtualBox/VMware/KVM/others...) but it should still work if you install to hardware . I'm using the KVM componenet of Proxmox VE (not that it should matter).
I use SSH to to access my base system but if you are doing this on hardware then you can do it from a local terminal. I do not recommend you do this from Webmin.
Customise system
Update/Install/Tweak anything you want to include in your Template.
Please note that the steps below may make your host system unusable (unless you know what you are doing and can undo the steps or avoid the destructive ones). If you wish to maintain the current system, please do a full system backup prior - especially backup anything of importance!
Edit sources.list (if required)
nano /etc/apt/sources.list.d/sources.list
Save (Ctrl-o in nano) and exit (Ctrl-x in nano).
Tweak packages and cleanup
apt-get update apt-get remove module-init-tools xkb-data busybox-initramfs libvolume-id0 eject
Note: on removing the deb-package "module-init-tools", a fake-modprobe is needed for IPv6 addresses, see below!
Now install any packages you want to have in your default template. I installed quota, bzip2 and wget. quota is useful for allocating disk quotas for users. I used bzip2 to reduce the final filesize but it is optional. Even if you wish to use it, you can install it later if you'd rather so it won't be included in your template. wget is required to download the Debian procps (below). You can remove it (apt-get remove wget) after that step if you do not want it included in your template. localepurge will remove all locale based packages that do not relate to your locale. When this installs you need to choose the locales you wish to keep (up & down arrows, space to select). Make sure you select all that are relevant (eg for me in Australia, I need to choose en, en_AU and en_AU.UTF-8). Add any other packages which you want to have in a default template now too.
apt-get install quota bzip2 wget localepurge
Upgrade
I don't think its necessary, but I did an upgrade. As a general rule I avoid upgrade, and rather just update individual packages when there is security risk, bug-fix and/or additional functionality I require. In the past I have experienced problems after an upgrade so I don't really recommend it on anything other than Core. Also TKL does a regular automatic security update (through cron_daily). Seeing as I was using Core (not too much to go wrong or break) and for the sake of completeness, I did a full upgrade on this install.
First I made sure that we have got rid of any orphan packages and then I did the upgrade.
apt-get autoremove
followed by:
apt-get upgrade
Fix problem with Ubuntu procps
When I originally wrote this, there was a bug with Ubuntu procps. To solve this I replaced the Ubuntu procps with the latest version from Debian Sid (procps>=1:3.2.7-8 at the time of the original post). Please note that this package will not update (using apt) and the package listed may be replaced. If you get an error message from the wget line below check the Debian packages for the latest one.
It may be possible that this step is no longer required (if Ubuntu have also upgraded to a new version) but I have not checked so I have left this step included until I can confirm the Ubuntu bug no longer exists. If you are able to confirm or deny whether this is true before I do, please feel free to edit this page or post in the TKL forums (or even PM me).
I used procps_3.2.8-8 from the Internode mirror (because I'm in Australia and this is my ISPs mirror). There are a list of mirrors here: http://packages.debian.org/sid/i386/procps/download Simply replace the url in the wget line below.
wget http://mirror.internode.on.net/pub/debian/pool/main/p/procps/procps_3.2.8-8_i386.deb dpkg -i procps_3.2.8-8_i386.deb
After it has installed fine, the .deb can be removed.
rm /root/procps_3.2.8-8_i386.deb
Mod to support IPv6
ln -s /bin/true /sbin/modprobe
On setup IPv6, the command "modprobe -Q IPv6" is called, which fails without the "fake-modprobe"
Disable sync() for syslog
sed -i -e 's@\([[:space:]]\)\(/var/log/\)@\1-\2@' /etc/syslog.conf
Fix /etc/mtab
rm -f /etc/mtab ln -s /proc/mounts /etc/mtab
After that, it would make sense to disable mtab.sh script/service which messes with /etc/mtab:
update-rc.d -f mtab.sh remove
Other services - /etc/init.d
Some system services can (or in some cases should) be disabled. A few good candidates are:
- acpid, amd (not needed)
- checkfs, checkroot (no filesystem checking is required in container)
- clock (no clock setting is required/allowed in container)
- hdparm (container does not have real hard drives)
- klogd (unless you use iptables to LOG some packets)
- keymaps (container does not have a real keyboard)
- kudzu (container does not have real hardware)
- lm_sensors (container does not have access to hardware sensors)
- microcodectl (container can not update CPU microcode)
- netplugd (container does not have real Ethernet device)
originally I also removed consolefont - but consoles don't display correctly so I leave it in now.
so to get get rid of them:
update-rc.d -f acpid remove update-rc.d -f amd remove update-rc.d -f checkfs remove update-rc.d -f checkroot remove update-rc.d -f clock remove update-rc.d -f hdparm remove update-rc.d -f klogd remove update-rc.d -f keymaps remove update-rc.d -f kudzu remove update-rc.d -f lm_sensors remove update-rc.d -f microcodectl remove update-rc.d -f netplugd remove
Set hostname and /etc/hosts
echo "localhost" > /etc/hostname echo "127.0.0.1 localhost.localdomain localhost" > /etc/hosts
Remove nameserver(s)
> /etc/resolv.conf echo 192.168.1.60 > /etc/resolv.conf
Clean up packages, udev and logs
apt-get clean rm -fr /lib/udevClean up logs:
cd /var/log > messages; > auth.log; > kern.log; > bootstrap.log > dpkg.log; > syslog; > daemon.log; > apt/term.log rm -f *.0 *.1
Package Template
Collect files required
First create a file /tmp/excludes.excl (I like nano, but please substitute your favourite text editor).
nano /tmp/excludes.excl
then make these the contents:
.bash_history /dev/* /mnt/* /tmp/* /proc/* /sys/* /cdrom /media/* /usr/src/* /var/cache/apt/* /lost+found
Save and exit (<Ctrl><x> in nano, follow promts). Now use tar to collect all the files:
tar cpf /tmp/template.tar / -X /tmp/excludes.excl
Now create a sub folder /tmp/template and unpack the files there ready to make required modifications:
mkdir /tmp/template tar xvf /tmp/template.tar -C /tmp/template
Install bzip2 (optional)
apt-get update apt-get install bzip2
Recreate /var/cache/apt/archive/partial & create /dev/pts/ & /dev/shm/
For apt to work you need to recreate the apt cache partial directory (the /var/cache/apt/ contents were excluded). These other directories are required too.
mkdir /tmp/template/var/cache/apt/archives mkdir /tmp/template/var/cache/apt/archives/partial mkdir /tmp/template/dev/pts mkdir /tmp/template/dev/shm
Disable getty
On a usual Linux system, getty is running on a virtual terminal, which a container does not have. So, having getty running doesn't make sense; more to say, it complains it can not open terminal device and this clutters the logs.
Disable running getty.
rm /tmp/template/etc/event.d/tty*
Clear fstab
> /tmp/template/etc/fstab
Create /dev/ptmx /dev/urandom /dev/random & /dev/null
mknod --mode 666 /tmp/template/dev/ptmx c 5 2 mknod --mode 444 /tmp/template/dev/random c 1 8 mknod --mode 444 /tmp/template/dev/urandom c 1 9
If this is not correct sshd will not start correctly.
mknod --mode 666 /tmp/template/dev/null c 1 3
Copy /dev/ttyp* and /dev/ptyp*
cp -a /dev/ttyp* /dev/ptyp* /tmp/template/dev/
Disable old network interface (optional)
If you are using DCHP (or at least didn't set a static IP) then you can ignore this step. Proxmox (and OpenVZ) allow you to set static IP when initialising a new machine from a template. Proxmox actually automatically creates the network interface config file on VM startup so no need to touch this if using that. Otherwise comment out all lines but these (the loopback):
auto lo iface lo inet loopback
Edit the network interface config file like this (substitute nano for your favourite text editor if you wish):
nano /etc/network/interfaces
Package final template
Even though I am using bzip2 compression, I use the .tar.gz extension as Proxmox will only find .tar.gz templates. If you aren't using Proxmox you can choose to use the .tar.bz2 extension if you'd rather. If you are using gzip compression substitute 'z' for 'j' ie tar czvf .....
cd /tmp/template tar cjvf /tmp/ubuntu-8.04-tkl-core_2009.10_i386.tar.gz *
Possible bug with /dev/urandom
On starting the VM in the boot log it complains that "cannot create /dev/urandom: permission denied". It looks like this is a permission issue.
All the documentation I have read regarding OpenVZ templates suggests that 444 is the correct permission for this file. Even if you delete and recreate the file it still complains.
I will leave it as is for now
References
http://pve.proxmox.com/wiki/Migration_of_servers_to_Proxmox_VE
http://wiki.openvz.org/Physical_to_container
http://wiki.openvz.org/Ubuntu_Hardy_template_creation
http://howtoforge.com/how-to-convert-physical-systems-and-xen-vms-into-openvz-containers-debian-etch
http://ubuntuforums.org/showthread.php?t=617225&highlight=openvz+template+running+server
and lots of googling for minor points.
Note to Devs
When it comes time to create the official TKL OpenVZ, from what I've read the best way would be to simply use the info contained here: http://wiki.openvz.org/Ubuntu_Hardy_template_creation
Pentaho appliance
Copy of blueprint notes proposed by Daniele Medri on launchpad
Pentaho baseline for ubuntu-server and Pentaho tools for desktop.
Before Karmic release will be out version 3.0 (actually on RC2 stage).
Two step for inclusion as easy like a research papers:
1. server ready solution: Pentaho BI server, the baseline.
Package 1: pentaho-server (default)
dependencies: is tested on sun-java5-<wbr/>{jre/jdk}<wbr/>, could be "nice" to have a more recent release.
suggests: mysql-server, libmysql-java
Package 2: pentaho-<wbr/>server-<wbr/>tomcat (alternative)
dependencies: is tested on sun-java5-<wbr/>{jre/jdk}<wbr/>, tomcat
suggests: mysql-server, libmysql-java
2. additional tools for desktop (need a java runtime and X):
a. data integration tool (kettle): http://<wbr/>kettle.<wbr/>pentaho.<wbr/>org/ - pentaho-pdi
b. analysis tool (mondrian): http://<wbr/>mondrian.<wbr/>pentaho.<wbr/>org/ - pentaho-analysis
c. pentaho reporting: http://<wbr/>reporting.<wbr/>pentaho.<wbr/>org/ - pentaho-reporting
d. data mining engine (weka): http://<wbr/>weka.pentaho.<wbr/>org/ - pentaho-datamining
Originally posted by TheBlackSheep (Chris) on the forums
I've been looking to evaluate Pentaho CE and thought this might be useful for anyone involved in a similar project - it looks like a great product but a little difficult to find all the information together so I thought I'd try and make some notes as I went along to help others embarking on a similar project.
Ok you'll need the "CORE" Ubuntu appliance ISO.
I downloaded Sun's VirtualBox to host some of these turnkey appliances - makes it very easy to start and stop virtual systems whilst you are configuring/evaluating the particular appliance (although I've only tried this on WinXP (cough!) currently, I must do same on a full Ubunut server install). Using VirtualBox or VMWare or whatever, create a new virtual machine, call it whatever, "Pentaho" for example, if that's what it will be, accept the defaults for a Ubuntu linux device. Once the base virtual machine has been created by Virtual Box before starting it up you first need to ensure the Network is set to bridged - this will get a DHCP ip address from the local network when the virtualmachine boots, next go to the CD/DVD-ROM and point this to the "Core" turnkey appliance ISO you downloaded earlier.
Now start your virtual machine and it should, after a few seconds, start booting into the appliance. After a further few seconds, you'll get a menu screen with some options on it - choose the "install to hard-disk" and then just accept all the defaults. You'll need to setup a root password, eventually the sysem will be installed and it will need to reboot.Just before you do, unmount the CD/DVD from the "Devices" menu. then reboot. Eventually it will boot into your new virtual server and give some new menu options about network configuration etc. Make a note of your ip-address here, you're going to need it later.
Quit out of the menus until you're back to the command "login" prompt, login using "root" and the password you created when you installed the core system.
If necessary set the relevant keyboard (this is necessary for piping and redirection via the console on non-USA keyboards etc)
dpkg-reconfigure console-data
(some users might also need to reconfigure language too - "dpkg-reconfigure locales"
INSTALLING JAVA6 RUNTIME
Note: I'd tried using the "Tomcat" turnkey appliance installation prior to this and some of pentaho did work but I was also getting port conflicts on the Tomcat5.5 that comes with the Pentaho installation and in the appliance so I decided to go with a "core" appliance installation and install just what was necessary for Pentaho to run.
you're going to need to download some files from the repositories, if you're sat behind a proxy you might need to add the following lines to your "bash.bashrc" file in /etc/
export http_proxy=http://<user>:<pass>@<proxy-server>:<port>/
export ftp_proxy=http://<user>:<pass>@<proxy-server>:<port>/
You'll need to change the user/pass and proxy server ip address appropriate for you obviously.
(you'll need to logout for these to come into effect so just type "exit" and then login again - you could type bash to rerun
the shell but then you'd be running a shell within a shell and your outer shell won't have these settings so it's easier just to exit and login again)
The sun-java runtime is in the mutiverse so you're going to need to change the turnkey list of repositories to include the "multiverse" to be able to download the JRE, to do this just take out the # from the multiverse line in the two main repositories (in the core appliance I downloaded the first block of repositories point to the turnkey repositiories, the second and third blocks point to the standard ubuntu ones - just take out the # on these 2nd and 3rd blocks for the multiverse ones), these are held in the file;
/etc/apt/sources.list.d/sources.list
which you'll need to edit with vi or vim, once this is done type;
apt-get update
this will update the list of packages that are available to download and which should now include the "multiverse" ones, followed by (I didn't check here to see if there is a Turnkey Multiverse repository which might be more appropriate)
apt-get install sun-java6-jre
better
(if you get 403 Forbidden errors, try re-editing the /etc/apt/sources.list.d/sources.list and changing all the http's to ftp and then rerun "apt-get install sun-java6-jre" - this worked for me with the proxy I was using)
when the Java is installing you'll see a licence option on the console which you'll need to ok for it to actually install. Eventually, your prompt will return. Now we need to setup the environment so Pentaho knows where Java is, just type
cd /usr/bin
and type;
ls java
you should see a file called java listed, if it's there just type
java -version
and hopefully you'll see the version of java listed as 1.6 and some copyright stuff from Sun. Now go back into the bash shell configuration file and add the following line at the end of the file (use vi/vim etc);
export JAVA_HOME=/usr
once you've got back to the prompt, type "exit" to logout and then log back in and type;
echo $JAVA_HOME
hopefully you'll see;
/usr
(Note I initially set JAVA_HOME to /usr/bin as that's what I thought it should be based on some searches on google but then Pentaho will look for it in /usr/bin/bin/java which obviously isn't correct)
If not retrace your steps and check the relevant files.
Now download the version of pentaho you're wanting to install - I downloaded "biserver-ce-3.0.0-STABLE.tar.gz" to my local PC. You then need to get this across to your virtual server and in this case I used Webmin which is part of the core appliance setup. Open a browser and open the URL
http://<server-ipaddress>:12321/
you'll probably get errors about security certificates, accept/get/override these until it gives you the Webmin web-based login dialog box.
Login as your root and the password you set when you first installed the "core" linux appliance. From the menu choose "Tools"->"Upload and Download", then switch to the Upload tab. Using one of the browse buttons find the Pentaho package you downloaded and then just click on the upload button, a progress dialog will appear showing this file going across to your virtual server. Webmin will let you know when it's finally completed.
Now go back to your bash console on the virtual server. Create a folder off the root folder (i.e. /) called "pentaho" (i.e. "mkdir /pentaho")and move the file you just transferred via Webmin to it (note: this is just a personal preference, if you need to remove stuff later it's always easier if it's boxed off in a separate folder somewhere rather than trying to traverse a scattered file system to remove mutiple files/folders).
In your new folder ("cd /pentaho"), type "tar -xvf biserver-ce-3.0.0-STABLE.tar.gz", a whole raft of folders will appear as the relevant compressed files are extracted. At the end of this, if you type "ls -al" you should see the compressed file together with two new folders called "biserver-ce" and "administration-console". In each of these are two folders there should be some scripts for starting and stopping the relevant service, go into the biserver-ce one (i.e. "cd biserver-ce") and do an "ls";
You'll see the "start-pentaho.sh" script, at the prompt type "./start-pentaho.sh", you'll see a few messages but after a few seconds the server will (hopefully :-)) have started.
Run up a browser on your PC and type "http://<server-ipaddress>", with any luck you'll be presented with the "Pentaho" user login window
Similarly, back in the virtual machine console, just press return to get back to a prompt and then do a "cd ../admin*" to go into the "/pentaho/administration-console" folder. At the prompt, type "./start.sh" and the admin console should start up.
Now open another browser window/tab on your PC and navigate to "http://<server-ipaddress>:8099/", you should get the Admin console window and a request for the username and password login parameters. Type "admin" and "password" and then login, you should then have the option to create and manage the users using the administration sections.
You should also be able to see that the Pentaho service is running by the "Server Status" icon above the central frame (it will have a red-X on the icon if the service is not running).
To exit from the administration-console press Ctrl-C, I get the impression this should only run when you need it. Also there doesn't seem to be any necessity to run the shutdown script ("./stop.sh") to stop it (as there would be with pentaho itself) as the CTRL-C seems to stop the service running. EDIT: I had a process go awry at one point and I had to switch to a different console (ALT-F2) and ran the ./stop.sh which seemed to work eventually so perhaps it is there for good reason.
That should at least have got you started.
Now shutdown the services and navigate to "/pentaho/biserver-ce/tomcat/webapps/pentaho/WEB-INF", here vi/vim the "web.xml" file and change the relevant context entry from "localhost:8080" to the address of the server as in;
...
<context-param>
<param-name>base-url</param-name>
<param-value>http://<ipaddress>:8080/pentaho/</param-value>
<context-param>
...
and then restart the server, although the sample reports were sort of working without the above, I noticed some of the charts were looking for the images that had been created for them on "localhost" (i.e. they were looking on the local PC and not on the server), hopefully this fixes that. Note: I had a little trouble here for a minute or so not sure what I'd
done but pentaho wouldn't let me login as a user I'd created using the administration-console web utility (it kept giving me authentication errors). Eventually after stopping the service a couple of times and restarting it it let me in and the reports seemed to start working.
One side issue of setting this ip-address is that to run the google api demo you'll need to register the ip address with google - there's a link in pentaho to do this directly although you will need to edit a file within the pentaho configuration to get this to work from there on in.
MS SQL Server access - I downloaded the JTDS sqlserver driver from Sourceforge (just google it for the relevant URL if you need this) - once you've got the file extract the " jtds.1.2.2.jar" file and put this in "/pentaho/biserver-ce/tomcat/common/lib" and the "/pentaho/administration-console/jdbc/" folders which is where the other JDBC drivers appear to be held. Then stop and start the services (at least the console anyway) hopefully the driver will now appear in the drivers option on the "Add Data Source" in the administration console. Look at the website documentation (it's actually in the driver compressed file too) to get the right format for the URL. Note I couldn't get this to work with the localised EXPRESS version of SQL Server but it seemed to work fine with the server versions. I tried the m$ one too but it just gave errors (available from their website) wehn I tried to connect - if anyone knows how to configure these properly I'd be grateful.
All-in-all it seems a good BI suite and if you're comparing a commercial Reports/BI suite with what there is in the OpenSource arena then it's definitely worth a look. Even if you decide to go with a commerical option for support reasons there's always the commercial version of Pentaho (and it comes with documentation too!).
Chris
PHP acceleration
Goal: A php accelerator should be integrated as a standard feature of all web appliances.
Notes
All LAMP based TurnKey web appliances should come with a php accelerator pre-integrated.
A PHP accelerator typically reduces server load and increases the speed of PHP code anywhere from 2-10 times, depending on factors such as the inherent execution time of the PHP application and the percentage of source code actually executed on a given request
The leading candidate is xcache, for which a package already exists in Ubuntu hardy universe (php5-xcache)!
Its written by the extremely skilled programmer who is also behind lighttpd, and he wrote XCache after studying eAccelerator and APC.
The other alternatives eaccelerator and APC are a bit more problematic.
eAccelerator is very good (also written by a technical genius) but has a licensing problem. Also, from what I've been reading XCache performs somewhat better.
APC is supposedly the future (supposed to be integrated into PHP6 by default), and written by the official php team but I've been reading quite a few reports regarding stability issues (segfaults and such under
high load), and there is also the conflict of interest with a Zend commercial offering that makes me suspect that is the reason APC isn't what it could/should be.
References
Publishing from appliance to remove web server
Notes
Possible work flow:
1. user is defining its website account data (via webmin?)
- remote ftp and database data
- local website path and local database access data
2. after manual trigger or cron script is making tar package out of
- files in defined path
- defined databases
3. files are stored locally and coped to remote location (out of webroot)
4. local script is triggering remote script execution (via wget --> remote script placed in webroot)
5. remote script is backing up remote website+db and replacing it with new files
Redmine "Virtual Appliance" Instructions
UPDATE: A TurnKey Redmine appliance was made available in the 2009.10 release thanks to these notes.
These are the steps I followed to get Redmine running on the "TurnkeyLinux Rails Appliance".
# CD to the directory containing the `railsapp`
cd /var/www/
# Stop the running mongrel cluster so we can fiddle the `railsapp`
/etc/init.d/mongrel_cluster stop
# Shuffle already installed app so we can replace it
mv railsapp{,.orig}
# Update APT sources and install required packages
apt-get update
apt-get install subversion libsqlite3-ruby libdbi-ruby libdbd-sqlite3-ruby libxml-ruby rake
# Check out the 0.8 version of redmine into the `railsapp`
# (I used r2743 - YMMV)
svn co http://redmine.rubyforge.org/svn/branches/0.8-stable/ railsapp
# Copy over the mongrel cluster config
cp railsapp.orig/config/mongrel_cluster.yml railsapp/config
# Make PID temp directory so that Mongrel can monitor instances
mkdir railsapp/tmp/pids
# Modify your database configuration
cat <<EOF >config/database.yml
production:
adapter: sqlite3
dbfile: db/redmine.db
EOF
# Make sure you have rails 2.1.2 installed
gem install --no-rdoc --no-ri --verbose -v=2.1.2 rails
# Perform initial database configuration
cd railsapp; rake db:migrate RAILS_ENV="production"; cd ..
# Optionally (recommended) load default data
cd railsapp; rake redmine:load_default_data RAILS_ENV="production"; cd ..
# Give the apache user access to our stuff
chown -R www-data:www-data railsapp
##########
# Plugins
#
# These are optional of course. Uncomment the lines to add them.
# Make sure git is installed
# apt-get install git-core
# Simple CI - Reads an RSS feed and colors entries based on regex
# svn co svn://rubyforge.org/var/svn/redmine/plugins/simple_ci vendor/plugins/simple_ci
# Graphs - see the progression over time of issues
# git clone git://github.com/bradbeattie/redmine...phs-plugin.git vendor/plugins/redmine_graphs
# Vote - vote on issues
# Note that I used a forked version of this project; if the forker doesn't pull changes
# you may need to customize this git URL to point it to the original project
# git clone git://github.com/jimmyz/redmine_vote.git vendor/plugins/redmine_vote
# GroupIssues - group issues by status/effort/etc.
# git clone git://github.com/Ubik/redmine_issues_group.git vendor/plugins/issues_group
# Migrate all stuff for plugins
#rake db:migrate_plugins RAILS_ENV="production"
# End of plugins stuff
#######################
# Start the mongrel cluster running the new `railsapp`
/etc/init.d/mongrel_cluster start
TKL Client
This wiki page exists as a result of, and in partnership with this thread on the TKL forums.
TKL Client Core is to the (yet to be developed) TKL Client range what TKL Core is to the TKL Server Appliance range.
A first patch have been developed, you can test it and give feedback here
The ideas so far are:
- Base TKL Lucid Core OS with modifcation (remove most current services, eg Webmin, SSH, WebShell etc) with
- Desktop GUI:
- X Window System (X11)
- LXDM - LXDE graphical login manager
- OpenBox Window Manager
- Core LXDE (Lightweight X11 Desktop Environment) components (not full Lubuntu desktop) consisting of:
- LXTerminal (Terminal)
- LeafPad (Text Editor)
- PCManFM (File Manager)
- LXPanel (Panel - also handles menu)
- and a few other bits...
- A (yet to be finalised) network manager. Wicd? (apparently works well for wireless, not sure about wired connections). NM-applet? (this is what Lubuntu uses but is a Gnome app so will need to include significant Gnome dependancies)
- Web browser (perhaps Firefox? Chromium?) with default ad and flash blocking of some sort. Ideally all likely plug-in archetures would be supported out of the box (eg flash, java, etc).
- Synaptic Package Manager
- Some sort of remote connectivity, an implimentation of NX technology has been flagged as a potential, but RPD is probably the go due to the Microsoft 'standard' (damn I hate that MS sometimes!) Ideally some sort of NAT traversal would be great too
- A user account setup during install (so user does not run as root by default)
- Ultimately a custom TKL theme (perhaps in a couple of different colours)? Not a priority.
There is also consideration that it may be relevant to create a KDE & Gnome based Core Client as well.
Some of the proposed TKL Core Client appliances may be:
- TurnKey "Chromium": a minimal system optimized for browsing the web and running webapps. (e.g., the online banking usage scenario)
- TKL Desktop: TKL minimal desktop including basic productivity apps such as Abiword, ePDFreader etc.
- Media center: best of breed open source software optimized for use as a home entertainment / media center. Sort of the same usage scenario as Apple TVbut open source. None of the proprietary restrictions. XBMC/Enna may be candiates here?
- Development SDKs: Every year tens of thousands of people start learning a new language or development framework. One of the first things they all have to figure out is which collection of open source tools are available to help get them started. Imagine if TurnKey provides ready-to-use SDKs preloaded with all the tools you could want for web development, Gnome, KDE, Java (e.g., Eclipse),Android, even Mono/Moonlight.
- Penetration testing: An important part of improving security involves doing penetration tests to try to simulate an attack by the bad guys. These usually require lots of specialized tools for information gathering, scanning (e.g., nmap), vulnerability assessment and exploitation (e.g., metasploit). Here too there is a key problem of aiding discovery and integrating the components to work nicely together. The best known distro in this space is BackTrack which is also based on Ubuntu, and I'd love to join forces with them, but even if they don't collaborate with us, we can take the best ideas and build an appliance which leverages the standard TurnKey advantages.
- System rescue/AntiMalware: Windows machines in your office start flaking out due to a malware infestation. Our hero walks in with a TurnKey System Rescue USB/Live CD that knows how to update itself with the latest AV/malware signatures, and cleans out the bad stuff from a safe, reliable computing environment.
- System rescue/recovery:Suitable for cross platform data recovery. Could be included/merged with either AntiMalware or HDD tools? Or be on its own?
- HDD tools: sysadmin needs to resize partitions and such on a given system. You often need to boot into another independent system to be able to do that. Once you do there are nice open source tools that can manipulate partition and filesystem sizes and they even support NTFS if I"m not mistaken.
- Audio/video editing: we can leverage the work done by Ubuntu Studio and start from there on a TurnKey version.
- Visual design/editing: appliance with GIMP and Inkscape and the like.
- Game emulation: these days computers are powerful enough to faithfully emulate a huge range of old systems with the right software (e.g., MESS and MAME). Imagine an all in one device you can load with all those old videos games you spent so many hours playing with as a kid. The right appliance could help you set that up make it easier for retro-gaming enthusiasts to preserve history and even introduce a new generation to the video games of yore. If you're an "old timer" like me, and haven't yet had the pleasure of bringing your childhood video games to life you should try it sometime. It can be a lot of fun!
- MultiSeat: allow multiple keyboards, mice and monitors (not sure how sound goes?) to be connected to a single PC. Multiple concurrent users logged into and malipulating their own desktops simultaneously.
- Evil Ubuntu: a version of stock Ubuntu that comes with all the packages the typical user needs to install but don't usually come with Ubuntu due to idealogical reasons. Evil stuff like video codecs, flash support, Skype, WINE for Windows compatibility, etc. Anything the typical user is likely to need that can legally be bundled into an appliance.
Not strictly client OS but relevant ideas (ie contain a client component):
- Cafe (server & client): A setup specifically for use in an internet cafe environment, may or may not contain configuration relevant to Multiseat (above) and/or LTSP server (below). Ideally would be great if it could also handle wireless connection (to allow users to bring their own PC and use the cafe wifi hotspot). Mkahawa seems like it could be useful software?
- LTSP server: Used to boot diskless thin clients , and provide an LXDE environment on clients (Ubuntu can already be setup to do this - but AFAIK by default it only provides Gnome desktop).
TKL VE (Virtual Environment)
The vision (or more acurately - my vision) is a TKL VE (Virtual Environment) based on the idea of a "Master Server" somewhat like Proxmox VE. Basically a platform for TKL appliances to 'live' (virtually - ie as VMs) together thus making TKL a complete modular server environment.
This could either be installed virtually or on hardware which then has the various required TKL appliances (server components) installed within 'containers' (using technology such as OpenVZ or similar). This has a dual-edged appeal as it reduces hardware load associated with multiple VMs and also allows for a modular configuration which gives increased stability and the potential for redundancy. It also allows for developement and trialling of new products & ideas before having to commit your business to them. The other great thing is that if you mess something up completely and corrupt your LAMP webserver (for example) it doesn't bring your whole business to a standstill, only the functions that that individual VM was serving. I am currently using Proxmox VE which I find brilliant and basically fulfills the "master server" role on my hardware (as defined above). (I robbed this paragraph from a forum post if it sounds familiar or doesn't quite fit with the rest of this page).
As I see it, it could go one of two ways (and limitless variations of these):
- Available as 32 or 64 bit - Ideally installed to hardware but also suitable for install within a virtual environement. Probably using only OpenVZ or similar container based virtualisation. Specifically designed to host TKL appliances (although could also host other Ubuntu/Debian based distos quite easily, even other Linux distros with a little tweaking).
- A more 'generic' VE based more closely on what Proxmox acheives. Possibly x64 only. Aimed ideally at hardware install (although still possible for install in virtual environment), perhaps including KVM (or similar) so other OSs (such as Windows) could also be installed.
My personal preference would be for 1. as I would like to see a product that is specifically targeted at TKL appliances and is clearly different to Proxmox. However I think the option to be able to host alternate OSs via KVM is a bonus (this really only applies to hardware installs).
In the meantime, when I get a chance, I will have a play with Installing Proxmox on top of TKL Core (not sure if it will work as Proxmox is designed for Debian Lenny x64).
I note with interest that Webmin have a number of clustering modules available (have a look on this page) that could be very useful for administering this server configuration.
Tutturu
Tutturu is appliance based on turnkey lamp for automatic multimedia publishing via podcast and bit torrent protocol. Please note, its currently not ready for general usage.
Based on drupal6 (with media mover module and torrent client Torrentflux-b4rt) is capable of publishing any media parsed by ffmpeg. Currently its outdated to turnekeylinux project and bit torrent clinet is going to be swapped for rtorrent/wtorrent.
If you are interested in checking it out mail szczym@obin.org
Dump from 20.02 contains /var/www/*, databases and packages from dpkg -l
You dont need to install all packages into appliance as there are many vlc components, that been needed for direct stream from torrent web interface. Actual process of publishing takes place after the cron run from drupal.
WordPress multi-blogging appliance
http://codex.wordpress.org/Installing_Multiple_Blogs
User icc4p suggested on the development wiki to create an appliance around WordPress MU, an official branch of WordPress that easily enables support for multi-user blogs.
http://mu.wordpress.org/
An alternative would be the WP Hive plugin:
http://wp-hive.com/
Wordpress plugins
Resources
- http://sem-group.net/search-engine-o...-live-without/
- http://wordpress.org/support/topic/261349
- http://op111.net/70
- http://wordpress.org/extend/plugins/browse/popular/
- http://wordpress.org/extend/plugins/browse/top-rated/
- http://blog.nicasiodesign.com/wordpr...lugin-reviews/
WP Forum
Plugins suggested by Figaro
- contact form 7
- Ozh' Admin Drop Down Menu
- Global Translator
- Sociable
- Yet Another Related Posts Plugin
WP-hackers mailing list
@ThomasScholz
- Google XML Sitemaps
http://wordpress.org/extend/plugins/...map-generator/
Tells search engines which entries are most relevant.
- HeadSpace2 SEO
http://wordpress.org/extend/plugins/headspace2/
Fine tuning of meta data. Very busy development.
- AddQuicktag
http://wordpress.org/extend/plugins/addquicktag/
Costumizing for the editor.
- Search Everything
http://wordpress.org/extend/plugins/...ch-everything/
Enhances WordPress (poor) internal search engine.
@Paolo Tresso
Shameless plug: my plugin upload+ avoid troubles with non-allowed characters into uploaded file's names.
I think/hope it's worth a look.
http://wordpress.org/extend/plugins/uploadplus/
Other should-have plugins:
- http://wordpress.org/extend/plugins/wp-db-backup/
- http://wordpress.org/extend/plugins/...-one-seo-pack/
- http://wordpress.org/extend/plugins/contact-form-7/
- http://wordpress.org/extend/plugins/...ne-video-pack/
Linked-In
@WillKemp
- Statpress is a definite.
- All-in-one SEO pack's worth looking at, as is Headspace2 if you want something more complicated.
- Podcasting.
- WP Security Scan.
- Google XML Sitemaps.
- Akismet.
- One of the contact form plugins. Secure Contact is ok, but its captcha system is practically unusable.
Ewan Lauder
Hello,
At the moment my default install goes.. (plus starting point template)
- RB Internal Links
- Role Manager
- Excerpt Editor (works a treat - so flexible)
- Get Recent Comments
- HeadSpace2 (as above comment - SEO on steroids)
- List category posts
Also quite often -
- NextGEN Gallery
- Post Thumb Revisited
- Executable PHP widget (Caution..)
- Social networking plug-in - um, name escapes me!
And interesting - if not always essential, lol -
- WP Cumulus (mesmerising tag cloud)
- WP-SNAP! (if you need to build a glossary)
- WP Smart Sort (sort posts, categories etc by custom fields you add - fantastic for using Wordpress as CMS)
- Maintenance Mode - privacy on the test server & great for client
Oh, and as Will says, a contact form.
Glenn Haggard
- wp-supercache - converts your website to HTML for faster rendering.
- cforms - great for inserting forms into website.

Comments
http://www.koha.org/
http://koha-community.org edited 11:20, 2 Mar 2012