DockerにMovable Type 7をインストールした開発環境構築
本題について
- 本題を達成するために、環境とインストール方法を記載する
環境
-
MacBook (Retina, 12-inch, Early 2016)
- 1.3 GHz Dual-Core Intel Core m7
- 8 GB 1867 MHz LPDDR3
- Intel HD Graphics 515 1536 MB
- OS MacOS Catalina(version 10.15.4)
-
docker desktop
- Version 2.2.0.5(43884)
- Channel stable
-
Apache/2.4.29 (Ubuntu)
-
MySQL Ver 14.14 Distrib 5.7.29, for Linux (x86_64) using EditLine wrapper
-
Movable Type 7 r.4605
インストール
Ubuntuイメージのダウンロード
$ docker pull ubuntu
コンテナを起動し、そのコンテナに入る
$ docker run -it -p 3002:80 ubuntu
※ubuntu上でWebサーバーにアクセスするため、3002番ポートを解放する
各種コマンドをインストール
# apt-get update
# apt-get install vim wget unzip
Apacheをインストール
# apt-get update
# apt-get install apache2
MySQLをインストール
2023/06/27 追記
MySQLのバージョンは以下で動作確認済みです
# mysql -v
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 12
Server version: 5.7.29-0ubuntu0.18.04.1 (Ubuntu)
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
# apt-get update
# apt-get install mysql-server libdbi-perl libdbd-mysql-perl
※ mysql-serverインストール中に以下のメッセージが表示されたが、
結果的に問題なかったです
Cannot stat file /proc/3391/fd/0: Permission denied
ApacheとMySQLの設定
Apacheの設定(cgiを動作させる設定)
# cd /etc/apache2/conf-available
# touch cgi-enabled.conf
cgi-enabled.confは以下の記述
<Directory "/var/www/html">
Options +ExecCGI
AddHandler cgi-script .cgi .pl
</Directory>
cgi-enabled、CGIモジュールを有効にする。
# a2enmod cgi
# a2enconf cgi-enabled
Apacheを起動
# /etc/init.d/apache2 restart
以下にアクセスして表示されていれば問題なし
http://localhost:3002/
MySQLの設定
MySQLの起動
# service mysql start
# mysql -u root
データベースの作成(データベース名は'mt')
mysql> CREATE DATABASE mt DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
Query OK, 1 row affected (0.00 sec)
ユーザーの作成(ユーザー名'mtuser'、パスワード'mtpasswd')
mysql> CREATE USER mtuser@localhost identified by 'mtpasswd';
Query OK, 0 rows affected (0.00 sec)
mysql> grant all on mt.* to mtuser@localhost identified by 'mtpasswd';
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
MovableType7のインストール
以下にインストールし、フォルダ名をmt7に変更
またパーミッションを変更
# cd /var/www/html/mt7
# chown -R www-data:www-data /var/www/html/mt7
MovableType7のセットアップ
以下にアクセス
http://localhost:3002/mt7/
「システムチェック」で以下のメッセージが表示されればOK
必要なPerlモジュールは揃っています。 Movable Typeのインストールを続行する準備が整いました。
オプションのPerlモジュールのうちいくつかが見つかりませんでした。オプションモジュールを表示
データベースの設定
データベースの種類:MySQLデータベース(推奨)
データベースサーバ:localhost
データベース名:mt
ユーザー名:mtuser
パスワード:mtpasswd
メールの設定、アカウントの設定→よしなに
以上で完了!
目標達成からの課題
-
kinematicがMac上で起動できない 調べたものの分からず。とりあえずコマンドで頑張るしかない。良いツールなんだけども。
[2020/06/25 追記]Macの設定でできました。 - [2020/05/02 追記]Sequel ProからUbuntu上のMySQLサーバーにアクセスできない・・・。
マシン移行に伴うイメージの移行 追記(2020/06/06)
MacBook Pro 13(2020)を購入し、MacBook12にあったイメージを移行しました。
実際の手順は以下。
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu_mt v1.3 e438bafbbd73 12 days ago 1.68GB
このイメージを保存
$ docker save e438bafbbd73 > ubuntu_mt.tar
保存したイメージをAirdropでMacBook Pro 13(2020)へ転送
イメージをdockerに読み込む
$ docker load < ubuntu_mt.tar
するとなぜかREPOSITORY、TAG名が[none]...
REPOSITORY TAG IMAGE ID CREATED SIZE
[none] [none] e438bafbbd73 12 days ago 1.68GB
リポジトリ名、タグ名を変更
$ docker tag e438bafbbd73 ubuntu_mt:v1.4
無事にリポジトリ名、タグ名を変更できた
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu_mt v1.4 e438bafbbd73 12 days ago 1.68GB
イメージをGitHub Container Registryに登録する 追記(2020/10/01)
先日GitHub Container Registry(以下GHCR)が便利そうと思い、
忘備の意味も含め、追記しました。
こちらのサイトが大変参考になりました。
- GHCRに対するログイン
- ローカルへイメージの保存
- 保存したイメージの送信
1. GHCRへのログイン
こちらを参考にしました。(手抜きですみません・・・)
2. ローカルへイメージの保存
稼働中のコンテナからイメージを書出します。
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
811606b9409f Mt:latest "/bin/bash -c 'apt-g…" 9 hours ago Up 9 hours 0.0.0.0:3002->80/tcp, 0.0.0.0:33006->3306/tcp mt7
# ここで、docker commit <コンテナ名> ghcr.io/<Githubのユーザー名>/<イメージ名>:<タグ>
# のコマンドで、イメージを書き出します
$ docker commit mt7 ghcr.io/githubusername/mt7:latest
3. 保存したイメージの送信
$ docker push ghcr.io/githubusername/mt7:latest
参考
- Apacheの設定
- MySQLの設定
- Dockerイメージのインポート・エクスポート
- リポジトリ名、タグ名の変更
- GitHub Container Registry(ghcr.io)にDockerイメージをpushする手順