もし Linux の基礎があまり良くない場合は、直接ワンクリックスクリプトを見てください。基礎がある場合は、続きをご覧ください。。。
まずはフロントエンドの構築#
特に言うことはありません、直接 LNMP のワンクリック構築環境を使用できます!
具体的には:こちら
本チュートリアルで使用する環境は NGINX + PHP 7 + MariaDB 10 です。もちろん、他の主流の LNMP/LAMP 構成も可能です(PHP >= 5.4)。サイトにアクセスできることを確認したら、続けてください。
サーバーには git をインストールする必要があります( yum install git -y
)
ss-panel のソースコードをダウンロード#
あなたのサイトの web ルートディレクトリに cd し、git からソースコードを clone します:
git clone https://github.com/orvice/ss-panel.git && git checkout master
もちろん、ソースコードをダウンロードしてからWINSCP
で VPS に転送することもできます。
git clone 後のディレクトリ構造に注意してください。index.php
がサイトのルートディレクトリにあることを必ず確認してください。
ss-panel の設定#
ソースコードをダウンロードした後、
あなたのサイトの NGINX 設定にこれを追加する必要があります(Apache は自分で追加してください):
root /home/wwwroot/ss-panel/public;//サイトのルートディレクトリを指定
location / {
try_files $uri $uri/ /index.php$is_args$args;//URLリライト
}
V3 版の ss-panel は composer を使用して依存関係を自動管理します。これにより、多くのライブラリを一緒にパッケージ化する必要がなくなります。
curl -sS https://getcomposer.org/installer | php composer.phar install
これにより、composer は composer.json の内容に基づいて自動的に依存関係をインストールし、vendor フォルダも作成されます。
次に設定を行います:
cp .env.example .env
.env.example をコピーして名前を.env に変更し、データベースとサイト情報を自分で修正します:
// ss-panel v3 設定
//
// !!! このキーをランダムな文字列に変更してサイトの安全性を確保してください !!!
key = 'randomKey'
env = 'prod' // 本番環境ではenvをprodに保って安全を確保
debug = 'false' // 本番環境ではfalseにしてください
appName = 'ss-panel3' //サイト名
baseUrl = 'https://www.google.com' // サイトアドレス
timeZone = 'PRC' // RPC 中国時間 UTC グリニッジ時間
pwdMethod = 'md5' // パスワード暗号化 オプション md5,sha256
salt = '' // パスワード暗号化用、旧版からのアップグレードの場合は空白のまま
theme = 'default' // テーマ
session = 'file' //デフォルト
cache = 'file' //デフォルト
tokenDriver = 'db' //デフォルト
// muキーはss-go muのリクエストを検証するために使用されます
muKey = ''
// メール
mailDriver = 'mailgun' // mailgun #smtpはサポートされていません、テスト用のみ
// 登録制限、毎日各IPが登録できる回数
ipDayLimit = '10'
// メール確認設定
emailVerifyEnabled = 'false' // 登録時のメール確認を有効にするか (true:有効 false:無効)
emailVerifyCodeLength = '8' // メール確認コードの長さ
emailVerifyTTL = '30' // 確認コードの有効時間 単位分
// ユーザーサインイン設定
checkinTime = '22' // サインイン間隔時間 単位時間
checkinMin = '93' // サインイン最小トラフィック 単位MB
checkinMax = '97' // サインイン最大トラフィック
//
defaultTraffic = '5' // ユーザー初期トラフィック 単位GB
// 登録後に得られる招待コードの数
inviteNum = '5'
// トラフィックログをdynamodbに記録する,ベータ版,開かないでください
log_traffic_dynamodb = 'false'
# database データベース設定
db_driver = 'mysql'
db_host = 'localhost'
db_port = '3306'
db_database = 'sspanel'
db_username = 'sspanel'
db_password = 'sspanel'
db_charset = 'utf8'
db_collation = 'utf8_general_ci'
db_prefix = ''
# redis
redis_scheme = 'tcp'
redis_host = '127.0.0.1'
redis_port = '6379'
redis_database = '0'
redis_pass = ''
# mailgun
mailgun_key = ''
mailgun_domain = ''
mailgun_sender = ''
# smtp
smtp_host = ''
smtp_username = ''
smtp_port = ''
smtp_name = ''
smtp_sender = ''
smtp_passsword = ''
smtp_ssl = 'true'
# aws
aws_access_key_id = ''
aws_secret_access_key = ''
aws_region = 'ap-northeast-1'
aws_ses_region = 'us-east-1'
aws_ses_sender = ''
データベースの作成については多くを語りませんが、一般的にサイトを作る人はデータベースを扱ったことがあるでしょう?ルートディレクトリの db.sql をデータベースにインポートするだけです。他の設定は自分で修正してください。
最後のステップはディレクトリの権限を設定することです。
chown -R nginx:nginx ssディレクトリ
chmod -R 777 storage
これであなたのサイトにアクセスできるようになりました。見覚えのあるインターフェースではありませんか?
管理者の追加#
新しいバージョンの ss-panel では、直接あなたのサイトのディレクトリに cd し、実行します。
php xcat createAdmin
add admin/管理者アカウントを作成.....
Enter your email/管理者のメールアドレスを入力: xxx@xxx.com
Enter password for: h@prinzeugen.net /xxx@xxx.comのためにパスワードxxxを追加
Email: xxx@xxx.com, Password: xxx
Press [Y] to create admin..... 管理者アカウントの作成を確認するには[Y]を押してください..... y
start create admin accountSuccessful/ 作成成功!
これでフロントエンドの設定は完了しました!
ss-R のデプロイ設定#
チュートリアルの信頼性を確保するために、自分のプロジェクトをクローンしましょう。
まずローカルに clone します:
git clone https://github.com/david7207/shadowsocks-R.git
次に必要なコンポーネントをインストールします。
centos:yum install python-setuptools easy_install pip m2crypto git -y
ubuntu/debian:apt-get install python-pip m2crypto git -y
ss-R の設定#
ルートディレクトリに入って設定を初期化します(ルートディレクトリが~/shadowsocks
の場合、そうでない場合はコマンドを適宜調整してください):
cd ~/shadowsocks
bash initcfg.sh
shadowsocks ディレクトリ内で、userapiconfig.py の以下の内容を適切に修正します:
API_INTERFACE = 'sspanelv2' //インターフェースタイプを変更
データベースの種類に応じて、sspanelv2、sspanelv3、sspanelv3ssr のいずれかを正しく選択する必要があります。
次に usermysql.json の内容を修正します:
{
"host": "127.0.0.1",
"port": 3306,
"user": "ss",
"password": "pass",
"db": "shadowsocks",
"node_id": 1, //panelでノードを追加してから、管理パネルでノードIDを確認
"transfer_mul": 1.0, //以下は無視できます
"ssl_enable": 0,
"ssl_ca": "",
"ssl_cert": "",
"ssl_key": ""
}
上記には(順番に):データベースサーバーのアドレス、ポート、データベースログインユーザー名、パスワード、データベース、ノード ID(sspanelv3 がサポート)、などが含まれます。sspanelv3 を使用する場合は、node_id を正しく記入する必要があり、ID を記入する前に、パネルでノードを追加しておく必要があります。
次に user-config.json を編集します:
"method":"aes-256-cfb", //必要な暗号化方式の名前に変更
"protocol": "auth_sha1_compatible", //必要なプロトコルプラグインの名前に変更
"obfs": "tls1.0_session_auth_compatible", //必要な混淆プラグインの名前に変更
もし chacha20 暗号化が必要な場合。
もし自動起動が必要な場合は、rc.local にコードを書き込んでください!
バックグラウンドで実行し、ログを有効にします:
nohup python server.py > /var/log/shadowsocks.log
OK、大成功です!これでバックグラウンドでノードを追加できます。試してみてください!
ss-panel の利点は、みんなが ss ノードを共有できることです。