Search code examples
pythonwindowserlangrabbitmqadmin

RabbitMQ portable on Windows?


I do not have access to the admin account in Windows 7. Is there a way to install RabbitMQ and its required Erlang without admin privileges? In some portable way?

I need to use it in my Python Celery project.

Thanks!


Solution

  • It is possible. Here's how I've done it:

    You need to create a portable Erlang and acquire RabbitMQ server files.

    • You can install regular Erlang to another computer, then copy the whole installation directory to the computer with limited account. You can use local documents, or AppData like C:\Users\Limited_Account\AppData\erl5.10.4 (If you don't have any access to another computer, you can extract the setup file with 7-Zip but it'll be troublesome to fix paths.)

    • Modify the erg.ini in the bin folder with the new path. (By default erg.ini uses Unix line endings, so it might be seen as a single line.)

      [erlang]
      Bindir=C:\\Users\\Limited_Account\\AppData\\erl5.10.4\\erts-5.10.4\\bin
      Progname=erl
      Rootdir=C:\\Users\\Limited_Account\\AppData\\erl5.10.4\\erl5.10.4
      
    • See if bin\erl.exe opens up Erlang Shell. If you see a crash dump, path might not be correct. If Visual C++ Redist. files were not installed before, it will nag you about msvcr100.dll and you need to manually copy them as well but I don't recommended that.

    • Download the zip version of RabbitMQ server from https://www.rabbitmq.com/install-windows-manual.html and extract it.

    • Set %ERLANG_HOME% variable. You can type set ERLANG_HOME="C:\\Users\\Limited_Account\\AppData\\erl5.10.4\" in command line. Alternatively, you can add this line to every .bat in the sbin folder.

    • Now you can use the management scripts in the sbin folder. For example, you can use rabbitmq_server-3.2.4\sbin\rabbitmq-server.bat to start the RabbitMQ Server. Obviously, starting as a service is not an option because you are not an admin.

    For further information, see: https://www.rabbitmq.com/install-windows-manual.html