Ubuntu 8.04 Server Quick Start

From StatusNet

Jump to: navigation, search


Contents

[edit] Quick Start Installation of Laconica on Ubuntu 8.04 LTS

This guide is based on installing Laconica 0.6.3. A virtual machine ready to go with this setup is at http://www2.owen.vanderbilt.edu/laconica.zip Login: capnlaconica Password: ahoy_matey mysql root: sqlicious


[edit] 1 - Install Ubuntu

Grab the 8.04 LTS release of Ubuntu http://www.ubuntu.com/getubuntu/download Go through the install, configuring as you see fit.

The only choice that matters for Laconica is to be sure to select "LAMP Server" on the "Software Selections" step. This is a pretty handy step by step article if you are unfamiliar with the Ubuntu installation - http://www.ubuntugeek.com/ubuntu-804-hardy-heron-lamp-server-setup.html

[edit] 2 - Setup Apache

These steps are to setup the default apache host. If you want to setup virtual hosts, go for it. Just make sure they directory ownership and permissions are set appropriately and your virtual host config file has the AllowOverride All option set.

Pick whatever username you like, or use the account you are logged in with. If you just did a fresh install and are logged in with the account you setup at install time, you should create a new account. The account created at install has the privilege to act as the root user using the sudo command. A new account will not and is a more secure configuration.

adduser USERNAME
chown USERNAME:www-data /var/www
chmod 755 /var/www
rm /var/www/index.html
sudo vim /etc/apache2/sites-enabled/000-default

If you want to enable fancy URLs later (see step 7 below) add the following line to the section that starts <Directory /var/www/> If your vi skills are a little rusty, press i to go into edit mode. Make the changes, press Esc then :wq and press enter.

adduser USERNAME
chown USERNAME:www-data /var/www
chmod 755 /var/www
rm /var/www/index.html
sudo vim /etc/apache2/sites-enabled/000-default

[[AllowOverride]] All

Restart apache

adduser USERNAME
chown USERNAME:www-data /var/www
chmod 755 /var/www
rm /var/www/index.html
sudo vim /etc/apache2/sites-enabled/000-default

[[AllowOverride]] All

sudo /etc/init.d/apache2 restart

If you did create a new user account, logout and log back in with that account.

[edit] 3 - Download, unpack Laconica, set avatar permissions

either use the git repo here http://gitorious.org/projects/laconica/repos/mainline

adduser USERNAME
chown USERNAME:www-data /var/www
chmod 755 /var/www
rm /var/www/index.html
sudo vim /etc/apache2/sites-enabled/000-default

[[AllowOverride]] All

sudo /etc/init.d/apache2 restart

  git clone http://git.gitorious.org/laconica/mainline.git

or if you prefer, download it the old fashion way :)

adduser USERNAME
chown USERNAME:www-data /var/www
chmod 755 /var/www
rm /var/www/index.html
sudo vim /etc/apache2/sites-enabled/000-default

[[AllowOverride]] All

sudo /etc/init.d/apache2 restart

  git clone http://git.gitorious.org/laconica/mainline.git

cd /var/www
wget http://laconi.ca/laconicaXXXX.tar.gz
tar zxvf laconicaXXXX.tar.gz --strip-components 1
chmod g+w /var/www/avatar

[edit] 4 - Create the database

adduser USERNAME
chown USERNAME:www-data /var/www
chmod 755 /var/www
rm /var/www/index.html
sudo vim /etc/apache2/sites-enabled/000-default

[[AllowOverride]] All

sudo /etc/init.d/apache2 restart

  git clone http://git.gitorious.org/laconica/mainline.git

cd /var/www
wget http://laconi.ca/laconicaXXXX.tar.gz
tar zxvf laconicaXXXX.tar.gz --strip-components 1
chmod g+w /var/www/avatar

mysqladmin -u root -p create laconica

Enter the mysql root password you created at installation.

Now, feed mysql the script that will create the database schema and populate the database.

adduser USERNAME
chown USERNAME:www-data /var/www
chmod 755 /var/www
rm /var/www/index.html
sudo vim /etc/apache2/sites-enabled/000-default

[[AllowOverride]] All

sudo /etc/init.d/apache2 restart

  git clone http://git.gitorious.org/laconica/mainline.git

cd /var/www
wget http://laconi.ca/laconicaXXXX.tar.gz
tar zxvf laconicaXXXX.tar.gz --strip-components 1
chmod g+w /var/www/avatar

mysqladmin -u root -p create laconica

mysql -u root -p laconica < /var/www/db/laconica.sql

Again, enter the password you created at installation.

Now create a user account laconica can use to access the database.

adduser USERNAME
chown USERNAME:www-data /var/www
chmod 755 /var/www
rm /var/www/index.html
sudo vim /etc/apache2/sites-enabled/000-default

[[AllowOverride]] All

sudo /etc/init.d/apache2 restart

  git clone http://git.gitorious.org/laconica/mainline.git

cd /var/www
wget http://laconi.ca/laconicaXXXX.tar.gz
tar zxvf laconicaXXXX.tar.gz --strip-components 1
chmod g+w /var/www/avatar

mysqladmin -u root -p create laconica

mysql -u root -p laconica < /var/www/db/laconica.sql

mysql -u root -p
GRANT SELECT,INSERT,DELETE,UPDATE on laconica.*
TO 'USERNAME'@'localhost'
IDENTIFIED BY 'PASSWORD';

Session token error ? This fixed it for me, and I'd say its the right thing to do for all installs

adduser USERNAME
chown USERNAME:www-data /var/www
chmod 755 /var/www
rm /var/www/index.html
sudo vim /etc/apache2/sites-enabled/000-default

[[AllowOverride]] All

sudo /etc/init.d/apache2 restart

  git clone http://git.gitorious.org/laconica/mainline.git

cd /var/www
wget http://laconi.ca/laconicaXXXX.tar.gz
tar zxvf laconicaXXXX.tar.gz --strip-components 1
chmod g+w /var/www/avatar

mysqladmin -u root -p create laconica

mysql -u root -p laconica < /var/www/db/laconica.sql

mysql -u root -p
GRANT SELECT,INSERT,DELETE,UPDATE on laconica.*
TO 'USERNAME'@'localhost'
IDENTIFIED BY 'PASSWORD';

