Clone wiki

server / Home

Active development is stopped due to upcoming changes in Android Q - https://issuetracker.google.com/issues/128554619

? Reason why development was stopped

Google is planning to block using exec() which essentially will deny running any binaries on Android. Good news is that at least for Android Q binaries packed into APK will still be able to run, but from comments on Google issue tracker it is clear that it is only for short time: "Relying on exec() may be problematic in future Android versions" and exec() will most likely be blocked in not so far future.

It would be possible for Servers for Android to survive for some time (by packing and running binaries from APK), but it will most likely be only short term solution. Plus it would have drawback of only limited amount of server versions supported, for example single version of PHP takes ~100-200 Mb, so 10 - 20 versions of PHP would make size of APK 2Gb+, that is unacceptable.

? Why is Google doing this

Their official answer is due to security - they are essentially choosing security over freedom. What is worse they are doing many more breaking changes in Android Q - this means even more types of Android apps will probably be killed.

? If Servers for Android could survive for little bit longer why was development stopped

The main reason is that it would be waste of time to continue development as project has death sentence assigned by Google.

? Why exec() is important for Servers for Android

It is important because all of Servers for Android apps use exec() to run compiled binaries of PHP, MariaDB, Apache HTTP, ... .

? Can Servers for Android be back

Yes - if it becomes clear that exec() will not be blocked while Android is alive.

? What are next steps for this project

  • Completely shutdown project and remove all apps from Play Store - this will happen once Android Q is released
  • Close access to source code (already done) - this is done because apps are not actively supported anymore and to make sure no-one is using code to exploit possibly security holes or clone apps.

Servers for Android

Servers running natively on Android. Currently project consists of applications which are free, without ads, stable and pure:

Official Facebook page: https://www.facebook.com/esminis.server

Features - common to all server apps

  • Switch server version and build any time you want (you can download install package to switch server version offline)
  • Server log, with possibility to export it
  • Configuration options:
    • Network (IPv4 and IPv6 are supported):
      • Interface / address - wlan, lo, all, ...
      • Server port - 1024+
    • Data directory - contains document root, config, ... (depending on server)
    • Start server on Android device boot
    • Notifications:
      • Enable notification - show it when server is running
      • Use low priority notification (usually it will be visible only in drawer)
  • External intents - control servers from other applications with Android Intents
  • Multilingual interface - English, Spanish, Portuguese (Brazilian), French, German, Russian, Chinese, Hindi, Bengali, ... translations supplied by community
  • Stable, pure, free and without ads

Author

Tautvydas Andrikys https://esminis.com

License

Source code is licensed under the Apache License, Version 2.0 You may obtain a copy of the License at: http://www.apache.org/licenses/LICENSE-2.0

Server for PHP

PHP server for Android

Features

  • PHP 5.4+, 7+
  • php.ini - is in path [document root]/config/php.ini and you can modify it as you want
  • Configuration optionsDocument root/
    • PHP extensions - most of them can be enabled/disabled any time you want
    • Router script

PHP extensions (configurable - can be enabled/disabled)

  • apcu - APCu
  • bbcode - BBCode
  • bcmath - BC Math
  • bz2 - Bzip 2
  • calendar - Calendar
  • ctype - Ctype
  • dba - DBA
  • eio - Eio
  • ev - Ev
  • exif - EXIF
  • fileinfo - Fileinfo
  • ftp - FTP
  • gd - GD
  • gender - Gender
  • gettext - Gettext
  • gmp - GMP
  • recode - GNU Recode
  • iconv - iconv
  • id3 - ID3
  • imagick - ImageMagick
  • inotify - Inotify
  • judy - Judy Arrays
  • ldap - LDAP
  • lzf - LZF
  • mailparse - Mailparse
  • mcrypt - Mcrypt
  • mongodb - MongoDB driver
  • mysql - Mysql
  • mysqli - Mysqli
  • oauth - OAuth
  • odbc - ODBC
  • zend_opcache - OPcache
  • pdo_mysql - PDO MySQL
  • pdo_odbc - PDO ODBC
  • pdo_pgsql - PDO PostgreSQL
  • phalcon - Phalcon
  • phar - Phar
  • posix - POSIX
  • pgsql - PostgreSQL
  • pspell - Pspell
  • quickhash - Quickhash
  • rar - RAR
  • rpmreader - RPM Reader
  • soap - SOAP
  • spl_types - SPL Types
  • ssh2 - SSH 2
  • stats - Statistics
  • tidy - Tidy
  • tokenizer - Tokenizer
  • uopz - User operations for Zend
  • weakref - Weakref
  • xdebug - Xdebug
  • xdiff - XDiff
  • xmldiff - XMLDiff
  • xsl - XSL
  • yaf - Yet Another Framework
  • yar - Yet another RPC framework
  • yaml - YAML
  • zip - ZIP
  • zlib - Zlib

PHP extensions (built-in - cannot be disabled)

  • cli_server - SAPI CLI
  • core - Core
  • curl - cURL
  • date - Date/Time
  • dom - DOM
  • ereg - POSIX Regex
  • filter - Filter
  • hash - Hash and Mhash
  • intl - Intl
  • json - JSON
  • libxml - LibXml
  • mbstring - MBString
  • mysqlnd - Mysqlnd
  • openssl - OpenSSL
  • pcre - PCRE
  • pdo - PDO
  • pdo_sqlite - PDO Sqlite
  • reflection - Reflection
  • session - Session
  • simplexml - SimpleXML
  • sockets - Sockets
  • spl - SPL
  • sqlite3 - SQLite3
  • standard - Standard
  • wddx - WDDX
  • xml - XML
  • xmlreader - XML Reader
  • xmlrpc - XML-RPC
  • xmlwriter - XML Writer

How to

PHP - connect to MariaDB Server using Adminer

MariaDB Server

MariaDB server for Android

Features

  • MariaDB 10+
  • my.cnf - is in path [data directory]/my.cnf and you can modify it as you want

moNERIngAo Server

MongoDB server for Android

Features

  • MongoDB 2.6+
  • mongod.cnf - is in path [data directory]/mongod.cnf and you can modify it as you want

How to

MongoDB - Create root user

HTTP Server powered by Apache

Apache HTTP server for Android

Features

  • Apache 2.2+
  • httpd.conf - is in path [data directory]/conf/httpd.conf

How to

Apache HTTP - PHP as CGI
Apache HTTP - HTTPS with SSL

Server for Redis™

Redis server for Android

Features

  • Redis 4+
  • redis.conf - is in path [data directory]/config/redis.conf

Updated