ConoHaが45日間無料キャンペーンをやってた
私も愛用しているVPSサービスのConoHaが、1GBプランを45日間も無料にするキャンペーンをやってます。今週の金曜日まで。
VPSならConoHa|登録者数13万アカウント突破 - 期間限定キャンペーン実施中
上の方に書いてあるはず。
私はもうConoHaのVPSは持ってましたが、お遊びに作ってみることに。こうしてVPSは増えていくのだろう。
サーバ管理環境を整えよう
今運用しているConoHaVPSはCloud9からコンソールを叩いたりButterflyを使ったりしている。でもこのやり方が必ずしもベストとは思えないし、何より管理をするツールを使うべきだ。 そこでOSSのAjentiを使うことにした。
なんだかAdobeのソフトのようなアイコン。
これは管理者パネルとか呼ばれるタイプのソフトウェアで、ブラウザから利用できる。 具体的にはnginxのコンフィグを追加、更新、Apacheもできるし、他のサービスの再起動などもできる。ユーザの追加なども可能で、CUIになれてない管理者(そんなものがいたら僕は怖いけど)でも利用できる。他にもターミナルを開くこともできる。素晴らしい。
CentOS7.2にいれて使いたいが、問題が
もしかしたら他のCentOSでもそうかもしれないし、Redhatでもそうかもしれないけど問題がある。 SSL通信を有効にすると使えないのだ。一応Issueには上がっているらしい。 直す気があるのかとか、いつなおるか、とかは知らないけど、これを使う上では大問題だ。 ターミナルが開ける上rootにもなれてしまう。平文でのやり取りは辞めるべきだ。 それを解決した話。用はただのリバースプロキシだけど、色々HTTPヘッダの設定もしてあげないと正常に動作しない。
まずはインストール
公式ページに従えば簡単です。
#wget http://repo.ajenti.org/ajenti-repo-1.0-1.noarch.rpm #rpm -i ajenti-repo-1.0-1.noarch.rpm #yum install ajenti #service ajenti restart
これだけでもとりあえずは動くはずだ。だけど先述の通りSSLが有効になっていると動かないので無効にする。
vim /etc/ajenti/config.json
で開いて、
"ssl": { "enable": false,
こんな感じで書き換えてあげる。systemctl stop firewalldとかしてからhttp://serverIP:8000とかにアクセスすれば動作してることがわかる。 さて、ここからはSSL化の作業。
Nginxを使ってリバースプロキシを作る。
何の変哲もないリバースプロキシを立てるわけですが、色々オプションをつけていますね。
server { listen 443 ssl; server_name server.domain.com; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; ssl_certificate /ssl_path/server.crt; ssl_certificate_key /ssl/server.key; ssl_session_timeout 5m; ssl_protocols SSLv3 TLSv1; ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv3:+EXP; ssl_prefer_server_ciphers on; location / { rewrite (/ajenti)$ / break; rewrite /ajenti/(.*) /$1 break; proxy_pass http://127.0.0.1:8000; proxy_redirect / /ajenti/; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $http_connection; proxy_set_header Origin http://$host; } location /ghost { proxy_pass http://127.0.0.1:2368; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
locationとかは必要なら変えてください。
firewalldの設定を変える
#firewall-cmd --permanent --add-service=http #firewall-cmd --permanent --add-service=https #systemctl restart firewalld
こんな感じですね。使ってる様子でもスクショ取ろうかと思ったけど色々公開するとまずい気がする情報も載ってて隠すのも面倒なので公式ページでも見てください() ちなみにデフォルトのIDとパスワードはroot、adminです。ちゃんと変えましょう。