Custom Installation(s)

All my email is hosted on 3rd party servers and I’d like to install and use Sympl only as a web / database server.

Specifically I’d like to exclude the following packages from the install [or be able to cleanly uninstall them via a script post a full install]:

sympl-ftp
sympl-mail
sympl-webmail
sympl-phpmyadmin
sympl-dns [handled externally]

Will Sympl run as a web / database server without the above packages and if so is there a recommended way to go about it?

The Symbiosis documentation always suggested that individual packages could be installed but I never worked out how.

I did see this thread [Using Sympl only for email] but that aside my forum search did not find anything that helped answer my question so I hope I’ve not missed anything.

Thanks in advance.

TW

Welcome @twmfc!

Yes, Sympl should be fine if you uninstall the mentioned packages after a normal install, or otherwise install the others without them.

You may still want to install Exim or similar to handle outgoing mail if you want the server to send mail normally for admin/notification purposes.

1 Like

Thanks very much for the prompt reply, the confirmation that what I’m after is possible and for resurrecting Symbiosis as Sympl!

Reading the documentation wiki I’m not 100% certain how to install only the subset of packages I need, I’m guessing the automated install method is not what I’m looking for.

Would the following work or am I on the wrong track?

wget -qO- http://mirror.mythic-beasts.com/mythic/support@mythic-beasts.com.gpg.key | apt-key add -

echo deb http://packages.mythic-beasts.com/mythic/ $(grep ‘^VERSION_CODENAME’ /etc/os-release | cut -d’=’ -f2) main > /etc/apt/sources.list.d/sympl_mythic-beasts.list

apt-get update

apt-get install sympl-core
apt-get install sympl-web
apt-get install sympl-mysql
apt-get install sympl-monit
apt-get install sympl-cron
apt-get install sympl-firewall
apt-get install sympl-backup
apt-get install sympl-updater
apt-get install libapache2-mod-vhost-sympl

TW

You could do it that way, or you could do the automated install and then apt-get remove all the packages you mentioned in your first post. I’m pretty sure none of the packages you need to keep depends on any of them.
Unless there is a packaging bug somewhere, whatever is left of Sympl in your installation should run smoothly without them.

2 Likes

Thanks very much,

I’ll spin up, in the near future, a newly imaged Debian Buster and give it a try.

Thanks to both of you for your help.

TW

Hi,

I spun up a Mythic Beasts VM [1GB] using Debian Buster, update the APT repositories and then:

apt-get update
apt-get install sympl-core

I’d expected this to only install a small subset of the core Sympl suite? But it wanted to install:

