Nginxをインストール

apt コマンドでインストール。パッケージが何種類かあるけど、以前と同じ nginx-extras にした。

takatoh@wplj $ apt search nginx | grep ^nginx

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

nginx/xenial-updates,xenial-updates,xenial-security,xenial-security 1.10.0-0ubuntu0.16.04.4 all
nginx-common/xenial-updates,xenial-updates,xenial-security,xenial-security 1.10.0-0ubuntu0.16.04.4 all
nginx-core/xenial-updates,xenial-security 1.10.0-0ubuntu0.16.04.4 amd64
nginx-core-dbg/xenial-updates,xenial-security 1.10.0-0ubuntu0.16.04.4 amd64
nginx-doc/xenial-updates,xenial-updates,xenial-security,xenial-security 1.10.0-0ubuntu0.16.04.4 all
nginx-extras/xenial-updates,xenial-security 1.10.0-0ubuntu0.16.04.4 amd64
nginx-extras-dbg/xenial-updates,xenial-security 1.10.0-0ubuntu0.16.04.4 amd64
nginx-full/xenial-updates,xenial-security 1.10.0-0ubuntu0.16.04.4 amd64
nginx-full-dbg/xenial-updates,xenial-security 1.10.0-0ubuntu0.16.04.4 amd64
nginx-light/xenial-updates,xenial-security 1.10.0-0ubuntu0.16.04.4 amd64
nginx-light-dbg/xenial-updates,xenial-security 1.10.0-0ubuntu0.16.04.4 amd64
takatoh@wplj $ sudo apt install nginx-extras
[sudo] takatoh のパスワード: 
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下の追加パッケージがインストールされます:
  libluajit-5.1-2 libluajit-5.1-common nginx-common
提案パッケージ:
  fcgiwrap nginx-doc
以下のパッケージが新たにインストールされます:
  libluajit-5.1-2 libluajit-5.1-common nginx-common nginx-extras
アップグレード: 0 個、新規インストール: 4 個、削除: 0 個、保留: 431 個。
897 kB のアーカイブを取得する必要があります。
この操作後に追加で 2,692 kB のディスク容量が消費されます。
続行しますか? [Y/n] y
取得:1 http://jp.archive.ubuntu.com/ubuntu xenial/universe amd64 libluajit-5.1-common all 2.0.4+dfsg-1 [35.3 kB]
取得:2 http://jp.archive.ubuntu.com/ubuntu xenial/universe amd64 libluajit-5.1-2 amd64 2.0.4+dfsg-1 [205 kB]
取得:3 http://jp.archive.ubuntu.com/ubuntu xenial-updates/main amd64 nginx-common all 1.10.0-0ubuntu0.16.04.4 [26.6 kB]
取得:4 http://jp.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 nginx-extras amd64 1.10.0-0ubuntu0.16.04.4 [629 kB]
897 kB を 0秒 で取得しました (5,198 kB/s)
パッケージを事前設定しています ...
以前に未選択のパッケージ libluajit-5.1-common を選択しています。
(データベースを読み込んでいます ... 現在 212452 個のファイルとディレクトリがインストールされています。)
.../libluajit-5.1-common_2.0.4+dfsg-1_all.deb を展開する準備をしています ...
libluajit-5.1-common (2.0.4+dfsg-1) を展開しています...
以前に未選択のパッケージ libluajit-5.1-2:amd64 を選択しています。
.../libluajit-5.1-2_2.0.4+dfsg-1_amd64.deb を展開する準備をしています ...
libluajit-5.1-2:amd64 (2.0.4+dfsg-1) を展開しています...
以前に未選択のパッケージ nginx-common を選択しています。
.../nginx-common_1.10.0-0ubuntu0.16.04.4_all.deb を展開する準備をしています ...
nginx-common (1.10.0-0ubuntu0.16.04.4) を展開しています...
以前に未選択のパッケージ nginx-extras を選択しています。
.../nginx-extras_1.10.0-0ubuntu0.16.04.4_amd64.deb を展開する準備をしています ...
nginx-extras (1.10.0-0ubuntu0.16.04.4) を展開しています...
ufw (0.35-0ubuntu2) のトリガを処理しています ...
プロファイル 'Samba' を規定するルールが更新されました
ファイアウォールを再読込しました
ureadahead (0.100.0-19) のトリガを処理しています ...
systemd (229-4ubuntu4) のトリガを処理しています ...
man-db (2.7.5-1) のトリガを処理しています ...
libluajit-5.1-common (2.0.4+dfsg-1) を設定しています ...
libluajit-5.1-2:amd64 (2.0.4+dfsg-1) を設定しています ...
nginx-common (1.10.0-0ubuntu0.16.04.4) を設定しています ...
nginx-extras (1.10.0-0ubuntu0.16.04.4) を設定しています ...
libc-bin (2.23-0ubuntu3) のトリガを処理しています ...
ureadahead (0.100.0-19) のトリガを処理しています ...
systemd (229-4ubuntu4) のトリガを処理しています ...
ufw (0.35-0ubuntu2) のトリガを処理しています ...
プロファイル 'Samba' を規定するルールが更新されました
ファイアウォールを再読込しました

