| 1 | Installation instructions | 
|---|
| 2 | ========================= | 
|---|
| 3 |  | 
|---|
| 4 | Installing Mailjam is quite easy. If you have some experience installing | 
|---|
| 5 | Python_ packages [1]_, you already know how to do it. Mailjam is a standard | 
|---|
| 6 | Python_ package available on pypi_ [3]_ so just use your favourite tool | 
|---|
| 7 | (pip_, easy_install_, etc) to intall it. | 
|---|
| 8 |  | 
|---|
| 9 | Keep reading if you want to learn more about the different options/choices | 
|---|
| 10 | you have when installing Mailjam. | 
|---|
| 11 |  | 
|---|
| 12 | .. contents:: | 
|---|
| 13 |  | 
|---|
| 14 | .. _install_dependencies: | 
|---|
| 15 |  | 
|---|
| 16 | First, install dependencies | 
|---|
| 17 | --------------------------- | 
|---|
| 18 |  | 
|---|
| 19 | So far, the only dependency you will need in order to run mailjam is Python_ | 
|---|
| 20 |  | 
|---|
| 21 | Mailjam has been tested with python *2.7.x*, but it should work with versions | 
|---|
| 22 | *2.6.x* too. | 
|---|
| 23 |  | 
|---|
| 24 | Please, refer to your operating system documentation to learn more about how | 
|---|
| 25 | to install python. | 
|---|
| 26 |  | 
|---|
| 27 | .. _install_mailjam: | 
|---|
| 28 |  | 
|---|
| 29 | Second, install Mailjam | 
|---|
| 30 | ----------------------- | 
|---|
| 31 |  | 
|---|
| 32 | You can install Mailjam using one of the available tools for installing Python_ | 
|---|
| 33 | packages, or you can install it from sources. Keep reading to learn more about | 
|---|
| 34 | it. | 
|---|
| 35 |  | 
|---|
| 36 | .. _install_with_pip: | 
|---|
| 37 |  | 
|---|
| 38 | Installing using pip | 
|---|
| 39 | ++++++++++++++++++++ | 
|---|
| 40 |  | 
|---|
| 41 | You can install Mailjam using pip_:: | 
|---|
| 42 |  | 
|---|
| 43 | pip install Mailjam | 
|---|
| 44 |  | 
|---|
| 45 | .. note:: | 
|---|
| 46 |  | 
|---|
| 47 | The previous command will install the latest release from pypi_. If you | 
|---|
| 48 | would like to install the latest *bleeding edge* sources (unstable code), | 
|---|
| 49 | you can do it using pip_ too:: | 
|---|
| 50 |  | 
|---|
| 51 | pip install -e https://bitbucket.org/codigo23/mailjam#egg=mailjam | 
|---|
| 52 |  | 
|---|
| 53 | .. _install_with_easy_install: | 
|---|
| 54 |  | 
|---|
| 55 | Installing using easy_install | 
|---|
| 56 | +++++++++++++++++++++++++++++ | 
|---|
| 57 |  | 
|---|
| 58 | You can install Mailjam using easy_install_:: | 
|---|
| 59 |  | 
|---|
| 60 | easy_install Mailjam | 
|---|
| 61 |  | 
|---|
| 62 | .. _install_inside_virtualenv: | 
|---|
| 63 |  | 
|---|
| 64 | Installing inside a virtualenv | 
|---|
| 65 | ++++++++++++++++++++++++++++++ | 
|---|
| 66 |  | 
|---|
| 67 | You can install Mailjam inside a virtualenv_. Just create a virtualenv:: | 
|---|
| 68 |  | 
|---|
| 69 | virtualenv /path/to/your/env | 
|---|
| 70 |  | 
|---|
| 71 | Then activate it:: | 
|---|
| 72 |  | 
|---|
| 73 | source /path/to/your/env/bin/activate | 
|---|
| 74 |  | 
|---|
| 75 | .. note:: | 
|---|
| 76 |  | 
|---|
| 77 | If your shell is **csh**/**tcsh** remember you have to activate the | 
|---|
| 78 | environment this way:: | 
|---|
| 79 |  | 
|---|
| 80 | source /path/to/your/env/bin/activate.csh | 
|---|
| 81 |  | 
|---|
| 82 | And, once the environment has been activated, use pip to install Mailjam:: | 
|---|
| 83 |  | 
|---|
| 84 | env$ pip install Mailjam | 
|---|
| 85 |  | 
|---|
| 86 | .. note:: | 
|---|
| 87 |  | 
|---|
| 88 | Remember that you can install the latest *bleeding edge* version using | 
|---|
| 89 | pip_ too:: | 
|---|
| 90 |  | 
|---|
| 91 | env$ pip install -e https://bitbucket.org/codigo23/mailjam#egg=mailjam | 
|---|
| 92 |  | 
|---|
| 93 | .. _install_from_sources: | 
|---|
| 94 |  | 
|---|
| 95 | Installing from sources | 
|---|
| 96 | +++++++++++++++++++++++ | 
|---|
| 97 |  | 
|---|
| 98 | When installing from sources, you can download one of the official releases | 
|---|
| 99 | or you can go with the *bleeding edge* and get a copy of the official source | 
|---|
| 100 | code repository. | 
|---|
| 101 |  | 
|---|
| 102 | .. _install_from_release: | 
|---|
| 103 |  | 
|---|
| 104 | Releases | 
|---|
| 105 | ******** | 
|---|
| 106 |  | 
|---|
| 107 | You can grab a copy of the latest release from pypi_: | 
|---|
| 108 |  | 
|---|
| 109 | http://pypi.python.org/packages/source/m/mailjam/ | 
|---|
| 110 |  | 
|---|
| 111 | After downloaded, you have to unpack the sources:: | 
|---|
| 112 |  | 
|---|
| 113 | tar -zxvvf mailjam-0.1.0.tar.gz | 
|---|
| 114 |  | 
|---|
| 115 | This will create a directory called *mailjam-0.1.0*, go inside that directory | 
|---|
| 116 | and run:: | 
|---|
| 117 |  | 
|---|
| 118 | python setup.py install | 
|---|
| 119 |  | 
|---|
| 120 | .. warning:: | 
|---|
| 121 |  | 
|---|
| 122 | If you want to install it *system-wide*, probably you will need *root* | 
|---|
| 123 | privileges (check your OS documentation to learn more about how to get | 
|---|
| 124 | *root* privileges - for example using sudo_) | 
|---|
| 125 |  | 
|---|
| 126 | .. note:: | 
|---|
| 127 |  | 
|---|
| 128 | This process will work inside a virtualenv_ too. | 
|---|
| 129 |  | 
|---|
| 130 | .. _install_from_repository: | 
|---|
| 131 |  | 
|---|
| 132 | From repository | 
|---|
| 133 | *************** | 
|---|
| 134 |  | 
|---|
| 135 | The source code of Mailjam is hosted in bitbucket_ [2]_. In order to grab | 
|---|
| 136 | the latest sources you need Mercurial_. | 
|---|
| 137 |  | 
|---|
| 138 | To get a copy of the sources, just *clone* the repository:: | 
|---|
| 139 |  | 
|---|
| 140 | hg clone https://bitbucket.org/codigo23/mailjam mailjam-repo | 
|---|
| 141 |  | 
|---|
| 142 | Then, go inside the *mailjam-repo* directory and run:: | 
|---|
| 143 |  | 
|---|
| 144 | python setup.py install | 
|---|
| 145 |  | 
|---|
| 146 | .. warning:: | 
|---|
| 147 |  | 
|---|
| 148 | If you want to install it *system-wide*, probably you will need *root* | 
|---|
| 149 | privileges (check your OS documentation to learn more about how to get | 
|---|
| 150 | *root* privileges - for example using sudo_) | 
|---|
| 151 |  | 
|---|
| 152 | .. note:: | 
|---|
| 153 |  | 
|---|
| 154 | This process will work inside a virtualenv_ too. | 
|---|
| 155 |  | 
|---|
| 156 | .. _install_setting_up_mailjam: | 
|---|
| 157 |  | 
|---|
| 158 | Setting up Mailjam | 
|---|
| 159 | ------------------ | 
|---|
| 160 |  | 
|---|
| 161 | In order to setup Mailjam, you will have to create the needed | 
|---|
| 162 | :doc:`configuration files <configuration>`. Each component has its own | 
|---|
| 163 | configuration file: | 
|---|
| 164 |  | 
|---|
| 165 | - The :ref:`Mailjam daemon <overview_mailjam_daemon>` configuration file is | 
|---|
| 166 | :ref:`mailjam.conf <configuration_daemon>` | 
|---|
| 167 |  | 
|---|
| 168 | - The :ref:`Mailjam MTA client <overview_mailjam_mta_client>` configuration | 
|---|
| 169 | file is :ref:`mailjam-mta.conf <configuration_mta_client>` | 
|---|
| 170 |  | 
|---|
| 171 | - The :ref:`Mailjam CLI client <overview_mailjam_cli_client>` configuration | 
|---|
| 172 | file is :ref:`mailjam-cli.conf <configuration_cli_client>` | 
|---|
| 173 |  | 
|---|
| 174 | Refer to each configuration file documentation to learn more about the different | 
|---|
| 175 | settings you can customize. | 
|---|
| 176 |  | 
|---|
| 177 | Each component will search for its configuration file in a list of predefined | 
|---|
| 178 | locations, but you can override that behaviour using the *-c* parameter when | 
|---|
| 179 | starting the component. | 
|---|
| 180 |  | 
|---|
| 181 | .. note:: | 
|---|
| 182 |  | 
|---|
| 183 | Mailjam will search for the config files, in order, through the following | 
|---|
| 184 | paths: | 
|---|
| 185 |  | 
|---|
| 186 | 1. /etc/mailjam | 
|---|
| 187 |  | 
|---|
| 188 | 2. /etc | 
|---|
| 189 |  | 
|---|
| 190 | 3. /usr/local/etc/mailjam | 
|---|
| 191 |  | 
|---|
| 192 | 4. /usr/local/etc | 
|---|
| 193 |  | 
|---|
| 194 | 5. the *conf* directory within the sources (or the installed *egg* [4]_) | 
|---|
| 195 |  | 
|---|
| 196 | For example, you can start the :ref:`overview_mailjam_daemon` passing | 
|---|
| 197 | */var/db/mailjam/mailjam.conf* as its configuration file:: | 
|---|
| 198 |  | 
|---|
| 199 | mailjam-server -c /var/db/mailjam/mailjam.conf | 
|---|
| 200 |  | 
|---|
| 201 | .. seealso:: | 
|---|
| 202 |  | 
|---|
| 203 | :doc:`running` contains more information about how to run the different | 
|---|
| 204 | components. | 
|---|
| 205 |  | 
|---|
| 206 | If you have installed Mailjam using pip_, easy_install_ or even from sources, | 
|---|
| 207 | the setup process should have taken care of the configuration files, adding | 
|---|
| 208 | a copy of the default files included in the sources to the default | 
|---|
| 209 | destination. | 
|---|
| 210 |  | 
|---|
| 211 | .. warning:: | 
|---|
| 212 |  | 
|---|
| 213 | The default destination will be different based on your operating system. | 
|---|
| 214 | For example, in most linux servers it will copy the files to */etc/mailjam*, | 
|---|
| 215 | while in BSD servers it will copy the files to */usr/local/etc/mailjam*. | 
|---|
| 216 |  | 
|---|
| 217 | .. seealso:: | 
|---|
| 218 |  | 
|---|
| 219 | :doc:`Configuration files, settings and formats documentation <configuration>` | 
|---|
| 220 |  | 
|---|
| 221 |  | 
|---|
| 222 | .. _install_running_mailjam: | 
|---|
| 223 |  | 
|---|
| 224 | Running Mailjam | 
|---|
| 225 | --------------- | 
|---|
| 226 |  | 
|---|
| 227 | In order to run a full Mailjam environment, you will have to start the different | 
|---|
| 228 | components separately: | 
|---|
| 229 |  | 
|---|
| 230 | 1. :ref:`Start the daemon <running_daemon>` | 
|---|
| 231 |  | 
|---|
| 232 | 2. :ref:`Run the cli client and manage your mailing lists <running_cli_client>` | 
|---|
| 233 |  | 
|---|
| 234 | 3. :ref:`Add as much MTA clients as you need to your mail server<running_mta_client>` | 
|---|
| 235 |  | 
|---|
| 236 | The daemon will have to be running all the time (it is the component responsible | 
|---|
| 237 | for providing information to the clients). You will need the CLI client to add, | 
|---|
| 238 | edit or delete mailing lists and each MTA client will be responsible to handle | 
|---|
| 239 | incoming emails for each mailing list. | 
|---|
| 240 |  | 
|---|
| 241 | .. _install_running_tests: | 
|---|
| 242 |  | 
|---|
| 243 | Running tests (developers only) | 
|---|
| 244 | ------------------------------- | 
|---|
| 245 |  | 
|---|
| 246 | Just in case you were wondering, **yes**, Mailjam code has some tests you can | 
|---|
| 247 | run to check everything is ok and that the software should run smoothly on your | 
|---|
| 248 | server(s). | 
|---|
| 249 |  | 
|---|
| 250 | To run the tests, simply get a copy of the sources from our public repository:: | 
|---|
| 251 |  | 
|---|
| 252 | hg clone https://bitbucket.org/codigo23/mailjam mailjam-repo | 
|---|
| 253 |  | 
|---|
| 254 | then run the tests:: | 
|---|
| 255 |  | 
|---|
| 256 | cd mailjam-repo && ./bin/run_tests | 
|---|
| 257 |  | 
|---|
| 258 |  | 
|---|
| 259 | .. _Python: http://python.org | 
|---|
| 260 | .. _pip: http://www.pip-installer.org/en/latest/index.html | 
|---|
| 261 | .. _pypi: http://pypi.python.org/pypi | 
|---|
| 262 | .. _easy_install: http://peak.telecommunity.com/DevCenter/EasyInstall | 
|---|
| 263 | .. _virtualenv: http://www.virtualenv.org/en/latest/index.html | 
|---|
| 264 | .. _bitbucket: https://bitbucket.org | 
|---|
| 265 | .. _Mercurial: http://mercurial.selenic.com | 
|---|
| 266 | .. _sudo: http://sudo.ws | 
|---|
| 267 |  | 
|---|
| 268 | .. [1] http://docs.python.org/tutorial/modules.html#packages | 
|---|
| 269 | .. [2] https://bitbucket.org/codigo23/mailjam | 
|---|
| 270 | .. [3] http://pypi.python.org/pypi/mailjam | 
|---|
| 271 | .. [4] http://svn.python.org/projects/sandbox/trunk/setuptools/doc/formats.txt | 
|---|