1*c05183b1SGreg Roach![Latest version)](https://img.shields.io/github/v/release/fisharebest/webtrees?sort=semver) 2329f5281SGreg Roach[![License](https://poser.pugx.org/fisharebest/webtrees/license)](https://packagist.org/packages/fisharebest/webtrees) 3a592e1c1SGreg Roach[![Build Status](https://travis-ci.org/fisharebest/webtrees.svg?branch=master)](https://travis-ci.org/fisharebest/webtrees) 4ad92d32aSGreg Roach[![Coverage Status](https://coveralls.io/repos/github/fisharebest/webtrees/badge.svg?branch=master)](https://coveralls.io/github/fisharebest/webtrees?branch=master) 5ba2c9f9fSGreg Roach[![Translation status](https://weblate.iet.open.ac.uk/widgets/webtrees/-/svg-badge.svg)](https://weblate.iet.open.ac.uk/projects/webtrees/webtrees/) 6e48069ebSGreg Roach[![SensioLabsInsight](https://insight.sensiolabs.com/projects/78a5ba19-7ddf-4a58-8262-1c8a149f38de/mini.png)](https://insight.sensiolabs.com/projects/78a5ba19-7ddf-4a58-8262-1c8a149f38de) 7c9b50c59SGreg Roach[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/fisharebest/webtrees/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/fisharebest/webtrees/?branch=master) 882f63a0eSGreg Roach[![Code Climate](https://codeclimate.com/github/fisharebest/webtrees/badges/gpa.svg)](https://codeclimate.com/github/fisharebest/webtrees) 9a4eb115aSGreg Roach[![StyleCI](https://github.styleci.io/repos/11836349/shield?branch=master)](https://github.styleci.io/repos/11836349) 103344c7f9SGreg Roach 116ccdf4f0SGreg Roach# webtrees - online collaborative genealogy 12fac25c68SRico Sonntag 13e00de034SGreg RoachThe project’s website is [www.webtrees.net](https://www.webtrees.net). 1487f36d93SGreg RoachFurther documentation is available at [wiki.webtrees.net](https://wiki.webtrees.net) and [webtrees.github.io](https://webtrees.github.io). 15b4ef7f82SRico Sonntag 16fac25c68SRico Sonntag## Contents 17fac25c68SRico Sonntag 18fac25c68SRico Sonntag* [License](#license) 196ccdf4f0SGreg Roach* [Coding styles and standards](#coding-styles-and-standards) 20fac25c68SRico Sonntag* [Introduction](#introduction) 2126a22ad2SJustCarmen* [System requirements](#system-requirements) 22bd82e704SDavid Drury* [Internet browser compatibility](#internet-browser-compatibility) 23fac25c68SRico Sonntag* [Installation](#installation) 24fac25c68SRico Sonntag* [Upgrading](#upgrading) 25bd82e704SDavid Drury* [Building and developing](#building-and-developing) 2626a22ad2SJustCarmen* [Gedcom (family tree) files](#gedcom-family-tree-files) 27fac25c68SRico Sonntag* [Security](#security) 28fac25c68SRico Sonntag* [Backup](#backup) 29fac25c68SRico Sonntag 30b4ef7f82SRico Sonntag 316ccdf4f0SGreg Roach## License 32fac25c68SRico Sonntag 33a25f0a04SGreg Roach* **webtrees: online genealogy** 346ccdf4f0SGreg Roach* Copyright 2019 webtrees development team 35fac25c68SRico Sonntag 36a25f0a04SGreg RoachThis program is free software: you can redistribute it and/or modify 37a25f0a04SGreg Roachit under the terms of the GNU General Public License as published by 38a25f0a04SGreg Roachthe Free Software Foundation, either version 3 of the License, or 39a25f0a04SGreg Roach(at your option) any later version. 40fac25c68SRico Sonntag 41a25f0a04SGreg RoachThis program is distributed in the hope that it will be useful, 42a25f0a04SGreg Roachbut WITHOUT ANY WARRANTY; without even the implied warranty of 43a25f0a04SGreg RoachMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 44a25f0a04SGreg RoachGNU General Public License for more details. 45fac25c68SRico Sonntag 46a25f0a04SGreg RoachYou should have received a copy of the GNU General Public License 47a25f0a04SGreg Roachalong with this program. If not, see <http://www.gnu.org/licenses/>. 48fac25c68SRico Sonntag 496ccdf4f0SGreg Roach## Coding styles and standards 50fac25c68SRico Sonntag 516ccdf4f0SGreg Roachwebtrees follows the [PHP Standards Recommendations](https://www.php-fig.org/psr). 526ccdf4f0SGreg Roach 536ccdf4f0SGreg Roach* [PSR-1](https://www.php-fig.org/psr/psr-1) - Basic Coding Standard 546ccdf4f0SGreg Roach* [PSR-2](https://www.php-fig.org/psr/psr-2) - Coding Style Guide 556ccdf4f0SGreg Roach* [PSR-4](https://www.php-fig.org/psr/psr-4) - Autoloading Stardard 56c692965aSGreg Roach* [PSR-6](https://www.php-fig.org/psr/psr-6) - Cache 576ccdf4f0SGreg Roach* [PSR-7](https://www.php-fig.org/psr/psr-7) - HTTP Message Interface 586ccdf4f0SGreg Roach* [PSR-11](https://www.php-fig.org/psr/psr-11) - Container Interface 59cb55cd99SGreg Roach* [PSR-12](https://www.php-fig.org/psr/psr-12) - Extended Coding Style Guide 606ccdf4f0SGreg Roach* [PSR-15](https://www.php-fig.org/psr/psr-15) - HTTP Handlers 616ccdf4f0SGreg Roach* [PSR-17](https://www.php-fig.org/psr/psr-17) - HTTP Factories 626ccdf4f0SGreg Roach 63cb55cd99SGreg RoachWe do not currently use [PSR-3 (logging)](https://www.php-fig.org/psr/psr-3) - but we plan to do so in the future. 646ccdf4f0SGreg Roach 656ccdf4f0SGreg Roach## Introduction 66fac25c68SRico Sonntag 67fac25c68SRico Sonntag**webtrees** is the web's leading online collaborative genealogy application. 68fac25c68SRico Sonntag 69fac25c68SRico Sonntag* It works from standard GEDCOM files, and is therefore compatible with every 70fac25c68SRico Sonntagmajor desktop application. 71fac25c68SRico Sonntag* It aims to to be efficient and effective by using the right combination of 72fac25c68SRico Sonntagthird-party tools, design techniques and open standards. 73fac25c68SRico Sonntag 74fac25c68SRico Sonntag**webtrees** allows you to view and edit your genealogy on your website. It has 75e667f3d4SGreg Roachfull editing capabilities, full privacy functions, and supports imedia such as 76fac25c68SRico Sonntagphotos and document images. As an online program, it fosters extended family 77fac25c68SRico Sonntagparticipation and good ancestral recording habits, as it simplifies the process 78fac25c68SRico Sonntagof collaborating with others working on your family lines. Your latest information 79fac25c68SRico Sonntagis always on your web site and available for others to see, defined by viewing 80fac25c68SRico Sonntagrules you set. For more information and to see working demos, visit 81cdc90107SGreg Roach[webtrees.net](https://webtrees.net/). 82fac25c68SRico Sonntag 83fac25c68SRico Sonntag**webtrees** is Open Source software that has been produced by people from many 84fac25c68SRico Sonntagcountries freely donating their time and talents to the project. All service, 85fac25c68SRico Sonntagsupport, and future development is dependent on the time developers are willing 86fac25c68SRico Sonntagto donate to the project, often at the expense of work, recreation, and family. 87fac25c68SRico SonntagBeyond the few donations received from users, developers receive no compensation 88fac25c68SRico Sonntagfor the time they spend working on the project. There is also no outside source 89fac25c68SRico Sonntagof revenue to support the project. Please consider these circumstances when 90fac25c68SRico Sonntagmaking support requests and consider volunteering your own time and skills to make 91fac25c68SRico Sonntagthe project even stronger and better. 92fac25c68SRico Sonntag 93fac25c68SRico Sonntag 946ccdf4f0SGreg Roach## System requirements 95fac25c68SRico Sonntag 96fac25c68SRico SonntagTo install **webtrees**, you need: 97fac25c68SRico Sonntag 983606202eSDavid Drury* A webserver. Apache, NGINX and IIS are the most common types. There are no 993606202eSDavid Drury requirements to use a specific type or version. 100fac25c68SRico Sonntag* Approximately 65MB of disk space for the application files, plus whatever is 101e667f3d4SGreg Roach needed for your media files, GEDCOM files and database. 1023606202eSDavid Drury* PHP 7.0 or later. Servers with PHP 5.3 - 5.6 should use **webtrees** 1.7. 1033606202eSDavid Drury Servers with PHP 5.2 should use **webtrees** 1.4. 1043606202eSDavid Drury * PHP should be configured with the following libraries: 105f0195b90SDavid Drury * PDO and pdo_mysql to enable access to MySQL. These are enabled by default 106f0195b90SDavid Drury on most hosts. See [http://php.net/pdo](http://php.net/pdo), 107f0195b90SDavid Drury * php\_gd(2) for images 108f0195b90SDavid Drury * PHP_XML for reports. 109fac25c68SRico Sonntag * PHP should be configured to allow sufficient server resources (memory and 110fac25c68SRico Sonntag execution time) for the size of your system. Typical requirements are: 111e667f3d4SGreg Roach * Small systems (500 individuals): 16–32 MB, 10–20 seconds 112e667f3d4SGreg Roach * Medium systems (5,000 individuals): 32–64 MB, 20–40 seconds 113e667f3d4SGreg Roach * Large systems (50,000 individuals): 64–128 MB, 40–80 seconds 114f0195b90SDavid Drury* MySQL or MariaDB. Note that **webtrees** can share a single database 1153606202eSDavid Drury with other applications, by choosing a unique table prefix during setup. 116fac25c68SRico Sonntag If the number of databases is not restricted, you can set up a database purely 117fac25c68SRico Sonntag for use by **webtrees** and create a separate user and password for only 118fac25c68SRico Sonntag your genealogy. 1193606202eSDavid Drury 1203606202eSDavid Drury 1216ccdf4f0SGreg Roach ## Internet browser compatibility 1223606202eSDavid Drury 1233606202eSDavid Drury **webtrees** supports the use of most current browsers such as Edge, Firefox, 1243606202eSDavid Drury Chrome, and Safari. We will do our best to support the current versions of others 125f0195b90SDavid Drury such as Opera and Internet Explorer, however note that versions of Internet Explorer 126f0195b90SDavid Drury prior to IE11 do not work with **webtrees**. We strongly recommend anyone using an 1273606202eSDavid Drury obsolete browser to upgrade as soon as possible. We are also aware that Internet 1283606202eSDavid Drury Explorer provides poor RTL language support generally, so cannot recommend it for 129da644f9cSMatthew Noorenberghe sites requiring RTL languages. 130fac25c68SRico Sonntag* To view sites that contain both left-to-right and right-to-left text (e.g. 131fac25c68SRico Sonntag English data on Hebrew pages), you will need to use a browser that provides 1323606202eSDavid Drury support for the HTML5 **dir="auto"** attribute. At present, neither Edge 133823e27edSEric Wolf nor Internet Explorer support this. 134fac25c68SRico Sonntag 135fac25c68SRico Sonntag 1366ccdf4f0SGreg Roach## Installation 137fac25c68SRico Sonntag 1383606202eSDavid DruryOnce the system requirements are met, perform the following steps 139fac25c68SRico Sonntag 14036745faeSGreg Roach1. Download the latest stable version from [github.com](https://github.com/fisharebest/webtrees/releases/latest) 1413606202eSDavid Drury2. Unzip the files and upload them to an empty folder on your web server. 142fac25c68SRico Sonntag3. Open your web browser and type the URL for your **webtrees** site (for example, 143f0195b90SDavid Drury ``http://www.yourserver.com/webtrees`` into the address bar. 144fac25c68SRico Sonntag4. The **webtrees** setup wizard will start automatically. Simply follow the steps, 145f0195b90SDavid Drury answering each question as you proceed. 146fac25c68SRico Sonntag 147fac25c68SRico SonntagThat's it! 148fac25c68SRico Sonntag 1493606202eSDavid DruryHowever, before you can use **webtrees**, you need at least one GEDCOM 1503606202eSDavid Drury(family tree) file. If you have been doing your research using a desktop program 151243bf6b4SGreg Roachsuch as Family Tree Maker, you can use it's “save as GEDCOM” function to create 152fac25c68SRico Sonntaga GEDCOM file. If you are starting from scratch, then **webtrees** can create a 1532b70c904SGreg RoachGEDCOM file for you. 154fac25c68SRico Sonntag 155f0195b90SDavid DruryOn successful installation you will be taken to the 1563606202eSDavid Drury ``Control panel`` -> ``Manage family trees`` page where you can: 157fac25c68SRico Sonntag * UPLOAD a GEDCOM file from your local machine 158fac25c68SRico Sonntag * ADD a GEDCOM file from your server, (if your GEDCOM file is too large to upload, 159fac25c68SRico Sonntag you can copy it to the webtrees/data folder, and load it from there) 160fac25c68SRico Sonntag * CREATE a new, empty GEDCOM file 161fac25c68SRico Sonntag 162fac25c68SRico SonntagThere are *lots* of configuration options. You'll probably want to review the 163fac25c68SRico Sonntagprivacy settings first. Don't worry too much about all the other options - the 164fac25c68SRico Sonntagdefaults are good for most people. If you get stuck, there's lots of built-in 165cdc90107SGreg Roachhelp and you can get friendly advice from the [help](https://webtrees.net/forums) 166fac25c68SRico Sonntagforum. 167fac25c68SRico Sonntag 168fac25c68SRico Sonntag 1696ccdf4f0SGreg Roach## Upgrading 170b4ef7f82SRico Sonntag 171fac25c68SRico SonntagUpgrading **webtrees** is quick and easy. It is strongly recommended that you 172fac25c68SRico Sonntagupgrade your installation whenever a new version is made available. Even minor 173fac25c68SRico Sonntag**webtrees** version updates usually contain a significant number of bug fixes 1743606202eSDavid Druryas well as interface improvements and program enhancements. 175fac25c68SRico Sonntag 176f0195b90SDavid Drury* **Automatic upgrade** 177f0195b90SDavid Drury 1783606202eSDavid Drury **webtrees** has an automatic upgrade facility. An administrator upon logging in 1793606202eSDavid Drurywill receive notification when a new version is available and an option to start 1803606202eSDavid Drurythe automatic upgrade. If for some reason the automatic upgrade should fail 1813606202eSDavid Drurythen a manual upgrade should be performed. 1823606202eSDavid Drury 183f0195b90SDavid Drury* **Manual upgrade** 184f0195b90SDavid Drury 185fac25c68SRico Sonntag 1. Now would be a good time to make a [backup](#backup). 186fac25c68SRico Sonntag 2. Download the latest version of **webtrees** available from 187cdc90107SGreg Roach [webtrees.net](https://webtrees.net/) 188243bf6b4SGreg Roach 3. While you are in the middle of uploading the new files, 189fac25c68SRico Sonntag a visitor to your site would encounter a mixture of new and old files. This 190b3a775f6SGreg Roach could cause unpredictable behavior or errors. To prevent this, create the 191fac25c68SRico Sonntag file **data/offline.txt**. While this file exists, visitors will see a 192243bf6b4SGreg Roach “site unavailable - come back later” message. 193fac25c68SRico Sonntag 4. Unzip the .ZIP file, and upload the files to your web server, overwriting the existing files. 194fac25c68SRico Sonntag 5. Delete the file **data/offline.txt** 195fac25c68SRico Sonntag 1963606202eSDavid Drury 1976ccdf4f0SGreg Roach### Note for Macintosh users 198b4ef7f82SRico Sonntag 199fac25c68SRico SonntagStep 4 assumes you are using a copy tool that **merges** directories rather than 200b3a775f6SGreg Roachreplaces them. (**Merge** is standard behavior on Windows and Linux.) If you use 201fac25c68SRico Sonntagthe Macintosh Finder or other similar tool to perform step 3, it will **replace** 202fac25c68SRico Sonntagyour configuration, media and other directories with the empty/default ones from 203fac25c68SRico Sonntagthe installation. This would be very bad (but you did take a backup in step 1, 204fac25c68SRico Sonntagdidn't you!). Further details and recommendations for suitable tools can be found 205fac25c68SRico Sonntagby searching [google.com](http://google.com). 206fac25c68SRico Sonntag 207fac25c68SRico Sonntag 2086ccdf4f0SGreg Roach### Note for anyone using custom code (modules, themes, etc.). 209b4ef7f82SRico Sonntag 210fac25c68SRico SonntagIt is **very likely** that your custom code will not work when you upgrade 211fac25c68SRico Sonntag**webtrees**. 212fac25c68SRico Sonntag 213fac25c68SRico Sonntag**We recommend that you disable all custom code before you apply the upgrade.** 214fac25c68SRico Sonntag 2153606202eSDavid DruryDisable custom modules, switch over to a standard theme, and remove any code “hacks”. 2163606202eSDavid DruryOnce the upgrade is complete and you are satisfied that your site is fully operational contact 2173606202eSDavid Drurythe source of those modules or themes for a new version. 218fac25c68SRico Sonntag 219fac25c68SRico Sonntag 2206ccdf4f0SGreg Roach### General note 221b4ef7f82SRico Sonntag 222fac25c68SRico SonntagDepending on the changes in the new files, your browser configuration 223fac25c68SRico Sonntagand possibly other factors, it is always wise to clear both the **webtrees** cache 224fac25c68SRico Sonntagand your browser cache immediately after the upgrade is completed. The **webtrees** 2253606202eSDavid Drurycache can be cleared simply by going to ``Control Panel`` -> ``Family Trees`` -> 2263606202eSDavid Drury``Clean-up data folder`` and deleting the cache. 227fac25c68SRico Sonntag 228fac25c68SRico SonntagIf you have any problems or questions, help is available on the 2294e53541cSKirill Uksusov[webtrees forum](https://www.webtrees.net/index.php/en/forum). 230fac25c68SRico Sonntag 2316ccdf4f0SGreg Roach## Building and developing 232bd82e704SDavid Drury 233bd82e704SDavid DruryIf you want to build webtrees from source, or modify the code, you'll need to install 234bd82e704SDavid Drurya couple of tools first. 235bd82e704SDavid Drury 236bd82e704SDavid DruryYou will need [composer](https://getcomposer.org/) to install the PHP dependencies. 237bd82e704SDavid DruryThen run this command:: 238bd82e704SDavid Drury 239bd82e704SDavid Drury* php composer.phar install 240bd82e704SDavid Drury 241bd82e704SDavid DruryYou will need [npm](https://www.npmjs.com/get-npm) to install the Javascript dependencies. 242bd82e704SDavid DruryThen run the commands: 243bd82e704SDavid Drury 244bd82e704SDavid Drury* npm install 2459845ccc6SRico Sonntag* npm run production 246bd82e704SDavid Drury 247bd82e704SDavid DruryYou will need to re-run the second of these any time you modify the file `webtrees.js`. 248fac25c68SRico Sonntag 2496ccdf4f0SGreg Roach## Gedcom (family tree) files 250fac25c68SRico Sonntag 2513606202eSDavid DruryWhen you ADD or IMPORT a family tree (GEDCOM) file in **webtrees** the 2523606202eSDavid Drurydata from the file is transferred to the database tables. The file itself 253f0195b90SDavid Druryremains in the **webtrees/data** folder and is no longer used or required 254f0195b90SDavid Druryby **webtrees**. Any subsequent editing of the **webtrees** data 2553606202eSDavid Drurywill not change this file 256fac25c68SRico Sonntag 257fac25c68SRico SonntagWhen or if you change your genealogy data outside of **webtrees**, it is not 258fac25c68SRico Sonntagnecessary to delete your GEDCOM file or database from **webtrees** and start 259fac25c68SRico Sonntagover. Follow these steps to update a GEDCOM that has already been imported: 260fac25c68SRico Sonntag 2613606202eSDavid Drury* Go to ``Control panel`` -> ``Manage family trees`` On the line relating to this particular family tree (GEDCOM) 2623606202eSDavid Drury file (or a new one) select IMPORT. 263243bf6b4SGreg Roach* Take careful note of the media items option (_“If you have created media objects 264ed1bbedbSGreg Roach in **webtrees**, and have edited your data off-line using software that 265fac25c68SRico Sonntag deletes media objects, then tick this box to merge the current media objects 266243bf6b4SGreg Roach with the new GEDCOM.”_) In most cases you should leave this box **UNCHECKED**. 267243bf6b4SGreg Roach* Click “SAVE”. **webtrees** will validate the GEDCOM again before importing. 268fac25c68SRico Sonntag During this process, **webtrees** copies your entire family tree (GEDCOM file) 269fac25c68SRico Sonntag to a 'chunk' table within your database. Depending on the coding of your file, 270fac25c68SRico Sonntag its file size and the capabilities of your server and the supporting software, 271fac25c68SRico Sonntag this may take some time. **No progress bar will show while the data is being 272fac25c68SRico Sonntag copied** and should you navigate away from this page, the process is suspended. 273fac25c68SRico Sonntag It will start again when you return to the Family Tree management page. 274fac25c68SRico Sonntag 275fac25c68SRico Sonntag 2766ccdf4f0SGreg Roach### Gedcom file Formats 277fac25c68SRico Sonntag 278fac25c68SRico SonntagEvery Family History program has its own method of creating GEDCOM files, and 279fac25c68SRico Sonntagdiffering output format options to select from. **webtrees'** import routines 280fac25c68SRico Sonntagcan read many different formats, but not necessarily all. If your software has 281243bf6b4SGreg Roacha “UTF8” option you should always use that. However, **webtrees** has been 282fac25c68SRico Sonntagtested with these alternative formats: 283fac25c68SRico Sonntag 284fac25c68SRico Sonntag* ANSI 285fac25c68SRico Sonntag * imports OK, but is slow due to the translation into UTF8 as part 286fac25c68SRico Sonntag of the import process. 287fac25c68SRico Sonntag* MAC 288fac25c68SRico Sonntag * imports OK, but is slow due to the translation into UTF8 as part 289fac25c68SRico Sonntag of the import process. 290fac25c68SRico Sonntag* DOS 291fac25c68SRico Sonntag * imports OK, but is slow due to the translation into UTF8 as part 292fac25c68SRico Sonntag of the import process. 293fac25c68SRico Sonntag* ANSEL 294243bf6b4SGreg Roach * currently will not import. Gives warning *Error: cannot convert 295243bf6b4SGreg Roach GEDCOM file from ANSEL encoding to UTF-8 encoding*. Later releases 2963606202eSDavid Drury of **webtrees** may include the facility to translate from ANSEL to UTF8, 2973606202eSDavid Drury but for now a standalone utility [is available here](https://dev.webtrees.net/ansel/) 2983606202eSDavid Drury and should be used to convert the format to UTF-8 prior to importing. 299fac25c68SRico Sonntag 300fac25c68SRico Sonntag 3016ccdf4f0SGreg Roach## Security 302fac25c68SRico Sonntag 303fac25c68SRico Sonntag**Security** in _webtrees_ means ensuring your site is safe from unwanted 304fac25c68SRico Sonntagintrusions, hacking, or access to data and configuration files. The developers 305fac25c68SRico Sonntagof _webtrees_ regard security as an extremely important part of its development 306fac25c68SRico Sonntagand have made every attempt to ensure your data is safe. 307fac25c68SRico Sonntag 3083606202eSDavid DruryThe area most at risk of intrusion would be the **/data** folder that contains your 309fac25c68SRico Sonntagconfig.ini.php file, and various temporary files. If you are concerned there 310bd82e704SDavid Drurymay be a risk there is a very simple test you can do: try to fetch the file 311bd82e704SDavid Druryconfig.ini.php by typing **``url_to_your_server/data/config.ini.php``** in your web 312fac25c68SRico Sonntagbrowser. 313fac25c68SRico Sonntag 314243bf6b4SGreg RoachThe most likely result is an “access denied” message like this: 315fac25c68SRico Sonntag 316fac25c68SRico Sonntag Forbidden 317fac25c68SRico Sonntag 318f0195b90SDavid Drury You don't have permission to access /data/config.ini.php on this server. 319fac25c68SRico Sonntag 320fac25c68SRico SonntagThis indicates that the protection built into **webtrees** is working, and no 321fac25c68SRico Sonntagfurther action is required. 322fac25c68SRico Sonntag 323fac25c68SRico SonntagIn the unlikely event you do fetch the file (you will just see a semicolon), 324fac25c68SRico Sonntagthen that protection is not working on your site and you should take some further 325fac25c68SRico Sonntagaction. 326fac25c68SRico Sonntag 3273606202eSDavid DruryIf your server runs PHP in CGI mode, then change the permission of the **/data** 3283606202eSDavid Druryfolder to 700 instead of 777. This will block access to the httpd process, 329fac25c68SRico Sonntagwhile still allowing access to PHP scripts. 330fac25c68SRico Sonntag 331fac25c68SRico SonntagThis will work for perhaps 99% of all users. Only the remaining 1% should consider 3323606202eSDavid Drurythe most complex solution, moving the **/data** folder out of accessible web 333fac25c68SRico Sonntagspace. (**_Note:_** In many shared hosting environments this is not an option anyway.) 334fac25c68SRico Sonntag 335fac25c68SRico SonntagIf you do find it necessary, following is an example of the process required: 336fac25c68SRico Sonntag 3373606202eSDavid DruryIf your home folder is something like **/home/username**, 3383606202eSDavid Druryand the root folder for your web site is **/home/username/public_html**, 3393606202eSDavid Druryand you have installed **webtrees** in the **public_html/webtrees** folder, 3403606202eSDavid Drurythen you would create a new **data** folder in your home folder at the same 3413606202eSDavid Drurylevel as your public_html folder, such as **/home/username/private/data**, 342fac25c68SRico Sonntagand place your GEDCOM (family tree) file there. 343fac25c68SRico Sonntag 3443606202eSDavid DruryThen change the **Data folder** setting on the ``Control panel`` -> 3453606202eSDavid Drury``Website`` -> ``Website preferences`` page from the default **data/** to the new 346fac25c68SRico Sonntaglocation **/home/username/private/data** 347fac25c68SRico Sonntag 348fac25c68SRico SonntagYou will have **two** data directories: 349fac25c68SRico Sonntag 350fac25c68SRico Sonntag* [path to webtrees]/data - just needs to contain config.ini.php 351fac25c68SRico Sonntag* /home/username/private/data - contains everything else 352fac25c68SRico Sonntag 353fac25c68SRico Sonntag 3546ccdf4f0SGreg Roach## Backup 355fac25c68SRico Sonntag 356fac25c68SRico SonntagBackups are good. Whatever problem you have, it can always be fixed from a good 357fac25c68SRico Sonntagbackup. 358fac25c68SRico Sonntag 3593606202eSDavid DruryTo make a backup of **webtrees**, you need to make a copy of the following 360fac25c68SRico Sonntag 3613606202eSDavid Drury1. The files in the *webtrees/data* folder. 3623606202eSDavid Drury2. The files in the *webtrees/media* folder. 363fac25c68SRico Sonntag3. The tables in the database. Freely available tools such as 364fac25c68SRico Sonntag [phpMyAdmin](http://www.phpmyadmin.net) allow you to do this in one click. 365fac25c68SRico Sonntag 366fac25c68SRico SonntagRemember that most web hosting services do NOT backup your data, and this is 367fac25c68SRico Sonntagyour responsibility. 368