How do I set the correct file permissions for Composr?
Answer
If you're using the quick installer, it will handle file permissions automatically. On a suEXEC-style server, default permissions (744 for directories and 644 for files) are usually sufficient. However, _config.php should have 600 permissions for security.
Without suEXEC, specific directories (e.g., caches, uploads) and files (e.g., _config.php) require 777 (full access) or 666 (read/write) permissions. The fixperms.php script can automate this process on Linux and Windows.
What are the prerequisites for installing Composr?
Answer
Before installing Composr, ensure your web host meets the minimum requirements. Familiarize yourself with your web host's control panel (e.g., Plesk, cPanel), which you'll use to manage databases, subdomains, and other settings. Gather your SFTP/FTP credentials (hostname, username, password), usually emailed upon signup. Set up a MySQL database and note its details: hostname (often 'localhost'), username, password, and database name. Ensure the database user has full read/write/administer access to the database.
What tools are available for debugging Composr code?
Answer
Composr offers a code quality checker addon that helps identify various types of errors, including parser errors, run-time errors, and logical errors. This tool can significantly reduce debugging time and enhance code reliability. It is available through the testing_platform addon.
Composr emphasizes clean, well-structured code with a focus on readability and maintainability. Key standards include proper indentation, consistent use of comments, and clear function headers with type definitions. Remember: beautiful code leads to better functionality and collaboration!
The Code Editor is a web-based tool for editing Composr code files directly on the server. It requires password authentication and automatically manages overrides within _custom directories.
Composr allows exporting addons as TAR files, containing all necessary files and an addon.inf file for metadata. You can import these addons to share and reuse them across different Composr installations.
To do this, make your necessary files for the addon in the Composr installation, and then go under Admin Zone > Structure > Addons > Export addon. You can select the relevant files for the addon, provide information about the addon, and then download the TAR file (which can then be imported on other Composr sites).
The forum base URL should be a URL prefix to your forums without a script name. For example, http://forums.example.com is correct, while http://forums.example.com/index.php is incorrect. You can fix this using the config_editor.php script and then clear the Comcode page cache.
Most Composr resources with commenting enabled create comment topics in the configured comment forum. If the forum uses BBCode, Comcode features not supported by BBCode may not display correctly. Moderate comments from the forum as you would any other topic.
It's not easy to switch forums after installing Composr. The member and usergroup IDs referenced by Composr would lose their association. Check the "Importing data into Composr" tutorial for more information on this.
Conversr is Composr's built-in forum system. It offers seamless integration, allowing you to use Comcode for forum posts, a unified Admin Zone, shared themes and templates, and innovative features like Private Topics and in-post whispers. Using a third-party forum can be clunky and may lead to maintenance headaches.
Composr supports several forum drivers, including Invision Board, phpBB, myBB, vBulletin, Burning Board, and Simple Machine Forum. If your forum is not listed, professional developers can add support. Composr also provides converters for migrating from these forums to its own forum system, Conversr.
What are the PHP requirements for running Composr?
Answer
Composr requires PHP 7.2 or higher, but versions not officially supported by PHP developers are discouraged. The maximum tested version is PHP 8.3.
Required PHP extensions:
GD2 (gd) with PNG and JPEG support
MySQL extension (mysqli or pdo_mysql)
XML extension (xml)
Multibyte String (mbstring)
cURL extension (curl)
JSON support (usually available by default)
Sodium (libsodium)
ZIP extension (zip) if ZIP file support is needed
Additional recommendations:
posix extension for permission checks
zlib extension for faster upgrades, compressed backups, and page compression
ctype extension for slightly faster performance
IMAP extension (imap) for managing newsletter bounces
OpenSSL extension (openssl) for encrypted CPFs, DKIM, and SSL certificate expiry checks
Pspell (pspell) or Enchant (enchant) extensions for spell checking
Ensure the following PHP settings are configured:
File upload size limit of at least 5MB (or higher as needed)
Maximum execution time of at least 30 seconds
Memory limit of at least 128MB
The installer will warn you if any critical functions have been disabled via disable_functions or other PHP modifications. Avoid web hosts that heavily restrict standard PHP functionality.
To uninstall Composr, access the uninstall.php file in your web browser, enter your administrator password, and follow the prompts to remove the database data. Afterward, you can safely delete the Composr installation directory.
What are the recommended web hosting options for Composr?
Answer
Choosing a web host is crucial. Avoid the cheapest options and look for hosts with recent positive reviews and minimal credible complaints. Ensure they meet Composr's requirements, including adequate disk space, no restrictive file size limits, and support for required PHP extensions.
Composr is compatible with various hosting control panels like Plesk and cPanel, and works on Windows, Linux, or Mac OS servers.
Yes, you can install Composr on a Windows desktop using software packages like WampServer, XAMPP, EasyPHP, or ampps for simplified setup. Alternatively, you can manually install Apache, PHP, and MySQL, following the instructions provided in the respective documentation. Remember to configure file permissions appropriately and ensure the webserver isn't accessible from outside your network.