So, Mailcow seems to be a new kid on the block of mail servers. In this post, I’ll attempt to perform an installation of a freshly installed DigitalOcean droplet. (Digitalocean provides resizable VPSes that are useful to perform development and hobbyist work like this. )
Create a Dogital Ocean droplet. I’ll try the minimum size of droplet.
Login to the VPS as root. I’ll assume that you’ve installed your favorite text editor. I’ll be using emacs.
wget -O – https://github.com/andryyy/mailcow/archive/v0.11.tar.gz | tar xfz –
Substitute 0.11 with the latest release number from https://github.com/andryyy/mailcow/releases/latest
Edit it with your own values. It’s a piece of cake.
After running the install, I got an error:
+ DEBIAN_FRONTEND=noninteractive + apt-get --force-yes -y install zip jq dnsutils python-setuptools libmail-spf-perl libmail-dkim-pertp php-net-socket php-net-url php-pear php-soap php5 php5-cli php5-common php5-curl php5-fpm php5-gdent mysql-server nginx-extras mailutils pyzor razor postfix-mysql postfix-pcre spamassassin spamc surl libmime-base64-urlsafe-perl libtest-tempdir-perl liblogger-syslog-perl bsd-mailx E: Unable to correct problems, you have held broken packages. + '[' 100 -ne 0 ']' ++ redb '[ERR]' +++ tput bold +++ tput setaf 1 +++ tput sgr0 ++ echo '[ERR]' + echo '[ERR] - Package installation failed' [ERR] - Package installation failed + exit 1
I tried running the command manually:
apt-get --force-yes -y install zip jq dnsutils python-setp-mail-mimedecode php-net-dime php-net-smtp php-net-socket php-net-url php-pear php-soap php5 php5-c5-sqlite libawl-php php5-xmlrpc mysql-client mysql-server nginx-extras mailutils pyzor razor postfixtchmail liblockfile-simple-perl libdbi-perl libmime-base64-urlsafe-perl libtest-tempdir-perl liblogg Reading package lists... Done Building dependency tree Reading state information... Done bzip2 is already the newest version. curl is already the newest version. curl set to manually installed. libdbi-perl is already the newest version. libdbi-perl set to manually installed. mysql-client is already the newest version. openssl is already the newest version. openssl set to manually installed. python-setuptools is already the newest version. python-setuptools set to manually installed. unzip is already the newest version. unzip set to manually installed. Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation: The following packages have unmet dependencies: postfix-mysql : Depends: postfix (= 2.11.3-1) but it is not going to be installed postfix-pcre : Depends: postfix (= 2.11.3-1) but it is not going to be installed E: Unable to correct problems, you have held broken packages.
So I determined the problematic line:
$grep -inr 'install zip jq dnsutils' * includes/functions.sh:245:DEBIAN_FRONTEND=noninteractive apt-get --force-yes -y install zip jq dnsut
Edited the line to add postfix to the installation list, and reran installation:
[[email protected]] ~/build/mailcow-0.11 $emacs includes/functions.sh [[email protected]] ~/build/mailcow-0.11 $./install.sh
Joel G Mathew, known in tech circles by the pseudonym Droidzone, is an opensource and programming enthusiast.
His favorite pastime is grappling with GNU compilers, discovering newer Linux secrets, writing scripts, hacking roms, and programs (nothing illegal), reading, blogging. and testing out the latest gadgets.
When away from the tech world, Dr Joel G. Mathew is a practising ENT Surgeon, busy with surgeries and clinical practise.