LoginSignup
6
0

More than 3 years have passed since last update.

【素人の備考録】Raspberry Pi 4 8GにCentOS 8をインストール、Docker-Composeを用いWordpressを構築した

Posted at

0.はじめに

AWSも良いけどやはり自前のサーバを構築したい。最近話題になっているRaspberry Pi 4 8G等をAmazonで15,000円余りで購入した。OSは何にするか?Winsdows10(ARM)も動作するが発熱問題があるとか?LinuxServerでと思い検索したらCentOS 8が動作可能みたいだ、今回はCentOS 8での検証をします。

1.OSイメージ取得する。

下記サイトよりダウンロードする。
https://people.centos.org/pgreco/CentOS-Userland-8-stream-aarch64-RaspberryPI-Minimal-4/
CentOS-Userland-8-stream-aarch64-RaspberryPI-Minimal-4-sda.raw.xz
備考:Steamとした理由は下記サイト参照した。
   CentOSからCentOS Streamへ
   https://qiita.com/yamada-hakase/items/1629d511ab4199d253b4

2.マイクロSDにOSイメージ書き込みをする。

今回は、Raspberyサイトより https://www.raspberrypi.org/
ツールをダウンロード、インストールして使用した。SDカード初期化、OSイメージ書き込みが出来た。
備考:マイクロSDは、『サンディスク microSD 128GB UHS-I Class10 読取り最大100MB/s 【Nintendo Switch メーカー動作確認済】 SanDisk Ultra SDSQUAR-128G-EPK エコパッケージ』を購入した。raspberry.png

3.CentOS 8が起動した。(ユーザ:root、パスワード:centos)


$ uname -a
Linux raspi4 5.4.60-v8.1.el8 #1 SMP PREEMPT Sun Aug 23 02:58:38 UTC 2020 aarch64 aarch64 aarch64 GNU/Linux
$ free
              total        used        free      shared  buff/cache   available
Mem:        8003272      614636     1649640       78068     5738996     7227932
Swap:        499708           0      499708

備考:OS 64biでメモリ 8Gバイトで問題がないと思う。

$ df
ファイルシス   1K-ブロック    使用  使用可 使用% マウント位置
/dev/root          2241560 1956648  245092   89% /
devtmpfs           3968356       0 3968356    0% /dev
tmpfs              4001636       0 4001636    0% /dev/shm
tmpfs              4001636   24960 3976676    1% /run
tmpfs              4001636       0 4001636    0% /sys/fs/cgroup
/dev/mmcblk0p1      292696   56664  236032   20% /boot
tmpfs               800324       0  800324    0% /run/user/1000

トラブル:2GBしか認識していな!ネットを調べてコマンドを実行した。

$ /usr/bin/rootfs-expand

再起動します。

$ df
ファイルシス   1K-ブロック    使用    使用可 使用% マウント位置
/dev/root        122069752 1645876 120384056    2% /
devtmpfs           3968356       0   3968356    0% /dev
tmpfs              4001636       0   4001636    0% /dev/shm
tmpfs              4001636   16792   3984844    1% /run
tmpfs              4001636       0   4001636    0% /sys/fs/cgroup
/dev/mmcblk0p1      292696   56664    236032   20% /boot
tmpfs               800324       0    800324    0% /run/

120GB認識した!

4.インストール後の諸設定は下記サイトを参照した。

https://www.server-world.info/query?os=CentOS_8&p=install
備考:以前より参照してたサイトです。
CentOS8を導入したので普通のサーバとして参照しました。
設定項目は、タイムゾーン設定、ユーザ作成、パスワード再設定、SSH、固定IP設定等などです。

5. Docker、Docker-composeをインストールした。

5.1 dockerインストール下記コマンドを実行して問題なかった。

$ curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo
$ sed -i -e "s/enabled=1/enabled=0/g" /etc/yum.repos.d/docker-ce.repo
$ dnf --enablerepo=docker-ce-stable -y install docker-ce
$ systemctl enable --now docker