GRANT SELECT,INSERT,DELETE,UPDATE on laconica.*
TO 'USERNAME'@'%'
IDENTIFIED BY 'PASSWORD';

Enter the password one more time, pick whatever username and password you want.

[edit] 5 - Edit config.php

adduser USERNAME
chown USERNAME:www-data /var/www
chmod 755 /var/www
rm /var/www/index.html
sudo vim /etc/apache2/sites-enabled/000-default

[[AllowOverride]] All

sudo /etc/init.d/apache2 restart

  git clone http://git.gitorious.org/laconica/mainline.git

cd /var/www
wget http://laconi.ca/laconicaXXXX.tar.gz
tar zxvf laconicaXXXX.tar.gz --strip-components 1
chmod g+w /var/www/avatar

mysqladmin -u root -p create laconica

mysql -u root -p laconica < /var/www/db/laconica.sql

mysql -u root -p
GRANT SELECT,INSERT,DELETE,UPDATE on laconica.*
TO 'USERNAME'@'localhost'
IDENTIFIED BY 'PASSWORD';

GRANT SELECT,INSERT,DELETE,UPDATE on laconica.*
TO 'USERNAME'@'%'
IDENTIFIED BY 'PASSWORD';

cd /var/www
cp config.php.sample config.php
vi config.php

There are lots of options in the config file but the only ones you need to fiddle with to get up and running are about a half dozen site and database settings in the first 40 lines.

Set the name to whatever you want. Server and path are a little tricky.

adduser USERNAME
chown USERNAME:www-data /var/www
chmod 755 /var/www
rm /var/www/index.html
sudo vim /etc/apache2/sites-enabled/000-default

[[AllowOverride]] All

sudo /etc/init.d/apache2 restart

  git clone http://git.gitorious.org/laconica/mainline.git

cd /var/www
wget http://laconi.ca/laconicaXXXX.tar.gz
tar zxvf laconicaXXXX.tar.gz --strip-components 1
chmod g+w /var/www/avatar

mysqladmin -u root -p create laconica

mysql -u root -p laconica < /var/www/db/laconica.sql

mysql -u root -p
GRANT SELECT,INSERT,DELETE,UPDATE on laconica.*
TO 'USERNAME'@'localhost'
IDENTIFIED BY 'PASSWORD';

GRANT SELECT,INSERT,DELETE,UPDATE on laconica.*
TO 'USERNAME'@'%'
IDENTIFIED BY 'PASSWORD';

cd /var/www
cp config.php.sample config.php
vi config.php

$config['site']['server'] = 'laconica.example.com';
$config['site']['path'] = '/';

The server is the root domain where the site will live. Enter your domain name in place of laconica.example.com. If you do not have a domain name pointed to your webserver yet, you can enter "$_SERVER[SERVER_ADDR]" to use the system's IP address, or just type in the IP. If you have more than one site hosted at the same IP this will only work if your laconica install is the default site for that virtual host. If so, then get a domain name already!

The path is the directory where laconica lives. In this case we put it at the root of the site, but you can put it in any folder you like. If you do, use '/myfoldernamehere'.

Now the database setting. Around line 38, cofigure the following line.

adduser USERNAME
chown USERNAME:www-data /var/www
chmod 755 /var/www
rm /var/www/index.html
sudo vim /etc/apache2/sites-enabled/000-default

[[AllowOverride]] All

sudo /etc/init.d/apache2 restart

  git clone http://git.gitorious.org/laconica/mainline.git

cd /var/www
wget http://laconi.ca/laconicaXXXX.tar.gz
tar zxvf laconicaXXXX.tar.gz --strip-components 1
chmod g+w /var/www/avatar

mysqladmin -u root -p create laconica

mysql -u root -p laconica < /var/www/db/laconica.sql

mysql -u root -p
GRANT SELECT,INSERT,DELETE,UPDATE on laconica.*
TO 'USERNAME'@'localhost'
IDENTIFIED BY 'PASSWORD';

GRANT SELECT,INSERT,DELETE,UPDATE on laconica.*
TO 'USERNAME'@'%'
IDENTIFIED BY 'PASSWORD';

cd /var/www
cp config.php.sample config.php
vi config.php

$config['site']['server'] = 'laconica.example.com';
$config['site']['path'] = '/';

$config['db']['database'] = 'mysql://USERNAME:PASSWORD@localhost/laconica';

Use the database username and password you created in Step 4.

[edit] 6 - It works! (hopefully...)

Open your browser and navigate to !http://yourip or !http://yourhostname. If you aren't sure what your IP address is, enter the command ipconfig.

If it works, register yourself and get started! If not, see the troubleshooting ideas below.

In 0.7 you need to have a png logo, none is provided at the moment

adduser USERNAME
chown USERNAME:www-data /var/www
chmod 755 /var/www
rm /var/www/index.html
sudo vim /etc/apache2/sites-enabled/000-default

[[AllowOverride]] All

sudo /etc/init.d/apache2 restart

  git clone http://git.gitorious.org/laconica/mainline.git

cd /var/www
wget http://laconi.ca/laconicaXXXX.tar.gz
tar zxvf laconicaXXXX.tar.gz --strip-components 1
chmod g+w /var/www/avatar

mysqladmin -u root -p create laconica

mysql -u root -p laconica < /var/www/db/laconica.sql

mysql -u root -p
GRANT SELECT,INSERT,DELETE,UPDATE on laconica.*
TO 'USERNAME'@'localhost'
IDENTIFIED BY 'PASSWORD';

GRANT SELECT,INSERT,DELETE,UPDATE on laconica.*
TO 'USERNAME'@'%'
IDENTIFIED BY 'PASSWORD';

cd /var/www
cp config.php.sample config.php
vi config.php

$config['site']['server'] = 'laconica.example.com';
$config['site']['path'] = '/';

$config['db']['database'] = 'mysql://USERNAME:PASSWORD@localhost/laconica';

cp default.png /var/www/laconica/theme/

[edit] 7- Extending your install: Setup Fancy URLs

Pinkies out! Who doesn't want to be fancy?

Double check step 2 and make sure you configured the AllowOverride All setting.

Put the .htaccess file in place. It provides instructions to apache on how to translate the fancy URLs.

