PHP Server Monitor

Overview

PHP Server Monitor

Join the chat at https://gitter.im/erickrf/nlpnet

Version 3.6.0.beta2

PHP Server Monitor is a script that checks whether your websites and servers are up and running. It comes with a web based user interface where you can manage your services and websites, and you can manage users for each server with a mobile number and email address.

Features:

  • Monitor services and websites (see below).
  • Email, SMS, Discord, Pushover, Telegram and Jabber notifications.
  • View history graphs of uptime and latency.
  • User authentication with 2 levels (administrator and regular user).
  • Logs of connection errors, outgoing emails and text messages.
  • Easy cronjob implementation to automatically check your servers.

There are two different ways to monitor a server:

  • Service

    A connection will be made to the entered ip or domain, on the given port. This way you can check if certain services on your machine are still running. To check your IMAP service for example, enter port 143.

  • Website

    You can enter a link to a website, it will then use cURL to open the website and check the HTTP status code. If the HTTP status code is in the 4xx/5xx, it means an error occurred and the website is not accessible to the public. You can also set a regular expression to match for content on the page itself. If the regular expression returns no matches, the website is considered down. In both cases the script will return a "status offline", and will start sending out notifications.

Each server has its own settings regarding notification. You can choose for email, text message (SMS), Pushover.net, Telegram and Jabber notifications. The following SMS gateways are currently available:

Please note: for these gateways you will need an account with sufficient credits.

Download

The latest version can be downloaded from https://github.com/phpservermon/phpservermon/releases.

Requirements

  • Web server
  • MySQL database
  • For PHP5: 5.5.9+
  • For PHP7: 7.0.8+
  • PHP Extensions (modules)
    • ext-curl
    • ext-ctype
    • ext-filter
    • ext-hash
    • ext-json
    • ext-libxml
    • ext-openssl
    • ext-pdo
    • ext-pcre
    • ext-sockets
    • ext-xml

Install

Please see docs/install.rst. In a nutshell: unzip, upload, run install.php, enjoy.

If you have downloaded the source from GitHub (and not a pre-built package), the dependencies are not included. To be able to run an installation from the repo, you need to run the following command to install the dependencies:

php composer.phar install

