LoginSignup
2
1

More than 5 years have passed since last update.

【導入】Ubuntu 14.04 Server

Last updated at Posted at 2015-11-22

GIGABYTE Brix Core i7搭載モデル(DIMM8GBx2, SSD128GB, WIFI)にUbuntu 14.04 LTSをインストールした際のメモ。

インストール

パーティション設定

Partition File System Mount Point Size Flags
/dev/sda1 fat32 /boot/efi 256 MiB boot
/dev/sda2 ext3 /boot 256 MiB msftdata
/dev/sda3 linux-swap (swap) 16.00 GiB
/dev/sda4 119.00 GiB lvm
/dev/vg01/root ext4 / 20.00 GiB
/dev/vg01/data ext4 /srv 82.74 GiB

パーティションツールを起動する。

$ sudo parted

パーティション(システム領域)を作成する。

# ディスク0選択
(parted) select /dev/sda

# パーティション種別設定(GPT)
(parted) mklabel gpt

# パティション作成
(parted) unit MiB
(parted) mkpart efi 0% 257
(parted) mkpart boot 257 513
(parted) mkpart swap 513 16897
(parted) mkpart volume 16897 100%

# フラグ設定変更
(parted) set 1 boot on
(parted) set 4 lvm on

# 結果確認
(parted) print
Model: ATA PLEXTOR PX-128M5 (scsi)
Disk /dev/sda: 119GiB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start    End      Size     File system     Name    Flags
 1      0.00GiB  0.25GiB  0.25GiB  fat16           efi     boot
 2      0.25GiB  0.50GiB  0.25GiB  ext3            boot    msftdata
 3      0.50GiB  16.5GiB  16.0GiB  linux-swap(v1)  swap
 4      16.5GiB  119GiB   103GiB                   volume  lvm

# パーティションツール終了
(parted) quit

LVMボリュームを作成する。

# パーティションをLVM用に初期化
$ sudo pvcreate /dev/sda4

# ボリュームグループ作成
$ sudo vgcreate vg01 /dev/sda4

# 論理ボリューム作成
$ sudo lvcreate -L 20GiB -n root vg01
$ sudo lvcreate -l 100%FREE -n data vg01

# 確認
$ sudo lvdisplay

ボリュームをフォーマットする。

$ sudo mkfs.vfat /dev/sda1
$ sudo mkfs.ext3 /dev/sda2
$ sudo mkswap /dev/sda3
$ sudo mkfs.ext4 /dev/vg01/root
$ sudo mkfs.ext4 /dev/vg01/data

OSインストール

  • インストール用USBを本体に挿入して電源をONにし、F12を押して表示されるメニューから「UEFI:~」を選択し、インストーラをUEFIブートする。
    picture178-1.png
  • 「Install Ubuntu Server」を実行する。
    picture178-2.png
  • [!!] Select a language ⇒ 「Japanese - 日本語」を選択する。
  • [!] Select a language ⇒ 「はい」を選択する。
  • [!] 場所の選択 ⇒ 「日本」を選択する。
  • [!] キーボードの設定(キーボード配列を検出しますか?) ⇒ 「いいえ」を選択する。
  • [!] キーボードの設定 ⇒ 「日本語」>「日本語」を選択する。
  • [!!] ネットワークの設定(プライマリネットワークインターフェイス) ⇒ 「p1p1」を選択する。
  • DHCPでネットワークを設定しています ⇒ 「キャンセル」を選択する。
  • [!!] ネットワークの設定 ⇒ 「続ける」を選択する。
  • [!!] ネットワークの設定 ⇒ 「手動で設定」を選択する。
        IPアドレス:192.168.0.200/24
        ゲートウェイ:192.168.0.1
        ネームサーバアドレス:192.168.0.1
  • [!] ネットワークの設定
        ホスト名:brix
        ドメイン名:home.local
  • [!!] ユーザとパスワードのセットアップ
        新しいユーザの本名(フルネーム):
        あなたのアカウントのユーザ名:
        新しいユーザのパスワードを選んでください:
        確認のため、再度パスワードを入力してください:
  • [!] ユーザとパスワードのセットアップ ⇒ 「いいえ」を選択する。
  • [!!] ディスクのパーティショニング ⇒ 「手動」を選択する。
