Discussion:
[Maia-users] Documenting setting up Maia under Ubuntu
Ian R. Justman
2015-08-03 23:29:53 UTC
Permalink
Hi, all.

Given the overabundance of CentOS information and the near-dearth of
Ubuntu/Debian info, I am going to be doing some work on writing some
documentation on what's needed to set up Maia under Ubuntu, which may
(not) work (well) under Debian as well. I run Ubuntu on all my
Linux-based hosting assets.

All of these will be against the Git repo as linked to by John Small on
July 28.

Given my past experience, there are a couple of dependencies I've
noticed that don't get "satisfied" as different packages get used in
their stead. Some won't be satisfied by the apt repositories at all.
Some Perl modules will need to be manually installed via CPAN or
similar. Some PHP modules will need to be manually installed by Pear or
similar.

More soon.

--Ian.
--
Ian R. Justman
UNIX hacker. Anime fan. Any questions?
ianj (at) ian-justman.com
Please direct business correspondence to my new address, biz (at)
ian-justman.com. (04/27/2015)
Ian R. Justman
2015-08-04 00:54:18 UTC
Permalink
Hi, all.

An update:

I have been working on what it takes to install core Maia on an Ubuntu
(and likely, a Debian) system.

This work assumes Ubuntu 14.04 LTS ("Trusty Tahr") as it is the current
LTS release. This is based on an install straight from a standard
install from CD with only two packages installed, one being a preferred
editor, and the other being git. Some users may use a default editor
from an install, in which case, you need only git.

Here is a list of packages, based on which part depends on them (I
"toplevel" installed as many as possible to resolve as many Maia
dependencies at once per installed module package):

Maia Perl core:

libdbi-perl
libarchive-zip-perl
libconvert-tnef-perl
libconvert-uulib-perl
libdata-uuid-perl
libnet-server-perl
libtemplate-perl
libunix-syslog-perl
spamassassin

Maia Perl database core:

libdbd-mysql-perl (needed for MySQL)
libdb-pg-perl (needed for PostgreSQL)

Maia Perl ancillary utilities:

libtext-csv-perl (maiadbtool.pl)
libforks-perl (process-quarantine.pl)

Maia and SpamAssassin optional features:

libberkeleydb-perl

SpamAssassin optional features and plugin support:

