Fundraising Tech/Donation Pipeline Setup

Before you get too far down this list, see Installing the software stack on the fundraising tech team page, where we explain how to accomplish all of these things the easy way, with Vagrant.

Installing CRM
Clone the repo:

Once you have your virtual host setup and pointing to /path/to/crm/drupal, you can run through the installer for drupal to generate a settings.php file. Once it's created, you'll want to add these lines and fill in your usernames and passwords. You'll want to manually create the additional databases as well.

Then enable the modules and update the database:

Installing PaymentsWiki
Clone the repo

git clone https://git.wikimedia.org/git/mediawiki/skins/Vector.git

Once you have your virtual host pointing to the directory, you can run through the installer to get LocalSettings.php. Then add these lines to enable to correct extensions.

rsyslog.d
If you are running your payments environment in ubuntu, we recommend setting up the log buckets in rsyslog.d in largely the same way we set them up on the payments cluster.
 * in /etc/rsyslog.d, create a file called 60-payments.conf
 * Insert the following code into 60-payments.conf

Installing SmashPig
Manually create a database named 'smashpig' that your crm user can access. Run the scripts inside SmashPig's 'Schema' folder against the database.

To get tests passing install sqlite.

To test the IPN listener, set up a web site to serve the smashpig_http_handler.php from the PublicHttp folder of SmashPig.

Under nginx, with some convenient shortcuts:

server { listen 80; server_name smashpig.dev; index smashpig_http_handler.php access_log /var/log/nginx/smashpig.access.log; error_log /var/log/nginx/smashpig.error.log; root /path/to/SmashPig/PublicHttp; rewrite /adyen /smashpig_http_handler.php?p=adyen/listener break; rewrite /amazon /smashpig_http_handler.php?p=amazon/listener break; rewrite /astropay /smashpig_http_handler.php?p=astropay/listener break; rewrite /globalcollect /smashpig_http_handler.php?p=globalcollect/listener break; rewrite /paypal /smashpig_http_handler.php?p=paypal/listener break; location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.0-fpm.sock; }   location /atest { alias /path/to/SmashPig/PaymentProviders/Amazon/Tests/manual; } }

Test Data
git clone https://gerrit.wikimedia.org/r/wikimedia/fundraising/dash

cd dash/test_data

Note: These scripts assume your databases are named drupal and civicrm.

CentralNotice
Installation is documentedhere.