LVM VG vg01, LV data - 88.8 GB Linux device-mapper (linear)
     1.     88.8 GB     F  ext4              /srv
LVM VG vg01, LV root - 21.5 GB Linux device-mapper (linear)
     1.     21.5 GB     F  ext4              /
SCSI1 (0,0,0) (sda) - 128.0 GB ATA PLEXTOR PX-128M5
             1.0 MB        空き領域
     1.    268.4 MB  B  K  EFIboot   efi
     2.    268.4 MB     F  ext3      boot    /boot
     3.     17.2 GB     F  スワップ  swap    スワップ
     4.    110.3 GB     K  lvm       volume
           335.4 kB        空き領域
  • [!!] ディスクのパーティショニング ⇒ 「パーティショニングの終了とディスクへの変更の書き込み」を選択する。
  • [!!] ディスクのパーティショニング ⇒ 「はい」を選択する。
  • [!] taskselを設定しています ⇒ 「セキュリティアップデートを自動的にインストールする」を選択する。
  • [!] ソフトウェアの選択 ⇒ 「OpenSSH server」を選択する。
  • [!] ハードディスクへのGRUBブートローダのインストール ⇒ 「はい」を選択する。
  • [!!] インストールの完了 ⇒ 「続ける」を選択する。

セットアップ

ネットワーク設定

IPアドレスを設定する。

$ sudo vi /etc/network/interface
# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto p1p1
iface p1p1 inet static
    address 192.168.0.200
    netmask 255.255.255.0
    network 192.168.0.0
    broadcast 192.168.0.255
    gateway 192.168.0.1
    # dns-* options are implemented by the resolvconf package, if installed
    dns-nameservers 202.216.224.67 202.216.224.66
    dns-search home.local

IPv6を無効化する。

$ sudo vi /etc/sysctl.conf
net.ipv6.conf.all.disable_ipv6 = 1

ファイアウォール設定

ファイアウォールのルールを追加する。

$ sudo ufw default DENY
$ sudo ufw allow OpenSSH
$ sudo ufw allow Apache

ファイアウォールを有効にする。

$ sudo ufw enable

SSHサーバ設定

$ sudo vi /etc/ssh/sshd_config
# rootのSSHログインは公開鍵認証のみ許可する
PermitRootLogin without-password

# RSA公開鍵認証を有効にする
RSAAuthentication yes
PubkeyAuthentication yes

# rhosts認証を無効にする
RhostsRSAAuthentication no

# パスワードなしを禁止する
PermitEmptyPasswords no

# チャレンジ/レスポンス認証を無効にする
ChallengeResponseAuthentication no

# パスワード認証を無効にする
PasswordAuthentication no

# クライアントIPアドレスに対するDNS逆引きを行わない
UseDNS no

その他OS設定

パッケージを更新する。

$ sudo aptitude update
$ sudo aptitude safe-upgrade
$ sudo apt-get autoremove

etc変更管理のためetckeeperをインストールする。

$ sudo aptitude install git etckeeper
$ sudo vi /etc/etckeeper/etckeeper.conf
#VCS="git"
VCS="bzr"
  ↓
VCS="git"
#VCS="bzr"
$ sudo git config --global --add user.name 'Takamatsu Makoto'
$ sudo git config --global --add user.email 'tkmtmkt@gmail.com'
$ sudo git config --global --add http.sslVerify false
$ sudo etckeeper init

時刻同期のためntpをインストールする。

$ sudo aptitude install ntp
$ sudo vi /etc/ntp.conf
server 0.ubuntu.pool.ntp.org
server 1.ubuntu.pool.ntp.org
server 2.ubuntu.pool.ntp.org
server 3.ubuntu.pool.ntp.org
  ↓
server 0.jp.pool.ntp.org
server 1.jp.pool.ntp.org
server 2.jp.pool.ntp.org

server ntp.ubuntu.com
  ↓
server ntp.nict.jp
$ sudo service ntp stop
$ sudo ntpdate ntp.nict.jp
$ sudo service ntp start

