কীভাবে সার্টবোট প্লাগইন ইনস্টল করবেন?


19

আমি এই টিউটোরিয়াল অনুসরণ করে সার্টবট ইনস্টল করেছি :

sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
sudo apt-get install python-certbot-nginx

এবং এখন আমি আমার শংসাপত্র সেট আপ করতে চাই, তবে আমার dns-digitaloceanপ্লাগইনটি দরকার :

# certbot certonly --dns-digitalocean
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Could not choose appropriate plugin: The requested dns-digitalocean plugin does not appear to be installed
The requested dns-digitalocean plugin does not appear to be installed

আমি এটি দিয়ে এটি ইনস্টল করার চেষ্টা করেছি pip:

pip install certbot-dns-digitalocean

তবে দৃশ্যত অ্যাপটি-গেট সংস্করণটি এটি "দেখছে" না।

আমি কীভাবে এটি সঠিকভাবে ইনস্টল করব?

উত্তর:


15

আরও ভাল পদ্ধতি, আমাকে এটি পেতে সহায়তা করার জন্য অন্যের প্রতিক্রিয়াগুলিকে ধন্যবাদ।

বর্তমানে কোন প্লাগইন ইনস্টল করা আছে তা নির্ধারণ করুন:

# certbot-auto plugins
Saving debug log to /var/log/letsencrypt/letsencrypt.log

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
* apache
Description: Apache Web Server plugin - Beta
Interfaces: IAuthenticator, IInstaller, IPlugin
Entry point: apache = certbot_apache.entrypoint:ENTRYPOINT

* nginx
Description: Nginx Web Server plugin
Interfaces: IAuthenticator, IInstaller, IPlugin
Entry point: nginx = certbot_nginx.configurator:NginxConfigurator

* standalone
Description: Spin up a temporary webserver
Interfaces: IAuthenticator, IPlugin
Entry point: standalone = certbot.plugins.standalone:Authenticator

* webroot
Description: Place files in webroot directory
Interfaces: IAuthenticator, IPlugin
Entry point: webroot = certbot.plugins.webroot:Authenticator
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

আপনার সার্টবোট কোথায় (আমার ক্ষেত্রে সার্টবোট-অটো) ইনস্টল করা হয়েছে তা নির্ধারণ করুন:

# find / -name certbot
/opt/eff.org/certbot
...

ভার্চুয়াল এনভিতে প্রবেশ করুন এবং প্লাগইন ইনস্টল করুন

cd /opt/eff.org/certbot/venv
source bin/activate
pip install certbot-dns-google
deactivate

আবার certbot প্লাগইন যাচাই করুন

# certbot-auto plugins
Saving debug log to /var/log/letsencrypt/letsencrypt.log

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
* apache
Description: Apache Web Server plugin - Beta
Interfaces: IAuthenticator, IInstaller, IPlugin
Entry point: apache = certbot_apache.entrypoint:ENTRYPOINT

* dns-google
Description: Obtain certificates using a DNS TXT record (if you are using Google
Cloud DNS for DNS).
Interfaces: IAuthenticator, IPlugin
Entry point: dns-google = certbot_dns_google.dns_google:Authenticator

* nginx
Description: Nginx Web Server plugin
Interfaces: IAuthenticator, IInstaller, IPlugin
Entry point: nginx = certbot_nginx.configurator:NginxConfigurator

* standalone
Description: Spin up a temporary webserver
Interfaces: IAuthenticator, IPlugin
Entry point: standalone = certbot.plugins.standalone:Authenticator

* webroot
Description: Place files in webroot directory
Interfaces: IAuthenticator, IPlugin
Entry point: webroot = certbot.plugins.webroot:Authenticator
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

দয়া করে নোট করুন যে এটি ক্রোন করা কঠিন হতে পারে, সার্টিবোট-অটো সংস্করণ আপগ্রেডগুলির ফলে আপনাকে আবার "পিপ ইনস্টল" অংশটি ক্রোন করতে হবে।
রায়ান

10

প্রথম রান

# type certbot
certbot is hashed (/usr/bin/certbot)

