History: Server Check
Source of version: 60
Copy to clipboard
! tiki-check.php !! Overview tiki-check.php is a standalone script for server environment settings diagnostics before installing Tiki, or for an existing Tiki installation. While it was designed for Tiki, and it's bundled in Tiki, it is very useful for any PHP app, as it checks over 100 different things and provides contextual feedback. https://gitlab.com/tikiwiki/tiki/-/commit/a6a1d0b1eaac61abd5a9d2b43a6d74db751fe03f | Started in 2012], this script has been refined over the years and it copes with all kinds of weird edge cases. !! Use cases * Someone else is setting up the server and you want to avoid the back & forth of tweaking the server configurations. Just send the file and they can set everything. * You want to make sure server is adequate before subscribing to a provider. * You want to check all is OK with a running Tiki !! How to use # Download [https://gitlab.com/tikiwiki/tiki/-/blob/master/tiki-check.php|tiki-check.php from gitlab.com] # Upload to the web accessible directory of your server (ex.: /www/html/tiki-check.php) # Visit __tiki-check.php__ with your browser # Since this file discloses server info, it becomes password protected once you install Tiki. If you end up not installing Tiki, you should remove the file. !! Details The standalone version will work with any version of Tiki, or even without Tiki. !! Demo Here is an example: http://demo.tiki.org/showcases_and_experiments/tiki-check.php !! Screenshots {img src="display716" link="display716" width="400" rel="box[g]" imalign="center" desc="Click to expand" align="center" styleimage="border"} {img src="display717" link="display717" width="400" rel="box[g]" imalign="center" desc="Click to expand" align="center" styleimage="border"} {img src="display1720" link="display1720" width="400" imalign="center" desc="Click to expand" align="center" styleimage="border"} !! Section descriptions {FANCYTABLE( head="Setting~|~ Description " sortable="n" colwidths="25%|60%|15%" colaligns="left" colvaligns="top")} __Fieldset or section__ ~|~ MySQL Database Properties ~|~ Is MySQL suitable for Tiki? MySQL crashed Tables ~|~ Is MySQL running smoothly? Test sending e-mails ~|~ Can the system send emails? Server Information ~|~ Operating system, web server, etc. Server Properties ~|~ Available disk space PHP scripting language properties ~|~ With tips about how to configure Apache properties ~|~ With tips about how to configure PHP security properties ~|~ With tips about how to configure MySQL Variable Information ~|~ Outputs information about MySQL's configuration PHP Info ~|~ Outputs information about PHP's configuration (full list) {FANCYTABLE} !! Icons ||{img src="img/icons/accept.png"}|Good|Will provide a smooth experience. {img src="img/icons/accept.png"}|Safe|Recommended for a better experience. {img src="img/icons/error.png"}|Ugly|Not ideal but you'll likely be OK. If you notice issues, you should revisit. {img src="img/icons/error.png"}|Risky|Not need, perhaps it should be disabled. {img src="img/icons/exclamation.png"}|Bad|Known to cause issues. {img src="img/icons/information.png"}|Info|This is typically for a setting that can be good in some cases, but bad in others.|| !! Other ways to get Tiki Check !!! Part of Tiki download If you have a recent version of Tiki, just visit tiki-check.php !!! Via the command line {CODE( caption="How to get tiki-check via shell access" colors="shell")}wget --output-document=tiki-check.php https://gitlab.com/tikiwiki/tiki/-/blob/master/tiki-check.php{CODE} If you can use the file, make sure permissions are OK. Too few or too many permissions can cause issues. !! Known issues If you enter incorrect DB-credentials, the script will fail with an ugly error message. We can't make this a nice error message, because we can't catch the exception, continue with the script and show the rest of the checks because we want to be PHP 4 compatible (and PHP 4 doesn't know exceptions which are the only way of error handling that PDO allows at connection time). So we fall back to the solution of setting the error_reporting all the way up and showing the error in this ugly way. !! Background information Tiki has been deployed in many scenarios over the years, and has a multitude of checks throughout the code (mostly in tiki-install.php and tiki-admin.php) to indicate to the admin if there is a problem with the server (ex.: memory_limit too low) They are typically in the admin panel next to the relevant feature/setting. This is useful but without a central checklist of all of them when deploying on a new server (especially a server which has never been configured for web hosting), there can be a lot of back & forth to tweak all the settings. You are also forced to install Tiki to see what could be problematic. Instead, in a single file upload (tiki-check.php), we should have a clear report on everything that should be tweaked. This is useful for fresh installs or if you are moving a Tiki instance from one server to another. This will also help when people report bugs (you can copy-paste this info in the bug tracker). Before making this, existing solutions were researched and nothing came close to this. Thus, as far as we know, as of 2013, this is the most complete such solution. !! Future work For additional information, see ((dev:Server Check)). !! Related links *[http://phpsysinfo.sourceforge.net/|phpSysInfo"] is a "customizable PHP script that parses various files in /proc and displays them. It will display information about system facts like Uptime, CPU, Memory, SCSI, IDE, PCI, Ethernet, Floppy, and Video. * ((Requirements)) * ((Installation)) Alias names for this page: (alias(ServerCheck)) | (alias(Check)) | (alias(Tiki Check)) | (alias(TikiCheck))