デフォルトのエディタ設定をviに変更する。

$ sudo update-alternatives --config editor
alternative editor (/usr/bin/editor を提供) には 5 個の選択肢があります。

  選択肢    パス              優先度  状態
------------------------------------------------------------
* 0            /bin/nano            40        自動モード
  1            /bin/ed             -100       手動モード
  2            /bin/nano            40        手動モード
  3            /usr/bin/emacs24     0         手動モード
  4            /usr/bin/vim.basic   30        手動モード
  5            /usr/bin/vim.tiny    10        手動モード

現在の選択 [*] を保持するには Enter、さもなければ選択肢の番号のキーを押してください: 4

日本語環境設定

日本語パッケージをインストールする。

$ sudo aptitude install language-pack-ja
$ sudo aptitude install ubuntu-extras-keyring
  • 日本語ロケール生成
sudo localedef -f SHIFT_JIS -i ja_JP ja_JP.SJIS
sudo vi /var/lib/locales/supported.d/ja
ja_JP.UTF-8 UTF-8
ja_JP.EUC-JP EUC-JP
ja_JP.SJIS SJIS
$ sudo locale-gen

日本語フォントをインストールする。

$ sudo aptitude install fonts-ipafont-gothic

アカウント設定

アカウントを追加する。

$ sudo useradd -u 20000 -c 'Takamatsu Makoto' -m -s /bin/bash takamatu
$ sudo passwd takamatu
新しい UNIX パスワードを入力してください:
新しい UNIX パスワードを再入力してください:
passwd: password updated successfully

管理者権限を付与する。

$ sudo gpasswd -a takamatu sudo
Adding user takamatu to group sudo

パッケージインストール

環境用

$ sudo aptitude install p7zip p7zip-full
$ sudo aptitude install vim tmux

管理用

  • パッケージファイル検索
$ sudo aptitude install apt-file
$ sudo apt-file update
  • システム状態確認
$ sudo aptitude install sysstat
$ sudo vi /etc/default/sysstat
ENABLED="false"
 ↓
ENABLED="true"
  • サーバ構成管理ツール
$ sudo aptitude install ansible

開発用

  • バージョン管理ツール
$ sudo aptitude install git-all gitstats tig
$ sudo aptitude install mercurial
$ sudo aptitude install subversion cvs2svn statsvn
$ sudo aptitude install cvs statcvs
$ sudo aptitude install fossil sqlite3

ユーザ環境設定

SSH接続設定

SSH鍵ペアを作成する。

$ ssh-keygen

接続先情報を作成する。

$ cat <<EOS | tee ~/.ssh/config
Host sakura
    Hostname www11234ui.sakura.ne.jp
    User takamatu
EOS
$ chmod go-w ~/.ssh/config

SSH公開鍵を転送する

$ ssh-copy-id sakura

コンソール環境設定

dotfilesを取得する。

$ mkdir ~/git
$ cd ~/git
$ git clone https://github.com/tkmtmkt/dotfiles.git
$ cd ~/git/dotfiles
$ git submodule init
$ git submodule update

dotfilesを配置する。(シンボリックリンク作成)

$ cd ~/git/dotfiles
$ mv ~/.basharc ~/.bashrc.org
$ ansible-playbook mklink.yml -i hosts

コンソール起動スクリプト

既存のtmuxセッションがあればattachし、なければ新しいtmuxセッションを作成するスクリプト。
サーバにssh接続してconと叩いてセッションを開始し、作業中断時にCtrl+t、Ctrl+dでセッションを抜ければ、次にconと叩いたときに作業中のコンソールを再開する。

$ mkdir ~/bin
$ cat <<EOS | ~/bin/con
#!/bin/bash

if [ -z "\$(tmux list-session 2> /dev/null)" ] ; then
  TMUXCMD="tmux new-session"
else
  TMUXCMD="tmux attach-session"
fi

echo "\$TMUXCMD \; set set-titles on \; set set-titles-string \$HOSTNAME"
\$TMUXCMD \; set set-titles on \; set set-titles-string \$HOSTNAME

# vim: set ts=2 sw=2 et:
EOS
$ chmod +x ~/bin/con
2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1