Payment Gateway Implementation
Payment Gateway Implementation
1) To obtain an online merchant account for a particular credit card from a bank;
2) To select a payment gateway that will process the credit card information; and
3) To integrate your website with the payment gateway.
For 8.1: by hand, following the apache and mod_ssl documentation. With later packages:
•
1. place your server certificates in /etc/apache2/ssl*/ so the locations match
up with /etc/apache2/ssl.conf or run /usr/bin/gensslcert2 to create dummy
certs
2. add "ssl" to APACHE_MODULES and "SSL" to
APACHE_SERVER_FLAGS in /etc/sysconfig/apache2
There is no mod_ssl RPM for apache2: The module is no longer a problem with regard to
export restrictions and, in addition, mod_ssl has been included into the Apache base
distribution.
On SuSE 9.1, when you install your software, in YAST2, search for apache. Install all the
apache2 items and none of the plain apache ones. If you are not running SuSE, the
directory locations may change. Be sure to run the online update in Yast2 because there
have been many fixes to both Apache and OpenSSH. If you use php, I have seen Web
pages that advise upgrading to the latest versions.
In Yast2 you can configure the non-SSL server in Network Services/HTTP server. Do not
turn on SSL in the default host or else the non-ssl host (on port 80) will try to look for
certificates. Also, if you have the SuSE firewall turned on, be sure to allow port 443 (or
the port you choose for SSL) through the firewall.
This will insert apache 2 in the correct startup and shutdown scripts.
Overall guidance
There is a good quick start document in
/usr/share/doc/packages/apache2/README.QUICKSTART.SSL
Getting a certificate
If you installed all the apache2 modules, the manual should be available on your
machine. Go to
http://localhost/manual/ssl/ssl_faq.html#aboutcerts
and either get a "real" certificate or create your own following the instructions there.
Eric Busse gave the following hints about generating your own certificate:
If you are not going to be at the console whenever your computer reboots, follow the
instructions for using an unencrypted (but protected) server key. Be sure it is protected
with access permissions 400.
If you run gensslcert, you should look at the man page and run it with all of the
arguments.
For example:
ServerName 192.168.1.10
gensslcert will put the certificates in the correct directories. If you get a "real" certificate,
install the server key in
/etc/apache2/ssl.key/server.key
and the server certificate in
/etc/apache2/ssl.crt/server.crt
Configuration
/etc/sysconfig/apache2:
Add ssl to
APACHE_MODULES="access actions alias auth auth_dbm autoindex cgi dir env
expires include log_config mime negotiation setenvif status suexec userdir ssl"
Add the server flag SSL to turn on the SSL module configuration file
(/etc/apache2/ssl.conf)
APACHE_SERVER_FLAGS="-D SSL"
In /etc/apache2/vhosts.d,
cp vhost-ssl.template vhost-ssl.conf
You can also copy the vhost.template file to vhost.conf if you want a non-ssl server.
/etc/apache2/vhosts.d/vhost-ssl.conf:
You must configure the virtual directory for the server. You can put all the access control
directives and the document root here.
#
## SSL Virtual Host Context
##
<VirtualHost _default_:443>
# General setup for the virtual host
DocumentRoot "/srv/www/secdocs"
# The ServerName must be identical to the -n field in your certificate
ServerName 192.168.1.10
ServerAdmin [email protected]
ErrorLog /var/log/apache2/error_log
TransferLog /var/log/apache2/access_log
There seems to be another problem that several other frustrated people have run across.
In spite of putting the
APACHE_SERVER_FLAGS="-D SSL"
in /etc/sysconfig/apache2 file, the system seems to ignore the directive. You can see if
this is the case on your system.
As root run
JARDELL:SuSEconfig
To aid in determining what is happening, you can also raise the error logging level in
/etc/sysconfig/apache2:
APACHE_LOGLEVEL="debug"
This will let you see what the ServerName in the certificate is. If this name is not
identicat to the one in the vhost-ssl.conf file, apache2 will not start in SSL mode!
http://www.verisign.com/support/ssl-certificates-support/install-ssl-certificate.html
http://www.verisign.com/support/ssl-certificates-support/extended-validation/apache.html
This small guide describes a simple configuration to use SSL for Apache2 httpd
on Debian GNU/Linux 3.1 (Sarge). At this point you should already have a
running Apache2 on your Debian system. With some minor modifications you
should be able to use this guide for any Apache2 running on any OS.
Configuration
NOTE: if you want to use a selfsigned certificate you can run the Debianspecific
command apache2-ssl-certificate. It will create a private key and a matching self
signed certificate. Else you should create a private key and a certificate yourself
(it is recommended to create a certificate signing request and let a commercial
CA sign it so browsers will trust the webserver by default). See this list of SSL
commands to do that.
1. Make a copy of /etc/apache2/sites-available/default in the same directory.
Call it something like ssl.
2. Make a symlink to this new site configuration from /etc/apache2/sites-
enabled/. Notice that this is already done for default.
3. Make apache load and configure the SSL module.
4. Add a Listen 443 directive to /etc/apache2/ports.conf
5. Now edit /etc/apache2/sites-available/ssl:
6. NameVirtualHost *:443
7. <VirtualHost *:443>
8. SSLEngine On
9. SSLCertificateFile /etc/apache2/ssl/apache.pem
10. ...
11. </VirtualHost>
If you are not using a selfsigned certificate (which is highly
recommended), then don't forget to add one of these lines so your
webserver can send the full certificate chain to the client (this is usually
required for a browser/client to trust the server):
SSLCertificateChainFile /usr/local/ssl/crt/intermediate.crt
OR
SSLCACertificatePath /full/path/to/apache/conf/certs
note: the correct BenSSL directive is SSLCACertificateFile or
SSLCACertificatePath
Restart Apache2:
root# / e t c / i n i t . d /apache2 res ta r t
Res ta r t i ng apache .
HTTPS should work now. Try: https://hostname/
The first step is to create your RSA Private Key. This key is a 1024 bit RSA key which is encrypted
using Triple-DES and stored in a PEM format so that it is readable as ASCII text.
The command will prompt you for a pass-phrase and then store the key in the file server.key. It is
critical that the pass-phrase be secure and not forgotten. If either the key is lost, or the pass-
phrase is forgotten, the certificate will be useless!. You might want to consider using an empty
passphrase so apache could restart on its own without a pass-phrase. Check the web for
documentation on best practices
Once the private key is generated a Certificate Signing Request can be generated.
During the generation of the CSR, you will be prompted for several pieces of information.
A sample CSR generation session is shown below,
At this point you can choose to generate a self-signed certificate, or obtain a certificate from a
certification authority. The second option is preferable as it will provide a higher level of trust to
users visiting your SSL secured pages.
To generate a self-signed certificate which is good for a year, issue the following command:
$ openssl x509 -req -days 365 -in server.csr -signkey server.key -out
server.crt
Or, purchase and request an SSL certificate from a certificate vendor such as Thawte, GeoTrust or
Comodo using the csr generated above.
1. Make a folder (ssl.crt) under apache/conf and copy the certificate there.
2. Make another folder(ssl.key) under apache/conf and copy the key there.
2. Search for follownig lines of code. If it is not present or commneted, then add it or
uncomment it.
3. <IfModule mod_ssl.c>
4. Include conf/ssl.conf
</IfModule>
Listen 443
Payment gateway :
Mailing list archives
Site index · List index
Message
« Date » · « Thread »
view
Top « Date » · « Thread »
From "Boyle Owen" <[email protected]>
RE: [users@httpd] multiple vhosts on port 80 and
Subject port 443
Date Thu, 19 Oct 2006 13:16:34 GMT
> -----Original Message-----
> From: joe pond [mailto:[email protected]]
> Sent: Thursday, October 19, 2006 2:59 PM
> To: [email protected]
> Subject: [users@httpd] multiple vhosts on port 80 and port 443
>
> I noticed on 10/19/2006 several postings about this. I may
> have included too
> much stuff but some folks may need the info.
>
> The following configuration setup enables me to have multiple
> vhost on port
> 80 and multiple vhosts on port 443 and I can require
> login/password or not
> for eithe port 80 or port 443.
>
> The non-matching server name on the 2nd 443 host would seem to be
> resolveable by creating another certificate with that servers
> name in it but
> I have not tried that yet.
Check the archive for SSL NBVH - it's been gone over a million times
already...
Rgds,
Owen Boyle
Disclaimer: Any disclaimer attached to this message may be ignored.
>
> HTH
>
> digger920
>
Message
« Date » · « Thread »
view
>
> Apache2.2.X, SSL, Vhosts
>
> I use include files to make troubleshooting a bit easier.
> This is a WAMP server BTW.
>
> In httpd.conf
>
> Listen 192.168.10.4:80
> Listen 192.168.10.4:443
>
> LoadModule ssl_module modules/mod_ssl.so
>
>
>
> # Virtual hosts
> Include conf/extra/httpd-vhosts.conf
>
> # Secure (SSL/TLS) connections
> Include conf/extra/httpd-ssl.conf
>
> <IfModule ssl_module>
> SSLMutex default
> SSLSessionCache none
> SSLRandomSeed startup builtin
> SSLRandomSeed connect builtin
> </IfModule>
>
> ========================
>
> In httpd-vhosts.conf
>
> NameVirtualHost *:80
>
> <VirtualHost *:80>
> ServerAdmin whoever@where-ever
> ServerName juneau
> DocumentRoot "C:/Server/Apache2.2/htdocs"
>
> #ErrorLog logs/dummy-host.example.com-error_log
> #CustomLog logs/dummy-host.example.com-access_log common
> </VirtualHost>
>
> <VirtualHost *:80>
> ServerAdmin whoever@where-ever
> ServerName ASite
> #ServerAlias Test1
> DocumentRoot "C:/Server/Apache2.2/htdocs/www/A-Site"
>
> #ErrorLog logs/dummy-host2.example.com-error_log
> #CustomLog logs/dummy-host2.example.com-access_log common
> </VirtualHost>
>
Message
« Date » · « Thread »
view
> <VirtualHost *:80>
> ServerAdmin whoever@where-ever
> ServerName secure
> DocumentRoot "C:/Locked"
> <Directory /Locked>
> AuthType Basic
> AuthName "Locked Test"
> AuthUserFile C:/Server/Apache2.2/htdocs/passwords/pwrd
> Require user testuser
> Order allow,deny
> Allow from all
> </Directory>
> #ErrorLog logs/dummy-host2.example.com-error_log
> #CustomLog logs/dummy-host2.example.com-access_log common
> </VirtualHost>
>
> ==================================
>
> In httpd-ssl.conf
>
> NameVirtualHost *:443
>
> ## SSL Global Context
>
> AddType application/x-x509-ca-cert .crt
> AddType application/x-pkcs7-crl .crl
>
> SSLSessionCache
> shmcb:c:/server/apache2.2/logs/ssl_scache(512000)
> SSLSessionCacheTimeout 300
>
> ## SSL Virtual Host Context
>
> <VirtualHost *:443>
>
> # General setup for the virtual host
> ServerName juneau
> ServerAdmin whoever@where-ever
> DocumentRoot "c:/SecureToo/"
>
> <Directory /SecureToo>
> Order allow,deny
> Allow from all
> </Directory>
>
>
> ErrorLog
> c:/server/apache2.2/logs/vhost_SSL_error_log.log
> TransferLog
> c:/server/apache2.2/logs/vhost_SSL_access_log.log
>
>
> # SSL Engine Switch:
Message
« Date » · « Thread »
view
> # Enable/Disable SSL for this virtual host.
> SSLEngine on
>
> SSLCipherSuite
> ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
>
> SSLCertificateFile c:/server/apache2.2/conf/ssl/juneau.crt
>
> SSLCertificateKeyFile c:/server/apache2.2/conf/ssl/juneau.key
>
> SSLCertificateChainFile c:/server/apache2.2/conf/ssl/juneau.crt
>
> <FilesMatch "\.(cgi|shtml|phtml|php)$">
> SSLOptions +StdEnvVars
> </FilesMatch>
> <Directory "c:/server/apache2.2/cgi-bin">
> SSLOptions +StdEnvVars
> </Directory>
>
> BrowserMatch ".*MSIE.*" \
> nokeepalive ssl-unclean-shutdown \
> downgrade-1.0 force-response-1.0
>
> CustomLog c:/server/apache2.2/logs/ssl_request_log \
> "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
>
> </VirtualHost>
>
> <VirtualHost *:443>
> ServerAdmin whoever@when-ever
> ServerName secure
> DocumentRoot "C:/Locked/"
> <Directory /Locked>
> AuthType Basic
> AuthName "Locked Test"
> AuthUserFile C:/Server/Apache2.2/htdocs/passwords/pwrd
> Require user jpond
> Order allow,deny
> Allow from all
> </Directory>
> #ErrorLog logs/dummy-host2.example.com-error_log
> #CustomLog logs/dummy-host2.example.com-access_log common
> </VirtualHost>
>
> _________________________________________________________________
> Add a Yahoo! contact to Windows Live Messenger for a chance
> to win a free
> trip!
> http://www.imagine-windowslive.com/minisites/yahoo/default.asp
x?locale=en-us&hmtagline
>
>
> ---------------------------------------------------------------------
Message
« Date » · « Thread »
view
> The official User-To-User support forum of the Apache HTTP
> Server Project.
> See <URL:http://httpd.apache.org/userslist.html> for more info.
> To unsubscribe, e-mail: [email protected]
> " from the digest: [email protected]
> For additional commands, e-mail: [email protected]
>
This message is for the named person's use only. It may contain
confidential, proprietary
or legally privileged information. No confidentiality or privilege is
waived or lost by any
mistransmission. If you receive this message in error, please notify
the sender urgently and
then immediately delete the message and any copies of it from your
system. Please also immediately
destroy any hardcopies of the message. You must not, directly or
indirectly, use, disclose,
distribute, print, or copy any part of this message if you are not the
intended recipient.
The sender's company reserves the right to monitor all e-mail
communications through their
networks. Any views expressed in this message are those of the
individual sender, except where
the message states otherwise and the sender is authorised to state them
to be the views of
the sender's company.
---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server
Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: [email protected]
" from the digest: [email protected]
For additional commands, e-mail: [email protected]