Ubuntu 8.04 Server Quick Start
From StatusNet
[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.

