标签 安装 下的文章

Let's Encrypt_openssl.so: undefined symbol: OPENSSL_sk_num错误解决

Let's Encrypt会自动安装在用户宿主目录~/.local/下,今天在续期证书时报错:

Creating virtual environment...
Installing Python packages...
Installation succeeded.
Traceback (most recent call last):
  File "/root/.local/share/letsencrypt/bin/letsencrypt", line 7, in <module>
    from certbot.main import main
  File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/certbot/main.py", line 13, in <module>
    from acme import jose
  File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/acme/jose/__init__.py", line 37, in <module>
    from acme.jose.interfaces import JSONDeSerializable
  File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/acme/jose/interfaces.py", line 9, in <module>
    from acme.jose import util
  File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/acme/jose/util.py", line 5, in <module>
    import OpenSSL
  File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/OpenSSL/__init__.py", line 8, in <module>
    from OpenSSL import rand, crypto, SSL
  File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/OpenSSL/rand.py", line 12, in <module>
    from OpenSSL._util import (
  File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/OpenSSL/_util.py", line 6, in <module>
    from cryptography.hazmat.bindings.openssl.binding import Binding
  File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/cryptography/hazmat/bindings/openssl/binding.py", line 14, in <module>
    from cryptography.hazmat.bindings._openssl import ffi, lib
ImportError: /root/.local/share/letsencrypt/lib/python2.7/site-packages/cryptography/hazmat/bindings/_openssl.so: undefined symbol: OPENSSL_sk_num

原因是pip编译安装相应模块时调用到系统的openssl库,而系统openssl不支持OPENSSL_sk_num

由于我之前已经编译过新版的openssl放在/usr/local/openssl下,将第一步自动安装上的openssl-devel包删除,然后pip重新安装cryptographypyopenssl即可。注意:需先清除安装缓存目录,否则安装时不会重新编译。

yum remove openssl-devel
cd ~/.local/share/letsencrypt/bin/
pip uninstall cryptography pyopenssl -y
pip install --upgrade pip
rm -rf ~/.cache/
pip install cryptography pyopenssl
ldd ~/.local/share/letsencrypt/lib/python2.7/site-packages/cryptography/hazmat/bindings/_openssl.so

此时已经链接到编译的openssl库上,这样再执行命令便不会报错。

免费SSL安全证书Let's Encrypt安装使用及Nginx配置

letsencrypt.png
Let's Encrypt CA 项目由非赢利组织 Internet Security Research Group (ISRG) 运营,由Mozilla、思科、Akamai、IdenTrust、EFF 和密歇根大学等组织发起,向网站自动签发和管理免费SSL证书,以加速互联网从 HTTP 向 HTTPS 过渡。

Let's Encrypt 官方网站:https://letsencrypt.org/
Let's Encrypt 项目主页:https://github.com/letsencrypt/letsencrypt

1、安装Let's Encrypt脚本依赖环境

# CentOS 6
yum install centos-release-SCL && yum update
yum install python27
scl enable python27 bash
yum install python27-python-devel python27-python-setuptools python27-python-tools python27-python-virtualenv
yum install augeas-libs dialog gcc libffi-devel openssl-devel python-devel
yum install python-argparse

# CentOS 7
yum install -y git python27
yum install -y augeas-libs dialog gcc libffi-devel openssl-devel python-devel
yum install python-argparse

2、获取Let's Encrypt并生成SSL证书

yum install git-core
git clone https://github.com/letsencrypt/letsencrypt.git
cd letsencrypt
./letsencrypt-auto certonly --email admin@2dan.cc -d www.2dan.cc --webroot -w /home/html --agree-tos

如果多个域名可以加多个-d 域名



- 阅读剩余部分 -

Ubuntu下安装和配置Vsftpd

stand alone和super daemon
stand alone指的是一直运行vsftpd,占用资源,提供ftp服务。super daemon指的是有需要时由xinetd启动vsftpd服务。如果服务器不是那种长期开ftp,提供大量的上传下载服务的话,会选择后者。

安装

sudo apt-get install vsftpd

查看是否打开21端口

sudo netstat -npltu | grep 21
tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN      15601/vsftpd

登录

ftp localhost

输入Ubuntu的用户名、密码登录

ls

会显示home目录的文件


- 阅读剩余部分 -

U盘安装BT5教程

准备工作:
1. 8GB U盘1枚(可以更大,但不推荐更小的了,原因是官方bt5的iso包就有3.06G大,再加上你的配置文件,太小的u盘安装后剩余的空间较小,会影响读取速度,直接的后果就是系统会卡.)

2. bt5-iso镜像
下载地址:http://www.backtrack-linux.org/downloads/

3. unetbootin 用于安装BT5到U盘
下载地址:http://sourceforge.net/projects/unetbootin/files/latest/download

准备工作完成,下面开始安装:
首先,将你的u盘格式化为FAT32格式.

- 阅读剩余部分 -

Linode VPS安装操作系统

选择完了数据中心后,这个VPS就创建成功。
接下来,我们需要给这个VPS安装操作系统。
在Linode管理面板,安装操作系统是一件非常简单的事情,如图:
1.png
就四个选项:

第一个“Distribution”就是选择你要的Linux发行版本,在这里,推荐使用32位的系统比较好。至于哪一个,如果你熟悉CentOS就用它,熟悉Debian就用它,没什么好坏,其实都差不多的。经常在论坛上见到很多人争用哪个系统,其实纯属蛋疼。不过看Linode的这个下拉框默认居然是Ubuntu,看来ubuntu使用的人肯定最多了。

- 阅读剩余部分 -