| <!DOCTYPE html><html><head><meta charset="utf-8"><title>Apache Pony Mail (Incubating)</title> |
| <link rel="stylesheet" type="text/css" href="/css/default.css"/> |
| <link rel="stylesheet" type="text/css" href="/css/fa/fa.css"/> |
| <link rel="apple-touch-icon" sizes="57x57" href="/icons/apple-icon-57x57.png"> |
| <link rel="apple-touch-icon" sizes="60x60" href="/icons/apple-icon-60x60.png"> |
| <link rel="apple-touch-icon" sizes="72x72" href="/icons/apple-icon-72x72.png"> |
| <link rel="apple-touch-icon" sizes="76x76" href="/icons/apple-icon-76x76.png"> |
| <link rel="apple-touch-icon" sizes="114x114" href="/icons/apple-icon-114x114.png"> |
| <link rel="apple-touch-icon" sizes="120x120" href="/icons/apple-icon-120x120.png"> |
| <link rel="apple-touch-icon" sizes="144x144" href="/icons/apple-icon-144x144.png"> |
| <link rel="apple-touch-icon" sizes="152x152" href="/icons/apple-icon-152x152.png"> |
| <link rel="apple-touch-icon" sizes="180x180" href="/icons/apple-icon-180x180.png"> |
| <link rel="icon" type="image/png" sizes="192x192" href="/android-icon-192x192.png"> |
| <link rel="icon" type="image/png" sizes="32x32" href="/icons/favicon-32x32.png"> |
| <link rel="icon" type="image/png" sizes="96x96" href="/icons/favicon-96x96.png"> |
| <link rel="icon" type="image/png" sizes="16x16" href="/icons/favicon-16x16.png"> |
| <link rel="manifest" href="/icons/manifest.json"> |
| <meta name="msapplication-TileColor" content="#ffffff"> |
| <meta name="msapplication-TileImage" content="/icons/ms-icon-144x144.png"> |
| <meta name="theme-color" content="#ffffff"> |
| </head><body> |
| <div style="margin: -10px; background: #7e614a; color: #EEE; margin-bottom: 20px; text-align: center;"> |
| <a href="#contribute"><img align='left' style="width: 150px; height: 150px; position: relative; left: -4px; border: 0;" src="/images/devme.png" alt="Fork/Download Pony Mail"></a> |
| <h1><a id="Pony_Mail_0"></a>Apache Pony Mail (Incubating)</h1> |
| <div id="menubar" style="font-size: 20pt; background: #5e514a; padding-top: 5px;"> |
| <ul> |
| <li><a href="/docs.html"><i class="fa fa-book"></i><span>Documentation</span></a></li> |
| <li><a href="/source.html"><i class="fa fa-git-square"></i><span>Source</span></a></li> |
| <li><a href="/downloads.html"><i class="fa fa-cloud-download"></i><span>Download</span></a></li> |
| <li><a href="/support.html"><i class="fa fa-question-circle"></i><span>Get support</span></a></li> |
| <li><a href="/contribute.html"><i class="fa fa-share-alt"></i><span>Contribute</span></a></li> |
| <li><a href="/about.html"><i class="fa fa-users"></i><span>About</span></a></li> |
| </ul> |
| </div> |
| </div> |
| <h1>Installing Pony Mail on CentOS 7.1:</h1> |
| <p>This installation is a bit trickier, as CentOS does not have |
| Python 3 or any of the lua modules in its default package system.</p> |
| <p>Start by installing the following CentOS packages:</p> |
| <ul> |
| <li>httpd</li> |
| <li>git</li> |
| <li>lua</li> |
| <li>lua-devel</li> |
| <li>gcc</li> |
| <li>gcc-c++</li> |
| <li>kernel-dev</li> |
| <li>unzip</li> |
| <li>openssl</li> |
| <li>openssl-devel</li> |
| <li>readline-devel</li> |
| </ul> |
| <pre> |
| sudo yum install -y httpd git lua lua-devel gcc gcc-c++ kernel-devel unzip openssl openssl-devel readline-devel |
| </pre> |
| |
| <p>Then, proceed to build LuaRocks (for lua deps):</p> |
| <pre> |
| wget http://luarocks.org/releases/luarocks-2.0.6.tar.gz |
| tar zxvf luarocks-2.0.6.tar.gz |
| cd luarocks-2.0.6 |
| ./configure |
| make |
| sudo make install |
| </pre> |
| |
| <p>Now build/install the required Lua modules:</p> |
| <pre> |
| sudo luarocks install lua-socket |
| sudo luarocks install luasec OPENSSL_LIBDIR=/usr/lib64/ |
| sudo luarocks install lua-cjson |
| </pre> |
| |
| <p>Configure, compile and install Python 3:</p> |
| <pre> |
| sudo yum groupinstall -y development |
| sudo yum install -y zlib-dev sqlite-devel bzip2-devel xz-libs |
| wget http://www.python.org/ftp/python/3.4.3/Python-3.4.3.tar.xz |
| xz -d Python-3.4.3.tar.xz |
| tar zvf Python-3.4.3.tar |
| cd Python-3.4.3/ |
| ./configure |
| make |
| sudo make altinstall |
| </pre> |
| |
| <p>Install the required Python 3 modules: |
| <pre> |
| sudo pip3.4 install elasticsearch formatflowed chardet netaddr |
| </pre></p> |
| <p>Install ElasticSearch:</p> |
| <pre> |
| sudo yum install -y java-1.7.0-openjdk-headless |
| sudo rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch |
| |
| (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: |
| |
| [elasticsearch-1.7] |
| name=Elasticsearch repository for 1.7.x packages |
| baseurl=http://packages.elastic.co/elasticsearch/1.7/centos |
| gpgcheck=1 |
| gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearch |
| enabled=1 |
| |
| sudo yum update |
| sudo yum install elasticsearch |
| </pre> |
| |
| <p>Configure and start up ElasticSearch:</p> |
| <pre> |
| sudo sudo /bin/systemctl daemon-reload |
| sudo sudo /bin/systemctl enable elasticsearch.service |
| sudo /etc/init.d/elasticsearch start |
| </pre> |
| |
| <p>Check out a copy of Pony Mail: |
| <pre> |
| cd /var/www |
| git clone https://github.com/apache/incubator-ponymail.git |
| </pre></p> |
| <p>Set up Pony Mail: |
| <pre> |
| cd /var/www/ponymail/tools |
| python3.4 setup.py |
| [... answer questions asked by the setup script ...] |
| </pre></p> |
| <p>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</p> |
| <pre> |
| <VirtualHost *:80> |
| LuaPackageCPath /usr/local/lib/lua/5.1/?.so |
| LuaPackagePath /usr/local/share/lua/5.1/?.lua |
| ServerName mylists.foo.tld |
| DocumentRoot /var/www/ponymail/site |
| AddHandler lua-script .lua |
| LuaScope thread |
| LuaCodeCache stat |
| AcceptPathInfo On |
| </VirtualHost> |
| </pre> |
| |
| <p>(re)start apache:</p> |
| <pre> |
| sudo apachectl restart |
| </pre> |
| |
| <p>Once this is done, you should now have a <em>working copy</em> of Pony Mail!</p> |
| <p>You may wish to tweak the settings in <code>site/js/config.js</code> and your |
| elasticsearch settings once Pony mail is up and running.</p> |
| <p>Refer to the <a href="installing.html">General installation documentation</a> for |
| detailed information about archiving messages, OAuth, mail settings and |
| much more.</p> |
| <h2><a id="disclaimer"></a>Disclaimer</h2> |
| <p style="font-size: 8pt; line-height: 12pt;"> |
| <a href="https://incubator.apache.org"><img src="/images/podling.svg" align="right" width="220px"/></a> |
| Apache Pony Mail (Incubating) is an effort undergoing incubation at |
| The Apache Software Foundation (ASF), sponsored by the <a href="https://incubator.apache.org"> |
| Apache Incubator</a>. 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. |
| </p> |
| <p style="font-size: 8pt; line-height: 12pt;"> |
| Copyright 2016, the Apache Software Foundation.<br/> |
| Apache Pony Mail is a trademark of the Apache Software Foundation. |
| Apache and the Apache feather are registered trademarks of the |
| Apache Software Foundation. |
| </p> |
| </body></html> |