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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章