Pages

VirtualBoxにubuntu(サーバー版)をインストールして、LAMP構成を作ってみる

2014-08-24

VirtualBoxにubuntu(サーバー版)をインストールして、LAMP構成を作ってみる。

環境は以下

  • ホストOS : ubuntu Desktop 14.04
  • ゲストOS : ubuntu server 14.04
  • VirtualBox : 4.3.10

やりたいこと

  • ホストOS - ssh -> ゲストOS
    ホストOSからゲストOSはSSHで接続できる
  • ゲストOS <- ssh -> ゲストOS
    ゲストOS同士はSSHで接続できる
  • ゲストOS -> インターネット
    ゲストOSはインターネットに接続できる
  • ゲストOS <- インターネット
    インターネットからはゲストOSに接続できない

接続方法

SSHでホストOSからゲストOSへ接続するには下記2通りがある。

  • NAT + ポートフォワーディング
  • ホストオンリーアダプタ

今回は、ホストオンリーアダプタを設定し、ゲストOSにIPアドレスを割り振って接続する。

すること

  • Virtual Boxへのインストール
  • NATの設定
  • ホストオンリーアダプタの設定

Virtual Boxへのインストール

  • ダイアログにしたがってインストールをするめる。
  • パッケージを選択する。
    ubuntuをVirtual Boxにインストールする際にデフォルトでインストールするパッケージの組み合わせを選択できる。
    選択できるのは下記の組み合わせ。

    * OpenSSH sever
    * DNS server
    * LAMP server
    * Mail server
    * PostgreSQL server
    * Print server
    * Samba file server
    * Tomcat Java server
    * Virtual Machine host
    * Manual package selection
    

    今回はOpenSSH sever、とLAMP serverを選んだ。(これを選ぶとopenssh-serverとLAMP構成に必要なパッケージ(apacheとかMySQLとかPHPとか)やがインストールされるっぽい)

  • MySQLのrootパスワードの設定
    rootパスワードを設定する
    ss-01-01.png
  • シェルの言語を設定する
    また、インストール時に日本語で設定していてもフォントが入っていないせいか、コマンドを実行した時に文字化けしてしまう。

     ss-01-02.png
    
    なので、ログインシェル(bash)の言語の設定を英語に変えておく。
    
    ```bash
    $ echo export LANG=en_US >> .bashrc
    ```
    
    書き換えたら無事、文字化けが解消。
    
     ss-01-03.png
    

NATの設定

  • VirtualBoxのVMの設定からネットワーク-> アダプタ1 割り当て:NATを選択 -> [OK]
    ss-02-01.png
  • VMを起動
  • eth0にIPアドレスが割り当てられることを確認
    bash
    $ ip addr
  • ゲストOS -> インターネットの接続確認
    bash
    $ ping google.com

ホストオンリーアダプタの設定

  • VMを停止する
  • VirtualBox の[ファイル] -> [環境設定] でVirtualBox の設定を開く
    ss-02-02-01.png
  • [ネットワーク] -> [ホストオンリーネットワーク] のタブを開き、ホストオンリーネットワークを追加する。
    ss-02-02-02.png
    vboxnet0が追加される
  • VirtualBoxのVMの設定からネットワーク-> アダプタ2 -> [ネットワークアダプタを有効]にチェック -> [割り当て] に[ホストオンリーアダプタ] を追加する。
    ss-02-02-03.png
  • VMの起動
  • eth1にIPを割り振る

    1. /etc/network/interfaceを編集する
      $ sudo su -
      
      # vi  /etc/network/interface
      

    /etc/network/interfaceに下記を追記する

    auto eth1
    iface eth1 inet static
    address 192.168.56.103
    netmask 255.255.255.0
    1. eth1を再起動する

      
      # ifdown eth1
      
      
      # ifup eth1 
      
    2. eth1の設定を確認する

      $ ip addr
  • ゲストOSにSSHで接続
    1. ホストOSからSSHで接続する
      bash
      $ ssh test01@192.168.56.103
Read more ...

sqlite3のdumpとリストア

2014-07-08

DBの作成

$ sqlite3 dbname

テーブルの作成

$ sqlite3 dbname 'create table test_table (colum1 , c2 )'

DBに入っているテーブルの確認

  • テーブル名のみ確認
$ sqlite3 dbname .tables
  • テーブル名とスキーマの確認
$ sqlite3 dbname .s

DBのダンプ

$ sqlite3 dbname .d

ダンプファイルをリダイレクトして、.gzに固める。

$ sqlite3 dbname .d |gzip >dbname_`date +%Y-%m-%d`.gz

さっき取得したdumpのリストア

$ sqlite3 dbname 'drop table test_test'
$ gzip -dc bdname_2014-06-10.gz |sqlite3 dbname
Read more ...

ssh越しにvimのexplorer(netrw)を使う

2014-05-27

