在非root环境下安装某ss软件

ss软件的安装教程网上已经有很多了,但安装python和M2Crypto的部分都是yum或者apt-get的。
为了提高安全性,在服务器上不能用root权限运行程序,系统其他目录都没有写入权限,自然无法yum或apt-get。本文将详细记录从头编译安装各个依赖包到正常运行ss软件的过程。

ss软件需要的依赖不多,就python cymysql m2crypto三个。然而
- cymysql m2crypto 需要 pip
- pip 需要 setup-tools
- m2crypto 还需要swig
- swig 需要pcre
- pcre需要ccache
理清了思路之后就可以开始安装了。
虽说是没有root,但是gcc和make这2个常见的家伙一般已经安装好。如果基础的编译都没有也没关系,网上找一个就好,或者其他机器copy过来就好了。

安装openssl

cd /home/d2o
mkdir src
cd src
wget http://openssl.org/source/openssl-1.0.2g.tar.gz
tar xvf openssl-1.0.2g.tar.gz
cd openssl-1.0.2g
./config --prefix=/home/d2o --openssldir=/home/d2o
make && make install

编译安装python2到自定义目录/home/d2o并支持SSL

cd /home/d2o/src
wget https://www.python.org/ftp/python/2.7.11/Python-2.7.11.tgz
tar xvf Python-2.7.11.tgz
cd Python-2.7.11

下载源码之后vi Modules/Setup.dist ,找到ssl那几行去掉注释并改成自己的路径

SSL=/home/d2o
_ssl _ssl.c \
    -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
    -L$(SSL)/lib -lssl -lcrypto

编译并安装

./configure --prefix=/home/d2o
make && make install

编译安装完成后就会在用户home目录下面生成了bin lib share等目录,笔者用的系统是centos6默认的环境变量$PATH已经包含了/home/d2o/bin,所以无需设置环境变量,直接执行python2.7 --version即可验证安装是否成功。

安装setup-tools

cd /home/d2o/src
wget https://pypi.python.org/packages/source/s/setuptools/setuptools-20.3.1.tar.gz#md5=7e4ba5cdebc02710d3ab748c103fc673
tar xvf setuptools-20.3.1.tar.gz
cd setuptools-20.3.1
python2.7 setup.py install --prefix=/home/d2o

安装PIP

cd /home/d2o/src
wget https://pypi.python.org/packages/source/p/pip/pip-8.1.1.tar.gz#md5=6b86f11841e89c8241d689956ba99ed7
tar xvf pip-8.1.1.tar.gz
cd pip-8.1.1
python2.7 setup.py install --prefix=/home/d2o

安装PCRE

cd /home/d2o/src
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.38.tar.gz
tar xvf pcre-8.38.tar.gz
cd pcre-8.38
./configure --prefix=/home/d2o
make && make install

记得设置环境变量 export LD_LIBRARY_PATH=/home/d2o/lib

安装ccache

cd /home/d2o/src
wget https://www.samba.org/ftp/ccache/ccache-3.2.4.tar.gz
tar xvf ccache-3.2.4.tar.gz
cd ccache-3.2.4
./configure --prefix=/home/d2o
make && make install

安装swig

cd /home/d2o/src
wget http://prdownloads.sourceforge.net/swig/swig-3.0.8.tar.gz
tar xvf swig-3.0.8.tar.gz
cd swig-3.0.8
./configure --prefix=/home/d2o
make && make install

安装M2Crypto和cymysql

记得使用自己编译安装的pip

    /home/d2o/bin/pip install m2crypto
    /home/d2o/bin/pip install cymysql

至此,依赖的东西已经全部安装完了。最后下载ss软件愉快运行就可以啦,ss软件的配置过程网上有太多,就不详细列出了(怕被**)。
记得用自己编译的python来运行 python2.7 server.py

Enjoy!!

参考:
https://teddysun.com/440.html
http://stackoverflow.com/questions/8501163/error-while-loading-shared-libraries-libpcre-so-0-cannot-open-shared-object-f
https://www.douban.com/note/334738164/
https://pypi.python.org/pypi/setuptools/20.3.1
http://techglimpse.com/install-python-openssl-support-tutorial/

你可能感兴趣的:(python,服务器,编译,ss)