追記(2018/10/12)
今読むととてもレガシーなことしているので参考の参考程度にしてください。
Windows で VirtualBox を使い、SSH クライアントとして Poderosa 4 や Tera Term や WinSCP を使うことを想定しています。boxはubuntu/xenial64
を用います。
ユーザー「ubuntu」でログイン
注意
以下の「初めてのログインをする」部分の記述は、boxにbento/ubuntu-16.04
を使った場合には正しくありません。boxにbento/ubuntu-16.04
を使った場合、「鍵のみ」ではなく、ユーザ名とパスの組み合わせはvagrant:vagrant
で入れました(2017/04/24 現在)。
初めてのログインをする
- ユーザ名は ubuntu です
- 鍵のみです
- 鍵は、Vagrantfile が置いてある場所を基準にして .vagrant/machines/default/virtualbox/private_key にあります*1
root でパスワードログインができるようにする*2
$ sudo passwd root $ sudo sed -i -e "s/PermitRootLogin prohibit-password/PermitRootLogin yes/g" /etc/ssh/sshd_config -> PermitRootLogin prohibit-password の部分を -> PermitRootLogin yes に修正 $ sudo service sshd restart $ exit -> root でパスワードを用いてログインできる
root 用の SSH の鍵を作る*3
Vagrantfile
でconfig.vm.synced_folder
を適切に設定していないと、Windows とのファイルの受け渡しができませんので注意です。
# ssh-keygen -t rsa -N '' -f ~/.ssh/id_rsa -> パスフレーズは空っぽ # mv ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys # cp ~/.ssh/id_rsa /vagrant -> Vagrantfile がある Windwos のフォルダに id_rsa が持ってこられたのでこれを SSH ログイン時の鍵としましょう
root は password ではログインできないように元に戻す
先ほど編集した操作と逆の操作です。
$ sudo sed -i -e "s/PermitRootLogin yes/PermitRootLogin prohibit-password/g" /etc/ssh/sshd_config -> PermitRootLogin yes の部分を -> PermitRootLogin prohibit-password に修正 $ sudo service sshd restart $ exit
タイムゾーン変更(JST)
# timedatectl set-timezone Asia/Tokyo
apt-get update しておく
# apt-get update
日本語化
# apt-get install -y language-pack-ja language-pack-ja-base # update-locale LANG=ja_JP.UTF-8 # source /etc/default/locale
入れていくもの(重複もありますがお好みで)
# apt-get upgrade -y # apt-get install -y manpages-ja manpages-ja-dev # apt-get install -y build-essential # apt-get install -y emacs # apt-get install -y apache2 # apt-get install -y mysql-server # apt-get install -y sqlite3 libsqlite3-dev # apt-get install -y software-properties-common # apt-get install -y wget curl zip unzip git # apt-get install -y php # apt-get install -y php-mysql php-dev php-curl php-fpm php-xml php-mbstring libapache2-mod-php # apt-get install -y default-jre
上記を全てまとめて入れるのは以下で。
# apt-get install -y manpages-ja manpages-ja-dev build-essential emacs ruby ruby-dev bundler apache2 mysql-client mysql-server sqlite3 php software-properties-common wget curl zip unzip git python php-mysql php-dev php-curl php-fpm php-xml php-mbstring libapache2-mod-php nodejs default-jre
Itamaeる
手順が固まったら Itamaeる といいかもしれませんね。
(参考)日本語環境確認
# locale LANG=ja_JP.UTF-8 LANGUAGE= LC_CTYPE="ja_JP.UTF-8" LC_NUMERIC="ja_JP.UTF-8" LC_TIME="ja_JP.UTF-8" LC_COLLATE="ja_JP.UTF-8" LC_MONETARY="ja_JP.UTF-8" LC_MESSAGES="ja_JP.UTF-8" LC_PAPER="ja_JP.UTF-8" LC_NAME="ja_JP.UTF-8" LC_ADDRESS="ja_JP.UTF-8" LC_TELEPHONE="ja_JP.UTF-8" LC_MEASUREMENT="ja_JP.UTF-8" LC_IDENTIFICATION="ja_JP.UTF-8" LC_ALL=