OSのカスタマイズ

まとめということで。

前にもやったUbuntuの導入を一からやり直し、OSのカスタマイズをしようという目標。

前回のように配布していただいたUbuntuのイメージファイルを使ってVMWareにインストールさせる。

コマンドファイルをメモするのを忘れてしまったので大まかに流れだけ。

インストールしたVMWareに先ほど使ったイメージファイルをドラッグでコピーする。
mountコマンドで中身が見れるようになる。

カスタマイズする環境を整える。
sudo apt-get update
sudo apt-get install squashfs-tools genisoimage

でパッケージをインストールできる。

sudo apt-get install install deboots trap

あとはシステムのコピーなどしたけど
結局そこで時間切れになってしまったので半端ですがここまで。

もう少し時間がほしかったです。

カーネルの再構築

今回の予定は

・ダウンロード
・概論
・フルビルド
・デフォルトビルド
・ローカル最適化ビルド

http://www.kernel.org/pub/linux/kernel/Historic/
そこの71kのものがLinuxカーネルの原型らしい

一個戻ってv3.Xをクリックしてlinux-3.4.tar.gzをダウンロード

カーネルの再構築の順序は

コンパイル
②ダイナミックローダブルモジュールのインストール
カーネルのインストール
で、

make clean
make localmodconfig
make
make modules_install
make install
reboot
と打って進めて行く。

サーバー構築講義のまとめ

今回の講義の流れは

1.エディタの使い方

2.git

3.Linuxカーネル構築

4.Hadoopサーバ

だ。CentOSで行う。
が、実は昔あるトラブルでホームディレクトリを新規で作ったときに過去のデータが消えてしまったため、CentOSがない状態。

一応フラッシュメモリにイメージファイルは残ってるので、慌ててインストール。

その間はメモ。

まずディレクトリを作る(workdir)。

作ったディレクトリに移動して

vi index.html

と打つとテキストエディタが起動する。

そこにhtmlタグを打ってやる。
編集したら

:wq 保存して終了

:q 保存せずに終了

:w 保存

で終われる。

続いてgitのインストール

スーパーユーザー権限でyum install gitと打ってやると
インストールが始まる。
ネットつないでないとダメです。
yesかNoか聞かれるけど適当にyesでいいと思われ。

インストール終わったらexitで権限戻す。
活躍するのはgitコマンド。

git init?でディレクトリが生成されるのでまずそこを確認して
先ほど作ったhtml文を使って変更する。

git status 変更確認
git log 変更履歴

など色々できやす。

Linuxサーバーの作り方 最終 一班

今回はSSHの設定。セキュアシェルと読みます。

要は公開鍵と暗号鍵の設定してリモートログインしましょうということ。

結論から言えば、ログインしたいPCで公開鍵を作り、それをサーバーにアップロードして、そのファイルをauthorized_keysというディレクトリの中に入れてやって、ちゃんとログインできるか確認すればそれでOK。

という話なのだがすんなりと進行してくれないのがパソコン様というところ。

まず鍵を作る。

これはsudo ssh-keygen -t rsaで作れる。

三つほど質問されるが、一個目のは特にスルーしてよさそうなので、
エンターで通す。
次は鍵の中身。適当に打ちます。長いほうがセキュリティ的にはいいでしょうとのこと。

ちなみにホームフォルダに作られます。
ただ見えません。勘違いして私みたいにパニックにならないよう。

見るためにはls -aと打つと、隠しファイルも見えてくる。
その隠しファイルの中身も見たいのなら、

cdで見たいファイルのカレントディレクトリまで行ってから、
lsコマンドを打てば中身が見れる。
ちゃんと作れていれば公開鍵と暗号鍵が存在するはず。

存在を確認したら、リモートしたいPCで

sudo ping 192.168.×××.×××と書いて繋がることを確認してから

scpコマンドでサーバーに鍵を置く。
・・・が、うまく行かない。
オプションの-Pでポート番号指定してもうまくいかない。

実はリモートしたいPCだけでなくサーバーの方でも同じことをしていたのでそのせいかと思い、一度お互いのSSHを削除して再インストールする。