adduser USERNAME
chown USERNAME:www-data /var/www
chmod 755 /var/www
rm /var/www/index.html
sudo vim /etc/apache2/sites-enabled/000-default

[[AllowOverride]] All

sudo /etc/init.d/apache2 restart

  git clone http://git.gitorious.org/laconica/mainline.git

cd /var/www
wget http://laconi.ca/laconicaXXXX.tar.gz
tar zxvf laconicaXXXX.tar.gz --strip-components 1
chmod g+w /var/www/avatar

mysqladmin -u root -p create laconica

mysql -u root -p laconica < /var/www/db/laconica.sql

mysql -u root -p
GRANT SELECT,INSERT,DELETE,UPDATE on laconica.*
TO 'USERNAME'@'localhost'
IDENTIFIED BY 'PASSWORD';

GRANT SELECT,INSERT,DELETE,UPDATE on laconica.*
TO 'USERNAME'@'%'
IDENTIFIED BY 'PASSWORD';

cd /var/www
cp config.php.sample config.php
vi config.php

$config['site']['server'] = 'laconica.example.com';
$config['site']['path'] = '/';

$config['db']['database'] = 'mysql://USERNAME:PASSWORD@localhost/laconica';

cp default.png /var/www/laconica/theme/

cd /var/www
cp htaccess.sample .htaccess

Open the config.php file for editing.

adduser USERNAME
chown USERNAME:www-data /var/www
chmod 755 /var/www
rm /var/www/index.html
sudo vim /etc/apache2/sites-enabled/000-default

[[AllowOverride]] All

sudo /etc/init.d/apache2 restart

  git clone http://git.gitorious.org/laconica/mainline.git

cd /var/www
wget http://laconi.ca/laconicaXXXX.tar.gz
tar zxvf laconicaXXXX.tar.gz --strip-components 1
chmod g+w /var/www/avatar

mysqladmin -u root -p create laconica

mysql -u root -p laconica < /var/www/db/laconica.sql

mysql -u root -p
GRANT SELECT,INSERT,DELETE,UPDATE on laconica.*
TO 'USERNAME'@'localhost'
IDENTIFIED BY 'PASSWORD';

GRANT SELECT,INSERT,DELETE,UPDATE on laconica.*
TO 'USERNAME'@'%'
IDENTIFIED BY 'PASSWORD';

cd /var/www
cp config.php.sample config.php
vi config.php

$config['site']['server'] = 'laconica.example.com';
$config['site']['path'] = '/';

$config['db']['database'] = 'mysql://USERNAME:PASSWORD@localhost/laconica';

cp default.png /var/www/laconica/theme/

cd /var/www
cp htaccess.sample .htaccess

vi /var/www/config.php

