How to Install webtrees on Debian
webtrees is an open-source genealogy software that can help you manage and share your family history. This tutorial will guide you through the process of installing webtrees on Debian.
Step 1 - Update System Packages
Before starting the installation process, it is recommended to update the system packages.
Run the following command in your terminal to update your system packages:
sudo apt update
sudo apt upgrade
Step 2 - Install LAMP Stack
webtrees requires a LAMP (Linux, Apache, MySQL, and PHP) stack to be installed on your system.
To install the LAMP stack, run the following command in your terminal:
sudo apt install apache2 mariadb-server mariadb-client php7.4 php7.4-curl php7.4-gd php7.4-intl php7.4-json php-gmp libapache2-mod-php7.4
During the installation, you will be prompted to set a root password for the MariaDB server. Choose a strong password.
Step 3 - Create a Database for webtrees
Next, we need to create a database for webtrees. Run the following command in your terminal:
sudo mysql -u root -p
Enter your MariaDB root password, then run the following command to create a new database:
CREATE DATABASE webtreesdb;
Create a new user and grant privileges to the newly created database with the following command:
GRANT ALL PRIVILEGES ON webtreesdb.* TO 'webtrees'@'localhost' IDENTIFIED BY 'password';
Remember to replace 'password' with a strong password.
Flush the changes by entering the following command:
FLUSH PRIVILEGES;
Exit from the MySQL shell by typing:
exit
Step 4 - Download and extract webtrees
Download the latest release of webtrees from the official website: https://www.webtrees.net/.
Navigate to the directory where you want to store webtrees files (e.g. /var/www/html/) then run the following command:
sudo wget https://github.com/fisharebest/webtrees/archive/1.7.15.tar.gz
Extract the downloaded archive with the following command:
sudo tar -xvf 1.7.15.tar.gz
Rename the extracted directory to 'webtrees':
sudo mv webtrees-1.7.15 webtrees
Alternatively, you can download the source using git:
sudo git clone --depth 1 https://github.com/fisharebest/webtrees.git
Step 5 - Configure Apache for webtrees
For webtrees to work properly, you need to create a virtual host file for it in Apache. Create a new configuration file in the /etc/apache2/sites-available/ directory by running the following command:
sudo nano /etc/apache2/sites-available/webtrees.conf
Add the following content:
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/html/webtrees/
ServerName yourdomain.com
<Directory /var/www/html/webtrees/>
Options FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Replace '[email protected]' with your email address and 'yourdomain.com' with your domain name.
Save and exit the file by pressing CTRL + X, Y, then Enter.
Enable the virtual host by running the following command:
sudo a2ensite webtrees.conf
Restart the Apache service for changes to take effect:
sudo systemctl restart apache2
Step 6 - Complete the Installation via Web Interface
Open your web browser and navigate to your domain (e.g. http://yourdomain.com/).
You should be redirected to the webtrees installation screen.
Follow the on-screen instructions to complete the installation.
When prompted for the database settings, enter the following:
- Database type: mysqli
- Hostname: localhost
- Username: webtrees
- Password: the password you set earlier for the webtrees user in step 3
- Database name: webtreesdb
Once you have completed the installation, delete the installation directory by running the following command:
sudo rm -r /var/www/html/webtrees/install
That's it! You have successfully installed webtrees on Debian. You can now begin to enter and manage your family data.