バージョンを確認した。

$ docker --version
Docker version 20.10.1, build 831ebea

5.2 Docker-composeインストールした。(バイナリがない)

下記サイトを参照した。
Raspberry Pi用docker-composeの構築 (1.25.0以降)
https://qiita.com/tkyonezu/items/912fb7cfaab2f59276dd

$ git clone https://github.com/docker/compose.git
$ cd compose
$ git checkout 1.25.0 → git checkout 1.27.4に変更する(自信なし結果オーライ?)
# git checkout 1.27.4
Previous HEAD position was 4038169d Merge pull request #7028 from docker/bump-1.25.0
HEAD is now at 40524192  "Bump 1.27.4"

備考:https://github.com/docker/compose/blob/master/CHANGELOG.md
でバージョンを確認した。

ビルドを実行した。

$ ./script/build/linux

途中の結果、成功したらしい。

Successfully built e731e12ae43e
Successfully tagged docker/compose:tmp-glibc-linux-binary-40524192

バイナリーのバージョンを確認する。

$ cd dist
$ ./docker-compose-Linux-aarch64 --version
docker-compose version 1.25.0, build 4038169d →何故か1.25.0

バイナリをコピー実行権を与える。

$ sudo cp docker-compose-Linux-aarch64 /usr/local/bin/docker-compose
$ cd /usr/local/bin
$ sudo chown root:root docker-compose
$ sudo chmod 755 docker-compose

バージョンを確認した。

$ docker-compose --version
docker-compose version 1.27.4, build 40524192

6. Docker-Composeを使い複数のWordPressをインストールする。

6.1 動作設定用ファイル(docker-compose.yml)を作成する。

備考:MySqlが使えなかったのでMariaDBを使いました。

作業用のフォルダを作成する。

# mkdir ~/docker_wp 任意のフォルダに作成する
$ cd docker_wp
$ nano docker-compose.yml
docker-compose.yml
version: '3.3'

services:
  db:
    image: mariadb:latest
    volumes:
      - db_data:/var/lib/mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: root-pass

  wordpress1:
    depends_on:
      - db
    image: wordpress:latest
    volumes:
      - ./wp1:/var/www/html
    ports:
      - "8000:80"
    restart: always
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: root
      WORDPRESS_DB_PASSWORD: root-pass
      WORDPRESS_DB_NAME: wp1-db

  wordpress2:
    depends_on:
      - db
    image: wordpress:latest
    volumes:
      - ./wp2:/var/www/html
    ports:
      - "8010:80"
    restart: always
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: root
      WORDPRESS_DB_PASSWORD: root-pass
      WORDPRESS_DB_NAME: wp2-db

volumes:
    db_data: {}

備考:ユーザ名、パスワード、ホスト名、データーベース名、ポート番号等は任意です。

6.2 実行する。

$ douker-compose up -d

mariadb、wordpressが起動しました。

# docker-compose ps
         Name                       Command               State          Ports        
--------------------------------------------------------------------------------------
docker_wp_db_1           docker-entrypoint.sh mysqld      Up      3306/tcp            
docker_wp_wordpress1_1   docker-entrypoint.sh apach ...   Up      0.0.0.0:8000->80/tcp
docker_wp_wordpress2_1   docker-entrypoint.sh apach ...   Up      0.0.0.0:8010->80/tcp

データベースを確認をしました。

# docker exec -i -t docker_wp_db_1 /bin/bash
# mysql -uroot -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 5
Server version: 10.5.8-MariaDB-1:10.5.8+maria~focal mariadb.org binary distribution

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| wp1-db             |
| wp2-db             |
+--------------------+
5 rows in set (0.001 sec)

6.3 WordPressをインストールした。

ブラウザで、http://固定IP:8000/、http://固定IP:8010/を実行する。

備考:作業は、SSHを設定後、MackBookよりターミナルで実施しています。

後書き

今回の検証では、Raspberry Pi4 8Gはスペック的に余裕みたいだ。今後に期待です!

6
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
0