Installing Pony Mail on Fedora 22:

Start by installing the following Fedora packages:

  • httpd
  • git
  • lua
  • lua-sec
  • lua-socket
  • python 3
  • luarocks
dnf install -y httpd git lua lua-sec lua-socket python3 luarocks

Install the missing cjson package via luarocks:

luarocks-5.3 install lua-cjson

Install the required Python 3 modules:

sudo pip3.4 install elasticsearch formatflowed chardet

Install ElasticSearch:

dnf install -y java-1.8.0-openjdk-headless
rpm --import

    (The following is taken from the ElasticSearch online guide:)

    Add the following in your /etc/yum.repos.d/ directory in a file with a .repo suffix,
    for example elasticsearch.repo:
    name=Elasticsearch repository for 1.7.x packages

dnf install -y elasticsearch

Configure and start up ElasticSearch:

sudo /bin/systemctl daemon-reload
sudo /bin/systemctl enable elasticsearch.service
/etc/init.d/elasticsearch start

Check out a copy of Pony Mail:

cd /var/www
git clone

Set up Pony Mail:

cd /var/www/ponymail/tools
[... answer questions asked by the setup script ...]

Set up Apache httpd by adding, for example, the following virtual host configuration: This differs from the normal installation (because of CentOS specifics), so beware

<VirtualHost *:80>
    LuaPackageCPath /usr/lib/lua/5.3/?.so
    LuaPackagePath  /usr/share/lua/5.3/?.lua
    DocumentRoot /var/www/ponymail/site
    AddHandler      lua-script .lua
    LuaScope        thread
    LuaCodeCache    stat
    AcceptPathInfo  On

(re)start apache:

apachectl restart

IF you have SELinux running, you need to allow httpd (apache) to be able to connect to remotes, otherwise Pony Mail won't work:

setsebool -P httpd_can_network_connect 1

Once this is done, you should now have a working copy of Pony Mail!

You may wish to tweak the settings in site/js/config.js and your elasticsearch settings once Pony mail is up and running.

Refer to the General installation documentation for detailed information about archiving messages, OAuth, mail settings and much more.