Download the PHP package fbett/le_acme2 without Composer
On this page you can find all versions of the php package fbett/le_acme2. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download fbett/le_acme2
More information about fbett/le_acme2
Files in fbett/le_acme2
Package le_acme2
Short Description Letsencrypt PHP ACME v2 client
License MIT
Homepage https://github.com/fbett/le-acme2-php
Informations about the package le_acme2
le-acme2-php
LetsEncrypt client library for ACME v2 written in PHP.
This library is inspired by yourivw/LEClient, completely rewritten and enhanced with some new features:
- Support for Composer autoload (including separated Namespaces)
- Automatic renewal process
- Managed HTTP authentication process
- Response caching mechanism
- Prevents blocking while waiting for server results
- Optional set a preferred chain
The aim of this client is to make an easy-to-use and integrated solution to create a LetsEncrypt-issued SSL/TLS certificate with PHP.
You have the possibility to use the HTTP authentication: You need to be able to redirect specific requests (see below)
You have also the possibility to use DNS authentication: You need to be able to set dynamic DNS configurations.
Wildcard certificates can only be requested by using the dns authentication.
Current version
Tested with LetsEncrypt staging and production servers.
Prerequisites
The minimum required PHP version is 8.2.
This client also depends on cURL and OpenSSL.
Getting Started
Install via composer:
Also have a look at the LetsEncrypt documentation for more information and documentation on LetsEncrypt and ACME.
Example Integration
-
Create a working directory. Warning: This directory will also include private keys, so i suggest to place this directory somewhere not in the root document path of the web server. Additionally this directory should be protected to be read from other web server users.
-
(HTTP authorization only) Create a directory for the acme challenges. It must be reachable by http/https.
- (HTTP authorization only) Redirect specific requests to your acme-challenges directory
Example apache virtual host configuration:
- (DNS authorization only) Set the DNS configuration
If DNSWriter::write(...)
is called, set the DNS configuration like described in:
https://letsencrypt.org/docs/challenge-types/#dns-01-challenge
(By adding the digest as a TXT record for the subdomain '_acme-challenge'.)
- Use the certificate bundle, if the certificate is issued:
If a certificate is renewed, the path will also change.
My integrated workflow is the following:
- User enables SSL to a specific domain in my control panel
- The cronjob of this control panel will detect these changes and tries to create or get an order like in the sample.
- The cronjob will fetch the information within the certificate bundle, if the certificate bundle is ready (mostly on the second run for challenge type HTTP and on the third run for challenge type DNS)
- The cronjob will also build the Apache virtual host files and will restart the Apache2 service, if the new config file is different.
Please take a look on the Samples for a full sample workflow.
License
This project is licensed under the MIT License - see the LICENSE.md file for details.
All versions of le_acme2 with dependencies
ext-curl Version *
ext-openssl Version *
ext-json Version *