কোথায় certbotইনস্টল করা হয়েছে তা খুঁজে বের করতে। অথবা command -v certbotআপনি যদি পছন্দ করেন।

তারপরে এটি চালনা করে দেখুন head /usr/bin/certbotএবং পাইথনের এটি কী সংস্করণ ব্যবহার করছে:

#!/usr/bin/python3

আমার ক্ষেত্রে এটি পাইথন 3 ব্যবহার করছিল।

আমি আমার পাইপ আউটপুট থেকে লক্ষ্য করেছি যে এটি পাইথন ২.7 প্যাকেজ ইনস্টল করার চেষ্টা করছে:

# pip install certbot-dns-digitalocean
Requirement already satisfied: certbot-dns-digitalocean in /usr/local/lib/python2.7/dist-packages

সুতরাং পরিবর্তে পাইথন 3 প্যাকেজ ইনস্টল করার জন্য আমরা কীভাবে পাইপ পাই? কেবল নির্দেশগুলি এখানে থেকে অনুলিপি করুন :

cd /tmp
curl -O https://bootstrap.pypa.io/get-pip.py
python3 get-pip.py
rm get-pip.py

এখন আপনার pip3কমান্ড থাকা উচিত , সুতরাং পরিবর্তে এটি চালান:

pip3 install certbot-dns-digitalocean

এবং এখন আবার চেষ্টা করুন:

# certbot plugins
Saving debug log to /var/log/letsencrypt/letsencrypt.log

-------------------------------------------------------------------------------
* dns-digitalocean
Description: Obtain certs using a DNS TXT record (if you are using DigitalOcean
for DNS).
Interfaces: IAuthenticator, IPlugin
Entry point: dns-digitalocean =
certbot_dns_digitalocean.dns_digitalocean:Authenticator

আপনি যদি এই ত্রুটি ImportError: cannot import name 'sysconfig'ইনস্টল প্যাকেজ চালানো হয় python3-distutils। এটি এবং সুডো ব্যবহার করে কৌশলটি করা হয়েছিল। আমার কাছে রুট 53 প্লাগইন লোড হয়েছে।
ডিসিবেলার

8

এখন (জুলাই 2018), আপনি যে কোনওটি ব্যবহার করতে সক্ষম হবেন

pip install certbot-dns-digitalocean

অথবা

git clone https://github.com/certbot/certbot.git
cd certbot/certbot-dns-digitalocean/
python setup.py install

sudoউভয়ের জন্য আপনার বিশেষাধিকারের প্রয়োজন হতে পারে ।

ইনস্টল করার পরে আপনি এর সাথে প্লাগইন দেখতে সক্ষম নাও হতে পারেন certbot pluginsতবে আপনি certbot certonly --dns-digitaloceanঠিকঠাক করতে পারবেন ।


1
লেগে থাকা. আপনি কীভাবে তখন সার্টবোট ইনস্টল করবেন? আমার মনে হয় আমার সমস্যাটি হ'ল আমি সার্টিবোটটি সাথে aptএবং তার certbot-dns-digitaloceanসাথে ইনস্টল করেছি pipএবং সার্টিবোট এটি সন্ধান করতে সক্ষম হয় নি।
এমপেন

হ্যাঁ, এবং আমি এটি আপনার মতো করে ইনস্টল করেছি। আপনি যেভাবে ইনস্টল করেছেন pipতা কি অন্যরকম? আমি aptপাইথনটি ২.7 ইনস্টল করেছিলাম এবং তারপরে sudo easy_install pip(এগুলির একটি ইনস্টল প্রয়োজন হতে পারে python-setuptools python-dev build-essential)
এম ডেভিস

3

ডিএনএস প্লাগইন ব্যবহার করতে আপনাকে ডকার ব্যবহার করতে হবে। ডিএনএস প্লাগইন থেকে :