アマゾンでAWSを借りてEC2を使ってみた。
アカウントの作り方から、インスタンスの起動の仕方までは、公式サイトに動画付きで解説がある。
そのため、ものの15分ほどでインスタンスの起動まで行き着くことができた。

ここでは、EC2にログインする方法。特に、vimのプラグインであるnetrwを使う方法を記載する。

まず、sshの設定でHost名に短い別名を設定し、netrwの機能でscpを使う。

借りているEC2のインスタンスについて

借りたEC2のスペックは無料枠で使えるubuntuにした。
こんな感じ。
-Instance type : micro
-OS : ubuntu 14.04 64 bit

ssh普通にログインする方法

まずは、sshを使って普通にログインする方法。

1.秘密鍵のダウンロード

インスタンスを一番最初に起動するときに、秘密鍵をダウンロードしていると思う。
ダウンロードした秘密鍵のパスを

~/aws/PriKey01.pm

とする。

2.インスタンスのURLの確認

ブラウザでインスタンスのURLを確認する。

URLの確認方法は

AWS Management Consoleホーム -> EC2 -> instances

から、 起動しているインスタンスの左のチェックボックスにチェックを入れ、Descriptionのタブに表示されている”Public DNS”がインスタンスのURLになる。

3.ログインする

ターミナルからsshで起動しているインスタンスにログインする。
インスタンスのOSにubuntuを選択すると、ユーザは”ubuntu”になるので、

ssh -i ~/aws/PriKey01.pem ubuntu@ec2-hogehoge-hogehoge.compute.amazonaws.com

でログインする。

ログインできれば、

Welcome to Ubuntu 14.04 LTS (GNU/Linux 3.13.0-24-generic x86_64)

Last login: Mon May 26 15:12:47 2014 from pkos004-049.kcn.ne.jp
ubuntu@ip-172-31-22-28:~$

みたいな感じに表示されるはず。

sshの設定

sshに別名を設定して、その設定した別名で接続できるようにする。
sshの設定は

~/.ssh/config

に記載する。

1.接続するときの別名を設定

接続先のホスト名が長すぎて、いちいち書いてられないので別名を設定する。

Host ec2-01
Hostname ec2-hogehoge-hogehoge.compute.amazonaws.com

2.ユーザ名を設定する

ログオンするときのユーザ名を設定する。

User ubuntu

3.秘密鍵のパスを設定する

IdentityFile ~/aws/PriKey01.pem

4.パスワード認証を使用しない

EC2は公開鍵方式によるsshアクセスなので、パスワード認証は使用しない。
そこで、下記設定を追加する。

PasswordAuthentication no

5.設定した別名でログオン

ssh -i ~/aws/PriKey01.pem ubuntu@ec2-hogehoge-hogehoge.compute.amazonaws.com

としてログインしていたのが、

ssh ec2-01

でログオンできるようになる。

netrwを使う方法

やっと本題のnetrwを使用する方法。
netrwがサポートしているプロトコルは多数あるけど、その中でssh/scpをサポートしている。

なので、

:e scp://ec2-01//

で、起動しているEC2インスタンスのルートディレクトリを表示できる。

Read more ...

ubuntu 14.04 にMySQLをインストール

2014-05-23

仕事で少し触る機会のあったperlを忘れないように、perlの練習がてらいわゆるLAMP環境なるものを作ってみた。

とりあえず、MySQLをインストールした時の設定を忘れないようにメモっておく。

1.MySQLのインストール
いつものように、apt-get installでインストール.

$sudo apt-get install mysql-server

インストールの最後にMySQLのrootのパスワードの設定を勧められるので正直に、パスワードを設定する。

2.MySQLにログイン
mysqll> というプロンプトが出てくればOK。

$sudo mysql -u root -p

3.文字コードの設定
設定ファイルは/etc/mysql/my.cnfにあるので、viか何かで開いて、下記設定を追加。

[client]
default-character-set=utf8>
[mysqld]
skip-character-set-client-handshake
character-set-server = utf8
collation-server = utf8_general_ci
init-connect = SET NAMES utf8

MySQLにログインしてデフォルトの文字コードの設定を確認する。

mysql> status

もしくは

mysql> show variables like 'character_set%';

statusでは下記の様に表示されていればOK。

Server characterset: utf8
Db characterset: utf8
Client characterset: utf8
Conn. characterset: utf8

Read more ...

StackEditを使ってMarkdownでBlogの記事を書いてみる

2014-05-23

StackEditというブラウザエディタを使ってblogを書いてみた。
MarkDown記法を使えるし、シンタックスハイライトも効くからいい感じに書ける。

参考にした記事は下記。
1. http://qiita.com/yuu116atlab/items/a9f4ed8407033b6b898f
2. http://tizio1976.blogspot.jp/2013/11/chrome-stackedit-markdown-blogger.html

Read more ...