1、首先新建一个快照。(以防万一o()o)1配置Apache服务器默认站点在 /var/www/配置文件在 /etc/apache2/日志在 /var/log/apache/启动脚本是 /usr/sin/apache2ctl 或者 /etc/init.d/apache21.安装Apache$sudo apt-get install apache2本地站点已经可以打开此时打开的是默认default站点。下面新建一个站点。创建一个默认配置文件的拷贝:$sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/te
2、st我们的站点假设叫test查看Apache2的配置文件,确保如下配置存在:DocumentRoot /var/www 编辑我们刚刚建立的配置文件建立我们的文件夹保存我们网站的文件/var/www./test通过以下命令激活我们的第二个网站$a2ensite test在我们的目录下创建index.html重启Apache服务器2添加SSL支持ssl协议默认是在web server的443端口监听,所以,访问ssl会产生如下形式的访问:http:/ip:443/这样将与http:port/里的port冲突。因此我们采用默认的default将系统恢复成一些Ubuntu包依赖于安装OpenSSL,但
3、如果你希望初始化安装OpenSSL和库文件,在终端提示符下使用以下apt-get命令:$ sudo apt-get install openssl 首先,确保apache2 的ssl模块已经加载:$sudo a2enmod ssl创建初始工作环境$cd & mkdir -p myCA/signedcerts & mkdir myCA/private & cd myCA创建并进入myCA,同时生成两个子目录 signedcerts和privatemyCA用于存放CA证书,证书数据库,生成的证书,密钥以及请求signedcerts:保存签名证书的copyprivate: 包含私钥在myCA中创建证
4、书库:$echo 01serial & touch index.txt然后创建f文件。$sudo nano /myCA/f内容如下:# My sample f file.# Default configuration to use when one is not provided on the command line. ca default_ca = local_ca# Default location of directories and files needed to generate certificates. local_ca dir = /home/paulcony/myCAcer
5、tificate = $dir/cacert.pemdatabase = $dir/index.txtnew_certs_dir = $dir/signedcertsprivate_key = $dir/private/cakey.pemserial = $dir/serial# Default expiration and encryption policies for certificates.default_crl_days = 365default_days = 1825default_md = md5policy = local_ca_policyx509_extensions =
6、local_ca_extensions# Default policy to use when generating server certificates. The following# fields must be defined in the server certificate. local_ca_policy commonName = suppliedstateOrProvinceName = suppliedcountryName = suppliedemailAddress = suppliedorganizationName = suppliedorganizationalUn
7、itName = supplied# x509 extensions to use when generating server certificates. local_ca_extensions subjectAltName = DNS:basicConstraints = CA:falsensCertType = server# The default root certificate generation policy. req default_bits = 2048default_keyfile = /home/paulcony/myCA/private/cakey.pemprompt
8、 = nodistinguished_name = root_ca_distinguished_namex509_extensions = root_ca_extensions# Root Certificate Authority distinguished name. Change these fields to match# your local environment! root_ca_distinguished_name commonName = MyOwn Root Certificate AuthoritystateOrProvinceName = NCcountryName =
9、 USemailAddress = *organizationName = Trade Show HellorganizationalUnitName = IT Department root_ca_extensions true生成CA 根证书和密钥$export OPENSSL_CONF=/myCA/f该命令用于给环境变量OPENSSL_CONF赋值为f。然后,生成CA证书和密钥$openssl req -x509 -newkey rsa:2048 -out cacert.pem -outform PEM -days 1825以上步骤生成了自签名的证书,和RSA公/私密钥对。证书的格式是P
10、EM,有效期是1825天。/myCA/cacert.pem: CA公开证书/myCA/private/cakey.pem:CA私钥配置CA后,便可以对证书进行自签名。首先,你可能希望用密码短语加密证书的私钥。加密后,即使证书失窃,也可以有效保护。使用SSL的应用启动后,必须要输入密码短语后才能使用证书。问题是,如果该服务处于无人监管的情况下,譬如当电脑重启,如果没人输入密码短语,那么web server无法使用。折中方法是:私钥可以被解密,这样服务可以自动启动。实际生成自签名的证书,使用以下步骤:生成服务器配置文件配置文件准备好之后,使用如下命令生成服务器证书:该命令设置环境变量OPENSSL
11、_CONF,使得openssl更换配置文件。然后生成证书和密钥:$openssl req -newkey rsa:1024 -keyout tempkey.pem -keyform PEM -out tempreq.pem -outform PEM同样的,需要输入密码短语。然后,需要将临时私钥转换为unencrypted key。命令如下:$openssl rsa server_key.pem需要输入密码短语。现在,需要使用CA key对服务器证书签名:$openssl ca -in tempreq.pem -out server_crt.pem删除临时证书和密码文件。$rm -f tempk
12、ey.pem & rm -f tempreq.pem现在,自签名的服务应用证书和密钥对便产生了:1. server_crt.pem : 服务应用证书文件2. server_key.pem : 服务应用密钥文件X.509证书转换用户版本PKCS#12如果需要从服务器的根CA X.509生成用户使用的PKCS#12,使用以下步骤:下面命令生成包含证书和密钥对的文件:$openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout mycert.pem -out mycert.pem然后,下面的命令将该文件生成PKCS#12:$openssl
13、pkcs12 -export -out mycert.pfx -in mycert.pem -name Certificate for whatever会提示输入密码,可以不输。生成的mycert.pfx文件可以被诸如浏览器、E-mail客户端的应用程序导入,因为这个证书代表了服务器的根CA 证书,所有由该CA证书前面的服务器级证书都会被安装了证书PKCS#12版本的客户应用接受。将证书导入Firefox在Mozilla Firefox中导入证书:1. Firefox Edit-preference2. 点击Advanced3. 点击View Certificate4. 点击Import5.
14、找到certificate文件所在位置,.pfx文件6. 选中pfx文件,点击open7. 可能提示输入firefox的主密码,或者当场生成一个;点击OK8. 提示输入证书的输出密码,如果没有与证书相关的密码,点击OK;否则输入,点击OK9. 出现成功信息;10.点击OK11. 成功地导入了PKCS#12证书。安装证书sudo cp server_crt.pem /etc/ssl/certs sudo cp server_key.pem /etc/ssl/private$sudo nano /etc/apache2/sites-available/default-sslSSLCertificateFile /etc/ssl/certs/server_crt.pemSSLCertificateKeyFile/etc/ssl/private/server_key.pemOpenSSL配置完成
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2