Skip to content
This repository has been archived by the owner on Jan 15, 2022. It is now read-only.

mozilla/Twitter-Collage

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

#
# Firefox 4 Twitter Party
# Design and development by Mozilla, Quodis © 2011
# http://www.mozilla.com
# http://www.quodis.com
# 
# Licensed under a Creative Commons Attribution Share-Alike License v3.0 http://creativecommons.org/licenses/by-sa/3.0/ 
#


#### INSTALLATION ####

# This document assumes:
# - a single server deployment (ubuntu) 
# - code is at /servers/prod/twitterparty
# - data is at /servers/data/twitterparty
# - user is root, current working dir is /servers/prod/twitterparty
# - configuration file is "config/config.prod.yaml"
# - daemontools is used to supervise jobs 

# IMPORTANT: 
#
# DO NOT INSTALL JOBS AS CRON JOBS
# DO NOT USE IN MULTI-SERVER ENVIRONMENT



#### INSTALLATION ####


## -- required --

apt-get install memcached mysql-server
apt-get install php5 php5-dbg php5-dev php5-common php5-cli php5-cgi php-pear php5-curl php5-mysql php5-tidy php5-memcache php5-imagick imagemagick
apt-get install daemontools

# dameontools specific:
# http://www.bytereef.org/howto/djb/daemontools-install.html

cp assets/install/svscan.conf  /etc/init/svscan.conf

# init service directory

mkdir /etc/service
sudo telinit Q


## -- code --

# assuming code is at /servers/prod/twitterparty
# assuming config file is "config/config.prod.yaml"

# permissions: 
#  www-data doesn't need write permissions
#  jobs are run as root

cd /servers/prod
git clone git@github.com:quodis/Twitter-Collage.git twitterparty 
cd twitterparty

ln -s config.prod.yaml config/config.yaml

# edit configuration in config/config.prod.yaml
# need to set paths, Database/* and App/url 


## -- private data and public storage  --

# assuming data is at /servers/data/twitterparty

# permissions: 
#  www-data doesn't need write permissions
#  jobs are run as root

mkdir /servers/data/twitterparty
mkdir public/store
mkdir public/store/pages
mkdir public/store/config

## -- logs --

mkdir /var/log/twitterparty
chmod 777 /var/log/twitterparty  

## -- configure --

# reads config/config.yaml > writes to config/config.php 
php util/configure.php

# writes to config/mosaic-xxx.php + public/store/config/grid.js
php util/mosaic-configure.php

# writes to public/store/pages
php util/mosaic-make-tiles.php



## -- mysql --

mysql -u root -p

# mysql > \. schema/db.sql
# mysql > \. schema/tables.sql



## -- web (apache)


# HOST twitterparty.mozilla.org
# doc root /servers/prod/twitterparty/public
# public/.htaccess does the rest

# web should now be available at http://twitterparty.mozilla.org and http://twitterparty.mozilla.org/dashboard

# make sure the following mime-types are configured
#  application/vnd.ms-fontobject                   eot
#  font/ttf                                        ttf
#  font/otf                                        otf
#  font/woff                                       woff
#  application/text-json                           json

# enable compression (png, gif, css, js, json, eot, svg, ttf, woff)

# disable directory listing



## -- install jobs --

# assuming code is at /servers/prod/twitterparty
# assuming jobbs are supervised by daemontools

# http://cr.yp.to/daemontools/start.html

mkdir /etc/service/twitterparty-twitter-search
echo '#!/bin/sh
exec php /servers/prod/twitterparty/job/twitter-search.php' > /etc/service/twitterparty-twitter-search/run

mkdir /etc/service/twitterparty-image-process
echo '#!/bin/sh
exec php /servers/prod/twitterparty/job/image-process.php' > /etc/service/twitterparty-image-process/run

mkdir /etc/service/twitterparty-mosaic-build
echo '#!/bin/sh
exec php /servers/prod/twitterparty/job/mosaic-build.php' > /etc/service/twitterparty-mosaic-build/run

chmod -R 755 /etc/service/twitterparty-*



#### CODE UPDATES ####

# stop jobs before updating code or configuration

svc -d /etc/service/twitterparty-*
git pull
php util/configure.php
svc -u /etc/service/twitterparty-*



#### JOBS ####

# services should be stoped before code updates and configuration changes

# stop
svc -d /etc/service/twitterparty-*

# tart
svc -t /etc/service/twitterparty-*



#### LOGS ####

# assuming logs are at /var/log/twitterparty

## -- web --

# lighttpd access > /var/log/lighttpd/access.log 
# lighttpd errors > /var/log/lighttpd/error.log

# twitterparty web (messages) > www.msg.log
# twitterparty web (errors) > www.error.log

# twitterparty dashboard (messages) > dashboard.msg.log
# twitterparty dashboard (errors) > dashboard.error.log

## -- jobs -- 

# messages are logged in JOBNAME-msg.log
# errors are logged in JOBNAME-error.log

Releases

No releases published

Packages

No packages published

Languages

  • PHP 100.0%