Set the 'fancy' setting to true as below and uncomment the line (remove the # from the beginning of the line). Should be around line 19.

adduser USERNAME
chown USERNAME:www-data /var/www
chmod 755 /var/www
rm /var/www/index.html
sudo vim /etc/apache2/sites-enabled/000-default

[[AllowOverride]] All

sudo /etc/init.d/apache2 restart

  git clone http://git.gitorious.org/laconica/mainline.git

cd /var/www
wget http://laconi.ca/laconicaXXXX.tar.gz
tar zxvf laconicaXXXX.tar.gz --strip-components 1
chmod g+w /var/www/avatar

mysqladmin -u root -p create laconica

mysql -u root -p laconica < /var/www/db/laconica.sql

mysql -u root -p
GRANT SELECT,INSERT,DELETE,UPDATE on laconica.*
TO 'USERNAME'@'localhost'
IDENTIFIED BY 'PASSWORD';

GRANT SELECT,INSERT,DELETE,UPDATE on laconica.*
TO 'USERNAME'@'%'
IDENTIFIED BY 'PASSWORD';

cd /var/www
cp config.php.sample config.php
vi config.php

$config['site']['server'] = 'laconica.example.com';
$config['site']['path'] = '/';

$config['db']['database'] = 'mysql://USERNAME:PASSWORD@localhost/laconica';

cp default.png /var/www/laconica/theme/

cd /var/www
cp htaccess.sample .htaccess

vi /var/www/config.php

$config['site']['fancy'] = true;

Now refresh your site in the browser. You should notice the "Search" link in the top menu bar now points to /people/search. Cool!

[edit] 8 - Sphinx Search

Note: for Ubuntu Karmic. The instructions below are dated. The Sphinx install is not straight forward. Start by following this: http://www.hackido.com/2009/01/install-sphinx-search-on-ubuntu.html Next do this: http://www.sphinxsearch.com/forum/view.html?id=4801 Finally: sudo pecl install sphinx

This installs searchd and sphinx goes with the database: http://sphinxsearch.com/wiki/doku.php?id=sphinx_on_debian_gnu_linux This will build a .deb for you.

Need These libraries so apache/php can talk to sphinx: http://daylessday.org/archives/26-PECLsphinx-fast-fulltext-search-made-easy.html --I had to skip the ./buildconf.sh step. better yet, try the libraries atached below.

adduser USERNAME
chown USERNAME:www-data /var/www
chmod 755 /var/www
rm /var/www/index.html
sudo vim /etc/apache2/sites-enabled/000-default

[[AllowOverride]] All

sudo /etc/init.d/apache2 restart

  git clone http://git.gitorious.org/laconica/mainline.git

cd /var/www
wget http://laconi.ca/laconicaXXXX.tar.gz
tar zxvf laconicaXXXX.tar.gz --strip-components 1
chmod g+w /var/www/avatar

mysqladmin -u root -p create laconica

mysql -u root -p laconica < /var/www/db/laconica.sql

mysql -u root -p
GRANT SELECT,INSERT,DELETE,UPDATE on laconica.*
TO 'USERNAME'@'localhost'
IDENTIFIED BY 'PASSWORD';

GRANT SELECT,INSERT,DELETE,UPDATE on laconica.*
TO 'USERNAME'@'%'
IDENTIFIED BY 'PASSWORD';

cd /var/www
cp config.php.sample config.php
vi config.php

$config['site']['server'] = 'laconica.example.com';
$config['site']['path'] = '/';

$config['db']['database'] = 'mysql://USERNAME:PASSWORD@localhost/laconica';

cp default.png /var/www/laconica/theme/

cd /var/www
cp htaccess.sample .htaccess

vi /var/www/config.php

$config['site']['fancy'] = true;

/usr/local/lib/libsphinxclient-0.0.1.so (normally you make a symbolic link of this one as show below but whatev's I just included the symbolic link as a file to reduce confusion)                                                                                   
/usr/local/lib/libsphinxclient.a
/usr/local/lib/libsphinxclient.la  
/usr/local/lib/libsphinxclient.so -> libsphinxclient-0.0.1.so
adduser USERNAME
chown USERNAME:www-data /var/www
chmod 755 /var/www
rm /var/www/index.html
sudo vim /etc/apache2/sites-enabled/000-default

[[AllowOverride]] All

sudo /etc/init.d/apache2 restart

  git clone http://git.gitorious.org/laconica/mainline.git

cd /var/www
wget http://laconi.ca/laconicaXXXX.tar.gz
tar zxvf laconicaXXXX.tar.gz --strip-components 1
chmod g+w /var/www/avatar

mysqladmin -u root -p create laconica

mysql -u root -p laconica < /var/www/db/laconica.sql

mysql -u root -p
GRANT SELECT,INSERT,DELETE,UPDATE on laconica.*
TO 'USERNAME'@'localhost'
IDENTIFIED BY 'PASSWORD';

GRANT SELECT,INSERT,DELETE,UPDATE on laconica.*
TO 'USERNAME'@'%'
IDENTIFIED BY 'PASSWORD';

cd /var/www
cp config.php.sample config.php
vi config.php

$config['site']['server'] = 'laconica.example.com';
$config['site']['path'] = '/';

$config['db']['database'] = 'mysql://USERNAME:PASSWORD@localhost/laconica';

cp default.png /var/www/laconica/theme/

cd /var/www
cp htaccess.sample .htaccess

vi /var/www/config.php

$config['site']['fancy'] = true;

/usr/local/lib/libsphinxclient-0.0.1.so (normally you make a symbolic link of this one as show below but whatev's I just included the symbolic link as a file to reduce confusion)                                                                                   
/usr/local/lib/libsphinxclient.a
/usr/local/lib/libsphinxclient.la  
/usr/local/lib/libsphinxclient.so -> libsphinxclient-0.0.1.so

/usr/lib/php5/20060613+lfs/sphinx.so 

If these files work for you you dont need to pecl install! remember to enable sphinx search in config.php and add to /etc/php5/apache2/ the line php.ini:extension=sphinx.so (under the Dynamic extensions heading)

Theres more to do of course, the documentation should show you how to configure the rest.

The crontab

adduser USERNAME
chown USERNAME:www-data /var/www
chmod 755 /var/www
rm /var/www/index.html
sudo vim /etc/apache2/sites-enabled/000-default

[[AllowOverride]] All

sudo /etc/init.d/apache2 restart

  git clone http://git.gitorious.org/laconica/mainline.git

cd /var/www
wget http://laconi.ca/laconicaXXXX.tar.gz
tar zxvf laconicaXXXX.tar.gz --strip-components 1
chmod g+w /var/www/avatar

mysqladmin -u root -p create laconica

mysql -u root -p laconica < /var/www/db/laconica.sql

mysql -u root -p
GRANT SELECT,INSERT,DELETE,UPDATE on laconica.*
TO 'USERNAME'@'localhost'
IDENTIFIED BY 'PASSWORD';

GRANT SELECT,INSERT,DELETE,UPDATE on laconica.*
TO 'USERNAME'@'%'
IDENTIFIED BY 'PASSWORD';

cd /var/www
cp config.php.sample config.php
vi config.php

$config['site']['server'] = 'laconica.example.com';
$config['site']['path'] = '/';

$config['db']['database'] = 'mysql://USERNAME:PASSWORD@localhost/laconica';

cp default.png /var/www/laconica/theme/

cd /var/www
cp htaccess.sample .htaccess

vi /var/www/config.php

$config['site']['fancy'] = true;

/usr/local/lib/libsphinxclient-0.0.1.so (normally you make a symbolic link of this one as show below but whatev's I just included the symbolic link as a file to reduce confusion)                                                                                   
/usr/local/lib/libsphinxclient.a
/usr/local/lib/libsphinxclient.la  
/usr/local/lib/libsphinxclient.so -> libsphinxclient-0.0.1.so

/usr/lib/php5/20060613+lfs/sphinx.so 

# m h  dom mon dow   command
*/5 * * * * /usr/local/bin/sphinx-cron.sh

/etc/init.d/sphinx

adduser USERNAME
chown USERNAME:www-data /var/www
chmod 755 /var/www
rm /var/www/index.html
sudo vim /etc/apache2/sites-enabled/000-default

[[AllowOverride]] All

sudo /etc/init.d/apache2 restart

  git clone http://git.gitorious.org/laconica/mainline.git

cd /var/www
wget http://laconi.ca/laconicaXXXX.tar.gz
tar zxvf laconicaXXXX.tar.gz --strip-components 1
chmod g+w /var/www/avatar

mysqladmin -u root -p create laconica

mysql -u root -p laconica < /var/www/db/laconica.sql

mysql -u root -p
GRANT SELECT,INSERT,DELETE,UPDATE on laconica.*
TO 'USERNAME'@'localhost'
IDENTIFIED BY 'PASSWORD';

GRANT SELECT,INSERT,DELETE,UPDATE on laconica.*
TO 'USERNAME'@'%'
IDENTIFIED BY 'PASSWORD';

cd /var/www
cp config.php.sample config.php
vi config.php

$config['site']['server'] = 'laconica.example.com';
$config['site']['path'] = '/';

$config['db']['database'] = 'mysql://USERNAME:PASSWORD@localhost/laconica';

cp default.png /var/www/laconica/theme/

cd /var/www
cp htaccess.sample .htaccess

vi /var/www/config.php

$config['site']['fancy'] = true;

/usr/local/lib/libsphinxclient-0.0.1.so (normally you make a symbolic link of this one as show below but whatev's I just included the symbolic link as a file to reduce confusion)                                                                                   
/usr/local/lib/libsphinxclient.a
/usr/local/lib/libsphinxclient.la  
/usr/local/lib/libsphinxclient.so -> libsphinxclient-0.0.1.so

/usr/lib/php5/20060613+lfs/sphinx.so 

# m h  dom mon dow   command
*/5 * * * * /usr/local/bin/sphinx-cron.sh

#! /bin/sh

NAME=sphinx
DAEMON=/usr/local/bin/searchd

[ -x "$DAEMON" ] || exit 0

case "$1" in
  start)
        echo "Stopping any running daemons..."                                                      
        $DAEMON --config /usr/local/etc/sphinx.conf --stop 2> /dev/null                              
        echo "Starting sphinx search daemon..."                                                     
        $DAEMON --config /usr/local/etc/sphinx.conf 2> /dev/null                                  
	;;
  stop)
        echo "Stopping sphinx search daemon..."                                                   
        $DAEMON --config /usr/local/etc/sphinx.conf --stop 2> /dev/null            
	;;
  *)
	echo "Usage: $NAME {start|stop}" >&2
	exit 3
	;;
esac

:

adduser USERNAME
chown USERNAME:www-data /var/www
chmod 755 /var/www
rm /var/www/index.html
sudo vim /etc/apache2/sites-enabled/000-default

[[AllowOverride]] All

sudo /etc/init.d/apache2 restart

  git clone http://git.gitorious.org/laconica/mainline.git

cd /var/www
wget http://laconi.ca/laconicaXXXX.tar.gz
tar zxvf laconicaXXXX.tar.gz --strip-components 1
chmod g+w /var/www/avatar

mysqladmin -u root -p create laconica

mysql -u root -p laconica < /var/www/db/laconica.sql

mysql -u root -p
GRANT SELECT,INSERT,DELETE,UPDATE on laconica.*
TO 'USERNAME'@'localhost'
IDENTIFIED BY 'PASSWORD';

GRANT SELECT,INSERT,DELETE,UPDATE on laconica.*
TO 'USERNAME'@'%'
IDENTIFIED BY 'PASSWORD';

cd /var/www
cp config.php.sample config.php
vi config.php

$config['site']['server'] = 'laconica.example.com';
$config['site']['path'] = '/';

$config['db']['database'] = 'mysql://USERNAME:PASSWORD@localhost/laconica';

cp default.png /var/www/laconica/theme/

cd /var/www
cp htaccess.sample .htaccess

vi /var/www/config.php

$config['site']['fancy'] = true;

/usr/local/lib/libsphinxclient-0.0.1.so (normally you make a symbolic link of this one as show below but whatev's I just included the symbolic link as a file to reduce confusion)                                                                                   
/usr/local/lib/libsphinxclient.a
/usr/local/lib/libsphinxclient.la  
/usr/local/lib/libsphinxclient.so -> libsphinxclient-0.0.1.so

/usr/lib/php5/20060613+lfs/sphinx.so 

# m h  dom mon dow   command
*/5 * * * * /usr/local/bin/sphinx-cron.sh

#! /bin/sh

NAME=sphinx
DAEMON=/usr/local/bin/searchd

[ -x "$DAEMON" ] || exit 0

case "$1" in
  start)
        echo "Stopping any running daemons..."                                                      
        $DAEMON --config /usr/local/etc/sphinx.conf --stop 2> /dev/null                              
        echo "Starting sphinx search daemon..."                                                     
        $DAEMON --config /usr/local/etc/sphinx.conf 2> /dev/null                                  
	;;
  stop)
        echo "Stopping sphinx search daemon..."                                                   
        $DAEMON --config /usr/local/etc/sphinx.conf --stop 2> /dev/null            
	;;
  *)
	echo "Usage: $NAME {start|stop}" >&2
	exit 3
	;;
