Memorandum

普段の生活の覚え書き。主に技術録

WordPressコンテナへのVim導入

前回作成したDockerでのWordPressイメージにファイルアクセスしたんですが、テキストエディタが見つからなかった、使い慣れているvimを入れてみました。

Rloginでのログイン

前回はPowerShellを使ってログインを行ったのですが、今回はRloginというツールを使ってログインを行いました。

RloginとはWindows用の端末シミュレータ(ターミナル)ソフトです。

http://nanno.dip.jp/softlib/man/rlogin/

rlogin、telnetSSHなど、シリアル接続など幅広くサポートしていて色々な場面で使えます。 また1998年の開発から始まる20年来のソフトウェアで、長く開発が続けられていて信頼できると思います。

他の有名な端末シミュレータとしてTeraTermPuttyなどがありますが、Rloginはタブや画面分割もサポートしていて使いやすいソフトに仕上がっています。

会社でTeraTermを使ったことがあるのですが、接続先を入力したら接続先を一覧として保存しているのですが、パスワードや設定などを入力し直す必要がありました。 RLoginでは接続先ごとに設定を保存していて選択するだけで接続できます。

さて、PowerShellvagrant upをして、仮想環境を立ち上げると、以下のように出力されます。

==> vagrant: A new version of Vagrant is available: 2.1.4!
==> vagrant: To upgrade visit: https://www.vagrantup.com/downloads.html

Bringing machine 'core-01' up with 'virtualbox' provider...
==> core-01: Checking if box 'coreos-alpha' is up to date...
==> core-01: Clearing any previously set forwarded ports...
==> core-01: Clearing any previously set network interfaces...
==> core-01: Preparing network interfaces based on configuration...
    core-01: Adapter 1: nat
    core-01: Adapter 2: hostonly
==> core-01: Forwarding ports...
    core-01: 22 (guest) => 2222 (host) (adapter 1)
==> core-01: Running 'pre-boot' VM customizations...
==> core-01: Booting VM...
==> core-01: Waiting for machine to boot. This may take a few minutes...
    core-01: SSH address: 127.0.0.1:2222
    core-01: SSH username: core
    core-01: SSH auth method: private key
==> core-01: Machine booted and ready!
==> core-01: Setting hostname...
==> core-01: Configuring and enabling network interfaces...
==> core-01: Machine already provisioned. Run `vagrant provision` or use the `--provision`
==> core-01: flag to force provisioning. Provisioners marked to run always will still run.

またはvagrant ssh-config

Host core-01
  HostName 127.0.0.1
  User core
  Port 2222
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile C:/.vagrant.d/insecure_private_key
  IdentitiesOnly yes
  LogLevel FATAL
  ForwardAgent yes

ログインに必要な情報を取得します。 必要なのはUserIdentityFileの項目です。

その後、RLoginを立ち上げ新規の接続先サーバ画面に以下のように入力します。

ログインユーザ名にUserの項目、SSH認証鍵にIdentityFileのパスを入力してOKボタンで保存します。 保存後、作成したサーバ接続先を選びOKボタンを押すと、初回に接続先サーバの情報を保存するかどうかの確認画面が出ます。 その後、立ち上げた仮想環境にログインできます。

vimインストール

ログインを行った後、コンテナが起動していることを確認します。 docker psで現在起動しているコンテナの一覧が表示されます。

私は前回起動してから一度PCを再起動しているので、もう一度保存しているコンテナから起動しました。

# mysqlのコンテナ起動
$ docker start mysite_db
# wordpressのコンテナ起動
$ docker start mysite

前回の記事でファイルアクセスを行うには$ docker exec -it mysite /bin/bashでアクセスできるところまでは確認したのですが、vimやnano、emacsなどが使えなかったので、使い慣れているvimをインストールすることにしました。

まず、コンテナ内にアクセスしてapt-getコマンドでインストールしました。

core@core-01 ~ $ docker exec -it mysite /bin/bash
root@152bc757f38d:/var/www/html# apt-get update
root@152bc757f38d:/var/www/html# apt-get install vim

apt-getコマンドを実行したときに以下のようなエラーが表示されました。

E:The package lists or status file could not be parsed or opened.

前回コンテナを起動した後PCをスリープ状態にしていたのが原因だと思います。 一度PCを再起動して再度仮想環境とコンテナを立ち上げることで解決しました。

後記

Linuxのテキストファイルをいじるのに、エディタがなかったのは初めてだったので、色々調べてしまいました。 最低限の環境のみ用意されているLinuxでは自分でエディタを入れてくる必要があるみたいですね。

これでWordPressの環境を色々いじれるので、テスト環境として実験してみようと思います。