80番ポートを開ける。

takatoh@wplj $ sudo ufw allow http
ルールを追加しました
ルールを追加しました (v6)
takatoh@wplj $ sudo ufw status
状態: アクティブ

To                         Action      From
--                         ------      ----
Samba                      ALLOW       Anywhere                  
22                         ALLOW       Anywhere                  
80                         ALLOW       Anywhere                  
Samba (v6)                 ALLOW       Anywhere (v6)             
22 (v6)                    ALLOW       Anywhere (v6)             
80 (v6)                    ALLOW       Anywhere (v6)

これでOK。

sshで接続できるようにする

まずは ssh サーバのインストール。

takatoh@wplj $ sudo apt install openssh-server
[sudo] takatoh のパスワード: 
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下の追加パッケージがインストールされます:
  ncurses-term openssh-client openssh-sftp-server ssh-import-id
提案パッケージ:
  ssh-askpass libpam-ssh keychain monkeysphere rssh molly-guard
以下のパッケージが新たにインストールされます:
  ncurses-term openssh-server openssh-sftp-server ssh-import-id
以下のパッケージはアップグレードされます:
  openssh-client
アップグレード: 1 個、新規インストール: 4 個、削除: 0 個、保留: 431 個。
1,223 kB のアーカイブを取得する必要があります。
この操作後に追加で 5,146 kB のディスク容量が消費されます。
続行しますか? [Y/n] y
取得:1 http://jp.archive.ubuntu.com/ubuntu xenial-updates/main amd64 openssh-client amd64 1:7.2p2-4ubuntu2.1 [587 kB]
取得:2 http://jp.archive.ubuntu.com/ubuntu xenial/main amd64 ncurses-term all 6.0+20160213-1ubuntu1 [249 kB]
取得:3 http://jp.archive.ubuntu.com/ubuntu xenial-updates/main amd64 openssh-sftp-server amd64 1:7.2p2-4ubuntu2.1 [38.8 kB]
取得:4 http://jp.archive.ubuntu.com/ubuntu xenial-updates/main amd64 openssh-server amd64 1:7.2p2-4ubuntu2.1 [338 kB]
取得:5 http://jp.archive.ubuntu.com/ubuntu xenial/main amd64 ssh-import-id all 5.5-0ubuntu1 [10.2 kB]
1,223 kB を 0秒 で取得しました (5,744 kB/s)
パッケージを事前設定しています ...
(データベースを読み込んでいます ... 現在 209694 個のファイルとディレクトリがインストールされています。)
.../openssh-client_1%3a7.2p2-4ubuntu2.1_amd64.deb を展開する準備をしています ...
openssh-client (1:7.2p2-4ubuntu2.1) で (1:7.2p2-4 に) 上書き展開しています ...
以前に未選択のパッケージ ncurses-term を選択しています。
.../ncurses-term_6.0+20160213-1ubuntu1_all.deb を展開する準備をしています ...
ncurses-term (6.0+20160213-1ubuntu1) を展開しています...
以前に未選択のパッケージ openssh-sftp-server を選択しています。
.../openssh-sftp-server_1%3a7.2p2-4ubuntu2.1_amd64.deb を展開する準備をしています ...
openssh-sftp-server (1:7.2p2-4ubuntu2.1) を展開しています...
以前に未選択のパッケージ openssh-server を選択しています。
.../openssh-server_1%3a7.2p2-4ubuntu2.1_amd64.deb を展開する準備をしています ...
openssh-server (1:7.2p2-4ubuntu2.1) を展開しています...
以前に未選択のパッケージ ssh-import-id を選択しています。
.../ssh-import-id_5.5-0ubuntu1_all.deb を展開する準備をしています ...
ssh-import-id (5.5-0ubuntu1) を展開しています...
man-db (2.7.5-1) のトリガを処理しています ...
ureadahead (0.100.0-19) のトリガを処理しています ...
systemd (229-4ubuntu4) のトリガを処理しています ...
ufw (0.35-0ubuntu2) のトリガを処理しています ...
プロファイル 'Samba' を規定するルールが更新されました
ファイアウォールを再読込しました
openssh-client (1:7.2p2-4ubuntu2.1) を設定しています ...
ncurses-term (6.0+20160213-1ubuntu1) を設定しています ...
openssh-sftp-server (1:7.2p2-4ubuntu2.1) を設定しています ...
openssh-server (1:7.2p2-4ubuntu2.1) を設定しています ...
Creating SSH2 RSA key; this may take some time ...
2048 SHA256:/AheNtz5WRwnLDNdxXaHHFTbxPPpvBczFslD+m61A4s root@wplj (RSA)
Creating SSH2 DSA key; this may take some time ...
1024 SHA256:T3FAc8aM/N44ID8xFGTTQAyEnTknasymTFYziE/fHKc root@wplj (DSA)
Creating SSH2 ECDSA key; this may take some time ...
256 SHA256:mBVoQkg1uZ1Q53Jk2czIhQT435IjG9S35BhAcKsM3Nc root@wplj (ECDSA)
Creating SSH2 ED25519 key; this may take some time ...
256 SHA256:zon2COqKeVZyDMdquuk8kBWInaySdyryR+oaumYloOY root@wplj (ED25519)
ssh-import-id (5.5-0ubuntu1) を設定しています ...
ureadahead (0.100.0-19) のトリガを処理しています ...
systemd (229-4ubuntu4) のトリガを処理しています ...
ufw (0.35-0ubuntu2) のトリガを処理しています ...
プロファイル 'Samba' を規定するルールが更新されました
ファイアウォールを再読込しました