esac

:


mkdir /usr/local/log
mkdir /usr/local/data

run this once to index and see whats right or wrong with your config.

adduser USERNAME
chown USERNAME:www-data /var/www
chmod 755 /var/www
rm /var/www/index.html
sudo vim /etc/apache2/sites-enabled/000-default

[[AllowOverride]] All

sudo /etc/init.d/apache2 restart

  git clone http://git.gitorious.org/laconica/mainline.git

cd /var/www
wget http://laconi.ca/laconicaXXXX.tar.gz
tar zxvf laconicaXXXX.tar.gz --strip-components 1
chmod g+w /var/www/avatar

mysqladmin -u root -p create laconica

mysql -u root -p laconica < /var/www/db/laconica.sql

mysql -u root -p
GRANT SELECT,INSERT,DELETE,UPDATE on laconica.*
TO 'USERNAME'@'localhost'
IDENTIFIED BY 'PASSWORD';

GRANT SELECT,INSERT,DELETE,UPDATE on laconica.*
TO 'USERNAME'@'%'
IDENTIFIED BY 'PASSWORD';

cd /var/www
cp config.php.sample config.php
vi config.php

$config['site']['server'] = 'laconica.example.com';
$config['site']['path'] = '/';

$config['db']['database'] = 'mysql://USERNAME:PASSWORD@localhost/laconica';

cp default.png /var/www/laconica/theme/

cd /var/www
cp htaccess.sample .htaccess

vi /var/www/config.php

$config['site']['fancy'] = true;

/usr/local/lib/libsphinxclient-0.0.1.so (normally you make a symbolic link of this one as show below but whatev's I just included the symbolic link as a file to reduce confusion)                                                                                   
/usr/local/lib/libsphinxclient.a
/usr/local/lib/libsphinxclient.la  
/usr/local/lib/libsphinxclient.so -> libsphinxclient-0.0.1.so

/usr/lib/php5/20060613+lfs/sphinx.so 

# m h  dom mon dow   command
*/5 * * * * /usr/local/bin/sphinx-cron.sh

#! /bin/sh

NAME=sphinx
DAEMON=/usr/local/bin/searchd

[ -x "$DAEMON" ] || exit 0

case "$1" in
  start)
        echo "Stopping any running daemons..."                                                      
        $DAEMON --config /usr/local/etc/sphinx.conf --stop 2> /dev/null                              
        echo "Starting sphinx search daemon..."                                                     
        $DAEMON --config /usr/local/etc/sphinx.conf 2> /dev/null                                  
	;;
  stop)
        echo "Stopping sphinx search daemon..."                                                   
        $DAEMON --config /usr/local/etc/sphinx.conf --stop 2> /dev/null            
	;;
  *)
	echo "Usage: $NAME {start|stop}" >&2
	exit 3
	;;
esac

:


