1. 程式人生 > >在非root環境下安裝某ss軟體

在非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!!