Installation on premises (english)
Guide: Installation and Configuration
Welcome to our installation guide! The installation and configuration of the entire system on your webserver. This guide will walk you step-by-step through the process, from setting up the database to customizing the most important configuration files.
What You'll Need
For this guide, you will need:
- A web server with PHP (version 8.1 or higher) and a MySQL or MariaDB database.
- Access to a database management tool like phpMyAdmin or Adminer.
- The application files (the complete PHP project).
Part 1: The Installation
In this part, we will prepare the server environment, create the database, and copy the application files.
Step 1.1: Create the Database
The application requires an empty database to store its tables. Log in to your database management tool and create a new database.
- Choose a name for your database (e.g.,
intex_app). - Select
utf8mb4_unicode_cias the collation for the best compatibility with special characters. - Create a dedicated database user (e.g.,
intex_user) with a secure password and grant it all privileges for the newly created database.
Take note of the database name, username, and password. You will need them in the next step.
Step 1.2: Import the Database Schema
The application requires a specific table structure. This is defined in an SQL file that you received with the application (e.g., database.sql).
- Open the newly created, empty database in your management tool.
- Select the "Import" function.
- Upload the
database.sqlfile and execute the import.
After the import, you should see tables like user, custom_tables, custom_fields, etc., in your database.
Step 1.3: Copy the Application Files
Copy the entire folder containing the application's PHP files to the document root of your web server. This is often a folder named htdocs, www, or public_html.
Ensure that the web server has write permissions for certain folders, especially:
/files/(for file uploads)/api/logs/(for API logs, if enabled)
Part 2: The Configuration
Now, let's adapt the application to your server environment. All important settings are located in a few central files.
Step 2.1: Database Connection (`configdb.php`)
This file contains the credentials for your database. Open the file configdb.php and enter the details you noted in Step 1.1.
<?php
// configdb.php
define('DB_HOST', 'localhost'); // Your database host, usually 'localhost'
define('DB_NAME', 'intex_app'); // The name of your database
define('DB_USER', 'intex_user'); // The username for the database
define('DB_PASS', 'YourSecurePassword'); // The password for the user
define('DB_PORT', 3306); // The port, usually 3306
Step 2.2: Global Settings (`config.php`)
This file controls the basic behavior of the application.
INVITE_SECRET_KEY: This is a secret key for signing links. Be sure to change this value to a random, long string to ensure security.PASSWORD_STRENGTH: Sets the complexity for new passwords ('LOW', 'MEDIUM', 'HIGH').SETUP_CHOICE: If you are using a branded version of the application (e.g., "INtex Adressen"), the name of the setup is entered here. This enables the loading of specific resources like banners or initialization scripts.
Step 2.3: Email Dispatch (`configmail.php`)
This file contains the fallback settings for sending emails (e.g., for registration emails or password resets). The application uses the PHPMailer library.
<?php
// configmail.php
define('MAIL_HOST', 'smtp.your-provider.com');
define('MAIL_USERNAME', 'your-email@example.com');
define('MAIL_PASSWORD', 'YourEmailPassword');
define('MAIL_PORT', 587);
define('MAIL_ENCRYPTION', 'tls'); // or 'ssl'
Note: These global settings can be overridden by user-specific settings in the "Settings" -> "Preferences" menu, which is crucial for multi-tenant operation.
Step 2.4: Setup Folders (e.g., `setup_adressen/`)
If a SETUP_CHOICE is defined in `config.php`, the application looks for a corresponding folder (e.g., `setup_adressen`). This folder can contain two important files:
banner.jpg: A background image for the login page to give the application a custom look.initialisierung.php: A script that is executed once when the first user of a new team logs in. It is typically used to copy predefined table templates for that team, thus initializing the application with a ready-to-use structure.
Final Steps & FAQ
After saving all configuration files, open the application in your browser. You should now see the login or registration page. Congratulations, the installation is complete!
Frequently Asked Questions (FAQ)
configdb.php file. Ensure that the host, database name, user, and password exactly match the details from Step 1.1. Also, verify that your database server is running.
user, custom_tables, etc.) are present. If necessary, run the SQL import again into the empty database.
node_modules folder (containing Bootstrap and Font Awesome) and the media folder are present. Also, check if an .htaccess file (if present) was copied, as it can be important for URL routing.
/files/ folder and its subfolders are writable by the web server. On Linux systems, you can often achieve this with commands like chmod -R 775 files and chown -R www-data:www-data files (the user/group www-data may vary depending on your system).
php.ini file:
pdo_mysql(for the database connection)json(for processing JSON data)mbstring(for correct string handling)openssl(often required by PHPMailer for secure connections)
php.ini.
You have now mastered the installation and configuration. Good luck with your new application!