mkdir /usr/local/log
mkdir /usr/local/data

/usr/local/bin/indexer --config /path/to/sphinx.conf --all

Make sure this file is sensibly configured

/usr/local/etc/sphinx.conf

[edit] XMPP with ejabberd

Enable backports repo. deb http://archive.ubuntu.com/ubuntu hardy-backports main universe multiverse restrictedBR Apt get install ejabberdBR edit /etc/ejabberd/ejabberd.cfg BR

adduser USERNAME
chown USERNAME:www-data /var/www
chmod 755 /var/www
rm /var/www/index.html
sudo vim /etc/apache2/sites-enabled/000-default

[[AllowOverride]] All

sudo /etc/init.d/apache2 restart

  git clone http://git.gitorious.org/laconica/mainline.git

cd /var/www
wget http://laconi.ca/laconicaXXXX.tar.gz
tar zxvf laconicaXXXX.tar.gz --strip-components 1
chmod g+w /var/www/avatar

mysqladmin -u root -p create laconica

mysql -u root -p laconica < /var/www/db/laconica.sql

mysql -u root -p
GRANT SELECT,INSERT,DELETE,UPDATE on laconica.*
TO 'USERNAME'@'localhost'
IDENTIFIED BY 'PASSWORD';

GRANT SELECT,INSERT,DELETE,UPDATE on laconica.*
TO 'USERNAME'@'%'
IDENTIFIED BY 'PASSWORD';

cd /var/www
cp config.php.sample config.php
vi config.php

$config['site']['server'] = 'laconica.example.com';
$config['site']['path'] = '/';

$config['db']['database'] = 'mysql://USERNAME:PASSWORD@localhost/laconica';

cp default.png /var/www/laconica/theme/

cd /var/www
cp htaccess.sample .htaccess

vi /var/www/config.php

$config['site']['fancy'] = true;

/usr/local/lib/libsphinxclient-0.0.1.so (normally you make a symbolic link of this one as show below but whatev's I just included the symbolic link as a file to reduce confusion)                                                                                   
/usr/local/lib/libsphinxclient.a
/usr/local/lib/libsphinxclient.la  
/usr/local/lib/libsphinxclient.so -> libsphinxclient-0.0.1.so

/usr/lib/php5/20060613+lfs/sphinx.so 

# m h  dom mon dow   command
*/5 * * * * /usr/local/bin/sphinx-cron.sh

#! /bin/sh

NAME=sphinx
DAEMON=/usr/local/bin/searchd

[ -x "$DAEMON" ] || exit 0

case "$1" in
  start)
        echo "Stopping any running daemons..."                                                      
        $DAEMON --config /usr/local/etc/sphinx.conf --stop 2> /dev/null                              
        echo "Starting sphinx search daemon..."                                                     
        $DAEMON --config /usr/local/etc/sphinx.conf 2> /dev/null                                  
	;;
  stop)
        echo "Stopping sphinx search daemon..."                                                   
        $DAEMON --config /usr/local/etc/sphinx.conf --stop 2> /dev/null            
	;;
  *)
	echo "Usage: $NAME {start|stop}" >&2
	exit 3
	;;
esac

:


mkdir /usr/local/log
mkdir /usr/local/data

/usr/local/bin/indexer --config /path/to/sphinx.conf --all

%% Admin user
{acl, admin, {user, "nameofyourlaconicabot", "your.domain.com"}}.
%% Hostname
{hosts, ["your.domainame.com"]}.[[BR]]

ejabberdctl status BR Is it running, good, continue. BR go here for instructions on making certificates http://sysmonblog.co.uk/?p=11 then <br> ejabberdctl register nameofyourlaconicabot your.domainame.com apassword BR ejabberdctl stats registeredusers BR One user? Good! BR edit your laconica config.phpBR

adduser USERNAME
chown USERNAME:www-data /var/www
chmod 755 /var/www
rm /var/www/index.html
sudo vim /etc/apache2/sites-enabled/000-default

[[AllowOverride]] All

sudo /etc/init.d/apache2 restart

  git clone http://git.gitorious.org/laconica/mainline.git

cd /var/www
wget http://laconi.ca/laconicaXXXX.tar.gz
tar zxvf laconicaXXXX.tar.gz --strip-components 1
chmod g+w /var/www/avatar

mysqladmin -u root -p create laconica

mysql -u root -p laconica < /var/www/db/laconica.sql

mysql -u root -p
GRANT SELECT,INSERT,DELETE,UPDATE on laconica.*
TO 'USERNAME'@'localhost'
IDENTIFIED BY 'PASSWORD';

GRANT SELECT,INSERT,DELETE,UPDATE on laconica.*
TO 'USERNAME'@'%'
IDENTIFIED BY 'PASSWORD';

cd /var/www
cp config.php.sample config.php
vi config.php

$config['site']['server'] = 'laconica.example.com';
$config['site']['path'] = '/';

$config['db']['database'] = 'mysql://USERNAME:PASSWORD@localhost/laconica';

cp default.png /var/www/laconica/theme/

cd /var/www
cp htaccess.sample .htaccess

vi /var/www/config.php

$config['site']['fancy'] = true;

/usr/local/lib/libsphinxclient-0.0.1.so (normally you make a symbolic link of this one as show below but whatev's I just included the symbolic link as a file to reduce confusion)                                                                                   
/usr/local/lib/libsphinxclient.a
/usr/local/lib/libsphinxclient.la  
/usr/local/lib/libsphinxclient.so -> libsphinxclient-0.0.1.so

/usr/lib/php5/20060613+lfs/sphinx.so 

# m h  dom mon dow   command
*/5 * * * * /usr/local/bin/sphinx-cron.sh

#! /bin/sh

NAME=sphinx
DAEMON=/usr/local/bin/searchd

[ -x "$DAEMON" ] || exit 0

case "$1" in
  start)
        echo "Stopping any running daemons..."                                                      
        $DAEMON --config /usr/local/etc/sphinx.conf --stop 2> /dev/null                              
        echo "Starting sphinx search daemon..."                                                     
        $DAEMON --config /usr/local/etc/sphinx.conf 2> /dev/null                                  
	;;
  stop)
        echo "Stopping sphinx search daemon..."                                                   
        $DAEMON --config /usr/local/etc/sphinx.conf --stop 2> /dev/null            
	;;
  *)
	echo "Usage: $NAME {start|stop}" >&2
	exit 3
	;;