The following additional packages will be installed:
acl apache2 apache2-bin apache2-data apache2-utils aspell aspell-en backup2l binutils binutils-common binutils-x86-64-linux-gnu clamav clamav-base clamav-daemon clamav-freshclam clamdscan cpp cpp-8 cracklib-runtime curl dbconfig-common debconf-utils
default-mysql-server dictionaries-common dovecot-core dovecot-imapd dovecot-managesieved dovecot-pop3d dovecot-sieve emacsen-common exim4-daemon-heavy fontconfig-config fonts-dejavu-core fonts-droid-fallback fonts-noto-mono galera-3 gawk gcc gcc-8 ghostscript
gir1.2-glib-2.0 gnutls-bin gsfonts imagemagick-6-common iotop libapache2-mod-php libapache2-mod-php7.3 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libasan5 libaspell15 libatomic1 libauthen-sasl-perl libavahi-client3 libavahi-common-data
libavahi-common3 libbinutils libbrotli1 libc-dev-bin libc6-dev libcc1-0 libcgi-fast-perl libcgi-pm-perl libclamav9 libconfig-inifiles-perl libcrack2 libcrypt-openssl-bignum-perl libcrypt-openssl-random-perl libcrypt-openssl-rsa-perl libcups2 libcupsfilters1
libcupsimage2 libcurl4 libdata-dump-perl libdbd-mysql-perl libdbi-perl libde265-0 libdigest-bubblebabble-perl libdigest-hmac-perl libencode-locale-perl libexttextcat-2.0-0 libexttextcat-data libfcgi-perl libfftw3-double3 libfile-listing-perl libfilesys-df-perl
libfont-afm-perl libfontconfig1 libgcc-8-dev libgd3 libgirepository-1.0-1 libgomp1 libgs9 libgs9-common libheif1 libhtml-form-perl libhtml-format-perl libhtml-parser-perl libhtml-tagset-perl libhtml-template-perl libhtml-tree-perl libhttp-cookies-perl
libhttp-daemon-perl libhttp-date-perl libhttp-message-perl libhttp-negotiate-perl libhttp-parser2.8 libijs-0.35 libio-html-perl libio-socket-inet6-perl libio-socket-ssl-perl libisl19 libitm1 libjansson4 libjbig0 libjbig2dec0 libjpeg62-turbo liblcms2-2 liblqr-1-0
liblsan0 liblua5.3-0 liblwp-mediatypes-perl liblwp-protocol-https-perl libmagickcore-6.q16-6 libmagickwand-6.q16-6 libmail-dkim-perl libmail-spf-perl libmailtools-perl libmpc3 libmpfr6 libmpx2 libmspack0 libnet-dns-perl libnet-dns-sec-perl libnet-http-perl
libnet-ip-perl libnet-libidn-perl libnet-smtp-ssl-perl libnet-ssleay-perl libnetaddr-ip-perl libnuma1 libopenjp2-7 libopts25 libpam-cracklib libpam-tmpdir libpaper-utils libpaper1 libpq5 libquadmath0 libreadline5 libruby libsigsegv2 libsnappy1v5 libsocket6-perl
libsodium23 libstemmer0d libswitch-perl libsys-hostname-long-perl libterm-readkey-perl libtfm1 libtiff5 libtimedate-perl libtry-tiny-perl libtsan0 libubsan1 libunwind8 liburi-perl libutempter0 libwebp6 libwebpmux3 libwww-perl libwww-robotrules-perl libx265-165
libxmlrpc-epi0 libxpm4 libxslt1.1 libzip4 linux-libc-dev make manpages-dev mariadb-client mariadb-client-10.3 mariadb-client-core-10.3 mariadb-server-10.3 mariadb-server-core-10.3 openbsd-inetd perl-openssl-defaults php-auth-sasl php-common php-gd php-imagick
php-intl php-mail-mime php-mbstring php-mysql php-net-sieve php-net-smtp php-net-socket php-pear php-pspell php-xml php7.3-cli php7.3-common php7.3-curl php7.3-gd php7.3-intl php7.3-json php7.3-mbstring php7.3-mysql php7.3-opcache php7.3-pspell php7.3-readline
php7.3-xml php7.3-xmlrpc php7.3-zip poppler-data pure-ftpd pure-ftpd-common python-apt python3-dbus python3-distro-info python3-gi re2c roundcube roundcube-core roundcube-mysql roundcube-plugins ruby-activesupport ruby-addressable ruby-aes-key-wrap ruby-atomic
ruby-bindata ruby-concurrent ruby-cookiejar ruby-crack ruby-dbus ruby-diffy ruby-domain-name ruby-em-http-request ruby-em-socksify ruby-erubis ruby-escape-utils ruby-ethon ruby-eventmachine ruby-faraday ruby-ffi ruby-glib2 ruby-hashdiff ruby-http-cookie
ruby-http-parser.rb ruby-httpclient ruby-i18n ruby-json-jwt ruby-log4r ruby-metaclass ruby-mime-types ruby-mime-types-data ruby-mocha ruby-multi-json ruby-multipart-post ruby-oj ruby-password ruby-public-suffix ruby-safe-yaml ruby-sqlite3 ruby-termios
ruby-thread-safe ruby-typhoeus ruby-tzinfo ruby-unf ruby-unf-ext ruby-webmock sa-compile screen smartmontools socat spamassassin spamc sqlite3 ssl-cert strace sympl-backup sympl-cron sympl-dns sympl-firewall sympl-ftp sympl-mail sympl-monit sympl-mysql sympl-updater
sympl-web sympl-webmail tcpd tree ttf-dejavu-core unattended-upgrades update-inetd webalizer xfsprogs
Suggested packages:
apache2-doc apache2-suexec-pristine | apache2-suexec-custom www-browser aspell-doc spellutils binutils-doc libclamunrar clamav-docs daemon cpp-doc gcc-8-locales dbconfig-mysql | dbconfig-pgsql | dbconfig-sqlite | dbconfig-sqlite3 | dbconfig-no-thanks dovecot-gssapi
dovecot-ldap dovecot-lmtpd dovecot-lucene dovecot-mysql dovecot-pgsql dovecot-solr dovecot-sqlite dovecot-submissiond ntp ufw fonts-noto gawk-doc gcc-multilib autoconf automake libtool flex bison gdb gcc-doc gcc-8-multilib gcc-8-doc libgcc1-dbg libgomp1-dbg
libitm1-dbg libatomic1-dbg libasan5-dbg liblsan0-dbg libtsan0-dbg libubsan1-dbg libmpx2-dbg libquadmath0-dbg ghostscript-x libgssapi-perl glibc-doc libclamunrar9 cups-common libclone-perl libmldbm-perl libnet-daemon-perl libsql-statement-perl libfftw3-bin
libfftw3-dev libgd-tools libipc-sharedcache-perl liblcms2-utils libcrypt-ssleay-perl libmagickcore-6.q16-6-extra libauthen-ntlm-perl make-doc mariadb-test netcat-openbsd tinyca poppler-utils fonts-japanese-mincho | fonts-ipafont-mincho fonts-japanese-gothic
| fonts-ipafont-gothic fonts-arphic-ukai fonts-arphic-uming fonts-nanum python-apt-dbg python-apt-doc python-dbus-doc python3-dbus-dbg php-net-ldap2 php-crypt-gpg php-net-ldap3 ruby-nokogiri ruby-simple-oauth ruby-actionpack ruby-haml ruby-rack
ruby-http-parser.rb-doc ruby-mocha-doc byobu | screenie | iselect gsmartcontrol smart-notifier razor pyzor libencode-detect-perl libgeo-ip-perl libnet-patricia-perl sqlite3-doc openssl-blacklist bsd-mailx needrestart xfsdump attr quota
Recommended packages:
sympl-phpmyadmin php7.3-mcrypt
The following packages will be REMOVED:
exim4-daemon-light