এই প্লাগইনগুলি এখনও অনেক বিতরণের মাধ্যমে প্যাকেজ হওয়ার প্রক্রিয়াধীন রয়েছে এবং বর্তমানে এটি ইনস্টল করা যায় না certbot-auto। তবে, যদি আপনি নিজেরাই শংসাপত্রগুলি ইনস্টল করতে স্বাচ্ছন্দ্য বোধ করেন তবে আপনি এই প্লাগিনগুলি ডকারের সাথে চালাতে পারেন ।


ডক আরও বলেছে : "বেশিরভাগ ব্যবহারকারীর অপারেটিং সিস্টেম প্যাকেজগুলি ব্যবহার করা উচিত (certbot.eff.org- এ নির্দেশাবলী দেখুন) বা, ফ্যালব্যাক হিসাবে, certbot-autoআপনার কেবলমাত্র ডকার ব্যবহার করা উচিত যদি আপনি নিশ্চিত হন যে আপনি কী করছেন এবং আপনার কোনও ভাল কারণ রয়েছে তাই না."
টোটার

2

আপনি কীভাবে সার্টবোট প্লাগইন ইনস্টল করবেন তার উপর নির্ভর করে আপনি কীভাবে নিজেরাই সার্টবোট ইনস্টল করেছেন। আপনি যদি কিছু প্যাকেজ ম্যানেজার ব্যবহার করে সার্টবোট ইনস্টল করেন (অ্যাপ্লিকেশন, আরপিএম, ব্রিউ ...), তবে আপনাকে সেই প্যাকেজ পরিচালকের রিপোজিটরিতে সামঞ্জস্যপূর্ণ সার্টবোট প্লাগইনগুলি সন্ধান করা উচিত।

আসুন এনক্রিপ্ট বিকল্প বিকল্প পদ্ধতিটিও সমর্থন করে: সার্টিবোট-অটো মোড়কে। এই মোড়ক একটি বেসরকারী পাইথন ভার্চুয়াল ইনস্টলেশন তৈরি করে (সাধারণত ইন /opt/eff.org/certbot/venv), এবং সেই ডিরেক্টরিতে সার্টবোট ইনস্টল করে। সার্টবোট-অটোটির একটি দুর্দান্ত বৈশিষ্ট্য হ'ল এটি স্বয়ংক্রিয়ভাবে সার্টবট ক্লায়েন্টকে আপ টু ডেট রাখে। একটি বড় ক্ষতি হ'ল এটি আনুষ্ঠানিকভাবে প্লাগইন ইনস্টলেশন সমর্থন করে না (এটি ডিফল্টরূপে ইনস্টল হওয়া চারটি প্লাগইন বাদে)।

রায়ান জি এর সমাধানে বর্ণিত হিসাবে এই সীমাবদ্ধতাটি ঘিরে কাজ করা যথেষ্ট সহজ । তবে, এই পদ্ধতির মাধ্যমে ইনস্টল হওয়া প্লাগইনগুলি প্রতিবারই সের্টবোট-অটো আপডেট হয়ে যায়, যার ফলে এলোমেলোভাবে পুনর্নবীকরণ ব্যর্থ হতে পারে। এখানে, আমাদের কয়েকটি পরিস্থিতি হয়েছে যেখানে কিছু শংসাপত্রগুলি প্রায় এই সমস্যার কারণে শেষ হয়ে গেছে। বেশ কয়েকটি টিকিট এই সমস্যাটি সের্টবোটের বাগ ট্র্যাকারে নিয়ে আলোচনা করে এবং দলটি সমস্যাটি স্বীকার করে, তবে মনে হয় সমস্যাটি বাস্তবে স্থির হওয়ার আগে এটি এখনও অনেক দীর্ঘ হতে পারে।

অতএব, যদি কোনও স্বয়ংক্রিয় সেটআপে সেরিটবট-অটো ব্যবহার করা হয়, তবে এটি হয় সার্টিবোট-অটো-র স্ব-আপডেট হওয়া (এটি চালিয়ে --no-self-upgrade) প্রতিরোধ করা বা প্রয়োজনীয় প্লাগ-ইনগুলি স্বয়ংক্রিয়ভাবে প্রতিবারই ইনস্টল করা হবে তা নিশ্চিত করার জন্য কিছু কৌশল প্রয়োগ করা হবে।