esac

:


mkdir /usr/local/log
mkdir /usr/local/data

/usr/local/bin/indexer --config /path/to/sphinx.conf --all

%% Admin user
{acl, admin, {user, "nameofyourlaconicabot", "your.domain.com"}}.
%% Hostname
{hosts, ["your.domainame.com"]}.[[BR]]

# xmpp
$config['xmpp']['enabled'] = true;
$config['xmpp']['server'] = 'your.domainame.com';
$config['xmpp']['host'] = NULL; # Only set if different from server
$config['xmpp']['port'] = 5222;
$config['xmpp']['user'] = 'nameofyourlaconicabot';
$config['xmpp']['encryption'] = true;
$config['xmpp']['resource'] = 'a unique short identifier';
$config['xmpp']['password'] = 'apassword';
$config['xmpp']['public'][] = 'someindexer@example.net';
#$config['xmpp']['debug'] = false; 

now you have to have all the rewrite rules in /etc/apache2/sites-enabledBR

adduser USERNAME
chown USERNAME:www-data /var/www
chmod 755 /var/www
rm /var/www/index.html
sudo vim /etc/apache2/sites-enabled/000-default

[[AllowOverride]] All

sudo /etc/init.d/apache2 restart

  git clone http://git.gitorious.org/laconica/mainline.git

cd /var/www
wget http://laconi.ca/laconicaXXXX.tar.gz
tar zxvf laconicaXXXX.tar.gz --strip-components 1
chmod g+w /var/www/avatar

mysqladmin -u root -p create laconica

mysql -u root -p laconica < /var/www/db/laconica.sql

mysql -u root -p
GRANT SELECT,INSERT,DELETE,UPDATE on laconica.*
TO 'USERNAME'@'localhost'
IDENTIFIED BY 'PASSWORD';

GRANT SELECT,INSERT,DELETE,UPDATE on laconica.*
TO 'USERNAME'@'%'
IDENTIFIED BY 'PASSWORD';

cd /var/www
cp config.php.sample config.php
vi config.php

$config['site']['server'] = 'laconica.example.com';
$config['site']['path'] = '/';

$config['db']['database'] = 'mysql://USERNAME:PASSWORD@localhost/laconica';

cp default.png /var/www/laconica/theme/

cd /var/www
cp htaccess.sample .htaccess

vi /var/www/config.php

$config['site']['fancy'] = true;

/usr/local/lib/libsphinxclient-0.0.1.so (normally you make a symbolic link of this one as show below but whatev's I just included the symbolic link as a file to reduce confusion)                                                                                   
/usr/local/lib/libsphinxclient.a
/usr/local/lib/libsphinxclient.la  
/usr/local/lib/libsphinxclient.so -> libsphinxclient-0.0.1.so

/usr/lib/php5/20060613+lfs/sphinx.so 

# m h  dom mon dow   command
*/5 * * * * /usr/local/bin/sphinx-cron.sh

#! /bin/sh

NAME=sphinx
DAEMON=/usr/local/bin/searchd

[ -x "$DAEMON" ] || exit 0

case "$1" in
  start)
        echo "Stopping any running daemons..."                                                      
        $DAEMON --config /usr/local/etc/sphinx.conf --stop 2> /dev/null                              
        echo "Starting sphinx search daemon..."                                                     
        $DAEMON --config /usr/local/etc/sphinx.conf 2> /dev/null                                  
	;;
  stop)
        echo "Stopping sphinx search daemon..."                                                   
        $DAEMON --config /usr/local/etc/sphinx.conf --stop 2> /dev/null            
	;;
  *)
	echo "Usage: $NAME {start|stop}" >&2
	exit 3
	;;
esac

:


mkdir /usr/local/log
mkdir /usr/local/data

/usr/local/bin/indexer --config /path/to/sphinx.conf --all

%% Admin user
{acl, admin, {user, "nameofyourlaconicabot", "your.domain.com"}}.
%% Hostname
{hosts, ["your.domainame.com"]}.[[BR]]

# xmpp
$config['xmpp']['enabled'] = true;
$config['xmpp']['server'] = 'your.domainame.com';
$config['xmpp']['host'] = NULL; # Only set if different from server
$config['xmpp']['port'] = 5222;
$config['xmpp']['user'] = 'nameofyourlaconicabot';
$config['xmpp']['encryption'] = true;
$config['xmpp']['resource'] = 'a unique short identifier';
$config['xmpp']['password'] = 'apassword';
$config['xmpp']['public'][] = 'someindexer@example.net';
#$config['xmpp']['debug'] = false; 

then chmod +x the /laconica/scripts/*
adduser USERNAME
chown USERNAME:www-data /var/www
chmod 755 /var/www
rm /var/www/index.html
sudo vim /etc/apache2/sites-enabled/000-default

[[AllowOverride]] All

sudo /etc/init.d/apache2 restart

  git clone http://git.gitorious.org/laconica/mainline.git

cd /var/www
wget http://laconi.ca/laconicaXXXX.tar.gz
tar zxvf laconicaXXXX.tar.gz --strip-components 1
chmod g+w /var/www/avatar

mysqladmin -u root -p create laconica

mysql -u root -p laconica < /var/www/db/laconica.sql

mysql -u root -p
GRANT SELECT,INSERT,DELETE,UPDATE on laconica.*
TO 'USERNAME'@'localhost'
IDENTIFIED BY 'PASSWORD';

GRANT SELECT,INSERT,DELETE,UPDATE on laconica.*
TO 'USERNAME'@'%'
IDENTIFIED BY 'PASSWORD';

cd /var/www
cp config.php.sample config.php
vi config.php

$config['site']['server'] = 'laconica.example.com';
$config['site']['path'] = '/';

$config['db']['database'] = 'mysql://USERNAME:PASSWORD@localhost/laconica';

cp default.png /var/www/laconica/theme/

cd /var/www
cp htaccess.sample .htaccess

vi /var/www/config.php

$config['site']['fancy'] = true;

/usr/local/lib/libsphinxclient-0.0.1.so (normally you make a symbolic link of this one as show below but whatev's I just included the symbolic link as a file to reduce confusion)                                                                                   
/usr/local/lib/libsphinxclient.a
/usr/local/lib/libsphinxclient.la  
/usr/local/lib/libsphinxclient.so -> libsphinxclient-0.0.1.so

/usr/lib/php5/20060613+lfs/sphinx.so 

# m h  dom mon dow   command
*/5 * * * * /usr/local/bin/sphinx-cron.sh