/etc/ssh/sshd_config ファイルを編集。

#PermitRootLogin prohibit-password
PermitRootLogin no

コメントアウトしてあるのが元の設定。

22番ポートを開ける。

takatoh@wplj $ sudo ufw allow ssh
ルールを追加しました
ルールを追加しました (v6)
takatoh@wplj $ sudo ufw status
状態: アクティブ

To                         Action      From
--                         ------      ----
Samba                      ALLOW       Anywhere                  
22                         ALLOW       Anywhere                  
Samba (v6)                 ALLOW       Anywhere (v6)             
22 (v6)                    ALLOW       Anywhere (v6)

最後に ssh を再起動。

takatoh@wplj $ sudo service ssh restart

テスト。apostrophe から wplj に ssh で接続してみる。

takatoh@apostrophe $ ssh takatoh@wplj
The authenticity of host 'wplj (192.168.1.6)' can't be established.
ECDSA key fingerprint is f8:e4:fd:e4:48:17:f4:f0:7c:88:fa:cc:5f:1f:0b:37.
Are you sure you want to continue connecting (yes/no)? yes 
Warning: Permanently added 'wplj,192.168.1.6' (ECDSA) to the list of known hosts.
takatoh@wplj's password: 
Welcome to Ubuntu 16.04 LTS (GNU/Linux 4.4.0-62-generic x86_64)

 * Documentation:  https://help.ubuntu.com/

433 個のパッケージがアップデート可能です。
145 個のアップデートはセキュリティアップデートです。


The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.

takatoh@wplj $ ls
Desktop  Documents  Downloads  Music  Pictures  Public  Templates  Videos  w
takatoh@wplj $ 

OK。

Sublime Text 3をインストール

Sublime Text 3 のページから、Ubuntu 64bit 用をダウンロード。ダウンロードした .deb ファイルをダブルクリックでインストール……できるはずが、できない。
インストールのウィンドウが開いてインストールボタンがあるので、それをクリックする。わずかの間「インストール中」になるけど、すぐに元に戻ってしまう。で、結果、インストールできていない。なぜだ。

仕方がないので、↓このページを参考に、コマンドラインからインストールした。
 cf. How To Install Sublime Text 3 (Build 3103) On Ubuntu 16.04, Ubuntu 15.10, Ubuntu 14.04 And Derivatives – LinuxG.net

takatoh@wplj $ sudo add-apt-repository ppa:webupd8team/sublime-text-3
takatoh@wplj $ sudo apt-get update
takatoh@wplj $ sudo apt-get install sublime-text-installer

これで完了。パッケージのインストールはまた後で。

[追記]

