WIKINDX requires a web server environment comprising a web server (typically Apache, Nginx, or Microsoft IIS), PHP scripting, and a MariaDB (or MySQL) server.
Most web-hosting providers can provide this configuration at a low cost. Even small VPS of a few bucks per month are more than enough. If you don’t have any system administration skills or don’t have the time to deal with it this is definitely your best option. Placing WIKINDX on such a remote web server means that it can be accessed from any machine and people on the web. The constraint of this solution is security. Be sure to update WIKINDX regularly to benefit from our security fixes
WIKINDX can also be installed on a private network within a company, institution or an organization or locally for a single user on one desktop or laptop computer.
Inside a private network you probably need to contact your administrator who will provide the infrastructure support necessary for your installation.
For a single installation there are a variety of LAMP software bundles that can be downloaded to create the required web server environment. Users reported to setup successfully:
If you have a BSD or Linux server then choose the softwares available from the package manager of your distribution / OS. They are usually very well endowed. Favour Apache over Nginx as it is much easier to configure. As a general rule we follow the software versions to be compatible with the latest stable version of Debian.
If a third party is configuring your hosting, provide them with the information on this page.
WIKINDX does not use advanced features of MariaDB / MySQL database engines which should allow to install it without problems on a recent version. However, there is no guarantee that MySQL will change its default options to stricter uses as in the past. We are finding that, more and more, MariaDB and MySQL are diverging which may lead to the removal of MySQL support in the future. If you encounter a problem let us know please.
Minimal versions are required for good support of UTF-8 and are runtime-checked when WIKINDX is first setup: the setup blocks the installation if the db engine does not correspond to the minimum required.
WIKINDX use the following options and sets them on db connection:
Option | Name | Value | Scope | Note |
---|---|---|---|---|
Engine | Engine | InnoDB | table | Used by all official tables for ACID transactions |
Charset | NAMES | utf8mb4 | Session | Full UTF-8 encoding support |
Collation | COLLATE | utf8mb4_unicode_520_ci | Session | Most advanced UTF-8 sort algo for multi language support |
Mode | sql_mode | TRADITIONAL | Session | This stricter mode allows us to prevent errors |
GROUP_CONCAT limit | group_concat_max_len | 4,294,967,295 | Session | Avoid CONCAT to truncate long fields during search operations |
Max. size of one packet | max_allowed_packet | 1,073,741,824 | Global | LONGTEXT types support (should also be set on server side) |
Disclaimer: WIKINDX is not supposed to share its database with any other software. This widespread practice involves serious security breaches and possible data loss in the event of software bugs. Dedicate a database to WIKINDX!
Support for another database engine is not possible and WIKINDX limits its code to the mysqli PHP driver.
WIKINDX / MariaDB | 10.2 | 10.3 | 10.4 | 10.5 | 10.6 | 10.7 | 10.8 | 10.9 |
---|---|---|---|---|---|---|---|---|
All versions | X | X | X | X | X | X | X | X |
WIKINDX / MySQL | 5.7.9 | 8.0 |
---|---|---|
All versions | X | X |
The minimum version of the db engne is checked and you will be blocked if it is too low. In the case of a migration, if you really need to lower the minimum version, you can change the value of WIKINDX_MYSQL_VERSION_MIN and WIKINDX_MARIADB_VERSION_MIN constants. But be prepared to hack SQL code and replay the migration several times to avoid data and schema corruption …
PHP support is tested for the core, components, and third party software included. For security purposes, we recommend the use of an officially supported PHP version from the PHP Team. mod_php, CGI, and FastCGI are compliant with PHP and WIKINDX.
WIKINDX can support older PHP versions to facilitate the migration of an installation but does not support a large number of PHP versions in its trunk/head installation.
All current versions of PHP have a good support of UTF-8.
PHP version | Min WIKINDX Version | Max WIKINDX Version |
---|---|---|
8.2 | 6.6.0 | trunk |
8.1 | 6.6.0 | trunk |
8.0 | 6.5.0 | trunk |
7.4 | 6.1.0 | 6.6.8 |
7.3 | 5.7.2 | 6.5.0 |
7.2 | 5.7.0 | 6.3.10 |
7.1 | 5.3.1 | 6.3.10 |
7.0 | 5.3.1 | 6.3.10 |
5.6 | 5.7.0 | 6.0.8 |
5.5 | 5.2.1 | 5.3.2 |
5.4 | ??? | 4.2.2 |
5.3 | ??? | ??? |
5.2 | ??? | ??? |
5.1 | ??? | ??? |
5.0 | ??? | ??? |
4.4 | ??? | ??? |
4.3 | ??? | ??? |
4.2 | ??? | ??? |
4.1 | ??? | ??? |
4.0 | ??? | ??? |
PHP 8.2 is not recommended at this time because it has not been tested extensively. However, the major features work, sometimes with a few warnings. If you try the experiment let us know the errors you encounter. The maximum version of PHP is not controlled by the code.
The minimum version of PHP is checked and you will be blocked if it is too low. In the case of a migration, if you really need to lower the minimum version, you can change the value of the constant WIKINDX_PHP_VERSION_MIN. But be prepared to hack code here and there to make it work …
The version numbers in this section are those of WIKINDX, not those of a PHP extension or a library used by a PHP extension. When the version is not specified the extension/library is supported in all versions of WIKINDX.
In summary, from version 5.2.0 all the extensions mentioned above are required for proper functioning, which should be the case for almost all installations.
Extensions | WIKINDX version |
---|---|
Core | |
curl | >= 6.4.8 (was optional >= 5.2.0) |
date | |
dom | >= 6.4.8 |
fileinfo | |
filter | >= 5.2.0 |
gd | >= 4.0.0 |
gettext | >= 4.2.1 and <= 6.5.0 |
hash | >= 5.2.0 |
iconv | >= 4.0.3 |
intl | >= 6.3.9 |
json | >= 4.0.3 |
libxml | |
mbstring | >= 5.2.0 |
mysqli | |
pcre | |
Reflection | >= 5.2.0 and <= 6.0.1 |
session | |
SimpleXML | >= 4.2.0 |
SPL | >= 6.0.1 |
xml | |
xmlreader | >= 5.2.0 |
zip | >= 6.4.8 (was optional >= 5.9.1) |
Extensions | WIKINDX version | Note |
---|---|---|
bz2 | Used by the release process (development only). | |
ldap | >= 6.4.0 | Needed only for LDAP authentification mode. |
openssl | >= 5.2.0 | Needed if you intend to send emails with secure protocols (starttls, tls, ssl) in SMTP mode and encryption (See PHPMailer). |
Phar | Used by the release process (development only). | |
sockets | >= 5.2.0 | Needed if you intend to send emails with the SMTP protocol. |
zlib | Used by the release process (development only). |
This list only indicates the need of extensions when it is more important than those of the core:
The code’s disk space consumption is modest (around 40 MB for the code). You should plan a minimum of 150MB for the code, downloading updates and one db backup. To this must be added the space to be allocated for attachments, images, attachment cache files … It depends greatly on your use case.
Database disk space can vary greatly. The initial size is around 10 MB (50 KB for its backup). For a large base of 23,000 resources, 12,000 authors and 10 years of statistics, we have observed a size of 460MB (110 MB for its backup).
In normal use WIKINDX consumes less than 20 MB of RAM by process. It is recommended to limit to 128MB (default official value of PHP memory_limit) for the proper functioning of updating, searching, and extracting texts from PDF – processes that can greatly increase memory consumption.
Generally a script responds in less than 1 s but searches can go up to 5 or 15s depending on the size of the database and the complexity of the request. This can be more during a database upgrade, extracting texts from PDF, or importing data. It is recommended to limit the execution time of scripts to 120s to allow the upgrade and imports.
The client accesses the database via a standard (graphical) web browser. WIKINDX makes use of the TinyMCE editor (v2.0.4) and this could limit the web browsers that can be used. A migration project to TinyMCE 5 is underway to address these limitations. Your browser should support HTML5 and CSS level 3 well.
Generally, though, if you use the following, you should be fine:
You must enable JavaScript execution. Without JavaScript WIKINDX will not work properly.