sudo apt-get --purge remove openssh-server
sudo apt-get install openssh-server

そしてもう一度鍵を作り直して、一応
sudo ssh 192.168.XXX.XXXで接続できるか試してみた。
すると・・接続できた。
サーバーに公開鍵が存在ないと接続できないはずなので
サーバーのほうで確認してみる。

sudo find / -name 鍵名

これで検索してみると・・発見。
もはや何が何やらである。

本当はサーバーにアップしてauthorized_keysというディレクトリの中鍵を入れてやらないといけないはずなのだが・・

色々手順を吹っ飛ばしてしまったが、形だけでも接続できるようになった・・のか?

ということで今回はこれで終わり。

Linuxサーバーの作り方 番外3

サーバーのMyNetから招待メールを送って、別のPCからアクセスする。

メールを送れば招待状が届いてくれるが、記載されてるユーザ登録URLにアクセスしようとしてもつながらない。

ipアドレスを調べなければならない。

調べるコマンドはifconfig(WindowsはipconfigだがLinuxはif)と打ち込めば表示される。

別PCでそのipアドレスを打ち込めば、xamppのサーバに行くことができる。(ただしユーザ名とパスワードは聞かれる)

そこで表示されたアドレスを他PCで受信できるかをチェックしてみる。

別PCでping ○.○.○.○と打って受信していればOKだ。

タイムアウトとか書いてあるとダメ。

今回は無事受信してそうだったので、招待メールに載っていたアドレスの中のlocalhostipアドレスに変えてやると無事MyNetの方につながった。

これで別PCからでもアクセスできることがわかったので
次はSSHの設定。

SSHとは主にUNIXコンピュータで利用される、ネットワークを介して別のコンピュータにログインしたり、遠隔地のマシンでコマンドを実行したり、他のマシンへファイルを移動したりするためプログラム。

sudo apt-get install openssh-serverでシステムをインストールできる。

この後はセキュリティ面も含めて公開鍵の設定をする。

今回はここまで。

Linuxサーバーの作り方 番外

一通り終わったので、復習の意味合いを込めて別にサーバーを作る。

すでにapacheの導入までは終わっているのでその続きから。

まずはxamppの導入。これはphpで書かれたサーバーアプリを起動させる動作させるインフラ(基盤)の環境を整えるもの。

http://www.apachefriends.org/jp/xampp-linux.html

で無料で配布されているので、ダウンロードする。
落としたら、端末でシステムファイルの中にoptディレクトリを作ってその中に解凍する。

$ sudo tar xvfz ダウンロード/xampp-linux-1.7.7.tar.gz -C /opt

パス指定を間違えずに。

続いてセキュア化。要はパスワードを設定してセキュリティ強化する。

$ sudo /opt/lampp/lampp security

を打つとパスワードを設定できるので、それに従い決めていく。

ちなみにxamppの再起動と停止方法は

$ /opt/lampp/lampp restart
$ /opt/lampp/lampp stop

続いてmysqlの操作。確認の意図も含む。
サーバーアプリでは機能の多くがデータベース管理システムを活用しているため、データベースは必須なのでmysqlを使う。
xamppによりmysqlのサーバー環境やらドライバやライブラリもインストールされている。

試しにデータベースを作成してみる。

/opt/lampp/bin/mysqladmin -u root -p create sample_db

次にテーブル作成。

/opt/lampp/bin/mysql -u root -p sample_db

このコマンドでクエリー入力モードに移行する。
まずはテーブルの仕様をsql文で入力していく。

そして要素も打ち込んで表示して終了。


のはずがここで問題が起きた。


文字化けする。


DEFAULT CHARSET=UTF8 でデフォルト文字コードを日本語対応しているのにダメ。
set names utf8;
と入力しても改善せず。

ネットで検索してみるもなかなか解決できない。
ところがひょんなことで解決する。
データ入力の際に私は半角文字を先に打ち切ってから全角文字を打つ癖があるのだが、それがいけなかったらしい。
左から順に打てば文字化けしなかった。
解決したようで解決していないが、とりあえず進めそうなのでよしとする。

今回はここまで。次回から前回やったwordpressとMynetを導入する。