Table of Contents
Prosody Dependencies
Prosody depends on other applications or libraries to allow certain functionality.
This page describes the different runtime dependencies we have, what they are for, and how to get hold of them if you don't have them.
Note: If you are trying to build Prosody from source then you will need additional dependencies, please see Installing from source for a short how-to.
Optional
LuaSec
Recommended
Used for: SSL/TLS support
Required version: 0.3.3+ (0.4.1+ strongly recommended)
LuaSec is technically an optional dependency, but is strongly recommended in order to ensure secure communications.
Our Windows packages include LuaSec: Windows packages.
Check your Linux distribution for packages for LuaSec. Alternatively we have packages for:
On Mac OS X you can use Homebrew to install LuaSec:
brew install http://prosody.im/files/homebrew/luasec.rb
You can also download the source from the LuaSec link above, it is not hard to build, and requires just liblua5.1 and libssl to compile. Have a look at the known to work Makefile configurations.
luasec-prosody
For certificate authentication (supported in Prosody 0.9+) to work, you need a different version of LuaSec. No official LuaSec release has yet been made with the necessary changes, however we have made available a packaged luasec-prosody in the meantime.
LuaEvent
Optional (Prosody 0.7+ only)
Used for: Efficiently scaling above hundreds of concurrent connections in Prosody 0.7 and above
Required version: luaevent 0.3.2+ (0.4.3+ recommended) with libevent 2.0+
LuaEvent is an optional dependency you should install if you intend your server to be handling large numbers of concurrent connections. Information on how to configure Prosody in this instance can be found here.
Users on Debian/Ubuntu with our Prosody package repository added can install luaevent or luaevent-prosody like so:
sudo apt-get install lua-event
This will automatically install libevent if you don't have it. It is not recommended to use libevent versions before 2.0.
Users on Mac OS X can use homebrew to install LuaEvent:
brew install http://prosody.im/files/homebrew/luaevent.rb
Users on Arch Linux can find luaevent-prosody in AUR, more information can be found on the ArchWiki.
lua-zlib
Optional (Prosody 0.6+)
Used for: Compressing XMPP streams when mod_compression is enabled
Required version: brimworks version 0
This module is used only by mod_compression. It is important to note that there are currently two zlib libraries for Lua. Prosody supports only the 'brimworks' module from github (as it presents an interface better suited to our use).
Debian/Ubuntu and derived GNU/Linux distributions
You can use the lua-zlib package from packages.prosody.im. If you have already configured our repository on your system then you can simply run:
sudo apt-get install lua-zlib
Windows
You should have lua-zlib already, and don't need to do anything.
Other
If you use another platform that doesn't have packages for lua-zlib yet then you will need to compile from source, which can be found at http://github.com/brimworks/lua-zlib.
LuaDBI
Optional (Prosody 0.8+)
Used for: SQL database support (SQLite3, MySQL, PostgreSQL)
Required version: 0.5+
This module is used by mod_storage_sql for connecting to SQL databases.
Debian/Ubuntu and derived GNU/Linux distributions
Ubuntu 10.04 LTS, 11.10, Ubuntu 12.04 LTS
Add the Prosody PPA to your system:
sudo add-apt-repository ppa:prosody-dev/ppa
Ubuntu 10.04 and 11.10: Install liblua5.1-dbi0
Debian 7.0 (wheezy/stable), Ubuntu 12.10+
Simply install the package 'lua-dbi-DATABASE', where DATABASE is one of: mysql or postgres or sqlite3
Windows
For Prosody 0.8.0, add-on packages are available for SQLite, MySQL and PostgreSQL support. These can be extracted into the Prosody install folder.
Other
If you use another platform that doesn't have packages for LuaDBI yet then you will need to compile from source, which can be found at http://code.google.com/p/luadbi/downloads/list.
Required
LuaSocket
Required
Used for: Accepting and making network connections
Required version: 2.0.x
Prosody's Windows packages include LuaSocket as standard, but it can also be downloaded from the LuaSocket homepage.
Debian and Ubuntu users can easily install LuaSocket with apt-get, simply run:
sudo apt-get install liblua5.1-socket2
BSD and users of other Linux distributions have reported success using luarocks to install the 'luasocket' rock.
LuaExpat
Required
Used for: Parsing XML/XMPP streams
Required version: 1.2.x
LuaExpat is bundled with our Windows packages, but you may also find it on the LuaExpat homepage.
Debian and Ubuntu users can easily install LuaExpat with apt-get, simply run:
sudo apt-get install liblua5.1-expat0
BSD and users of other Linux distributions have reported success using luarocks to install the 'luaexpat' rock.
Although Prosody works with versions of LuaExpat prior to 1.2, they leave Prosody open to denial-of-service (DoS) attacks. Prosody will warn if this is the case and it is strongly recommended you upgrade.
LuaFileSystem
Required
Used for: Managing Prosody's data store
Required version: 1.x
LuaFileSystem is automatically installed by our packages, but if you find yourself without it for some reason it is easy to obtain. Debian/Ubuntu users can run the following command to install it:
sudo apt-get install liblua5.1-filesystem0
while those on Windows and those who would like the source code to compile can find both at the LuaFileSystem homepage.