パッケージコントロールとパッケージのインストール。
まずはパッケージコントロール。このページから、Sublime Text 3 用のスクリプトをコピー。Sublime Text の [Ctrl] + [`] でコンソールを開いて貼り付け。立ち上げなおすとパッケージが使えるようになっている。

[Ctrl] + [Shift] + [p] でコマンドパレットを開き、「Package Control: Install Package」を選択。Japanize を検索してインストールした。インストール後の設定手順は次の通り。

takatoh@wplj $ cd .config/sublime-text-3/Packages
takatoh@wplj $ mkdir Default
takatoh@wplj $ cp Japanize/*.jp Default
takatoh@wplj $ cp Japanize/Main.sublime-menu User

これで Sublime Text を起動し直すと、メニューが日本語になった。

RubyとPythonをインストール

Ruby

takatoh@wplj $ sudo apt install ruby
takatoh@wplj $ ruby -v
ruby 2.3.1p112 (2016-04-26) [x86_64-linux-gnu]

おお、2.3だ。

Python

takatoh@wplj $ sudo apt install python
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
python はすでに最新バージョン (2.7.11-1) です。
python は手動でインストールしたと設定されました。
アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 432 個。

あれ、入ってる?

takatoh@wplj $ python -V
Python 2.7.11+

入ってた。

Sambaでファイルサーバを構築

wplj にアクセス権フリーの共有ディレクトリを作る。
このへんのページが役に立った。

 cf. Samba でファイルサーバー構築 – 自宅サーバー Debian/Ubuntu
 cf. https://www.server-world.info/query?os=Ubuntu_16.04&p=samba

まずは Samba のインストール。

takatoh@wplj $ sudo apt install samba

これでインストールされるだけでなく、動き出すらしい。

takatoh@wplj $ ps ax | grep samba
 3821 pts/18   S+     0:00 grep --color=auto samba

あれ?動いてない?
共有ディレクトリを作成。

takatoh@wplj $ sudo mkdir /media/aysheaia/share
takatoh@wplj $ sudo chown nobody:nogroup /media/aysheaia/share
takatoh@wplj $ sudo chmod 777 /media/aysheaia/share

Samba の設定。…の前に設定ファイルのバックアップをとっておく。

takatoh@wplj $ cd /etc/samba
takatoh@wplj $ ls
gdbcommands  smb.conf  tls
takatoh@wplj $ sudo cp smb.conf smb.conf.orig
takatoh@wplj $ ls
gdbcommands  smb.conf  smb.conf.orig  tls

そして設定。

takatoh@wplj $ sudo vi smb.conf

設定ファイルは次のように変えた。

takatoh@wplj $ diff smb.conf.orig smb.conf
29c29,36
<    workgroup = WORKGROUP
---
> #   workgroup = WORKGROUP
>    workgroup = PANICBLANKET
> 
>    dos charset = CP932
>    unix charset = UTF-8
>    display charset = UTF-8
> 
>    map to guest = Bad User
259a267,274
> 
> [share]
> path = /media/aysheaia/share
> writable = yes
> force create mode = 0666
> force directory mode = 0777
> guest ok = yes
> guest only = yes

ポートの開放。

takatoh@wplj $ sudo ufw status
状態: 非アクティブ
takatoh@wplj $ sudo ufw enable
ファイアウォールはアクティブかつシステムの起動時に有効化されます。
takatoh@wplj $ sudo ufw status
状態: アクティブ
takatoh@wplj $ sudo ufw default DENY
デフォルトの incoming ポリシーは 'deny' に変更しました
(適用したい内容に基づいて必ずルールを更新してください)
takatoh@wplj $ sudo ufw allow samba
ルールを追加しました
ルールを追加しました (v6)
takatoh@wplj $ sudo ufw status
状態: アクティブ

To                         Action      From
--                         ------      ----
Samba                      ALLOW       Anywhere                  
Samba (v6)                 ALLOW       Anywhere (v6)

Samba を再起動。

takatoh@wplj $ sudo /etc/init.d/samba restart
[ ok ] Restarting nmbd (via systemctl): nmbd.service.
[ ok ] Restarting smbd (via systemctl): smbd.service.
[ ok ] Restarting samba-ad-dc (via systemctl): samba-ad-dc.service.

これでOK。Windows マシンからも確認できた。

外付けHDDを接続

USB の外付けHDDを接続すると、ちゃんと認識された。ただ、繋ぎっぱなしの HDD として使うには /etc/fstab に登録しないといけないので、その設定をする。繋いだ HDD は2つ。ファイルサーバ用とバックアップ用だ。

sudo blkid コマンドで HDD の UUID を調べる。

takatoh@wplj $ sudo blkid
/dev/sda1: UUID="D17D-DA22" TYPE="vfat" PARTLABEL="EFI System Partition" PARTUUID="6fa2ce8f-fa84-4c97-8280-e58107f1f5f7"
/dev/sda2: UUID="10ac8b6d-a943-4bc9-bd0e-7cbc3cb38125" TYPE="ext4" PARTUUID="3691980f-4128-465c-ab58-0ae98c7783a9"
/dev/sda3: UUID="fe038a20-aa4e-48d9-b98c-f8932b715370" TYPE="swap" PARTUUID="8383fce1-4445-419d-a75d-1e002ac985ef"
/dev/sdb1: PARTLABEL="Microsoft reserved partition" PARTUUID="f94bfbc2-2dd6-4f5a-bcd0-41fa20509112"
/dev/sdb2: LABEL="OPABINIA" UUID="962EDE6A2EDE42C3" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="70fb4b85-f7aa-4b55-b359-8a954bc7a0fc"
/dev/sdc1: PARTLABEL="Microsoft reserved partition" PARTUUID="5ab86c39-d82e-4a72-8cee-1c2553ebdbaa"
/dev/sdc2: LABEL="AYSHEAIA" UUID="ECC40F30C40EFC98" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="c7f4b645-6c8f-474b-8cb6-54aa69d553f8"

LABEL が AYSHEAIA と OPABINIA なのが外付けHDD。ファイルシステムは NTFS のまま使う。この HDD の UUID を持って、次のように /etc/fstab ファイルを編集した。

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# 
# / was on /dev/sda2 during installation
UUID=10ac8b6d-a943-4bc9-bd0e-7cbc3cb38125 / ext4 errors=remount-ro 0 1
# /boot/efi was on /dev/sda1 during installation
UUID=D17D-DA22 /boot/efi vfat umask=0077 0 1
# swap was on /dev/sda3 during installation
UUID=fe038a20-aa4e-48d9-b98c-f8932b715370 none swap sw 0 0
# USB HDD AYSHEAIA
UUID=ECC40F30C40EFC98 /media/aysheaia ntfs default 0 0
# USB HDD OPABINIA<br>UUID=962EDE6A2EDE42C3 /media/opabinia ntfs default 0 0

マウントポイントになるディレクトリを作る。

takatoh@wplj $ sudo mkdir /media/aysheaia
takatoh@wplj $ sudo mkdir /media/opabinia

そして再起動。無事認識されて、マウントされた。

takatoh@wplj $ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            1.9G     0  1.9G   0% /dev
tmpfs           385M  6.2M  379M   2% /run
/dev/sda2       454G  4.7G  427G   2% /
tmpfs           1.9G  208K  1.9G   1% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/sdb2       2.8T  264M  2.8T   1% /media/aysheaia
/dev/sdc2       2.8T  264M  2.8T   1% /media/opabinia
/dev/sda1       511M  3.6M  508M   1% /boot/efi
tmpfs           385M  4.0K  385M   1% /run/user/108
tmpfs           385M   44K  385M   1% /run/user/1000

新しいPCが届いたのでWindowsを消してUbuntuをインストールした

また PC 買ったのかといわれそうだけど、これは予定通り。去年買ったノートPC が予定外だったのだ。
新しい PC は Ubuntu をインストールして宅内ネットワークのファイルサーバ兼WEBサーバにする。ホスト名は wplj。

Windows10 のセットアップとリカバリメディア作成

まずは Windows 10 のセットアップ。これは最低限の設定で。
それから、万が一 Ubuntu がうまくインストールできなかった時のために Windows10 のリカバリメディアを作成しておく。スタートメニューの「HP ヘルプとサポート」から「HP Recovery Manager」を起動。手順に従ってリカバリメディアを作成した(全部でDVD-R 3枚)。結構時間がかかる。

起動ドライブの順序変更

再起動中に F2 キーを押して BIOS 設定に移動、USB の CD-ROM ブートを内部 HD よりも優先に設定する。そして起動。すると Windows が起動してしまった。もう一度 BIOS 設定に移動して確認すると、ちゃんと USB CD-ROM が優先になっている。おかしい。仕方がないので、BIOS の BOOT メニューから USB CD-ROM ブートを選んだ。

Ubuntu 16.04 LTSのインストール

今度はちゃんと Ubuntu の DVD から起動したので、Ubuntu のインストールをする。途中、「Ubuntuのインストール中にアップデートをダウンロードする」を選ぶ。
また、Windows Boot Manager が検出されるので「ディスクを削除してUbuntuをインストール」を選択。あとはほぼデフォルトで。コンピューターの名前は上に書いた通り wplj。ユーザーは takatoh を作った。
しばらくしてインストールが完了。再起動すると、無事 Ubuntu が起動した。

とりあえずはここまで。あとの設定とかはエントリを分けて書く。