Error message :
magento/product-community-edition 2.2.1 requires ext-soap * -> the requested PHP extension soap is missing from your system.
To install SOAP, it is not required to compile PHP from source. Advice is to do a compilation only as a last option.
To check if your phpinfo indicates anything about the SOAP extensions:
$ php -i | grep -i soap
To make sure the PHP extension is missing.
Assuming you don't see any information about SOAP with phpinfo, you can check what PHP SOAP packages are available.
In Ubuntu/Debian, you can search with:
$ apt-cache search php | grep -i soap
or in RHEL/Fedora you can search with:
$ yum search php | grep -i soap
There are usually two PHP SOAP packages available, usually php-soap and php-nusoap. php-soap is what you get by configuring PHP with--enable-soap.
In Ubuntu/Debian, you can install it with:
$ sudo apt-get install php-soap
In RHEL/Fedora, you can install it with:
$ sudo yum install php-soap
After installation check the php ini file and restart Apache.
Now if you run this command :
$ php -i | grep -i soap
Could you get something like this on screen in the terminal :
$ php -i | grep -i soap
/etc/php/7.0/cli/conf.d/20-soap.ini,
soap
Soap Client => enabled
Soap Server => enabled
soap.wsdl_cache => 1 => 1
soap.wsdl_cache_dir => /tmp => /tmp
soap.wsdl_cache_enabled => 1 => 1
soap.wsdl_cache_limit => 5 => 5
soap.wsdl_cache_ttl => 86400 => 86400