Most XOOPS production sites run on a LAMP stack (a Linux system running Apache, MySQL and PHP) but, there are a lot of different possible stacks.
It is often easiest to prototype a new site on a local machine. For this case, many XOOPS users choose a WAMP stack (using Windows as the OS,) while others run LAMP or MAMP (MAC) stacks.
Any PHP version >= 5.3.9 (PHP 7.1 or higher is strongly recommended)
MySQL server 5.5 (MySQL Server 5.6 or higher is strongly recommended.) MariaDB is a backward compatible, binary drop-in replacement of MySQL, and also works fine with XOOPS.
A web server that supports running PHP scripts, such as Apache, NGINX, LiteSpeed, etc.
You will need some method (FTP, SFTP, etc.) to transfer the XOOPS distribution files to the web server.
To run XOOPS, the ability to create, read and delete files and directories is needed. There are a few exceptions, but the vast majority of files written in normal operation are in two directories, xoops_data and uploads.
XOOPS will need to create, modify and query tables in MySQL. For this you will need:
- a MySQL user account and password
- a MySQL database that user has all privileges on (or alternately, the user can have privilege to create such a database)
For a live site, you will need a working email address that XOOPS can use for user communication, such as account activations and password resets. While not strictly required, it is recommended if possible to use an email address that matches the domain that your XOOPS runs on. That helps to avoid your communications ending up being rejected or marked as spam.
You may need some additional tools to setup and customize your XOOPS installation. These may include:
- FTP Client Software
- Text Editor
- Archive Software to work with XOOPS release (.zip or .tar.gz) files.
See the Tools of the Trade section for some suggestions for suitable tools and web server stacks if needed.
Some specific system software combinations may require some additional configurations to work with XOOPS. If you are using an SELinux or MySQL 8.0 environment please refer to Special Topics for more information.