格安Androidタブレットをデータ収集用のクローラーマシンとして動かすようにするための設定メモ

Android端末にLinuxをインストールして使用することができることがわかった。
最近のAmazonで売っているようなAndroidタブレットは1万円を切るような格安にもかかわらずRAMが4GB(増設したら8GB)、ストレージも128GBのようなスペックが非常に優秀である端末が多く売られている。(普段使いするものではないため、サーバーとして使用する分には非常に優秀なスペックである)
このような格安Androidタブレットをサーバーとして運用する場合、用途によってはAWSなどでレンタルするよりもコスパが非常に優れている。
今回、格安Androidタブレットをデータ収集用のクローラーマシンとして動かして運用していくまでの設定の手順について、備忘録として残していく

## 設定手順

### AndroidタブレットにキーボードとマウスをBluetoothで繋ぐ

今後の作業しやすくするためにAndroidタブレットのBluetoothの接続画面を開きBluetoothキーボードとマウスをそれぞれ接続しておく。
キーボードの配置も一緒に変更しておく。以下の手順にて変更することが可能

* [設定]→[システム]→[言語と入力]→[物理キーボード]を選択
* [キーボードレイアウト]で日本語 109A 配列を選択

#### 参考

* [Android スマホで109配列のキーボード使うと記号がうまく打てない問題。](https://qiita.com/tapitapi/items/ecc3bfeda3049458d285)

### Androidタブレットのスリープ開始時間の変更

作業をしやすくするためにAndroidタブレットのスリープされるまでにかかる時間を長くする、あるいはスリープにさせない設定にする。

* 「設定」アプリを選択
* 「ディスプレイ」を選択
* 「画面消灯」の項目を選択し、時間を長くするか「スクリーンアテンション」を有効にしたりする

### AndroidにUbuntu環境をインストールする

* Google Playアプリストアより [UserLAnd](https://play.google.com/store/apps/details?id=tech.ula&hl=ja) をダウンロードしてくる
* [UserLAnd](https://play.google.com/store/apps/details?id=tech.ula&hl=ja) を起動後Ubuntuのターミナルのみ版をインストールする
* [UserLAnd](https://play.google.com/store/apps/details?id=tech.ula&hl=ja) にてUbuntuのインストールが完了したら、Ubuntuを起動する。起動が完了するとUbuntuのターミナル画面が起動する。

### Ubuntuの初期設定

まずはUbuntuのパッケージをそれぞれ最新のものにする。以下のコマンドをそれぞれ実行する

```
sudo apt update
```

```
sudo apt upgrade
```

### Gitのインストール

Gitが使えるようにGitをインストールする。以下のコマンドを実行してインストールする

```
sudo apt install git
```

### vim のインストール

以下のコマンドを実行してインストールする

```
sudo apt install vim
```

### Dockerのインストール

こちらを参考にAndroidタブレット上で起動しているUbuntuにDockerをインストールする

[Install Docker Engine on Ubuntu](https://docs.docker.com/engine/install/ubuntu/)

Dockerをインストールするために以下のコマンドをそれぞれ実行する

#### Dockerのリポジトリを設定する

```
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
```

#### Docker Packageのインストール

```
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
```

### mysqlのインストール

mysqlコマンドを使用してアクセスするためにmysql-clientのインストールは必要。
以下のコマンドを実行してインストールする

```
sudo apt install mysql-client
```

Dockerをインストールしたのでmysql-serverの方はいらないかもしれないが一応mysql-serverも一緒に入れる。
以下のコマンドを実行してmysqlをインストールする。

```
sudo apt install mysql-server
```

mysql-serverがインストールできたら、以下のコマンドを実行してmysqlのサーバーを起動する

```
sudo service mysql start
```

mysqlのサーバーが起動したら、mysqlの初期設定を行う

```
sudo mysql_secure_installation
```

初期設定の画面にどのように入力していったらいいかはこちらの記事などを参照

[MySQL 8.0 初期設定](https://qiita.com/ucan-lab/items/c80fb8a880679fa20162)

初期設定が完了したら、以下のコマンドを実行してmysqlのコンソールが起動するか確認してみる

```
sudo mysql -u root
```

### Rubyのインストール

今回クローラーとして動かしたいプロジェクトの一つはこちらのプロジェクトとなります
[hackathon_portal](https://github.com/TakuKobayashi/hackathon_portal)
こちらのプロジェクトは `Ruby on Rails` で動かしているのでRubyのインストールも行います。

#### [Ruby Version Manager (RVM)](https://rvm.io/) のインストール

こちらを参考に [Installing RVM](https://rvm.io/rvm/install) 順次以下のコマンドを実行して [RVM](https://rvm.io/) のインストールを行っていく

##### GPG keys のインストール

以下のコマンドを実行してインストールする

```
gpg --keyserver keyserver.ubuntu.com --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
```

##### UbuntuにRVM インストール

今回使用しているOSはUuntuであるため [こちら](https://github.com/rvm/ubuntu_rvm) を参考に続きを進めていく、以下のコマンドを実行してインストールする

```
sudo apt-get install software-properties-common
```

```
sudo apt-add-repository -y ppa:rael-gc/rvm
sudo apt-get update
sudo apt-get install rvm
```

インストールが完了したら以下のコマンドを実行して [RVM](https://rvm.io/) のパスを通す

```
echo 'source "/etc/profile.d/rvm.sh"' >> ~/.bashrc
```

通したパスを適用する

```
source ~/.bashrc
```

#### RVM を使用してRubyをインストールして使用できるようにする

[Ruby](https://www.ruby-lang.org/en/downloads/) のWebサイトを確認して最新のRubyバージョンを確認する
インストールしたいRubyのバージョンを指定してインストールする

```
rvm install 3.3.5
```

続く...