libencode-detect-perl (For normalize_charset feature)
libmail-dkim-perl (For DKIM plugin)
libnet-cidr-lite-perl (For SPF plugin)
razor (For Vipul's Razor module)

After I install everything to satisfy dependencies per the script only
two dependencies "fail" when I run the configtest.pl script to check
Perl dependencies. Both of them are minor are easy to deal with. The
immediate courses of action to follow when installing are:

Digest::SHA1 -- Nothing needs to be done to get Maia working.

This module is not in the Ubuntu repository. Apparently, only Vipul's
Razor depends on this. While the original Razor sources DO refer to
Digest::SHA1, the Ubuntu (and likely Debian) package changes it to use
Digest::SHA which is part of the core Perl 5.18.2 distribution that is
part of Trusty.

Suggest: 1. Dropping this check if Razor2::Clients loads cleanly since
it is the only item which requires Digest::SHA1 based on what
configtest.pl spits out. 2. Figuring out some way to determine whether
we are running on a Debian-, Ubuntu-, or like-type system.

IP::Country::Fast -- Use Geo::IP instead.

IP::Country::Fast is not in the Ubuntu repository. This is for the
RelayCountry plugin in SpamAssassin. The original code of SpamAssassin
3.4.0 (the version that is in Trusty) checks for Geo::IP first, then
falls back on IP::Country::Fast. If both are installed, it prefers Geo::IP.

Suggest checking for both, preferring Geo::IP, then assuming that the
requirement is fulfilled if either loads, possibly indicating which one
loads. If it fails, suggest installing Geo::IP.

I will have a report on PHP modules soon.

--Ian.
--
Ian R. Justman
UNIX hacker. Anime fan. Any questions?
ianj (at) ian-justman.com
Please direct business correspondence to my new address, biz (at)
ian-justman.com. (04/27/2015)
Ian R. Justman
2015-08-04 03:12:41 UTC
Permalink
Hi, all.

Just came up with lists of how certain prerequisites can be installed
under Ubuntu (and likely via Debian) via apt-get as well as those that
need pecl and pear juju. Only two can't at all, unless you know where
to get them and do it manually.

The items that can be installed straight from apt-get, like the Perl
modules were "toplevel installed" wherever possible to resolve as many
dependencies as possible.

These are items shown in red (which I will treat as "required" unless
specifically told otherwise) which do not need any special treatment
(apart from any configuration within config.php) that can be installed
straight from APT:

php-pear
php5-dev (required for those which need manual installing from pecl or pear)
php-mail-mimedecode
php-pager
php-net-smtp (causes installation of dependencies php-auth-sasl
php-net-socket)
php-log
php-htmlpurifier
php-net-ldap (only required if using LDAP for authentication)
php5-gd (only required if installing graph support)
php-numbers-words (only required if you want spelled-out numbers)

The items shown in red that do require special treatment, whether
passively or actively (this excludes any configuration within config.php):

php5-imap (only required for authenticating against Exchange Server
installations; may need manual enabling depending on PHP installation)
smarty3 (Requires a symlink to /usr/share/php/smarty3 named "Smarty" in
/usr/share/php to work with minimal effort; can be done very simply with
this: cd /usr/share/php && ln -s smarty3 Smarty)
php-net-imap (Only suitable for use at sites with standard SSL ports;
complains and suggests using older version, though a newer one is
available (See below))

This item requires installation via PECL:

scrypt() support: (Requires MANUAL installation) (use pecl install
scrypt) (needs "extension=scrypt.so" in either php.ini or as an option
in /etc/php5/modules-available)

These items require installation via PEAR:

PEAR::Image_Color (installed with warnings using "pear install Image_Color")
PEAR::Numbers_Roman (requires pear install Numbers_Roman)
PEAR::Net_POP3 (requires pear install Net_POP3)

This is a special case item if you wish to use IMAP but don't want to
use an older verson of PEAR::Net_IMAP:

PEAR::NET_IMAP (requires pear install NET_IMAP) (Use this instead of
APT's copy if your IMAP server is a special case that APT's version
cannot handle or if you would prefer a newer version)

These modules will not install at all, regardless of methods, including
via PEAR or PECL. Requires bare-handed manual installation (and
downloading, too):

PEAR::Image_Canvas (will not install at all)
PEAR::Image_Graph (will not install at all)

I guess I could try Vivid to see if it has better luck for some of the
other items, since it may likely have newer versions of some these
libraries, especially PEAR::Net_IMAP. That will give us an idea of what
to expect for 16.04 LTS when it gets released next year.

--Ian.
--
Ian R. Justman
UNIX hacker. Anime fan. Any questions?
ianj (at) ian-justman.com
Please direct business correspondence to my new address, biz (at)
ian-justman.com. (04/27/2015)
Ian R. Justman
2015-08-04 04:15:22 UTC
Permalink
Just tried under Vivid
Post by Ian R. Justman
php-pear
php5-dev (required for those which need manual installing from pecl or pear)
php-mail-mimedecode
php-pager
php-net-smtp (causes installation of dependencies php-auth-sasl
php-net-socket)
php-log
php-htmlpurifier
php-net-ldap (only required if using LDAP for authentication)
php5-gd (only required if installing graph support)
php-numbers-words (only required if you want spelled-out numbers)
Forgot two rather important items from this list in my previous message
(applies to Trusty and later as well):

php-mdb2-driver-mysql (for MySQL)
php-mdb2-driver-pgsql (for PostgreSQL)
Post by Ian R. Justman
The items shown in red that do require special treatment, whether
smarty3 (Requires a symlink to /usr/share/php/smarty3 named "Smarty" in
/usr/share/php to work with minimal effort; can be done very simply with
this: cd /usr/share/php && ln -s smarty3 Smarty)
Still requires this action be taken under Vivid.
Post by Ian R. Justman
scrypt() support: (Requires MANUAL installation) (use pecl install
scrypt) (needs "extension=scrypt.so" in either php.ini or as an option
in /etc/php5/modules-available)
Still holds true. Though a simple "extension=scrypt.so" in a file
called "scrypt.ini" in /etc/php5/mods-available and a "php5enmod scrypt"
and any restarts (whether they be in-server or memory-resident
processes) of PHP5 needed to enable.
Post by Ian R. Justman
PEAR::Image_Color (installed with warnings using "pear install
Image_Color")
PEAR::Numbers_Roman (requires pear install Numbers_Roman)
PEAR::Net_POP3 (requires pear install Net_POP3)
Still true under Vivid.
Post by Ian R. Justman
This is a special case item if you wish to use IMAP but don't want to
PEAR::NET_IMAP (requires pear install Net_IMAP) (Use this instead of
APT's copy if your IMAP server is a special case that APT's version
cannot handle or if you would prefer a newer version)
Not needed anymore; 1.1.3 is available as of 14.10 ("Utopic Unicorn").
Post by Ian R. Justman
These modules will not install at all, regardless of methods, including
via PEAR or PECL. Requires bare-handed manual installation (and
PEAR::Image_Canvas (will not install at all)
PEAR::Image_Graph (will not install at all)
Still unavailable.
Post by Ian R. Justman
I guess I could try Vivid to see if it has better luck for some of the
other items, since it may likely have newer versions of some these
libraries, especially PEAR::Net_IMAP. That will give us an idea of what
to expect for 16.04 LTS when it gets released next year.
Summary: One rather key item is now available in a recent version,
php-net-imap, from repositories.

Short report on the Perl core: No changes in my procedure was
necessary. Was able to go from just-cloned git tree to fully working
(per scripts/configtest.pl) using my list of items needed to install I
presented here in about five minutes in a virtual machine.

--Ian.
--
Ian R. Justman
UNIX hacker. Anime fan. Any questions?
ianj (at) ian-justman.com
Please direct business correspondence to my new address, biz (at)
ian-justman.com. (04/27/2015)
Jason Street
2015-10-23 11:08:33 UTC
Permalink
I really should get my notes together like I promised months ago. I have
this under 12.04.

Perhaps if you had time, create a wiki page the github repo to document
the 14.04 dependencies?
Post by Ian R. Justman
Just tried under Vivid
Post by Ian R. Justman
php-pear
php5-dev (required for those which need manual installing from pecl or pear)
php-mail-mimedecode
php-pager
php-net-smtp (causes installation of dependencies php-auth-sasl
php-net-socket)
php-log
php-htmlpurifier
php-net-ldap (only required if using LDAP for authentication)
php5-gd (only required if installing graph support)
php-numbers-words (only required if you want spelled-out numbers)
Forgot two rather important items from this list in my previous
php-mdb2-driver-mysql (for MySQL)
php-mdb2-driver-pgsql (for PostgreSQL)
Post by Ian R. Justman
The items shown in red that do require special treatment, whether
passively or actively (this excludes any configuration within
smarty3 (Requires a symlink to /usr/share/php/smarty3 named "Smarty" in
/usr/share/php to work with minimal effort; can be done very simply with
this: cd /usr/share/php && ln -s smarty3 Smarty)
Still requires this action be taken under Vivid.
Post by Ian R. Justman
scrypt() support: (Requires MANUAL installation) (use pecl install
scrypt) (needs "extension=scrypt.so" in either php.ini or as an option
in /etc/php5/modules-available)
Still holds true. Though a simple "extension=scrypt.so" in a file
called "scrypt.ini" in /etc/php5/mods-available and a "php5enmod
scrypt" and any restarts (whether they be in-server or memory-resident
processes) of PHP5 needed to enable.
Post by Ian R. Justman
PEAR::Image_Color (installed with warnings using "pear install Image_Color")
PEAR::Numbers_Roman (requires pear install Numbers_Roman)
PEAR::Net_POP3 (requires pear install Net_POP3)
Still true under Vivid.
Post by Ian R. Justman
This is a special case item if you wish to use IMAP but don't want to
PEAR::NET_IMAP (requires pear install Net_IMAP) (Use this instead of
APT's copy if your IMAP server is a special case that APT's version
cannot handle or if you would prefer a newer version)
Not needed anymore; 1.1.3 is available as of 14.10 ("Utopic Unicorn").
Post by Ian R. Justman
These modules will not install at all, regardless of methods,
including
via PEAR or PECL. Requires bare-handed manual installation (and
PEAR::Image_Canvas (will not install at all)
PEAR::Image_Graph (will not install at all)
Still unavailable.
Post by Ian R. Justman
I guess I could try Vivid to see if it has better luck for some of the
other items, since it may likely have newer versions of some these
libraries, especially PEAR::Net_IMAP. That will give us an idea of what
to expect for 16.04 LTS when it gets released next year.
Summary: One rather key item is now available in a recent version,
php-net-imap, from repositories.
Short report on the Perl core: No changes in my procedure was
necessary. Was able to go from just-cloned git tree to fully working
(per scripts/configtest.pl) using my list of items needed to install I
presented here in about five minutes in a virtual machine.
--Ian.
jjs - mainphrame
2015-10-23 16:34:32 UTC
Permalink
Greetings,

In the interest of tying up loose ends, I've worked out all the install
issues I faced here, and while I had forked a branch of 1.0.4 without
scrypt in order to simplify the troubleshooting, naturally I was able to
verify that scrypt was not the problem. So I've had mailguard 1.0.4 running
in a centos 7 container for many weeks now, and now that all the training
and adjustment is done, it's doing an excellent job, nearly perfect at
stopping all spam, with zero false positives.

The rennaissoft 1.0.3 branch is also up and running here on centos 6, and
seems to be working fine as well. The scripts I've been using will install
1.0.3 on centos 6, or 1.0.4 on centos 7 or ubuntu 14.04

Joe
Post by Jason Street
I really should get my notes together like I promised months ago. I have
this under 12.04.
Perhaps if you had time, create a wiki page the github repo to document
the 14.04 dependencies?
Post by Ian R. Justman
Just tried under Vivid
php-pear
Post by Ian R. Justman
php5-dev (required for those which need manual installing from pecl or pear)
php-mail-mimedecode
php-pager
php-net-smtp (causes installation of dependencies php-auth-sasl
php-net-socket)
php-log
php-htmlpurifier
php-net-ldap (only required if using LDAP for authentication)
php5-gd (only required if installing graph support)
php-numbers-words (only required if you want spelled-out numbers)
Forgot two rather important items from this list in my previous
php-mdb2-driver-mysql (for MySQL)
php-mdb2-driver-pgsql (for PostgreSQL)
The items shown in red that do require special treatment, whether
Post by Ian R. Justman
smarty3 (Requires a symlink to /usr/share/php/smarty3 named "Smarty" in
/usr/share/php to work with minimal effort; can be done very simply with
this: cd /usr/share/php && ln -s smarty3 Smarty)
Still requires this action be taken under Vivid.
Post by Ian R. Justman
scrypt() support: (Requires MANUAL installation) (use pecl install
scrypt) (needs "extension=scrypt.so" in either php.ini or as an option
in /etc/php5/modules-available)
Still holds true. Though a simple "extension=scrypt.so" in a file
called "scrypt.ini" in /etc/php5/mods-available and a "php5enmod
scrypt" and any restarts (whether they be in-server or memory-resident
processes) of PHP5 needed to enable.
Post by Ian R. Justman
PEAR::Image_Color (installed with warnings using "pear install Image_Color")
PEAR::Numbers_Roman (requires pear install Numbers_Roman)
PEAR::Net_POP3 (requires pear install Net_POP3)
Still true under Vivid.
This is a special case item if you wish to use IMAP but don't want to
Post by Ian R. Justman
PEAR::NET_IMAP (requires pear install Net_IMAP) (Use this instead of
APT's copy if your IMAP server is a special case that APT's version
cannot handle or if you would prefer a newer version)
Not needed anymore; 1.1.3 is available as of 14.10 ("Utopic Unicorn").
These modules will not install at all, regardless of methods, including
Post by Ian R. Justman
via PEAR or PECL. Requires bare-handed manual installation (and
PEAR::Image_Canvas (will not install at all)
PEAR::Image_Graph (will not install at all)
Still unavailable.
I guess I could try Vivid to see if it has better luck for some of the
Post by Ian R. Justman
other items, since it may likely have newer versions of some these
libraries, especially PEAR::Net_IMAP. That will give us an idea of what
to expect for 16.04 LTS when it gets released next year.
Summary: One rather key item is now available in a recent version,
php-net-imap, from repositories.
Short report on the Perl core: No changes in my procedure was
necessary. Was able to go from just-cloned git tree to fully working
(per scripts/configtest.pl) using my list of items needed to install I
presented here in about five minutes in a virtual machine.
--Ian.
_______________________________________________
Maia-users mailing list
http://www.renaissoft.com/cgi-bin/mailman/listinfo/maia-users
Ian R. Justman
2015-10-26 16:55:25 UTC
Permalink
[Meant to send this to the list, but here y'are.]

I've been really busy of late with Best Buy deployments (and even more
busy making sure I get home alive from the drive home from them since
quite a few of them are quite far from home ;3) but I'll see what I can do.

I'm building up a new server now that my VPS host, BHost, has a presence
in the US, so I'll take that time to build up some notes on this on my
GitHub account. When 16.04 comes out, I'll see how applicable said
notes will be then, though at least one dependency will be satisfied
(one of the IMAP PHP modules) will have a version that'll work when that
time comes.

--Ian.
Post by Jason Street
I really should get my notes together like I promised months ago. I have
this under 12.04.
Perhaps if you had time, create a wiki page the github repo to document
the 14.04 dependencies?
Post by Ian R. Justman
Just tried under Vivid
Post by Ian R. Justman
php-pear
php5-dev (required for those which need manual installing from pecl or pear)
php-mail-mimedecode
php-pager
php-net-smtp (causes installation of dependencies php-auth-sasl
php-net-socket)
php-log
php-htmlpurifier
php-net-ldap (only required if using LDAP for authentication)
php5-gd (only required if installing graph support)
php-numbers-words (only required if you want spelled-out numbers)
Forgot two rather important items from this list in my previous
php-mdb2-driver-mysql (for MySQL)
php-mdb2-driver-pgsql (for PostgreSQL)
Post by Ian R. Justman
The items shown in red that do require special treatment, whether
smarty3 (Requires a symlink to /usr/share/php/smarty3 named "Smarty" in
/usr/share/php to work with minimal effort; can be done very simply with
this: cd /usr/share/php && ln -s smarty3 Smarty)
Still requires this action be taken under Vivid.
Post by Ian R. Justman
scrypt() support: (Requires MANUAL installation) (use pecl install
scrypt) (needs "extension=scrypt.so" in either php.ini or as an option
in /etc/php5/modules-available)
Still holds true. Though a simple "extension=scrypt.so" in a file
called "scrypt.ini" in /etc/php5/mods-available and a "php5enmod
scrypt" and any restarts (whether they be in-server or memory-resident
processes) of PHP5 needed to enable.
Post by Ian R. Justman
PEAR::Image_Color (installed with warnings using "pear install Image_Color")
PEAR::Numbers_Roman (requires pear install Numbers_Roman)
PEAR::Net_POP3 (requires pear install Net_POP3)
Still true under Vivid.
Post by Ian R. Justman
This is a special case item if you wish to use IMAP but don't want to
PEAR::NET_IMAP (requires pear install Net_IMAP) (Use this instead of
APT's copy if your IMAP server is a special case that APT's version
cannot handle or if you would prefer a newer version)
Not needed anymore; 1.1.3 is available as of 14.10 ("Utopic Unicorn").
Post by Ian R. Justman
These modules will not install at all, regardless of methods, including
via PEAR or PECL. Requires bare-handed manual installation (and
PEAR::Image_Canvas (will not install at all)
PEAR::Image_Graph (will not install at all)
Still unavailable.
Post by Ian R. Justman
I guess I could try Vivid to see if it has better luck for some of the
other items, since it may likely have newer versions of some these
libraries, especially PEAR::Net_IMAP. That will give us an idea of what
to expect for 16.04 LTS when it gets released next year.
Summary: One rather key item is now available in a recent version,
php-net-imap, from repositories.
Short report on the Perl core: No changes in my procedure was
necessary. Was able to go from just-cloned git tree to fully working
(per scripts/configtest.pl) using my list of items needed to install I
presented here in about five minutes in a virtual machine.
--Ian.
--
Ian R. Justman
UNIX hacker. Anime fan. Any questions?
ianj (at) ian-justman.com
Please direct business correspondence to my new address, biz (at)
ian-justman.com. (04/27/2015)
Loading...