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/