Install Sitebar bookmarks manager on Debian
Sitebar is a online bookmarks manager conceived to be used in a lateral panel. It is interesting for its work-groups functionalities and the possibility to organize bookmarks in folders.
This howto is tested on :
- Debian 6.0 Squeeze
This howto is tested with these versions of Sitebar :
- 3.4 nightly
Prerequisites
This howto needs :
- a HTTP server with PHP, as described by Install PHP-FPM on Debian.
- a MySQL server, as described by Install and setup MySQL on Debian.
- The mysql-tools script easing MySQL server administration on local host (and MySQL server host, if other).
This howto needs one of these tools, according to the installed HTTP server :
- a2tools available in Install and setup Apache 2 on Debian.
- lighty-tools available in Installer and setup Lighttpd on Debian.
Parameters
Provide the domain name where will be available the software :
DOMAIN="sitebar.domaine-exemple.fr"
Provide the protocol used to view the software (http or https):
PROTOCOL="http"
Provide the MySQL server host :
MYSQL_HOST="localhost"
If the MySQL server is not local, the mysql-tools script will try to connect with MySQL client, or in case of connection failure, through SSH.
Installation
Compute the installation path :
INSTALL_PATH="/opt/tt-rss/${DOMAIN}"
Make sure that the parent folder exists :
PARENT_PATH="$(command dirname "${INSTALL_PATH}")"
if [ ! -e "${PARENT_PATH}" ]; then
command mkdir --parent "${PARENT_PATH}"
fi
Environment preparation
Install the needed software :
command apt-get install php5-mysql mysql-client subversion
Reload PHP configuration :
test -x /etc/init.d/php5-fpm && /etc/init.d/php5-fpm force-reload
test -x /etc/init.d/apache2 && /etc/init.d/apache2 force-reload
test -x /etc/init.d/lighttpd && /etc/init.d/lighttpd force-reload
test -x /etc/init.d/nginx && /etc/init.d/nginx force-reload
Application installation
Download the sources :
command svn checkout "svn://svn.sitebar.org/sitebar/trunk" "${INSTALL_PATH}"
Note : the downloaded version is 3.4 nightly. This version is a stable "rolling release". The last official stable version (3.3.9) has been released many years ago.
Database creation
Create the database with mysql-tools :
MYSQL_PARAMS="$(command mysql-tools --server="${MYSQL_HOST}" --with-ssh \
--auto-hosts --db-prefix="sitebar" --create "${DOMAIN}")"
Parse the database connection parameters :
MYSQL_DB="$(echo "${MYSQL_PARAMS}" | command grep -e "^MYSQL_DB" \
| cut --delimiter="=" --fields="2-")"
MYSQL_USER="$(echo "${MYSQL_PARAMS}" | command grep -e "^MYSQL_USER" \
| cut --delimiter="=" --fields="2-")"
MYSQL_PASSWORD="$(echo "${MYSQL_PARAMS}" | command grep -e "^MYSQL_PASSWORD" \
| cut --delimiter="=" --fields="2-")"
echo "${MYSQL_PARAMS}"
Initialize database contents :
command mysql --user="${MYSQL_USER}" --password="${MYSQL_PASSWORD}" \
--host="${MYSQL_HOST}" "${MYSQL_DB}" \
< "${INSTALL_PATH}/sql/install.sql"
Configuration
Create the configuration file :
echo "<?php
\$SITEBAR = array
(
'db' => array
(
'host' => '${MYSQL_HOST}',
'username' => '${MYSQL_USER}',
'password' => '${MYSQL_PASSWORD}',
'name' => '${MYSQL_DB}',
),
'baseurl' => '${PROTOCOL}://${DOMAIN}/',
'login_as' => null,
);
" > "${INSTALL_PATH}/adm/config.inc.php"
Setup the HTTP server for the application :
if [ -x "/usr/bin/a2tools" ]; then
command a2tools --overrides="FileInfo" "${DOMAIN}" "${INSTALL_PATH}"
fi
if [ -x "/usr/bin/lighty-tools" ]; then
command lighty-tools add-vhost "${DOMAIN}" "${INSTALL_PATH}"
fi
The software should now be available on the domain name. You can create the administration account.
Automatic software update
Setup a automatic software update script:
echo "#"'!'"/bin/bash
# Update ${PROTOCOL}://${DOMAIN}/ source code from SVN.
test -x '/usr/bin/svn' -a -d '${INSTALL_PATH}' && /usr/bin/svn update '${INSTALL_PATH}' > '/dev/null'" \
> "/etc/cron.daily/${DOMAIN}-update"
command chmod +x "/etc/cron.daily/${DOMAIN}-update"
Backup
Backup the installation with Backup Manager (see Install and setup Backup Manager on Debian) :
command backup-manager-tools add "${INSTALL_PATH}"
Don't forget to backup the database (see Install and setup MySQL on Debian)
Solving problems
Unreadable display
There is an incompatibility between the software error message and the Apache 2 deflate module. To get a readable error message, disable Apache 2 mod_deflate :
command a2dismod deflate
/etc/init.d/apache2 force-reload
Thanks
- Thanks to SiteBar developers.