প্রকৃতপক্ষে প্রয়োজনীয় প্লাগইনগুলি ইনস্টল করা আছে কিনা তা নিশ্চিত করার একটি সম্ভাব্য সমাধান হ'ল সার্টিবোট-অটোকে ঘিরে একটি মোড়ক যুক্ত করা। এই মোড়কটি মূলত অনুসরণ হিসাবে দেখতে পারে:

#!/bin/bash

# The list of plugins to be installed
CERTBOT_PLUGINS="certbot-dns-route53"

# Force the venv directory to be where we can easily find it
export VENV_PATH="/opt/eff.org/certbot/venv"

# Force certbot-auto to be where we expect it to be
export CERTBOT_AUTO="/usr/local/bin/certbot-auto-upstream"

# Force certbot-auto to bootstrap or upgrade itself, but do no more
"${CERTBOT_AUTO}"  --install-only  "$@"

# Check if required plugins are installed; install them if they are missing
(
    cd ${VENV_PATH}
    source bin/activate

    for plugin in $CERTBOT_PLUGINS ; do
        if ! pip show -q "$plugin" ; then
            pip install "$plugin"
        fi
    done

    deactivate
)

# Execute the actual certbot command
"${VENV_PATH}/bin/letsencrypt" "$@"

আমি এখানে মোড়কের আরও একটি সম্পূর্ণ সংস্করণ উপলব্ধ করেছি ; দীর্ঘ সংস্করণের সাথে কেবলমাত্র পার্থক্য হ'ল এটি নিশ্চিত করে যে মোড়কটি মূল হিসাবে চালিত হচ্ছে এবং এটি --helpযুক্তিটি সঠিকভাবে পরিচালনা করে ।

এই মোড়কটি ইনস্টল করতে, সরকারী certbot-autoপ্রোগ্রামটি এতে ডাউনলোড করুন /usr/local/bin/certbot-auto-upstreamএবং এতে মোড়কটি অনুলিপি করুন /usr/local/bin/certbot-auto। উভয় ফাইলেরই উপযুক্ত সুবিধা রয়েছে তা নিশ্চিত করুন ( chown root:root /usr/local/bin/certbot-auto*তারপরে chmod 755 /usr/local/bin/certbot-auto*)। মোড়ক ফাইলে, নিশ্চিত হয়ে নিন যে লাইনে CERTBOT_PLUGINS="..."আপনার আসলে প্রয়োজনীয় প্লাগইনগুলির তালিকা অন্তর্ভুক্ত রয়েছে। এবং এটাই. certbot-autoআপনি পূর্বে যেমন করতেন তেমন কমান্ডটি কেবল ব্যবহার করুন এবং certbot-auto-upstreamফাইলটি ভুলে যান ।


1

আপনি যদি উবুন্টু বা ডেবিয়ানে থাকেন তবে আপনি নিম্নলিখিত প্যাকেজগুলি ডিবিয়ান টেস্টিং (বুস্টার) থেকে গ্রাস করতে পারেন

পাইথন 3-সার্টবট-ডিএনএস-ডিজিটালওশন_0.23.0-2_ সমস্ত.দেব পাইথন 3-ডিজিটালওশন_1.13.2-1_ সব.দেব



0

আমার একই সমস্যা ছিল, আমি ওএস ইলেভেনে সার্টিবোট আপডেট করার পরে এটি পুনরায় ইনস্টল করার পরেও ডিজিটালওসন প্লাগইনটি উপস্থিত হতে পেল না pip install certbot-dns-digitalocean

সমাধানটি হ'ল এটি আনইনস্টল করুন এবং তারপরে এটি পুনরায় ইনস্টল করুন। আমি নিরাপদ থাকার জন্য সুডো ব্যবহার করেছি:

sudo pip uninstall certbot-dns-digitalocean 
sudo pip install certbot-dns-digitalocean

এটি certbot pluginsতালিকায় ঠিক উপস্থিত হয়েছে ।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.