How to generate a FAX compatible multi-page TIFF from a PDF

This is an excellent question, as a reliable answer is amazingly hard to find on the Internet. Most advice works for some PDF files, but not for others. The following commands appear to work OK for any PDF file. If you can find PDF files for which these commands fail, please report this.

Ghostscript is the key tool for converting PDF files to FAX compatible TIFF files. You may see other programs being used for this job, but behind the scenes they usually use Ghostscript to do the hard work. Continue reading

How To Install And Configure Mailman On Ubuntu

In this tutorial I will configure a virtual host with the hostname lists.example.com where I will install Mailman. lists.example.com is also the right part of the mailing list email addresses that will be configured in Mailman, i.e., mails to a mailing list will have to be sent to the address <listname>@lists.example.com.

As your hostname will be different, please adjust this tutorial accordingly. Also make sure that your hostname exists in DNS.

Mailman can be used with many mail servers (e.g. Postfix, Exim, Sendmail, Qmail). I will use Postfix in this tutorial. Make sure you have a working Postfix installation. Continue reading

Enable Apache event MPM with php-fpm

Apache mod_event php-fpmStarting from version 2.4 Apache offers 3 MPM (Multi-processing Module) we can choose from, depending on your needs.

  • The prefork MPM uses multiple child processes without threading. Each process handles one connection at a time without creating separate threads for each. Without going into too much detail, we can say that you will want to use this MPM only when debugging an application that uses, or if your application needs to deal with, non-thread-safe modules like mod_php.
  • The worker MPM uses several threads per child processes, where each thread handles one connection at a time. This is a good choice for high-traffic servers as it allows more concurrent connections to be handled with less RAM than in the previous case.
  • Finally, the event MPM is the default MPM in most Apache installations for versions 2.4 and above. It is similar to the worker MPM in that it also creates multiple threads per child process but with an advantage: it causes KeepAlive or idle connections (while they remain in that state) to be handled by a single thread, thus freeing up memory that can be allocated to other threads. This MPM is not suitable for use with non-thread-safe modules like mod_php, for which a replacement such a PHP-FPM must be used instead.

Continue reading

Skype for Business offline messaging

skype-for-businessBeginning with build 16.0.6701.1000 Click-to-run of Skype for Business 2016 client, you can now send IM messages to contacts that are offline.

Offline IM is a client side feature built into Skype for Business client (2016 C2R build 16.0.6701.1000 or higher) that leverages Exchange Web Services (EWS) to send messages from the Skype for Business client to a recepient’s Exchange mailbox.  EWS must be available to the Skype for Business client for Offline messages to be sent. Continue reading

Deprecated Linux networking commands and their replacements

Specifically, the deprecated Linux networking commands in question are: arp, ifconfigiptunnel, iwconfig, nameif, netstat, and route. These programs (except iwconfig) are included in the net-tools package that has been unmaintained for years and since CentOS 7 it’s deprecated and not installed in a system by default. The functionality provided by several of these utilities has been reproduced and improved in the new iproute2 suite, primarily by using its new ip command. Continue reading

How To Configure Firewall on CentOS 7

FireSince CentOS 7 Firewalld is available by default on servers as a complete firewall solution. This guide will cover the basics of configuration and management using firewall-cmd administrative tool (if you’d rather use iptables with CentOS, follow this guide). Continue reading

How To Migrate from FirewallD to Iptables on CentOS 7

Like most other Linux distributions, CentOS 7 uses the netfilter framework inside the Linux kernel in order to access packets that flow through the network stack. This provides the necessary interface to inspect and manipulate packets in order to implement a firewall system.

Most distributions use the iptables firewall, which uses the netfilter hooks to enforce firewall rules. CentOS 7 comes with an alternative service called firewalld which fulfills this same purpose.

While firewalld is a very capable firewall solution with great features, it may be easier for some users to stick with iptables if they are comfortable with its syntax and happy with its behavior and performance. The iptables command is actually used by firewalld itself, but the iptables service is not installed on CentOS 7 by default. In this guide, we’ll demonstrate how to install the iptables service on CentOS 7 and migrate your firewall from firewalld to iptables (check out this guide if you’d like to learn how to use FirewallD instead). Continue reading

Apache Error: No matching DirectoryIndex (index.html) found

Apache HTTP ServerThis error may occur when attempting to access applications that have an index.php file (or other index file), but not an index.html or other specified ‘directory index’ file.

For example, phpMyAdmin includes an index.php file upon installation, but not an index.html file.

By default Apache is configured with the following:

…meaning that Apache will only look for directory index files that are named index.html. Continue reading

Asterisk dynamic routing with MySQL database

Asterisk PBXFor the next task we will need Asterisk dynamic routing using MySQL: some company has technical department that should provide emergency services on non-working hours. Based on time and date conditions, a call should be routed to a shared department’s extension (technicians) or be sent to a man on duty on non-working time and weekends. A number to dial on non-working hours should be taken from a database during a call execution. In our example, we use MySQL database with a table that contains columns “day”, “month”, “technician” and “number”. Continue reading

Asterisk Function ODBC cannot be read

Asterisk PBXWhile trying to execute ODBC function in Asterisk dialplan error is thrown:
[Oct 27 14:20:21] ERROR[4601]: pbx.c:3380 ast_func_read: Function ODBC_INSERT cannot be read
— Executing [XXXXXXXXX@internal:5] Set(“SIP/out-0000001a”, “ins=”) in new stack

func_odbc.conf looks like this:

and my extensions.conf is:

All variables are correct, ODBC is also configured correctly (read from DB statements work).
Continue reading

Load more