If you are familiar with Vagrant (https://www.vagrantup.com):

vagrant up

Documentation

The documentation is available in the docs folder or https://docs.phpservermonitor.org.

License

PHP Server Monitor is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

PHP Server Monitor is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with PHP Server Monitor. If not, see https://www.gnu.org/licenses/.

Docker

PHPServerMonitor is now available on Docker : https://github.com/phpservermon/docker-phpservermonitor

Comments
  • Feature ldapauth

    Feature ldapauth

    Background

    Resolves #206

    Approach

    Parameters specific to PHP Server Monitor have been hard-coded.

    Logic

    • Will pass username and password to module (PsmLDAPauth) (Currently in dev branch, but will be released into master as v01.00.00).
    • Module will check with directory (using submodule phpLDAPauth).
    • If authenticated, it will check for the username in the PSM DB (using submodule phpDBauth).
    • If username exists in DB, it will do nothing
    • If username does not exist in DB, it will add the username to the DB as a new user, and apply the default role
    • Will fall back to native auth in case of any failure (authentication, authorisation, bug, library issues).

    Changes

    Modified the user service to delegate LDAP authentication to a separate module (which includes underlying submodules to interface with directory and DB)

    Added new tab in the configuration page for associated configuration. Added subroutines to save and retrieve LDAP configuration to and from the core DB respectively.

    Added text in en-US language.

    Known limitations

    • Available only in English, no localisation
    • No testing functionality in the configuration interface.

    Screenshots

    Draft configuration page

    image image

    Module information

    Repository

    https://gitlab.com/viharm/PsmLDAPauth

    Issues

    https://gitlab.com/viharm/PsmLDAPauth/issues

    License

    PsmLDAPauth Uses same license as core (GPL v3). Submodules use compatible licenses (BSD 3-clause).

    Status: in progress Type: Feature 
    opened by viharm 111
  • Option to make status page public

    Option to make status page public

    Several users have expressed the wish to make the status page available to the public so it can be embedded on a website. This would require a toggle in the configuration to enable the public page, and maybe even per-server settings to determine which servers to make public.

    enhancement help wanted Status: in progress 
    opened by dopeh 40
  • Servers always green?!

    Servers always green?!

    Hi and thanks for this great tool :)

    I have installed it and setup cron job, everything is great, but servers are always green.

    It updates the "last checked", and when I block the traffic to that particular host, the "last checked" just rises in time, in ex. last checked 24mins ago, but no alert is being triggered.

    I have setup timeout for 10s and warning threshold to 1, string is empty.

    What have I done wrong? :-)

    Br. Martin

    good first issue 
    opened by twister5800 34
  • [BUG] SSL Cert check does not work v3.4.6-beta.3

    [BUG] SSL Cert check does not work v3.4.6-beta.3

    Added a website that i know the cert needs to be renewed (Lets), and no matter how much i put the time on the config of the site it gets detected or throws a warning.

    If i put the https:// does not give warning if i put the http:// marks the sites as warning even if the cert is valid for the time assigned on the config. sites has redirection to https with 302

    • Version v3.4.6-beta.3.
    • PHP 7.3.17 (FPM)
    • Centos 7 Using NGINX
    Type: bug 
    opened by sicutdeux 28
  • SMS: 4 gateways added and others rewritten

    SMS: 4 gateways added and others rewritten

    opened by wardpieters 26
  • Implement more complex HTTP POST... requests with custom body

    Implement more complex HTTP POST... requests with custom body

    I have a JSON Webservice where I am expecting a specific result when I send a specific answer.

    Positive case: HTTP 400 { "code": 123 }

    Negative case: HTTP 400 { "code": 75 }

    A workaround could be to allow a shellscript to make the check.

    opened by SciLor 25
  • Upgrading tutorial

    Upgrading tutorial

    Hello,

    This is not issue. I just wonder. I am using 3.2.0 and I would like to upgrade to 3.2.2 is there any tutorial for upgrade progress? I guess DB will be change too. If you can give me information about upgrade, I will be appreciate.

    Type: bug good first issue prio: URGENT 
    opened by mkaand 22
  • [BUG] ping doesn’t monitor correctly

    [BUG] ping doesn’t monitor correctly

    Describe the bug The ping test uses the first line outputted to mark the test as positive. I tested it with test.com, which has the following result:

    Last positive output:
    PING test.com (69.172.200.235) 56(84) bytes of data.
    

    Via terminal:

     ping test.com
    PING test.com (69.172.200.235) 56(84) bytes of data.
    ^C
    --- test.com ping statistics ---
    6 packets transmitted, 0 received, 100% packet loss, time 122ms
    

    As you can see, there is a 100% package loss but the test in phpservermon describes the server as online.

    Additionally, the latency is always 0.

    To Reproduce Steps to reproduce the behavior:

    1. Create a server with domain test.com and type set to ping.
    2. Check the details page of this test.

    Expected behavior The ping statistics are monitored properly with the correct latency and online/offline flag. Version (please complete the following information):

    • Version 3.5.0
    • PHP 7.3
    Type: bug help wanted 
    opened by MatzeKitt 21
  • ping hostname (not ip)

    ping hostname (not ip)

    Hello, i install phpservermon and work great! :)

    i have an issue with a server. i try to setup a monitoring (ping) ahostname server , not ip.

    when i click on Save i receive The IP address is not valid

    how can i solve this problem?

    thank you

    Alessandro

    opened by ale82x 20
  • Feature Request: Latest server response

    Feature Request: Latest server response

    I would like to suggest a feature in the backend to view the latest server output. In best case it should be 2 buttons: "latest positive server output" and "latest error server output". This would help a lot to find out why an alert was triggert - and it would even be more helpful for the setup, if you have redirects etc. The output log should contain the raw response, including headers.

    enhancement help wanted good first issue 
    opened by geri777 18
  • Server side graph rendering takes to much cpu

    Server side graph rendering takes to much cpu

    After 12 days of uptime of phpservermon 3.3.0 I cannot show the stats for the websites anymore. I am checking 4 sites, each by 5 seconds. At the start, everything worked fine, then page with statistic started to loading longer, and longer and now I am getting Error 500

    According to sql I am on id 642691 in psm_servers_uptime

    cat /var/log/php7.0-fpm.log [29-Aug-2018 16:55:37] WARNING: [pool www] server reached pm.max_children setting (5), consider raising it

    Is there any reason, why should I change setting "pm.max_children" or is there possible issue (limit) of the application itself?

    The monitoring is still working, the warning emails are sent, and I can check the data in the sql, but its not user friendly.

    opened by Weafyr 17
  • [BUG] Broken Menu in Admin Panel

    [BUG] Broken Menu in Admin Panel

    Version: 3.6.0

    Server Menu is not scrollable.

    Same behavior in Edge and Firefox image

    Steps to Reproduce:

    1. Login as Admin
    2. Click on "Servers" in the Menu Bar
    3. Click on the 3 Dots at the end of the line
    Type: bug 
    opened by Gill-Bates 0
  • [Feature Request] REST API or at least JSON export of Public page

    [Feature Request] REST API or at least JSON export of Public page

    Hi it would be super nice if we can access vie REST API. I know it was in development, but it seems stalled (?)

    What about to have at least public.php exported as JSON, so I can use it in other programs ?

    Thanks!

    Type: Feature 
    opened by 2ge 0
  • Bump symfony/http-foundation from 3.4.47 to 5.4.12

    Bump symfony/http-foundation from 3.4.47 to 5.4.12

    Bumps symfony/http-foundation from 3.4.47 to 5.4.12.

    Release notes

    Sourced from symfony/http-foundation's releases.

    v5.4.12

    Changelog (https://github.com/symfony/http-foundation/compare/v5.4.11...v5.4.12)

    • bug #47283 Prevent accepted rate limits with no remaining token to be preferred over denied ones (MatTheCat)
    • bug #47273 Do not send Set-Cookie header twice for deleted session cookie (X-Coder264)
    • bug #47130 Fix invalid ID not regenerated with native PHP file sessions (BrokenSourceCode)

    v5.4.11

    Changelog (https://github.com/symfony/http-foundation/compare/v5.4.10...v5.4.11)

    • bug #46931 Flush backend output buffer after closing. (bradjones1)
    • bug #42033 Fix deleteFileAfterSend on client abortion (nerg4l)
    • bug #46790 Prevent PHP Warning: Session ID is too long or contains illegal characters (BrokenSourceCode)
    • bug #46808 Fix TypeError on null $_SESSION in NativeSessionStorage::save() (chalasr)

    v5.4.10

    Changelog (https://github.com/symfony/http-foundation/compare/v5.4.9...v5.4.10)

    • bug #46678 Update "[Session] Overwrite invalid session id" to only validate when files session storage is used (alexpott)
    • bug #46676 Extend type guessing on enum fields (Gigino Chianese)

    v5.4.9

    Changelog (https://github.com/symfony/http-foundation/compare/v5.4.8...v5.4.9)

    • bug #46249 Regenerate invalid session id (peter17)

    v5.4.8

    Changelog (https://github.com/symfony/http-foundation/compare/v5.4.7...v5.4.8)

    • no significant changes

    v5.4.6

    Changelog (https://github.com/symfony/http-foundation/compare/v5.4.5...v5.4.6)

    • bug #45631 Fix PHP 8.1 deprecation in Response::isNotModified (HypeMC)

    v5.4.5

    Changelog (https://github.com/symfony/http-foundation/compare/v5.4.4...v5.4.5)

    • bug #45495 Fix missing ReturnTypeWillChange attributes (luxemate)
    • bug #45281 Fix connecting to Redis via a socket file (alebedev80)

    v5.4.3

    Changelog (https://github.com/symfony/http-foundation/compare/v5.4.2...v5.4.3)

    • no significant changes

    v5.4.2

    Changelog (https://github.com/symfony/http-foundation/compare/v5.4.1...v5.4.2)

    ... (truncated)

    Changelog

    Sourced from symfony/http-foundation's changelog.

    CHANGELOG

    6.1

    • Add stale while revalidate and stale if error cache header
    • Allow dynamic session "ttl" when using a remote storage

    6.0

    • Remove the NamespacedAttributeBag class
    • Removed Response::create(), JsonResponse::create(), RedirectResponse::create(), StreamedResponse::create() and BinaryFileResponse::create() methods (use __construct() instead)
    • Not passing a Closure together with FILTER_CALLBACK to ParameterBag::filter() throws an \InvalidArgumentException; wrap your filter in a closure instead
    • Not passing a Closure together with FILTER_CALLBACK to InputBag::filter() throws an \InvalidArgumentException; wrap your filter in a closure instead
    • Removed the Request::HEADER_X_FORWARDED_ALL constant, use either Request::HEADER_X_FORWARDED_FOR | Request::HEADER_X_FORWARDED_HOST | Request::HEADER_X_FORWARDED_PORT | Request::HEADER_X_FORWARDED_PROTO or Request::HEADER_X_FORWARDED_AWS_ELB or Request::HEADER_X_FORWARDED_TRAEFIKconstants instead
    • Rename RequestStack::getMasterRequest() to getMainRequest()
    • Not passing FILTER_REQUIRE_ARRAY or FILTER_FORCE_ARRAY flags to InputBag::filter() when filtering an array will throw BadRequestException
    • Removed the Request::HEADER_X_FORWARDED_ALL constant
    • Retrieving non-scalar values using InputBag::get() will throw BadRequestException (use InputBad::all() instead to retrieve an array)
    • Passing non-scalar default value as the second argument InputBag::get() will throw \InvalidArgumentException
    • Passing non-scalar, non-array value as the second argument InputBag::set() will throw \InvalidArgumentException
    • Passing null as $requestIp to IpUtils::__checkIp(), IpUtils::__checkIp4() or IpUtils::__checkIp6() is not supported anymore.

    5.4

    • Deprecate passing null as $requestIp to IpUtils::__checkIp(), IpUtils::__checkIp4() or IpUtils::__checkIp6(), pass an empty string instead.
    • Add the litespeed_finish_request method to work with Litespeed
    • Deprecate upload_progress.* and url_rewriter.tags session options
    • Allow setting session options via DSN

    5.3

    • Add the SessionFactory, NativeSessionStorageFactory, PhpBridgeSessionStorageFactory and MockFileSessionStorageFactory classes
    • Calling Request::getSession() when there is no available session throws a SessionNotFoundException
    • Add the RequestStack::getSession method
    • Deprecate the NamespacedAttributeBag class
    • Add ResponseFormatSame PHPUnit constraint
    • Deprecate the RequestStack::getMasterRequest() method and add getMainRequest() as replacement

    5.2.0

    • added support for X-Forwarded-Prefix header
    • added HeaderUtils::parseQuery(): it does the same as parse_str() but preserves dots in variable names

    ... (truncated)

    Commits
    • f4bfe96 [HttpFoundation] Prevent accepted rate limits with no remaining token to be p...
    • 79e60f1 Merge branch '4.4' into 5.4
    • b2f2e3c [HttpFoundation] Fix tests on PHP 8.2 (bis)
    • 11a819b Fix merge
    • ba6c99f [HttpFoundation] Fix deps
    • 88a9868 Merge branch '4.4' into 5.4
    • 32589ae [HttpFoundation] Fix tests on PHP 8.2
    • 416c21f Do not send deleted session cookie twice in the response
    • 46c6ab3 Merge branch '4.4' into 5.4
    • 2fa11a0 [HttpFoundation] Fix invalid ID not regenerated with native PHP file sessions
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Bump phpmailer/phpmailer from 6.5.0 to 6.6.4

    Bump phpmailer/phpmailer from 6.5.0 to 6.6.4

    Bumps phpmailer/phpmailer from 6.5.0 to 6.6.4.

    Release notes

    Sourced from phpmailer/phpmailer's releases.

    PHPMailer 6.6.4

    This is a maintenance release.

    • Update Greek translation
    • Add text/csv MIME type
    • Fix DKIM when sending to anonymous group via mail()
    • Improve docs around auth following gmail & MS deprecations
    • Update GitHub action deps
    • Add OpenSSF Scorecard security health metrics

    PHPMailer 6.6.3

    This is a maintenance release.

    • Add an HTML form to the OAuth setup script
    • Minor CS improvements
    • Add Mongolian translation
    • Remove bogus "ch" translation

    The removal of the translation file is effectively a BC break, however, I don't expect it to affect anyone except that small group of users that request error messages in the Chamorro language, but are happy getting them in Chinese instead 😆.

    PHPMailer 6.6.2

    This is a maintenance release.

    • Don't clear errors on RSET, so they can still be obtained when using keepalive
    • Bump some GitHub action versions
    • Fix some tests
    • Fix docs deployment GitHub action
    • Updates to parallel-lint and console highlighter, thanks to @​jrfnl
    • 🇺🇦 Slava Ukraini!

    Note that 6.6.1 was not released.

    PHPMailer 6.6.0

    This is a minor feature release.

    Prior to this version, any OAuth provider needed to extend the provided OAuth base class, and this made it difficult to use with libraries other than ones based on the default league client packages. The OAuth property now accepts anything that implements the OAuthProviderInterface, making it much easier to use things like Google's own OAuth classes. Existing implementations that extend the provided OAuth base class will still work, as that base class now implements this interface too. Thanks to @​pdscopes.

    When TLS errors occurred in PHPMailer, the error messages were often missing important info that might help diagnose/solve the problem. These error messages should now be more informative. A minor change is that a TLS error on SMTP connect will now throw an exception if exceptions are enabled. Thanks to @​miken32.

    PHPMailer 6.5.4

    This is a maintenance release.

    The change in how shell escaping is handled should not create any BC issues. What used to fail accidentally in potentially unsafe shell situations will now fail deliberately! Note to hosting providers: don't disable escapeshellarg and escapeshellcmd; it's not safe!

    • If we can't use escaping functions, refuse to do unsafe things
    • Avoid PHP 8.1 trim issue
    • Add tests for XMailer
    • Fix bug in use of CharSet property
    • Fix bug in file upload example
    • Update dev dependencies

    ... (truncated)

    Changelog

    Sourced from phpmailer/phpmailer's changelog.

    Version 6.6.4 (August 22nd, 2022)

    • Update Greek translation
    • Add text/csv MIME type
    • Fix DKIM when sending to anonymous group via mail()
    • Improve docs around auth following gmail & MS deprecations
    • Update GitHub action deps
    • Add OpenSSF Scorecard security health metrics

    Version 6.6.3 (June 20th, 2022)

    • Add an HTML form to the OAuth setup script
    • Minor CS improvements
    • Add Mongolian translation
    • Remove bogus "ch" translation

    Version 6.6.2 (June 14th, 2022)

    • Fix docs deployment GitHub action
    • Updates to parallel-lint and console highlighter, thanks to @​jrfnl

    Version 6.6.1 (June 14th, 2022) (unreleased)

    • Don't clear errors on RSET, so they can still be obtained when using keepalive
    • Bump some GitHub action versions
    • Fix some tests
    • 🇺🇦 Slava Ukraini!

    Version 6.6 (February 28th, 2022)

    • Introduce interface for OAuth providers, making it easier to use OAuth libraries other than the League one, thanks to @​pdscopes.
    • Add more contextual information to TLS connection failure error messages, and throw exceptions on TLS connection errors, thanks to @​miken32

    Version 6.5.4 (February 17th, 2022)

    • If we can't use escaping functions, refuse to do unsafe things
    • Avoid PHP 8.1 trim issue
    • Add tests for XMailer
    • Fix bug in use of CharSet property
    • Fix bug in file upload example
    • Update dev dependencies

    Version 6.5.3 (November 25th, 2021)

    • Wrong commit tagged for the 6.5.2 release!
    • Version file updated

    Version 6.5.2 (November 25th, 2021)

    • Enable official support for PHP 8.1
    • Enable experimental support for PHP 8.2
    • Fix for PHP 5.6
    • Fix for incorrect options for punyencoding IDNs

    Version 6.5.1 (August 18th, 2021)

    • Provisional support for PHP 8.1
    • Major overhaul of test suite
    • Add codecov.io coverage reporting

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Feature: Add a custom HEADER field to servers requests

    Feature: Add a custom HEADER field to servers requests

    This PR adds a new field in server edit screen. This fields allows to add a custom HEADER to the server requests. For example it can be a Cookie header or a JWT Authorization Bearer. The custom header is added in the psm_curl_get function with the CURLOPT_HTTPHEADER option.

    opened by hmoreau 0
Releases(v3.5.2)
  • archive/master(Dec 3, 2019)

  • v3.4.4(Sep 26, 2019)

  • v3.4.3(Sep 25, 2019)

    Changelog:

    • b399327c: Fixed week/month/year graph.
    • 4ebe934b: Added timeout to services.
    • 8342a979: Changed auto-refresh_help to uniform name.
    • 5d668b78: Fixed auto-refresh.
    • #777: Fix pushover_status checkbox population from config.
    Source code(tar.gz)
    Source code(zip)
  • v3.4.2(Sep 25, 2019)

  • v3.4.1(Sep 19, 2019)

    Changelog:

    • #733: Added catalan ca_ES.lang.php.
    • 6c1763e: Updated table style.
    • #770: Changed last_output column to TEXT and restricted to 5000 characters.
    Source code(tar.gz)
    Source code(zip)
  • v3.4.0(Sep 19, 2019)

    Changelog:

    • #741: Truncate server output.
    • accd556: Fixed typo in es_ES.lang.php.
    • #747: Added XML to requirements.
    • #740: Update es_ES.lang.php.
    • #752: Update fr_FR.lang.php.
    • 86c0a58: Added server_id as id (fixes #738).
    • be9e3f7: Composer update.
    • 8cc8a0d: Updated wget to curl.
    • #662: Updated Japanese Translations.
    • #697: Adding verbosity for cURL.
    • #695: Allow HTTP/2 status responses.
    • #703: Update es_ES.lang.php.
    • 5b0fba6: Add button when there are no servers.
    • 5511cd5: Added faq for #719.
    • fcd12d9: Updated bootstrap to 4.3.1.
    • 6ca3615: Added missing field to email config.
    • 3e1b912: Updated Bootstrap-select to v1.13.10.
    • cba09ed: Manifest, Sw.js - Fixed path to files.
    • f70dacb: Added sw.js and manifest.
    • 59be9f2: Added beter support for use without Javascript.
    • 9915a11: Improved accessibility.
    • 0025af2: Updated Bootstrap-select to v1.13.9.
    • fea3289: Added missing offline duration.
    • 560dc8a: Makefile - Adding an input to choose macOS as the current OS.
    • 5e5281d: Fixing #665.
    • 9cdafc9: Updated useragent to Github URL.
    • cf2f6b0: Changed database column to TEXT.
    • 6c14709: Updated default template (fixing #685).
    • 5424976: Fixed PHPMailer 6.0.5 Vulnerability (resolving #680).
    • 2c6ef08: Added noopener and updated download link to Github releases.
    • #656: Downgraded symfony/filesystem to ~3.4 (PHP 5.5.9 compatible) and added 7.0.8 as minimal PHP7 version.
    • #620: Added updater.sh shell script.
    • #653: Fixes wrong default type in upgrade/install query.
    • #642: Added post field as addition to #631.
    • #644: Fixed urlencoding in Nexmo message
    • #639: Added combined notifications.
    • #626: Added redirect check.
    • #627: Latest server output, error and output during a failure will be saved and are shown on the server page.
    • #631: Added option to specify the request method.
    • #628: Added the option to mark specific HTTP status codes as online.
    • #640: Removed () after last offline value when the last offline duration is unknown.
    • #637: Added php extensions to composer required list, spelling fixes in changelog and composer update.
    • #635: Changed server order on ?&mod=user&action=edit&id=x.
    • #634: Changed ' to " in sql query, both were used.
    • #629: Fix bug that made it impossible to check rdp:// and fixed port update.
    • b49659f: Added question to notification faq about not receiving notifications.
    • ef28908: Indentation fix.
    • #605: Added Norwegian language.
    • f6173d4: Added license to composer.json file.
    Source code(tar.gz)
    Source code(zip)
  • v3.3.2(Nov 22, 2018)

  • v3.3.1(Aug 10, 2018)

    NOTICE: Requires PHP 5.5.9+.

    Changelog:

    • #403: Removed default mysql port settings from files and left empty values.
    • 5e61d89: Defined $encrypted_password.
    • ce8182e: Updated composer.lock.
    • 51ef755: Removed last_offline_duration = "" bug.
    • 6534749: Added last offline duration to all translations.
    • e4bade3: Updated PHPMailer namespace.
    • d2dda8a: Removed duplicate from Russian translation.
    • #613: Updated Russian translation.
    • f21f3db: Typo fix, removed unused code & updated documentation.
    • 476c59e: Update required PHP version to 5.5.9.
    • 1c984b3: Update documentation, added some small changes.
    • eac8ebc: Fixed sms error check.
    • e2c424e: Spacing, indentation and braces.
    • a05d36d: Fixed typos & removed unused code.
    • 3023c83: Changed die() to trigger_error().
    • a96e1e5: Removed eval(), redone get & load language functions.
    • b0ea7eb: Added forgotten translation.
    • 92e8312: Removed unused code.
    • fc84c06: Added cronjob over web to documentation. Changed HTML error to 403.
    • 93b324f: Security update symfony/http-foundation.
    • dd56e29: Update composer.phar to new version.
    • b98a4af: Typo fix.
    Source code(tar.gz)
    Source code(zip)
    phpservermon-3.3.1.tar.gz(1.78 MB)
    phpservermon-3.3.1.zip(2.85 MB)
  • v3.3.0(May 30, 2018)

    Known bug:

    Some dependencies don't support PHP5.

    Changelog:

    • 57f4c36: Added support voor the following SMS gateways: Plivo, SolutionsInfini, Callr and GAtewayAPI.
    • c3751e7: Moved Clickatell api key to password field.
    • #590: Rollback Twig version update to work with PHP5.
    • #589: Enlarge select pattern_online width.
    • 3c55a35: Allow ping by hostname.
    • #579: Added support for "site online when pattern not found"
    • #587: Added __MACOSX/ to .gitignore.
    • a496874, 62254a5 and 57f4c36: Rewritten global and gateway specific SMS gateway functions.
    • 8ca259d: Updated list of available SMS gateways.
    • d64f27f: Add CM Telecom bulk SMS gateway.
    • 0580e75: Added last offline and the duration of the last outage.
    • 3a005f2: Fixing #580 removed results block.
    • 79742fe: Fixed error: Failed to parse address "8.8.8.8".
    • fc4ffd6: Added Twilio and Telegram to notification list and changed URL to download the latest release.
    • #571: Update several dependencies.
    • #569: Added support for Twilio SMS gateway.
    • a80452d: Added Telegram and Pushover to inline documentation
    • 526c252: Added noopener to external link.
    • 64b4d60: Added activation process for Telegram notifications.
    • 67632ab: Added Telegram notifications to the documentation.
    • 7059ac6: Defined latency for new added servers
    • 11a021e: Fixed indentation fail #515.
    • #550: Fix urlencode bug when sending SMS using FreeMobileSMS.
    • #541: Fix method declaration error in PHP7.2.
    • #515: Run archive and cleanup per server to reduce memory use.
    • #516: Fixed #500 ping latency.
    • 2471767: Fixed preinstalled server query.
    Source code(tar.gz)
    Source code(zip)
    phpservermon-3.3.0.tar.gz(1.78 MB)
    phpservermon-3.3.0.zip(2.85 MB)
  • v3.2.2(Mar 27, 2018)

  • v3.2.1(Mar 27, 2018)

  • v3.2.0(Apr 15, 2017)

    • #170: Implement Nexmo SMS.
    • #161: Added Swedish translation.
    • #185: Added Estonian translation.
    • #210: Added Finnish translation.
    • #201: Added Persian translation.
    • #195: Updated Spanish translation.
    • #169: Increased server ip char limit to 500.
    • #164: Added support for FreeVoipDeal SMS gateway http://www.freevoipdeal.com.
    • #181: Added blank index files to prevent directory listing.
    • #237: Adding CSRF protection.
    • #287: Default language - English
    • #286: Add popular ports drop down
    • #269: Added Slovenian language
    • #96: Authentication for website checks
    Source code(tar.gz)
    Source code(zip)
    phpservermon-3.2.0.tar.gz(1.40 MB)
    phpservermon-3.2.0.zip(2.30 MB)
  • v3.1.1(Nov 6, 2014)

    • #130: Added Czech translation.
    • #138: Added Polish translation.
    • #148: Added Turkish translation.
    • #124: Updated Bulgarian translation.
    • #132: Updated German translation.
    • #134: Updated French translation.
    • #144: Updated Brazilian translation.
    • #146: Updated Russian translation.
    • #147: Updated Spanish translation.
    • #128: Added SSL/TLS option for SMTP config.
    • #131: Allow URL and timeout to be passed as argument to the cronjob.
    • #135: Uptime percentage above 100%.
    • #151: Links in install results were stripped automatically from template.
    Source code(tar.gz)
    Source code(zip)
  • v3.1.0(Aug 7, 2014)

    Features:

    • #52: Uptime percentage per server for the last week.
    • #101: Pushover.net support.
    • #54: Improved phone/tablet compatibility.
    • #75: Test mode for email and SMS settings.
    • #86: Different design styles on status page (list, table).
    • #82: Added Danish translation.
    • #103: Added Russian translation.
    • #109: Custom time-out per server.
    • #119: Log and archive retention period.
    • #110: Support for SMSGlobal SMS gateway https://www.smsglobal.com/.
    • #82: Support for Danish SMS provider Smsit http://www.smsit.dk/

    Bugs:

    • #50: Validation on servers page.
    • #62: Replace javascript confirm dialogs with Bootstrap modal dialogs.
    • #66: Unable to add users with MySQL in strict mode.
    • #83: Invalid redirect after switching languages and logging in.
    • #105: Fixing check for websites with unverified SSL certificates.
    • #107: Fixing update job for Synology DSM Task Scheduler.
    • #108: URLs on Windows contained both back- and forward slashes.
    • #111: Generated urls for non-default ports included the port twice.
    • #28: Permission denied page.
    • #53: User selection on server edit page.
    • #115: Warning on server page when notifications are disabled.
    • #117: Template service has been replaced by Twig.
    • Composer added for dependencies.
    Source code(tar.gz)
    Source code(zip)
  • v3.0.1(Apr 12, 2014)

    • #56: Minimum PHP version is PHP 5.3.7 (not PHP 5.3.0).
    • #58: Server order on users page now matches the order on servers page.
    • #59: Warning threshold ignored for notification trigger.
    • #57: Added Chinese translation.
    • #60: Added Italian translation.
    • #61: Added Spanish translation.
    • Sphinx is now used for documentation http://sphinx.pocoo.org/.
    Source code(tar.gz)
    Source code(zip)
  • v3.0.0(Apr 6, 2014)

    • New module structure (not backwards compatible).
    • Added user login system with 2 user levels (administrator and regular user).
    • Added warning threshold option (set number of failed checks before server goes offline).
    • Added SMTP support.
    • Adding Bulgarian language file (thanks to Plamen Vasilev).
    • Added history tracking of server uptime.
    • Added history graphs of server uptime and latency (thanks to Jérôme Cabanis).
    • Added user profile page.
    • Status page is now default homepage.
    • Updated translations.
    • Date and time formats are taken from language file and localized per language (thanks to Jérôme Cabanis).
    • When checking a website, the updater will now follow 302 Location headers.
    • String/pattern search on websites did not work for websites with compression turned on.
    • The monitor now uses a custom user agent so it can be identified in access logs (Mozilla/5.0 (compatible; phpservermon/version; +http://www.phpservermonitor.org)).
    • Improved mobile compatibility.
    • Template directory restructured to correspond with module structure.
    • Switched from mysql_* to PDO.
    • Updated PHPMailer package to v5.2.6.
    • Fixed several XSS vulnerabilities.
    • Project website updated to http://www.phpservermonitor.org
    Source code(tar.gz)
    Source code(zip)
  • v2.1.0(Mar 18, 2014)

    • Merged PHP Server Monitor Plus project by Luiz Alberto S. Ribeiro (https://github.com/madeinnordeste/PHP-Server-Monitor-Plus).
    • New layout (thanks to twitter bootstrap)
    • New install module.
    • Regex search on website has been added by Paul Feakins.
    • Support for mosms provider by Andreas Ek.
    • Support for Textmarketer provider by Perri Vardy-Mason.
    • Language files are now automatically detected, instead of a hardcoded list.
    • Adding Korean language file (thanks to Ik-Jun).
    • Adding Portuguese / Brazilian language file (thanks to Luiz Alberto S. Ribeiro).
    • Large status page by Michael Greenhill.
    • New config file (see install instructions in README).
    • Cronjob will be prevented from running multiple times at the same time (with a 10 mins timeout).
    Source code(tar.gz)
    Source code(zip)
  • v2.0.1(Mar 18, 2014)

    • Adding German language file (thanks to Brunbaur Herbert).
    • Adding French language file (thanks to David Ribeiro).
    • classes/sm/smUpdaterStatus.class.php: the curl option CURLOPT_CUSTOMREQUEST has been changed to CURLOPT_NOBODY.
    • Servers page: auto refresh can be configured at the config page.
    • Servers page: if the server is a website, the "Domain/Ip" field will be a link to the website.
    • New text message gateway: Clickatell.com (thanks to Simon).
    • If cURL is not installed, the install.php script will throw an error.
    • HTTP status codes 5xx will also be treated as error.
    Source code(tar.gz)
    Source code(zip)
  • v2.0.0(Mar 18, 2014)

    • Server type ("service" or "website").
    • Different types of notification.
    • New text message gateways.
    • Code rewrite.
    • New layout.
    • Check for updates function.
    Source code(tar.gz)
    Source code(zip)
Owner
PHP Server Monitor
A script that checks whether the servers are up and running
PHP Server Monitor
The php gRPC server framework with php-fpm and nginx.

php-grpc-server-protobuf The php grpc server framework with protobuf and DO NOT use any 3rd libraries or use Swoole. Support protobuf and json request

HeTao 4 Jun 22, 2022
Linfo PHP Server Health Status

Linfo - Server stats UI/library Linfo is a: Light themable Web UI and REST API displaying lots of system stats Ncurses CLI view of WebUI Extensible, e

Joe Gillotti 340 Sep 19, 2022
Web based groupware server written in PHP

EGroupware Tools Usage runs unit-tests after each commit scrutinizer runs static analysis on our codebase manual testing with unusual browser versions

EGroupware 190 Sep 10, 2022
This is a plugin written in PHP programming language and running on the PocketMine platform that works stably on the API 4.0.0 platform. It allows you to query some other server information

QueryServer This is a plugin written in PHP programming language and running on the PocketMine platform that works stably on the API 4.0.0 platform. I

Thành Nhân 1 Jul 6, 2022
Online-examination-System in PHP and Mysql using XAMPP server

online-examination-systen-in-php Online Examination System Today Online Examination System has become a fast growing examination method because of its

Web_Warriors 1 Nov 28, 2021
A great looking and easy-to-use photo-management-system you can run on your server, to manage and share photos.

Lychee A great looking and easy-to-use photo-management-system. Since the 1st of April 2018 this project has moved to it's own Organisation (https://g

Tobias Reich 6.1k Sep 27, 2022
A unified front-end for different queuing backends. Includes a REST server, CLI interface and daemon runners.

PHP-Queue A unified front-end for different queuing backends. Includes a REST server, CLI interface and daemon runners. Why PHP-Queue? Implementing a

CoderKungfu 645 Sep 23, 2022
Engintron for cPanel/WHM is the easiest way to integrate Nginx on your cPanel/WHM server.

Engintron for cPanel/WHM is the easiest way to integrate Nginx on your cPanel/WHM server. Engintron will improve the performance & web serving capacity of your server, while reducing CPU/RAM load at the same time. It does that by installing & configuring the popular Nginx webserver to act as a reverse caching proxy for static files (like CSS, JS, images etc.) with an additional micro-cache layer to significantly improve performance of dynamic content generated by CMSs like WordPress, Joomla or Drupal as well as forum software like vBulletin, phpBB, SMF or e-commerce solutions like Magento, OpenCart, PrestaShop and others.

Engintron 628 Sep 10, 2022
NamelessMC is a free, easy to use & powerful website software for your Minecraft server

NamelessMC - v2 pre-release 10 NamelessMC is a free, easy to use & powerful website software for your Minecraft server, which includes a large range o

NamelessMC 503 Sep 25, 2022
Server manager is a open source project made for people so that they can add the servers to one single place irrespective of their provider and manage it through one location.

Server Manager Are you sick of having to log into hundreads of different website just to access your server? Well we got you, Server manager is a open

null 8 Aug 9, 2022
A simple, not so bad looking Minecraft Server's website template

Minecraft Server 官网模板 本仓库为 Minecraft 服务器官网模板,主要通过 Bootstrap 和 Argon 组件库实现 本项目基于 https://github.com/nyancatda/mcserverweb 二开 config.json参数说明 参数 说明 备注 s

GBCLStudio 邱晨晟曦 2 Mar 4, 2022
CTFx is a CTF Platform forked from mellivora, that focuses on low memory footprint and low server CPU usage

CTFx is a CTF Platform forked from mellivora, that focuses on low memory footprint and low server CPU usage. It has a futuristic interface that's optimized for slower hardware, meaning that there is no bulky Javascript running in the background, nor length CSS stylesheets. CTFx improves on the mellivora CTF engine by the UI redesign and the addition of new features.

Milkdrop 4 May 26, 2022
Easily manage your HP server's fans speeds, anywhere!

iLO Fans Controller See my comment on r/homelab to know the reason why I made this! How it works To get the current speeds of the fans, the PHP script

Matteo D. 22 Sep 19, 2022
Chat Application developed for Server Side Development

ChatApp ?? Chat Application developed for Server Side Development (@IESClaraDelRey) ?? About this file The purpose of this file is to provide overview

null 4 Jun 21, 2022
CI4-Lic is a software license manager modul for Codeigniter 4, connecting to WordPress license server based on the Software License Manager Plugin.

CI4-Lic CI4-Lic is a software license manager modul for Codeigniter 4, connecting to WordPress license server based on Software License Manager Plugin

George Lewe 1 Jan 15, 2022
A self-hosted, drag-and-drop, & nosql file conversion server that supports 62x file formats

A self-hosted, drag-and-drop, & nosql file conversion server that supports 62x file formats

Justin Grimes 357 Sep 28, 2022
This prj we have two NODEMCU ( ESP8266) and two RFID_RC522 and some rfid tags we used ARDUINO IDE on NODEMCU and running server with XAMPP

This prj we have two NODEMCU ( ESP8266) and two RFID_RC522 and some rfid tags we used ARDUINO IDE on NODEMCU and running server with XAMPP

Mohammadamir Soltanzadeh 2 Mar 29, 2022
Database management in a single PHP file

Adminer - Database management in a single PHP file Adminer Editor - Data manipulation for end-users https://www.adminer.org/ Supports: MySQL, MariaDB

Jakub Vrána 5.4k Sep 21, 2022
A platform to create documentation/wiki content built with PHP & Laravel

BookStack A platform for storing and organising information and documentation. Details for BookStack can be found on the official website at https://w

BookStackApp 10k Sep 18, 2022