Ubuntu Serverにちょっと触れる
どうも。
いち、プログラマのyu1rowです。
今回は、前回インストールが終わったUbuntu Serverをイジります。
課題1:電源を入れても画面(テレビ)に表示されない
インストールは我が家のテレビ(REGZA)に繋いで行いました。
そして完了後、そのまま操作を続けようとしたら何も表示されなくなりました。
これはバーチャルコンソールを使うという方法で前回は逃げていましたが、今回コレを解決しようと思います。
解決する方法はたったの2ステップ!
[1.ブートローダ(GRUB)の設定をイヂる]
ウンチクは置いときましょう。
とにかく設定ファイル(
/etc/default/grub)の"
GRUB_CMDLINE_LINUX_DEFAULT"に"
nomodeset"を書くと、テキストがズラズラーっと流れていく昔ながらのLinuxの起動画面にできます。
低解像度になりますが、どうせ後で他のパソコンから接続するようにするんだからどーでもいい。
$ sudo vi /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT='nomodeset'
※ファイル修正後に以下のように
update-grubコマンドで
設定を反映しないと意味が無い。忘れないこと。
$ sudo update-grub
[2.再起動]
$ sudo reboot
以上です。
課題2:インターネットに繋げる
我が家ではDHCPサーバが既に稼動してまして、たぶんブロードバンドルータなどを使用している場所では大体DHCPサーバが動いてると思います。
そんなワケで、
IPを自動で取得するなら以下の設定だけでOK。
あ、固定IPを割り振る設定方法は
ググって下さいw
[まずはeth0があるか確認]
ZBOX nanoでは以下のコマンドでeth0、wlan0、loが列挙されるハズ。
$ ifconfig -a
[設定ファイルの修正]
確認できたら今度は設定ファイル(
/etc/network/interfaces)をいぢる。
$ sudo vi /etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
※1、2行目は最初からあると思う。今回は4、5行目を追加。
[ネットワークの有効化]
設定ファイルを変更したら、以下のコマンドでネットワークを有効化できるはず。
$ sudo /etc/init.d/networking restart
[疎通確認]
googleさんに5回ほどpingでも送って確認してみましょか。
$ ping -c 5 google.com
↓こんな感じのメッセージが最後に表示されたら成功!
--- google.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 55.000/55.000/55.000/0.100 ms
閑話:vimをインストールする
設定ファイルを編集しながら、なんかviがすんげぇ使いづらいなぁって思ってたんです。
こりゃ普通のvimじゃないなぁって思って調べてみました。
※
"vi"を知らない?ちょー有名なテキストエディタだよ!ちょー有名なんだってばよ!
Windowsなら"メモ帳"って感じ?Linuxにはだいたい入ってる。
使い方から歴史まで、いろんな情報はグーグル先生が知ってる。
先生、詳しい説明はお願いします!
ちょー有名なテキストエディタには
emacsなんてのもあるけど、
俺はダンゼンvi派!
viなんてどーでもいいよ!って人は閑話は読み飛ばしちゃってもかまいません。でも
vi使おうよ。
まず、viのある場所を確認。
$ whereis vi
vi: /usr/bin/vi /usr/share/man/man1/vi.1.gz
そしたら、見っけたファイルを見てみる。
$ sudo ls -al /usr/bin/vi
lrwxrwxrwx 1 root root 20 2011-11-14 00:00 /usr/bin/vi -> /etc/alternatives/vi
/etc/alternatives/viにリンクしてるらしい。更に掘り進む。
$ sudo ls -al /etc/alternatives/vi
lrwxrwxrwx 1 root root 17 2011-11-14 00:00 /etc/alternatives/vi -> /usr/bin/vim.tiny
↑実体見っけました!・・・で、
vim.tinyって何?って思ったときは迷わずググる。
"vim-tiny"はvimの簡易版らしい。
っちゅーワケでネットにも繋がったし、vimの通常版をインストールすることにした。
インストールは
(ネットに繋がっていれば)コマンド一つでOK!カンタン!
$ sudo apt-get install vim
実体はどうなったかな・・・?
$ sudo ls -al /etc/alternatives/vi
lrwxrwxrwx 1 root root 18 2011-11-14 00:00 /etc/alternatives/vi -> /usr/bin/vim.basic
↑よし!
vim.basicに切り替わってた!これで
viコマンドで使い慣れたvimが使える!よかったよかった!
課題3:OpenSSHをインストールする
いつまでもテレビに繋ぎっぱなしだと家族に怒られちゃいます。
そこで、他のパソコンから操作できるようにSSHサーバを入れてみます。
あ、ちゃんと
インターネットに繋がるようにしてからじゃないとダメだかんね?
[探してみる]
Ubuntuのパッケージソフトを管理するソフトは
"apt"っていうらしい。
単純に使うだけの表面上のお付き合いはそんなに難しくない。
まずはインストールできるソフトの一覧を更新して、その中かからお目当てのSSHサーバを探してみる。
SSHサーバの名前は
"openssh-server"ってのは知ってるけど、一応探してみるんだ。自己満足で。
更新は
"apt-get update"、検索は
"apt-cache search"。
$ sudo apt-get update
$ apt-cache search openssh-server
openssh-server - secure shell (SSH) server, for secure access from remote machines
↑ちゃんと
"openssh-server"があった。
[そしてインストール]
ちょーカンタン。
"apt-get install"でインストール。
$ sudo apt-get install openssh-server
インストール中に出てくる
[The following extra packages will be installed] は、インストールするソフトに必要な、他のソフト一覧、
[Suggested packages] は、そのほかオススメソフト一覧、
らしい。
Do you want to continue [Y/n]?って聞かれたら、
"y"でインストールが始まる。
[繋いでみる]
インストールが終わったら、SSHサーバがちゃんと動いているか確認してみる。
自分で自分に繋ぐのが一番手っ取り早い。
$ ssh localhost
Are you sure you want to continue connecting (yes/no)? yes
steve@localhost's password: (パスワード)
↑初めて繋ぐときは公開鍵をローカルに保存したりとか、色々ごちゃごちゃやりますが、
"yes"で接続できます。
ウェルカム的なメッセージが出たら接続成功!
↓接続を切るときは、
"exit"とか
"logout"で。
$ exit
課題4:ファイアーウォールを設定する
サーバーを運用するにはセキュリティってモノを考えるべきです。
今回は、外から誰かがサーバに繋ごうとすると
全部シカトする設定をします。
でも、SSHサーバをインストールしたので
その接続だけは受け入れてやります。
設定には他のLinuxでもおなじみの
"iptables"が使用できます。
でも、Ubuntuではカンタンにファイアーウォールの設定ができる
"ufw"っていうコマンドがありました。
楽チンなんで、今回はこれを使います。
[ファイアーウォールを有効にして、接続をシカトする]
"ufw enable"でファイアーウォールを有効にします。
$ sudo ufw enable
[SSH(22番)だけ受け入れる]
SSHの接続には22番のポートを使用します。
"ufw allow"で22番の接続だけは受け入れてやります。
$ sudo ufw allow 22
[ファイアーウォールの状況、ルールを確認する]
ファイアーウォールが動作(active)しているか、22番ポートは許可されているかを
"ufw status"で見てみます。
$ sudo ufw status
Status: active
To Action From
-- ------ ----
22 ALLOW Anywhere
22 ALLOW Anywhere (v6)
↑ファイアーウォールは有効(active)、22番だけ許可されている。
[ルールを消したり、リセットしたりする]
許可を取り消したい場合、
"ufw delete allow"を、全部の許可ルールをリセットしたい場合、
"ufw reset"を行います。
$ sudo ufw delete allow 22
$ sudo ufw reset
[ファイアーウォールを無効にする]
ファイアーウォールを無効にする場合、
"ufw disable"とします。
これを実行した場合、
全部の接続を受け入れることになります。
$ sudo ufw disable
[IPアドレスの調べ方]
他のパソコンから接続するには、
接続する先のIPアドレスを知らなければなりません。
自分自身のIPアドレスが何なのかは
"ifconfig"を使用して調べます。
$ ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:11:22:33:44:55
inet addr:192.168.1.15 Bcast:192.168.1.255 Mask:255.255.255.0
↑
"inet addr"のところの
"192.168.1.15"ってなってるのがIPアドレス。
[他のパソコンから繋いでみる]
ちゃんと設定ができたら他のパソコンから
SSHのクライアントソフトで22番ポートに繋げることができるはずです。
SSHクライアントソフトは無料のものがいくつもあります。
俺はその中でも良く使われている
"putty"と
"Poderosa"を併用しています。
サーバのIPアドレスがわかったら、繋いで確かめてみましょう。
SSH接続に必要な情報は以下の通りです。
ホスト(IPアドレス) | 上記で調べたIPアドレス。 |
ポート番号 | 普通は22番。 |
SSHプロトコルバージョン | 今回入れたOpenSSHは、設定を変えなければバージョン"2"。 |
ユーザID | 接続するユーザID(今回の例では"steve")。 |
パスワード | パスワードで認証する場合、ユーザのパスワード。 |
エンコーディング | 文字の表示方式です。UbuntuのデフォルトはUTF-8。 |
他のパソコンから操作できるようになったらもうテレビに繋ぐ必要もありません。
HDMIケーブルなんか引っこ抜いちゃいましょう!
まぁ、
テレビ使い続けるってのもひとつのテですけどね?
番外編:タイムゾーンを変更する
本筋とは全然関係無いんですが、自分用のメモです。
Ubuntuの
インストールをした後にタイムゾーンを変更したい場合、以下のコマンドを使用します。
ここで
"Asia/Tokyo"を選ぶと日本時間(JST)を使用する設定に変更できます。
$ sudo dpkg-reconfigure tzdata