Changes
Page history
Create standalone
authored
Dec 08, 2021
by
bgm
Show whitespace changes
Inline
Side-by-side
standalone.md
0 → 100644
View page @
c5797adf
# Todo
*
Installer
*
Login page (and/or login via Oauth, but we should have something easy to use)
*
Password reset
*
2fa support (via extension?)
*
Manage users -> Setting a password for a Contact - Standalone had something
*
Manage roles/permissions (re-use what WordPress has? or Standalone?)
*
Basic theme for frontend pages?
Things to consider:
*
Translation / multi-lingual (lcMessages would be fine)
*
Installation documentation, visibility on civicrm.org/download
# Tooling
*
buildkit support
*
cv support
*
tar.gz release builder
*
demo site
# Random
*
Github repo civicrm-standalone, that we could build using composer (require civicrm-core, civicrm-setup, etc), and distribute on c.o as a tar.gz.
*
Login feature could be an extension, and could be disabled if people want to use something else such as Oauth SSO or LDAP.
# civicrm-core: Files to add
(I have some very quick & dirty working versions of these files, need to create a WIP PR that we can apply during the build process)
*
CRM/Utils/System/Standalone.php
*
CRM/Core/Permission/Standalone.php
*
CRM/Utils/Hook/Standalone.php
*
templates/CRM/common/standalone.tpl
# Manual installation
## Using composer
```
mkdir /var/www/standalone/
cd /var/www/standalone/
composer config extra.enable-patching true
composer config minimum-stability dev
composer require civicrm/civicrm-core
composer require civicrm/civicrm-packages
```
Directories:
```
cd /var/www/standalone/
# Keeping smarty files outside the public webroot
mkdir templates_c
chgrp www-data templates_c
chmod g+w templates_c
# Some uploads are assumed to be publicly accessible, I think?
mkdir web/upload
chgrp www-data upload
chmod g+w upload
```
## civicrm.settings.php
Since the installer does not work, generate manually:
```
cd /var/www/standalone/
cp vendor/civicrm/civicrm-core/templates/CRM/common/civicrm.settings.php.template civicrm.settings.php
```
And then edit and set things manually:
*
UF = Standalone
*
civicrm_root = ..
also need to patch this bit to set include path for civicrm-packages:
```
$include_path = '.' . PATH_SEPARATOR .
$civicrm_root . PATH_SEPARATOR .
$civicrm_root . DIRECTORY_SEPARATOR . '../civicrm-packages' . PATH_SEPARATOR .
get_include_path( );
```
(how does Drupal8 handle that?)
## Initialize the database
Copied
`sql/civicrm.mysql`
from a Drupal8 codebase, then:
```
cat vendor/civicrm/civicrm-core/sql/civicrm.mysql | mysql -u civitest -p civitest
cat vendor/civicrm/civicrm-core/sql/civicrm_generated.mysql | mysql -u civitest -p civitest
```
and then in mysql:
```
-- probablement pas nécessaire:
-- insert into civicrm_contact (organization_name, contact_type, display_name) values ('Test Org', 'Organization', 'Test Org');
insert into civicrm_setting (name, value, domain_id, is_domain) values ('installed', 'i:1;', 1, 1);
```