サーバー移行手順
ubuntu-20.04.2-live-server-amd64.isoをダウンロードしてインストール
DiskのLVM管理は行わない
IPを固定に設定
サブネットマスクは192.168.3.0/24
IPアドレスは192.168.3.97に設定
ここはDHCPでは割り当てられないようになっている(ルーターで設定している)
途中でopen-sshを追加インストールする
ところで最近snapというパッケージ管理コマンドがあるが、これはUbuntuが開発しているパッケージマネージャでユニバーサルなパッケージマネージャを目指しているようだ。どのディストリでも使えるようにすることが目標らしい。
ubuntuインストールで running ‘curtin hook’がなかなか終わらない。
仕方ないのでrebootしてしまう。
とりあえず起動できた。
ssh-server
まずはsshサーバーを設定してパスワードで外部からログインできるようにする。(これは特に設定しなくてもできた)
githubにいろいろ置いてあるのでssh-keygenで公開鍵をgithubに登録する。
1 2 |
$ ssh-keygen -t rsa $ cat .ssh/id_rsa.pub |
これで.ssh/id_rsa.pubに公開鍵ができたので、これをhttps://github.com/settings/keysに登録する。
これでgit cloneやpushができる。
bind
このサーバはウェブサーバにするのでローカルからドメインを参照したとき、ローカルのIPを返すようにbindをインストールして設定する。LAN内のPCからはこのサーバをnameserverに設定する。
1 |
$ sudo apt install bind9 |
/etc/bind/named.confに以下を追加
1 2 3 4 5 6 7 8 9 10 |
zone "ambiesoft.mooo.com" IN { type master; file "/etc/bind/ambiesoft.mooo.com.zone"; allow-update { none; }; }; zone "ambiesoft.com" IN { type master; file "/etc/bind/ambiesoft.com.zone"; allow-update { none; }; }; |
ここで追加した2つのファイルを追加する。
1 2 3 4 5 6 7 8 9 10 11 |
$TTL 86400 @ IN SOA ambiesoft.com. root.ambiesoft.com.( 2004031901 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum IN NS ambiesoft.com. IN MX 10 ambiesoft.com. @ IN A 192.168.3.97 * IN A 192.168.3.97 |
詳しくはわからないが、ambiesoft.comに対して192.168.3.97を返す。
再起動して試す
1 |
$ sudo service bind9 restart |
このコマンドは動くが、タブ補完が効かないうえに、–status-allの一覧にも表示されない。コマンドが変わったのか?(後記:bind9ではなくてnamedになっていた)(後記:さらにserviceではなくsystemctlを使うようだ)
bindが動いているかWindowsのコマンドプロンプトでチェック
1 2 3 4 5 6 |
>nslookup ambiesoft.com 192.168.3.97 Server: UnKnown Address: 192.168.3.97 Name: ambiesoft.com Address: 192.168.3.97 |
多分動いている。
とおもったがforwarderが動いていない。google.comでも192.168.3.97を返している。
調べた結果dnssec-validation no;にしなければないないらしい。
古いマシンにはもう1つHDDがついているのでこれも移動する。まず新しいハードディスクに古いハードディスクの内容を丸々コピーしてから新しいマシンに接続してマウントする。
新しいマシンからHDDを見つけるにはlsblkやblkidコマンドを使う。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT loop0 7:0 0 55.4M 1 loop /snap/core18/1944 loop1 7:1 0 69.9M 1 loop /snap/lxd/19188 loop2 7:2 0 31.1M 1 loop /snap/snapd/10707 sda 8:0 0 40G 0 disk tqsda1 8:1 0 1M 0 part mqsda2 8:2 0 40G 0 part / sdb 8:16 0 20G 0 disk mqsdb1 8:17 0 20G 0 part sr0 11:0 1 1024M 0 rom ebisu@minpsrv ~$ blkid /dev/sda2: UUID="cc21c814-e341-47d5-a52e-b5a663623ab3" TYPE="ext4" PARTUUID="9cffd304-56a7-4676-9d3d-2e8141c5adce" /dev/sdb1: UUID="d81a8861-98d5-43a4-9924-d52b7f241887" SEC_TYPE="ext2" TYPE="ext3" PARTUUID="0005c4f8-01" $ |
新しく追加されたディスクはsdbでUUIDはd81a8861-98d5-43a4-9924-d52b7f241887であることが分かったのでこれを/etc/fstabに追加する。
1 |
/dev/disk/by-uuid/d81a8861-98d5-43a4-9924-d52b7f241887 /theData ext3 defaults 0 0 |
マウントする。
1 2 3 4 5 6 |
$ sudo mkdir /theData $ sudo mount -av / : ignored /theData : successfully mounted none : ignored $ |
マウントできたのでリブートして確かめる。
mysqlをインストール
1 |
$ sudo apt install mysql-server |
ハードディスクをコピーしてデータをそのまま使いたい。データは/theData/mysqlにある。
パーミッションがおかしいのでまず直す。
1 |
$ sudo chown -R mysql:mysql /theData/mysql/ |
つぎにデフォルトのデータディレクトリ/var/lib/mysqlをシンボリックリンクにする。
$ cd /var/lib
$ sudo ln -s /theData/mysql mysql
起動
$ sudo service mysql start
Job for mysql.service failed because the control process exited with error code.
See “systemctl status mysql.service” and “journalctl -xe” for details.
$
apparmorがアクセスを拒否しているようなので設定を追加
1 2 3 4 5 |
# Allow data dir access /var/lib/mysql/ r, /var/lib/mysql/** rwk, /theData/mysql/ r, /theData/mysql/** rwk, |
無事起動した
phpmyadmin
いろいろ大変だった
やったこと
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
156 sudo apt install phpmyadmin php-mbstring php-zip php-gd php-json php-curl 157 sudo mysql 158 sudo mysql -u root 159 sudo mysql -u root -p 160 sudo apt install phpmyadmin 161 cd /etc/mysql/ 162 less debian.cnf 163 sudo less debian.cnf 164 sudo vi debian.cnf 165 sudo service mysql restart 166 his 167 sudo apt install phpmyadmin 168 ls 169 sudo less debian.cnf 170 his 171 sudo apt install phpmyadmin 172 sudo phpenmod mbstring 173 sudo systemctl restart apache2 174 his |
/etc/mysql/debian.cnfにdebian-sys-maintのパスワードが設定されている。
データをまるまるコピーしてるのでパスワードが合わないが、ここに古いパスワードを設定しても動かないので、mysqlの方のパスワードをかえる。
mysqlが8になっていろいろ変わったようでググったものでは動かなかった。
結局パスワードを変えるには以下
1 |
ALTER USER 'debian-sys-maint'@'localhost' IDENTIFIED WITH caching_sha2_password BY '<password>'; |
もともとこのユーザーがcaching_sha2_passwordで保存されてなければならなかったのか?プレーンパスワードだと設定できなかった。
いずれにしてもこれでhttp://192.168.3.97/phpmyadminにアクセスできて動いた。
セキュリティは後でまとめて行う。
apache2
phpmyadminのインストールでapacheもインストールされているので、あとは設定
Let’s encrypt
ウェブサイトの指示に従ったらできてた
samba
できた
vue
vue内部のaxiosで通信するところでエラーがでている。
原因はhttpsではなくhttpで通信していたからだった。
wordpress
ここに書いた。
固定IPの設定は以下
$ cat /etc/netplan/00-installer-config.yaml
# This is the network config written by ‘subiquity’
network:
ethernets:
ens32:
addresses:
– 192.168.3.97/24
gateway4: 192.168.3.1
nameservers:
addresses:
– 192.168.3.1
search: []
version: 2
$