Skip to content

civicrm/civicrm-standalone

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CiviCRM Standalone (Project Template)

This is a project-template for CiviCRM Standalone. You may use this to initialize a new web-site running CiviCRM -- without requiring any other content management system (such as Drupal or WordPress).

This template is based on composer. It is geared toward site-builders. You may use composer for site-building operations -- such as upgrading the application and managing third-party add-ons.

TIP: If you are planning to develop patches for CiviCRM Standalone, you should use a different template: civibuild's standalone-dev. In that template, it is easier to manage git (branches, commits, etc) for the canonical repositories.

See also: (dev/core#2998) Epic: Re-implement CiviCRM Standalone (CMS-less CiviCRM)

Project layout

This repo as top dir of project:

  • data/ holds non-web-accessible files including ConfigAndLog, Smarty templates and settings files.
  • web/ holds web-accessible files:
    • index.php This is the main router/request handler.
    • upload/ holds all the other gubbins, including the ext/ dir for extensions.
  • vendor/civicrm/ holds all the composer-sourced code, notably including:
    • civicrm-core The core files

Install with buildkit

civibuild create mytest1 --type standalone-clean

Note that this will always install the latest master/main branch.

You should now be able to see CiviCRM up and running. Jump to Next Steps.

Install with composer

If you don't want the buildkit environment and you want to test the web-based installer, you can do it this way. It assumes you have setup your own httpd/php/sql services and configured them.

Clone this repo as the root of your project and pull in dependencies:

cd /var/www/
git clone [email protected]:civicrm/civicrm-standalone.git standalone
cd standalone
composer install

Unless your php worker runs as your own user, you may need to configure permissions (adjust for your set-up). e.g.

PHPWORKERUSER=www-data
mkdir -m2770 -p web/upload data
chmod g+rwX -R web/upload data
chgrp $PHPWORKERUSER web/upload data

Now we need to create some SQL and the database:

# The brackets here save you a cd - command after!
( cd vendor/civicrm/civicrm-core/xml && php GenCode.php 0 0 Standalone; )

# create the database - you may need to add your credentials if not stored in ~/.my.cnf
mysql -e "CREATE DATABASE standalone_civicrm;"

Now visit the site in your browser. You should get the installer page, but with lots of red notices about database stuff. That's ok, it's just because it doesn't know the DSN for the database. Edit the DSN yourself at the bottom of the page and hit Apply.

At the end you should be able to access /civicrm

Next steps

You need authx enabled and configured, and the standaloneusers extension installed.

You can do this at the command line with

cv en authx standaloneusers && cv vset +l authx_login_cred+=pass

...or from Administer » System Settings » Authentication. You'll need to add User Password to the **Acceptable credentials (HTTP Session Login) select. And hit Save. Then install the the standaloneusers extension by cv en standaloneusers (it is a core extension, so will already be part of your docroot) - you can't do this from the UI as it's hidden.

Read the standaloneusers/README.md

About CiviCRM

CiviCRM is web-based, open source, Constituent Relationship Management (CRM) software geared toward meeting the needs of non-profit and other civic-sector organizations.

As a non profit committed to the public good itself, CiviCRM understands that forging and growing strong relationships with constituents is about more than collecting and tracking constituent data - it is about sustaining relationships with supporters over time.

To this end, CiviCRM has created a robust web-based, open source, highly customizable, CRM to meet organizations’ highest expectations right out-of-the box. Each new release of this open source software reflects the very real needs of its users as enhancements are continually given back to the community.

With CiviCRM's robust feature set, organizations can further their mission through contact management, fundraising, event management, member management, mass e-mail marketing, peer-to-peer campaigns, case management, and much more.

CiviCRM is localized in over 20 languages including: Chinese (Taiwan, China), Dutch, English (Australia, Canada, U.S., UK), French (France, Canada), German, Italian, Japanese, Russian, and Swedish.

For more information, visit the CiviCRM website.