GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana Mengkompilasi dan Menginstal Python dengan Dukungan OpenSSL?

Instalasi Python Anda tidak mendukung SSL? Anda perlu mengompilasinya lagi setelah mengedit Setup.dist file yang terletak di direktori sumber Python. Mari kita lihat bagaimana melakukannya.

Sebelum kita mulai, periksa apakah instalasi Python Anda mendukung OpenSSL seperti yang ditunjukkan di bawah ini:

$ python

Di prompt python, ketik 'import ssl'

>>> import ssl

Jika Anda melihat kesalahan seperti di bawah ini, maka Python tidak mendukung SSL.

$ python
Python 2.4.3 (#1, Jan 9 2013, 06:47:03)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-54)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import ssl
Traceback (most recent call last):
 File "<stdin>", line 1, in ?
ImportError: No module named ssl
>>>

Catatan: Dalam versi Python yang lebih lama, Anda dapat mencoba menggunakan ‘hasattr ' fungsi seperti yang ditunjukkan di bawah ini:

>>> import socket
>>> hasattr(socket,"SSL")
False
>>>

Jika Anda melihat “Salah “, maka Python tidak mendukung SSL.

Cara Mengkompilasi Python dari sumber dengan Dukungan OpenSSL

Prasyaratan:

OpenSSL seharusnya sudah terinstal secara default, tetapi jika Anda tidak memilikinya, instal seperti yang ditunjukkan di bawah ini.

Instal OpenSSL dan paket pengembangannya seperti di bawah ini:

$ yum install openssl
$ yum install openssl-devel

(atau)

Instal OpenSSL dari sumber:

$ wget http://www.openssl.org/source/openssl-1.0.2e.tar.gz
$ ./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl

Catatan: Secara default openssl akan diinstal di bawah /usr/local/ssl . Jika Anda tidak ingin mengacaukan instalasi SSL yang ada, maka instal di direktori lain.

$ make
$ make test
$ make install

Instalasi OpenSSL selesai. Sekarang mari kita kompilasi Python.

Unduh sumber Python:

$wget https://www.python.org/ftp/python/3.5.1/Python-3.5.1.tgz
$tar xvzf Python-3.5.1.tgz
$vim Modules/Setup.dist

Telusuri “SSL ” dan batalkan komentar kode seperti yang ditunjukkan di bawah ini (dalam versi 3.5, dari baris 203 hingga 210):

_socket socketmodule.c

# Socket module helper for SSL support; you must comment out the other
# socket line above, and possibly edit the SSL variable:
#SSL=/usr/local/ssl
_ssl _ssl.c \
 -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
 -L$(SSL)/lib -lssl -lcrypto

Catatan: Jika Anda telah menginstal OpenSSL di lokasi yang tidak standar, maka Anda perlu mengubah 'SSL ' untuk merujuk jalur yang benar dalam kode di atas.

Misalnya,

_socket socketmodule.c

# Socket module helper for SSL support; you must comment out the other
# socket line above, and possibly edit the SSL variable:
SSL=/usr/local/openssl
_ssl _ssl.c \
-DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
-L$(SSL)/lib -lssl -lcrypto

Setelah selesai,

$ ./configure
$ make
$ make install

Periksa Python untuk Dukungan OpenSSL

$/usr/local/bin/python3.5

Di python prompt, ketik “import ssl

>>> import ssl

Jika Anda tidak melihat kesalahan apa pun, maka Python mendukung SSL. Itu dia!


Linux
  1. Cara Menginstal Python 2 dan Python 3 di Fedora 35

  2. Bagaimana Cara Menginstal Python di Ubuntu 20.04 dan 18.04?

  3. Cara Instal Apache 2 dengan SSL di Linux (dengan mod_ssl, openssl)

  1. Cara menginstal Python 3 di CentOS 7 dengan SCL

  2. Cara Menginstal Elasticsearch di Ubuntu 22.04 dengan SSL

  3. Bagaimana cara mengkompilasi file .c dengan menyertakan OpenSSL?

  1. Cara Menginstal Python Pip di Ubuntu 18.04 dan 20.04

  2. Cara Menginstal Drupal 8 dengan Nginx, PHP-FPM dan SSL di Ubuntu 15.10

  3. Cara Instal Drupal 8 dengan Apache, MySQL dan SSL di Ubuntu 15.10