Start by installing the following Ubuntu packages:
sudo apt-get install apache2 git liblua5.2-dev lua-cjson lua-sec lua-socket python3 python3-pip subversion
Install the required Python 3 modules:
sudo pip3 install elasticsearch formatflowed netaddr
wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add - echo "deb http://packages.elastic.co/elasticsearch/2.x/debian stable main" | sudo tee -a /etc/apt/sources.list.d/elasticsearch-2.x.list sudo apt-get update && sudo apt-get install elasticsearch default-jre-headless
Compile and install mod_lua if necessary (httpd < 2.4.17 on Ubuntu):
sudo apt-get install apache2-dev svn co https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x/modules/lua/ cd lua/ sudo apxs -I/usr/include/lua5.2 -cia mod_lua.c lua_*.c -lm -llua5.2
Check out a copy of Pony Mail:
sudo git clone https://github.com/apache/incubator-ponymail.git /var/www/ponymail
Configure Elasticsearch to automatically start during bootup. For Ubuntu <= 14.10:
sudo update-rc.d elasticsearch defaults 95 10
For Ubuntu >= 15.04:
sudo /bin/systemctl daemon-reload sudo /bin/systemctl enable elasticsearch.service
Start up ElasticSearch:
sudo service elasticsearch start
Set up Pony Mail:
cd /var/www/ponymail/tools sudo python3 setup.py [... answer questions asked by the setup script ...]
Set up Apache httpd by adding, for example, the following virtual host configuration (e.g. in
ServerName mylists.foo.tld DocumentRoot /var/www/ponymail/site AddHandler lua-script .lua LuaScope thread LuaCodeCache stat AcceptPathInfo On
Enable mod_lua and start apache, if not already enabled:
sudo a2enmod lua sudo service apache start
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.
Apache Pony Mail (Incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.
Copyright 2016, the Apache Software Foundation.
Apache Pony Mail and the Apache Pony Mail logo are trademarks of the Apache Software Foundation. Apache and the Apache feather are registered trademarks of the Apache Software Foundation.