源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

apache+mysql+php+ssl服务器之完全安装攻略

  • 时间:2020-10-27 10:28 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:apache+mysql+php+ssl服务器之完全安装攻略
目的我们的目标是安装一个允许我们托管多个网站的web服务器,其中一些是针对电子商务的安全解决方案,而大部分网站是通过连接一个rse@engelschall.com | | webmaster@domain1.com # Where documents are kept in the virtual domain # this is an absolute path. So you may want to put # in a location where the owner can get to it. DocumentRoot /home/vhosts/domain1.com/www/ # Since we will use PHP to create basically # all our file we put a directive to the Index file. DirectoryIndex index.php # Name of the server ServerName webmaster@domain2.com # Where documents are kept in the virtual domain DocumentRoot /virtual/domain2.com/www/html # Name of the server ServerName webmaster@securedomain1.com ServerName [url=http://www.securedomain1.com]www.securedomain1.com[/url] ErrorLoglogs/domain1.com-error_log TransferLog logs/domain1.com-transfer_log # SSL Engine Switch: # Enable/Disable SSL for this virtual host. SSLEngine on # Server Certificate: # Point SSLCertificateFile at a PEM encoded certificate. If # the certificate is encrypted, then you will be prompted for a # pass phrase. Note that a kill -HUP will prompt again. A test # certificate can be generated with `make certificate' under # built time. Keep in mind that if you've both a RSA and a DSA # certificate you can configure both in parallel (to also allow # the use of DSA ciphers, etc.) # Note that I keep my certificate files located in a central # location. You could change this if you are an ISP, or ASP. SSLCertificateFile /usr/local/apache/conf/ssl.crt/server.crt # Server Private Key: # If the key is not combined with the certificate, use this # directive to point at the key file. Keep in mind that if # you've both a RSA and a DSA private key you can configure # both in parallel (to also allow the use of DSA ciphers, etc.) SSLCertificateKeyFile /usr/local/apache/conf/ssl.key/server.key # Per-Server Logging: # The home of a custom SSL log file. Use this when you want a # compact non-error SSL logfile on a virtual host basis. CustomLog /usr/local/apache/logs/ssl_request_log "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x "%r" %b" 记住你有很多指令可以指定。我们将在另一篇有关配置Apache的文章中讨论,本文只是一个入门性指南。 生成证书 这是如何生成证书的按部就班的描述。 为你的Apache服务器创建一个RSA私用密钥(被Triple-DES加密并且进行PEM格式化): # openssl genrsa -des3 -out server.key 1024 请在安全的地方备份这个server.key文件。记住你输入的通行短语(pass phrase)!你可以通过下面的命令看到这个RSA私用密钥的细节。 # openssl rsa -noout -text -in server.key 而且你可以为这个RSA私用密钥创建一个加密的PEM版本(不推荐),通过下列命令: # openssl rsa -in server.key -out server.key.unsecure 用服务器RSA私用密钥生成一个证书签署请求(CSR-Certificate Signing Request)(输出将是PEM格式的): # openssl req -new -key server.key -out server.csr 当OpenSSL提示你“CommonName”时,确保你输入了服务器的FQDN("Fully Qualified Domain Name") ,即,当你为一个以后用[url=https://www.foo.dom/]https://www.foo.dom/[/url]访问的网站生成一个CSR时,这里输入"[url=http://www.foo.dom]www.foo.dom[/url]"。你可借助下列命令查看该CSR的细节: # openssl req -noout -text -in server.csr 将CSR发到一个CA 现在你必须发送该CSR到一个CA以便签署,然后的结果才是可以用于Apache的一个真正的证书。 有两种选择: 第一种,你可以通过一个商业性CA如Verisign 或 Thawte签署证书。那么你通常要将CSR贴入一个web表格 ,支付签署费用并等待签署的证书,然后你可以把它存在一个server.crt文件中。关于商业性CA的更多信息,请参见下列链接: Verisign - [url=http://digitalid.verisign.com/server/apacheNotice.htm]http://digitalid.verisign.com/server/apacheNotice.htm[/url] Thawte Consulting - [url=http://www.thawte.com/certs/server/request.html]http://www.thawte.com/certs/server/request.html[/url] CertiSign Certificadora Digital Ltda. - [url=http://www.certisign.com.br]http://www.certisign.com.br[/url] IKS GmbH - [url=http://www.iks-jena.de/produkte/ca]http://www.iks-jena.de/produkte/ca[/url] / Uptime Commerce Ltd. - [url=http://www.uptimecommerce.com]http://www.uptimecommerce.com[/url] BelSign NV/SA - [url=http://www.belsign.be]http://www.belsign.be[/url] 你自己的CA 第二种,你可以利用自己的CA并由该CA签署CSR。你可以创建自己的认证中心来签署证书。最简单的方法是利用OpenSSL提供的CA.sh或 CA.pl脚本。比较复杂而且是手工的方法是: 为你的CA创建一个RSA私用密钥( 被Triple-DES加密并且进行PEM格式化的): # openssl genrsa -des3 -out ca.key 1024 请在安全的地方备份这个ca.key文件。记住你输入的通行短语(pass phrase)!你可以通过下面的命令看到这个RSA私用密钥的细节。 # openssl rsa -noout -text -in ca.key 而且你可以为这个RSA私用密钥创建一个加密的PEM版本(不推荐),通过下列命令: # openssl rsa -in ca.key -out ca.key.unsecure 利用CA的RSA密钥创建一个自签署的CA证书(X509结构)(输出将是PEN格式的): # openssl req -new -x509 -days 365 -key ca.key -out ca.crt 你可以通过下列命令查看该证书的细节: # openssl x509 -noout -text -in ca.crt 准备一个签署所需的脚本,因为"openssl ca"命令有一些奇怪的要求而且缺省的OpenSSL配置不允许简单地直接使用"openssl ca"命令,所以一个名为sign.sh的脚本随mod_ssl分发一道发布(子目录pkg.contrib/)。 使用该脚本进行签署。 现在你可以使这个CA签署服务器的CSR,以便创建用于Apache服务器内部的真正的SSL证书(假定你手头已经有一个server.csr): # ./sign.sh server.csr 它签署服务器的CSR并且结果在一个server.crt文件中。 现在你有两个文件:server.ket和server.crt。在你的Apache的httpd.conf文件中,如下使用它们: SSLCertificateFile /path/to/this/server.crt SSLCertificateKeyFile /path/to/this/server.key server.csr不再需要了。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部