サーバー構築

マークアップエンジニアとかWEBディレクターとかをやってる僕が、自分が詰まって、解決したことをここに残しておきますよ。

さくらサーバーで独自ドメインを設定したときのディレクトリ(フォルダ)は自分でつくる

さくらサーバー慣れてないから罠にはまったんだけども、

さくらのレンタルサーバーで独自ドメインの設定をするときに、マルチドメインでドメインと対応するフォルダを指定することができるよね。

んで、設定完了したら、あとは指定したフォルダが自動で作成されるのかと思っていたらそうではないらしく、FTPソフトなり、サーバーのコントロールパネルのファイルマネージャーなりで、そのフォルダを自分でつくらないといけない

これ気づかずに12時間も待った。


普段よくつかうエックスサーバーなんかは、独自ドメイン設定すると勝手にディレクトリ作ってくれるからね。 そういうもんだと思ってた。



やれやれ。 

さくらVPSを申しこんでから、node.jsインストール、socketサーバーの準備まで

自分がやった手順をメモ。
これでひとまずサーバー側は準備OKで、
フロント側のweb socketのjsを書き始められるよっていうメモ。
(※セキュリティなどは甘いかと思いますので、ご注意ください)

このとおりやってけば、わけわかんなくても一気にいけるはず。
1時間くらいで完了。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【申し込みしてsshログイン】
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

①さくらサーバーVPSに申し込む
(2週間無料)
 

②さくらから登録完了メールがくるので、VPSコントロールパネルにログイン


③仮想サーバーのステータスが「停止」になってるので「起動」ボタンをクリックしてサーバーを起動
(その後はなんかあるまで放置)
リモートコンソールボタンをおすと、サーバーの処理がずらーっと動いているのがわかる。
それがとまるまでひとまず待つ。


④ターミナルを立ち上げてIPアドレスとrootユーザーとパスワードでsshログインする。
$ ssh root@111.111.11.111
(111.111.11.111はダミーです。メールで届いた正しいIPアドレスをいれてね)




━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【サーバーの基本設定】
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

①パスワードを変更する
$ psswd


②adminユーザーを作成
$ useradd 'admin' 
$ passwd 'admin'

パスワードを設定する。
$ logout
でいったんログアウトして、ssh admin@111.111.11.111で再度ログイン


③sshのポート番号を変更
$ su
$ vi /etc/ssh/sshd_config

変な文字列が出てきたら、「i」をクリック下の方にインサートと出てきたら
インサートモードになって、編集できるようになったので、
#Port 22を
Port 10022
に変更。

escボタンをおすと、インサートモードが終了するので、続いて
:wq
と入力すると、保存されてviが終了する。

rootにログインしてる状態でsshを再起動

$ /etc/init.d/sshd restart

ログアウトしてrootでsshログインを試してみて入れなければOK
 
今後はポートを指定してログインすることになる。

今後のログインの文
$ ssh -l root -p 10022 111.111.11.111





━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【nodeとexpressとsocket.ioのインストール(あとforeverも)】
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

このへんはもうコピペで!↓ 

①rootでログイン
$ wget http://nodejs.org/dist/node-latest.tar.gz

②nodeのインストール
次の文を1文ずつ実行していく
$ wget http://nodejs.org/dist/node-latest.tar.gz

$ tar zxvf node-latest.tar.gz

$ cd node-v0.10.22/
↑これはバージョンがどんどんあたらしくなるので、1つまえの実行結果の文章をみると、v0.10.23とか書いてあるのでそれをいれる

$ ./configure

$ make
↑ここで10分ほどまつのでお菓子を食べる

$ sudo make install

$ node -v

さいごバージョンが表示されればインストール成功!


③ディレクトリをつくる
$ mkdir 001
 
$ midir 001/public


④npmコマンドでsocket.ioとexpressをインストールする
$ npm install socket.io express

⑤npmコマンドでforeverのインストール
$ npm install forever -g

⑥ftpでサーバーに入ってみる
filezillaを立ち上げて、
サーバー : IPアドレス
接続 : SFTP
ポート : 10022
アカウント : root
パスワード : 上記で設定したやつ

入れれば成功!!



 

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【socketサーバーを作る】
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

①以下のjsファイルをつくってapp.jsと名付ける
---------
app.js 
var io = require('socket.io');
var express = require('express');
var http = require('http');

var app = express();
app.use(express.static(__dirname + '/public'));

var server = http.createServer(app).listen(80);
var io = io.listen(server);

io.sockets.on('connection',  function(socket){
       socket.on('msg', function(msg){
                socket.emit('msg', msg);
                socket.broadcast.emit('msg', msg);
        });
});
---------