#! /bin/sh

NAME=sphinx
DAEMON=/usr/local/bin/searchd

[ -x "$DAEMON" ] || exit 0

case "$1" in
  start)
        echo "Stopping any running daemons..."                                                      
        $DAEMON --config /usr/local/etc/sphinx.conf --stop 2> /dev/null                              
        echo "Starting sphinx search daemon..."                                                     
        $DAEMON --config /usr/local/etc/sphinx.conf 2> /dev/null                                  
	;;
  stop)
        echo "Stopping sphinx search daemon..."                                                   
        $DAEMON --config /usr/local/etc/sphinx.conf --stop 2> /dev/null            
	;;
  *)
	echo "Usage: $NAME {start|stop}" >&2
	exit 3
	;;
esac

:


mkdir /usr/local/log
mkdir /usr/local/data

/usr/local/bin/indexer --config /path/to/sphinx.conf --all

%% Admin user
{acl, admin, {user, "nameofyourlaconicabot", "your.domain.com"}}.
%% Hostname
{hosts, ["your.domainame.com"]}.[[BR]]

# xmpp
$config['xmpp']['enabled'] = true;
$config['xmpp']['server'] = 'your.domainame.com';
$config['xmpp']['host'] = NULL; # Only set if different from server
$config['xmpp']['port'] = 5222;
$config['xmpp']['user'] = 'nameofyourlaconicabot';
$config['xmpp']['encryption'] = true;
$config['xmpp']['resource'] = 'a unique short identifier';
$config['xmpp']['password'] = 'apassword';
$config['xmpp']['public'][] = 'someindexer@example.net';
#$config['xmpp']['debug'] = false; 

then chmod +x the /laconica/scripts/*

then /laconica/scripts/startdaemons.sh 

Now add your bot to your pidgin account BR Then go into laconica and register your gmail or whatever it is like on identi.ca BR Worked? works for me :)BR Problems ask for help in IRC BR

[edit] Troubleshooting

If you are having trouble with fancy URLs make sure the AllowOverride All configuration option is setup for apache.

-- I know this guide is for 8.04, but thought it worth noting that on 8.10 I had to run to enable mod-rewrite for apache -sheepeatingtaz
adduser USERNAME
chown USERNAME:www-data /var/www
chmod 755 /var/www
rm /var/www/index.html
sudo vim /etc/apache2/sites-enabled/000-default

[[AllowOverride]] All

sudo /etc/init.d/apache2 restart

  git clone http://git.gitorious.org/laconica/mainline.git

cd /var/www
wget http://laconi.ca/laconicaXXXX.tar.gz
tar zxvf laconicaXXXX.tar.gz --strip-components 1
chmod g+w /var/www/avatar

mysqladmin -u root -p create laconica

mysql -u root -p laconica < /var/www/db/laconica.sql

mysql -u root -p
GRANT SELECT,INSERT,DELETE,UPDATE on laconica.*
TO 'USERNAME'@'localhost'
IDENTIFIED BY 'PASSWORD';

GRANT SELECT,INSERT,DELETE,UPDATE on laconica.*
TO 'USERNAME'@'%'
IDENTIFIED BY 'PASSWORD';

cd /var/www
cp config.php.sample config.php
vi config.php

$config['site']['server'] = 'laconica.example.com';
$config['site']['path'] = '/';

$config['db']['database'] = 'mysql://USERNAME:PASSWORD@localhost/laconica';

cp default.png /var/www/laconica/theme/

cd /var/www
cp htaccess.sample .htaccess

vi /var/www/config.php

$config['site']['fancy'] = true;

/usr/local/lib/libsphinxclient-0.0.1.so (normally you make a symbolic link of this one as show below but whatev's I just included the symbolic link as a file to reduce confusion)                                                                                   
/usr/local/lib/libsphinxclient.a
/usr/local/lib/libsphinxclient.la  
/usr/local/lib/libsphinxclient.so -> libsphinxclient-0.0.1.so

/usr/lib/php5/20060613+lfs/sphinx.so 

# m h  dom mon dow   command
*/5 * * * * /usr/local/bin/sphinx-cron.sh

#! /bin/sh

NAME=sphinx
DAEMON=/usr/local/bin/searchd

[ -x "$DAEMON" ] || exit 0

case "$1" in
  start)
        echo "Stopping any running daemons..."                                                      
        $DAEMON --config /usr/local/etc/sphinx.conf --stop 2> /dev/null                              
        echo "Starting sphinx search daemon..."                                                     
        $DAEMON --config /usr/local/etc/sphinx.conf 2> /dev/null                                  
	;;
  stop)
        echo "Stopping sphinx search daemon..."                                                   
        $DAEMON --config /usr/local/etc/sphinx.conf --stop 2> /dev/null            
	;;
  *)
	echo "Usage: $NAME {start|stop}" >&2
	exit 3
	;;
esac

:


mkdir /usr/local/log
mkdir /usr/local/data

/usr/local/bin/indexer --config /path/to/sphinx.conf --all

%% Admin user
{acl, admin, {user, "nameofyourlaconicabot", "your.domain.com"}}.
%% Hostname
{hosts, ["your.domainame.com"]}.[[BR]]

# xmpp
$config['xmpp']['enabled'] = true;
$config['xmpp']['server'] = 'your.domainame.com';
$config['xmpp']['host'] = NULL; # Only set if different from server
$config['xmpp']['port'] = 5222;
$config['xmpp']['user'] = 'nameofyourlaconicabot';
$config['xmpp']['encryption'] = true;
$config['xmpp']['resource'] = 'a unique short identifier';
$config['xmpp']['password'] = 'apassword';
$config['xmpp']['public'][] = 'someindexer@example.net';
#$config['xmpp']['debug'] = false; 

then chmod +x the /laconica/scripts/*

then /laconica/scripts/startdaemons.sh 
sudo a2enmod rewrite

Set the debug setting in config.php to 5 and reload your site. Hopefully, you'll get something helpful.

Personal tools