Which looks like the full suite?

I went ahead anyway, thinking I would remove the packages I did not want post the install(s). However the install looks to have hung at:


Creating config file /etc/php/7.3/cli/php.ini with new version
Setting up cpp (4:8.3.0-1) …
Setting up libhtml-parser-perl (3.72-3+b3) …
Setting up mariadb-server-10.3 (1:10.3.27-0+deb10u1) …
Created symlink /etc/systemd/system/mysql.service → /lib/systemd/system/mariadb.service.
Created symlink /etc/systemd/system/mysqld.service → /lib/systemd/system/mariadb.service.
Created symlink /etc/systemd/system/multi-user.target.wants/mariadb.service → /lib/systemd/system/mariadb.service.

I’ll re-image the server and have another go but if I’m doing something obviously wrong any pointers would be appreciated!

TW

Apt will tend to install all the recommended packages as well, which is probably why you’re seeing all the dependencies added.

Try apt install --without-recommends sympl-core and see how it goes.

Hi Paul,

I took a slighlty different tack.

When I re-imaged I opted for the Mythic Beast Sympl [Debian Buster] image and this ran through fine and I quickly had a Sympl system up and running.

I then:

apt-get purge --auto-remove sympl-dns
apt-get purge --auto-remove sympl-ftp
apt-get purge --auto-remove sympl-mail
apt-get purge --auto-remove sympl-phpmyadmin
apt-get purge --auto-remove sympl-webmail

And these, on the whole, looked to have ran through O.K and after uninstalling the above packages and rebooting Sympl is still running and serving the default website.

Whilst I’ll have a play with things over the next day or two, I don’t feel 100% confident that I’ve ended up with as clean an install as I would have liked and perhaps in my use case I may be better off just building the lamp stack manually.

Thanks for your and Anahata’s help in getting me this far!

TW

That sounds good - eveything should be modular with the relevant dependencies, but it’s not something that was tested in Symbiosis, so if you do run into any issues let us know and we can update the dependencies.