②app.jsをサーバーにアップ
FTPソフトでroot/node-v0.10.22/001にapp.jsをアップ
↑さっきつくったディレクトリ


③ターミナルでapp.jsを実行
001ディレクトリまでcdで移動し、app.jsを実行
001$ node app.js


④WEBサーバーが立ち上がったかチェック
適当なテスト用intdex.htmlを作って、
FTPソフトで
root/node-v0.10.22/001/public にアップ

IPアドレスに接続して、表示されてればWEBサーバー動いてる

⑤foreverでWEBサーバーを動かす
そのままではターミナルを閉じるとWEBサーバーもとまる。

$node app.js とやるところを
$forever start app.js
とすると、ターミナルを閉じても動き続ける。

nodeの終了のさせ方は、「ctrl + c」 

「シェル(shell)とはなんだ」から始める。

サーバー構築の勉強を超初心者から始めてる。

んで、まずまっさきに出てくる「シェル」という言葉。
この時点でわかんなかったので調べてみた。

LinuxなどのUNIX系のコンピューターで、
命令を実行するためのツールを「シェル」と呼ぶ。

シェルでは、今のパソコンみたいにアイコンをクリックしたりして操作せず、
ひたすらテキストで命令を打ち込んでコンピューターを操作していく。

(マウスとかでクリックするだけでコンピューターを操作できる
 今のパソコンみたいなシステムのことをGUIという。グイと覚える。
 UNIXみたいな文字を打ち込んで操作する昔っぽいシステムをCUIという。
 クイと覚える。)

僕は大学のときにコンピューターの授業でUNIXの操作みたいなことを
やったけど、全然わからないし、何の役にもたたないと思って、
超おざなりにしていた。 

このシェルっていうのにも歴史があって、
2つの会社がBシェル、Cシェルというのを開発して、それぞれ
世の中に浸透していたらしい。

今で言うブラウザ戦争みたいなもんかと推測する。

そんで、Bシェルの流れを汲むのが
bashというシェル。

僕が、今渡されたIDでsshでサーバーにログインしてみると、
bashという文字が出てくる。

bash-3.2$ 

という風に。

なるほど、これはシェルの種類のことを言っているのだね。

suコマンド suとは

サーバー構築するためにSSHでサーバーに接続して、
SSHソフトである、ターミナルで、命令文をいろいろ書くのだけど、

その命令文というのが、UNIXコマンドというもの。

なので、UNIXコマンドとやらを検索したりしながら進めていくことになる。


最初に出てきたのが、

su コマンド


suコマンドは、ログインするユーザーの変更という命令文。
suのあとに何も書かなければ、root権限に変更される。


書き方
-------------------------------------------------------
 su admin
------------------------------------------------------- 
adminというユーザーに変更する。
もちろんそのあとpasswordをきかれる。
-------------------------------------------------------
 su 
-------------------------------------------------------  
とだけ書くと、root権限に変更される。 


SSHでVPSにログインする

さくらでVPSを借りた。

ただ、サーバー構築に関しては、まったくの素人。
ぐぐりながらなんとか進んでいきたい。


まずは、SSHでサーバーにログインする。

(SSHとはなんぞや、な人はググってみてほしい。僕もぐぐって、なんとなーく。)



SSHソフトとして、有名なのはputtyだ。

プログラマの知り合いの方が、確か
「プッティ使ってですね、ほにゃららしてください」
とかなんとか言ってた。

あれがSSHだったのか、と。


ただし、僕はmacなので、puttyが対応してないとか。

しょうがないので、macに標準でついてるsshソフト、「ターミナル」

というので入る。


■ターミナルのありか
アプリケーション> ユーティリティー>ターミナル


立ち上げると、真っ黒い、昔のパソコンみたいな画面が出てくる。

この時点で拒否反応が出るのを、我慢。

sshと書いた後に
さくらから発行された、ユーザーアカウントを入力する。

-------------------------------------------------------------------
ssh root@×××.×××.×××.×××
-------------------------------------------------------------------

すると、

-------------------------------------------------------------------
root@×××.×××.×××.××× 's  password
-------------------------------------------------------------------
 
と表示された。
パスワードは?と聞いてるんだろか、たぶん。


さくらから発行されたパスワードを入れてみる。


-------------------------------------------------------------------
SAKURA Internet [Virtual Private Server SERVICE]
[root@×××××××] # 
-------------------------------------------------------------------


と表示された。

これでたぶん、ログインは成功。

ふー、ログインだけでも大変だね。
記事検索

リモキュー

お仕事のご依頼・お問い合わせはこちら

コーディングのお仕事が得意です。

https://twitter.com/tacshock
タグクラウド
QRコード
QRコード
  • ライブドアブログ