在 xampp Apache Ubuntu 上设置 Certbot

Posted

技术标签:

【中文标题】在 xampp Apache Ubuntu 上设置 Certbot【英文标题】:Setup Certbot on xampp Apache Ubuntu 【发布时间】:2018-11-11 17:21:47 【问题描述】:

我尝试使用:https://certbot.eff.org/lets-encrypt/ubuntuxenial-apache 文档设置 SSL 证书。

它成功了,唯一的问题是它在错误的 Apache 服务器上。我的 Ubuntu 16.04 系统上有 2 个 Apache 服务器。 1 链接到 /var/www/html 而另一个(这个是我的 XWAMPP 服务器)正在链接到 /opt/lampp/htdocs

链接到 /var/www/html 的 Apache 服务器在这个 SSL 被激活。用命令:sudo certbot --apache

我希望它在 XAMPP 的 Apache 服务器上激活。如何编辑此命令以调用其他 Apache 服务器?

【问题讨论】:

【参考方案1】:

我通过以下步骤解决了这个问题: (*) 首先,您应该可以使用 certbot 命令,并且您的虚拟主机应该配置为您需要 https 的域。 f.e. mydomain.com。验证域在您的浏览器中可用。

    sudo yum install certbot python2-certbot-apache certbot --apache-ctl /opt/lampp/bin/apachectl

这个,在 /etc/letsencrypt/live/mydomain.com/ 中创建证书。

    另外,步骤 2 在 /opt/lampp/etc/extra/ 中创建一个新的 vhost 文件。请查阅。 然后,将此新文件添加到您的虚拟主机区域 (/opt/lampp/etc/httpd.conf)。 重新启动您的 xampp apache。

【讨论】:

【参考方案2】:

它会工作,但为此你需要静态 ip 和端口转发 80 和 443 到你的系统 ip 并与域链接你可以尝试 no-ip 他们会给你免费域之后你需要访问https://www.sslforfree.com/ 在此之后按照他们说的步骤。验证后您可以下载 ssl 文件。您需要将提取文件放在 C:\xampp\apache\conf

在此之后转到 C:\xampp\apache\conf\extra

并编辑 httpd-vhosts.conf 和以下内容,您可以根据您的域或根目录进行更改

<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host2.example.com
    DocumentRoot "C:/xampp/htdocs/dummy-host2.example.com"
    ServerName dummy-host2.example.com
    ErrorLog "logs/dummy-host2.example.com-error.log"
    CustomLog "logs/dummy-host2.example.com-access.log" common
</VirtualHost>

<VirtualHost *:443>
    ServerAdmin webmaster@osticket.dev
    DocumentRoot "C:/xampp/htdocs/upload"
    ServerName osticketamcat.ddns.net
    ServerAlias osticketamcat.ddns.net
    SSLEngine on
    SSLCACertificateFile "C:\xampp\apache\conf\ssl\ca_bundle.crt"
    SSLCertificateFile "C:\xampp\apache\conf\ssl.crt\server.crt"
    SSLCertificateKeyFile "C:\xampp\apache\conf\ssl.key\server.key"
    ErrorLog "logs/dummy-host.example.com-error.log"
    CustomLog "logs/dummy-host.example.com-access.log" common
    <Directory "C:/xampp/htdocs/upload">
        Options Indexes FollowSymLinks MultiViews
        AllowOverride all
        Order Deny,Allow
        Allow from all
        Require all granted
</Directory>

【讨论】:

【参考方案3】:

我解决了这个问题。

sudo certbot --apache-ctl /opt/lampp/bin/apachectl

sudo nano /opt/lampp/etc/httpd.conf
------------
# Virtual hosts
Include etc/extra/httpd-vhosts.conf
Include etc/extra/httpd-vhosts-le-ssl.conf #Add it here

【讨论】:

以上是关于在 xampp Apache Ubuntu 上设置 Certbot的主要内容,如果未能解决你的问题,请参考以下文章

Apache/xampp 无法在 ubuntu 端口 80 上运行

安装 Certbot XAMPP Ubuntu

XAMPP Apache 无法在 Ubuntu 20.04.3 LTS 上运行

将站点从 XAMPP 移动到 Ubuntu Apache 服务器?

如何在 apache2 tomcat6 中安装 ffmpeg 或在 ubuntu 中安装 xampp?

在 Apache 上设置虚拟主机(XAMPP、Windows 10)