$ yum update
$ yum install screen
关于 screen
的详情:http://www.vpser.net/manage/screen.html
wget
是一个 Linux 下一个下载文件的工具,在这里我们用来下载稍后的 lnmp 一键安装包。安装 wget 的方法是:
$ yum -y install wget
screen -S lnmp
LNMP
安装包:http://lnmp.org/install.html$ yum install python-setuptools && easy_install pip
这一部分是关于安装单用户版 Shadowsocks 的方法,如果要安装多用户版 Shadowsocks,这一部分可以省略,直接跳到第 3 部分。
$ pip install shadowsocks
$ vi /etc/shadowsocks.json
$ ssserver -p 8000 -k password -m rc4-md5 -d start
$ sudo ssserver -d stop
$ sudo less /var/log/shadowsocks.log
$ ssserver -c /etc/shadowsocks.json -d start
$ ssserver -c /etc/shadowsocks.json -d stop
这部分安装详细步骤可参考资料:
在站点根目录:
$ git clone https://github.com/orvice/ss-panel.git
clone 完成后的目录结构需要保证 /public
目录在站点的根目录下。可以在根目录使用 $ mv ss-panel/{.,}* ./
命令将子目录内容移动到当前目录。
root /home/www/ss-panel/public;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
编辑完成后记得重启 nginx 服务。
% curl -sS https://getcomposer.org/installer | php
% mv composer.phar /usr/local/bin/composer
设置全局调用后,以后只需运行 composer
命令就可以使用 Composer,而不需要输入 php composer.phar
。
安装配置好 Composer 后,在根目录执行它:
$ php composer install
在 Mysql 中创建 ss-panel 的数据库,并导入根目录中的 db.sql
。
根目录中执行 $ cp .env.example .env
,将 .env.example
复制一份重命名为 .env
,然后修改其中的数据库等配置。
在 .env
文件中需要修改 muKey
字段,修改为任意字符串(最好只包含 ASCII 字符),后端需要使用到这个 muKey:
muKey = 'api_key_just_for_test'
chmod -R 777 storage
$ php xcat createAdmin
$ git clone https://github.com/fsgmhoward/shadowsocks-py-mu.git
clone 后 shadowsocks
子目录才是我们需要的,外面的是 setup.py
的相关文件。
进入 shadowsocks
目录,将 config_example.py
复制一份到 config.py
:
$ cp config_example.py config.py
修改其中第 15 行和第 29~31 行的内容:
# 启用 MultiUser API
API_ENABLED = True
# 就是在你的站点地址后面加个 /mu
API_URL = 'http://ss.prinzeugen.net/mu'
# 还记得上面在 .env 中填写的 muKey 吗?把它填在这里
API_PASS = 'api_key_just_for_test'
由于使用 Mu API
来与前端通信,所以不要修改 config.py
中任何关于数据库的配置。
$ python servers.py
ss-panel
新注册的用户所分配的端口均为其 id-1 的用户的端口号 + 1。比如 admin 用户(uid 为 1)的端口为 12450,那么后面注册的新用户的端口就会是 12451,12452 这样递增的。
$ iptables -I INPUT -p tcp -m tcp --dport 端口号 -j ACCEPT
$ iptables-save
如果开放注册,需要这样配置 iptables:
# 注意是半角冒号,意为允许 12450 及以上的端口
# 也可以指定 12450:15550 这样的范围
$ iptables -I INPUT -p tcp -m tcp --dport 12450: -j ACCEPT
如果希望防火墙规则写入到系统中,防止每次重启后都需要重新配置,则需要编辑 /etc/sysconfig/iptables
文件。
supervisor
监控 ss-manyusersupervisor
$ easy_install supervisor
$ echo_supervisord_conf > /etc/supervisord.conf
[program:ss-manyuser]
command = python /root/shadowsocks-py-mu/shadowsocks/servers.py
user = root
autostart = true
autorestart = true
运行的时候使用-c指定配置文件
supervisord -c /etc/supervisord.conf
如果不指定配置文件
supervisord
则配置文件会依次在下面的文件夹中寻找
$CWD/supervisord.conf
$CWD/etc/supervisord.conf
# /etc/supervisord.conf
可以通过以下命令管理 shadowsock-manyuser 的状态
$ supervisorctl {start|stop|restart} ss-manyuser
$ supervisorctl update //更新配置文件
$ killall -HUP supervisord //重启 supervisor 服务以加载配置
$ vi /etc/rc.local
supervisord -c /etc/supervisord.conf
或
supervisord
$ ps -ef
$ ps -ef | grep keyword