Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
D
Developer Documentation
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
brienne
Developer Documentation
Commits
d44d362d
Commit
d44d362d
authored
7 years ago
by
Andie Hunt
Browse files
Options
Downloads
Patches
Plain Diff
File system: added new documentation file
parent
229d63ea
No related branches found
Branches containing commit
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
docs/basics/filesystem.md
+110
-0
110 additions, 0 deletions
docs/basics/filesystem.md
with
110 additions
and
0 deletions
docs/basics/filesystem.md
0 → 100644
+
110
−
0
View file @
d44d362d
# File system
The file structure of the content management systems that CiviCRM operates in
differs among the different content management systems it installs within, but
the general concepts are the same. One directory contains the CiviCRM
**codebase**
(including CMS-specific code to integrate with the website),
another directory contains
**local files**
that are site-specific, and the site
will have a CiviCRM
**settings file**
.
## Codebase
The codebase consists of the common CiviCRM code (found in the
[
civicrm-core
](
https://github.com/civicrm/civicrm-core/
)
and
[
civicrm-packages
](
https://github.com/civicrm/civicrm-packages/
)
repositories)
along with the code to integrate with the CMS. Obviously, Drupal and Backdrop
modules, Joomla components, and WordPress plugins have different structures, so
the
[
civicrm-drupal
](
https://github.com/civicrm/civicrm-drupal/
)
,
[
civicrm-backdrop
](
https://github.com/civicrm/civicrm-backdrop/
)
,
[
civicrm-joomla
](
https://github.com/civicrm/civicrm-joomla/
)
, and
[
civicrm-wordpress
](
https://github.com/civicrm/civicrm-wordpress/
)
repositories
contain the code connecting CiviCRM to the CMS along with some CMS-specific
features.
### Drupal and Backdrop
The CiviCRM module is typically found in the
`sites/all/modules/civicrm`
directory. As with any module, it is possible to have CiviCRM run from the
`modules`
directory within some other subdirectory of
`sites`
(for site-specific
use), a subdirectory of either of these locations, or within the root
`modules`
directory (which is
*not advisable*
).
The
`sites/all/modules/civicrm/drupal`
directory corresponds to the
[
civicrm-drupal
](
https://github.com/civicrm/civicrm-drupal/
)
repository. It
contains
`civicrm.module`
, the actual module file, along with the role sync
modules, blocks, and drush and views integration.
### Joomla
CiviCRM's codebase exists in
*two*
places within Joomla:
-
A front-end component at
`components/com_civicrm`
-
A back-end component at
`administrator/components/com_civicrm`
The back-end component contains the common CiviCRM code, in
`administrator/components/com_civicrm/civicrm`
. The
[
civicrm-joomla
](
https://github.com/civicrm/civicrm-joomla/
)
repository contains
a
`site`
directory for the front-end files and an
`admin`
directory for the
back-end files.
### WordPress
The CiviCRM plugin is found in
`wp-content/plugins/civicrm`
. This corresponds
to the
[
civicrm-wordpress
](
https://github.com/civicrm/civicrm-wordpress/
)
repository, containing the plugin file as well as WP-CLI integration. The
common CiviCRM codebase is found at
`wp-content/plugins/civicrm/civicrm`
.
## Local files
CiviCRM also needs a files directory for storing a variety of site-specific
files, including uploaded files, logs, and the template cache. This directory
is located away from the codebase in a location that is unlikely to be
overwritten during upgrades.
### Drupal and Backdrop
CiviCRM stores its files in a folder named
`civicrm`
within the site-specific
files directory. This is commonly
`sites/default/files/civicrm`
, though it
could be
`sites/example.org/files/civicrm`
if such a folder exists.
### Joomla
The CiviCRM local files are within the
`media/civicrm`
directory.
### WordPress
Newly-installed CiviCRM sites on WordPress have their local files at
`wp-content/uploads/civicrm`
. Many older sites use the previous default:
`wp-content/plugins/files/civicrm`
.
## Settings file
CiviCRM's database connection, base URL, site key, CMS, and file paths are defined in
`civicrm.settings.php`
.
### Drupal and Backdrop
The
`civicrm.settings.php`
file will be a sibling of Drupal's
`settings.php`
,
commonly at
`sites/default/civicrm.settings.php`
, or
`sites/example.org/civicrm.settings.php`
in multi-site.
### Joomla
There are two instances of
`civicrm.settings.php`
in Joomla, within each of the
components:
-
front-end at
`components/com_civicrm/civicrm.settings.php`
-
back-end at
`administrator/components/com_civicrm/civicrm.settings.php`
The files are
*nearly*
identical. The one difference is that the front-end file
has the site's normal base URL, while the back-end file has
`/administrator/`
on
the end, pointing to the back-end of the site.
### WordPress
Newly-installed CiviCRM sites on WordPress have the settings file at
`wp-content/uploads/civicrm/civicrm.settings.php`
. Many older sites, however,
put the settings file within the CiviCRM plugin folder at
`wp-content/plugins/civicrm/civicrm.settings.php`
. This latter location can be
dangerous when upgrading: it is important in this case to keep the
`civicrm`
folder until the upgrade is complete and the site is verified to be working
properly.
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment