Drumbeat/Website/Install
Packages To Install
(Debian/Ubuntu package names in brackets)
Compulsory
- PHP 5.2 (php5)
- Apache 2.x (apache2)
- MySQL 5 (mysql-server)
- ... any more? XXX php5-mysql? php5-gd?
Optional
You only need memcache if you are running performance testing or debugging memcache problems.
- memcached (memcached)
- php5-memcache 2.2.5 (php5-memcache) - not 3.x, which Ubuntu 9.10 ships
XXX Where do people get the older version of php5-memcache?
Configuration
PHP 5.2
Edit /etc/php5/apache2/php.ini and make the following changes:
- memory_limit = 128M
- max_execution_time = 300
- upload_max_filesize = 8M
- libgd2 for image manipulation - (XXXphp5-gd module + dependencies?)
- pecl module "uploadprogress" for enhanced ajax uploads (XXXwhere to find and how to install?)
- sendmail support (XXXphp-mail module? Sendmail itself? Is this needed for everyone?)
currently i use postfix, easy to setup with sudo aptitude install postfix [booker]
Apache 2
- Enable mod_rewrite for clean urls:
sudo a2enmod rewrite
MySQL 5
XXX Where is all this configured?
- mysqli connection method
- innodb
- 1x database for drupal, 1x database for civicrm
- Modify connection strings in {Drupal root}/sites/default/settings.php and {Drupal root}/sites/default/civicrm.settings.php
XXX modify from what to what?
Get Code
This includes our own copies of Drupal, various Drupal modules, and CiviCRM. Run this command:
svn co http://svn.mozilla.org/projects/crm/trunk /var/www/drumbeat.org
or
svn co https://svn.mozilla.org/projects/crm/trunk /var/www/drumbeat.org
Or, if you have Mozilla SVN write access:
svn co svn+ssh://svn.mozilla.org/projects/crm/trunk /var/www/drumbeat.org
XXX Is this the right directory to check out into? Or do we say to put it elsewhere and use a symlink? perhaps instead of /var/www/drumbeat.org we could have [local directory] [booker] Yes, but which would be better? - Gerv
Additional Configuration
Install Sample Database
- XXX - need to make this available
Drupal cronjob
Add the following line to /etc/crontab (XXX or is there a better way in modern OSes?)
10 * * * * wget -q -O /dev/null http://{drumbeat_site_url}/cron.php
boost module
Boost module maintains a page cache here, which dramatically improves performance for anonymous users. Modify the "cache" folder in the Drupal root apache writeable, other readable. Copy the settings generated at http://{drumbeat_staging_url}/admin/settings/performance/boost-rules into {Drupal root}/.htaccess over the existing #Boost rules section.
Drupal file upload folder
Set permissions on the $DRUPAL_ROOT/sites/default/files directory (replace $DRUPAL_ROOT and $USER with appropriate values):
cd $DRUPAL_ROOT/sites/default/ sudo chown -R $USER:www-data files sudo chmod -R g+w files
Web UI settings
XXX Does everyone need these for local testing, or can they do without? these keys will need to be removed in the sanitized version of the database - if i recall correctly you have to create some localhost keys for flickr [booker]
- GMap api key - for geo locating. Configure @ admin/settings/gmap
- Flickr API key - for flickr widget. Configure @ admin/settings/flickr
View Site
Access
http://localhost/drumbeat.org/
to see your installation working.
This will depend on your /etc/host configuration. All the required steps are at http://groups.drupal.org/node/6266 [booker]
Troubleshooting
If you can't see it...
To be added
I'll be happy to assist anyone who wishes to help out with Drumbeat [booker]
Optional Pieces
Memcached
- /usr/bin/memcached -m 2048 -p 11210 -u {apache user} -l 127.0.0.1
- Check settings in {Drupal root}/sites/default/settings.php match (port)
- Make sure local services can access port 11210 on localhost XXX how? telnet test?
Apache Solr
XXX Is this optional, or not? XXX Will 1.2 do? That's what Ubuntu packages...
- download 1.4 tarball
- extract to /opt/solr
- copy over schema.xml and solrconfig.xml from SVN to /opt/solr/example/solr/conf/
- cd /opt/solr/example
- java -jar start.jar
Extra Bits (???)
- Moving CiviCRM database from staging to live. Clear the CiviCRM configuration from the database - which is rebuilt automatically from {Drupal root}/sites/default/civicrm.settings.php
UPDATE `mozcrm_civicrm`.`civicrm_domain` SET `config_backend` = NULL WHERE `civicrm_domain`.`id` =1 LIMIT 1 ;