
Joomlaは、検索エンジンとモバイルフレンドリー、多言語対応、柔軟性に優れた世界クラスのオープンソースコンテンツ管理システムです。さらに、無限のデザインの可能性も秘めています。1億1000万回以上のダウンロード数、1万以上の拡張機能とテンプレートを擁するJoomlaは、200万以上のウェブサイトで利用されています。ビジネスウェブサイトやポータル、eコマース、オンライン出版など、様々な用途にJoomlaを導入できます。
Dockerを使えば、Joomlaのコンテナ版を素早くデプロイし、ほぼあらゆる用途に活用できます。さあ、実際にやってみましょう。
参照:知っておくべきオープンソースと Linux の用語 40 選 (TechRepublic Premium)
DockerでJoomlaを展開するために必要なもの
Dockerランタイムエンジンを用いたUbuntu Server 22.04インスタンスへのデプロイ手順を説明します。オンプレミス、またはAWS、Azure、Google Cloudなどのクラウドホストで実行中のUbuntu Serverインスタンスと、sudo権限を持つユーザーが必要です。
Dockerのインストール方法
Dockerをインストールする
今回はシンプルな方法で、デフォルトのリポジトリからDockerをインストールします。Ubuntuサーバーにログインし、次のコマンドでDockerをインストールします。
sudo apt-get install docker.io -y
ユーザーをdockerグループに追加する
次のコマンドでユーザーを docker グループに追加します。
sudo usermod -aG docker $USER
次のようにして、システムに新しいグループを認識させます。
newgrp docker
ネットワークを作成してイメージをプルする方法
新しいDockerネットワークを作成する
まず、次のコマンドで Joomla 用のネットワークを作成する必要があります。
docker network create joomla-network
次に、次のコマンドで Joomla および MySQL イメージをプルします。
docker pull mysql:5.7
docker pull joomla
データベースの展開方法
MySQLボリュームを作成する
まず、次のコマンドでデータベースのボリュームを作成します。
docker volume create mysql-data
データベースを展開する
次に、次のコマンドを使用してデータベースをデプロイします。PWORD は一意の強力なパスワードです。
docker run -d --name joomladb -v mysql-data:/var/lib/mysql --network joomla-network -e "MYSQL_ROOT_PASSWORD=PWORD" -e MYSQL_USER=joomla -e "MYSQL_PASSWORD=PWORD" -e "MYSQL_DATABASE=joomla" mysql:5.7
Joomlaの導入方法
Joomlaボリュームを作成する
次のコマンドを使用して、Joomla データを保持するボリュームを作成します。
docker volume create joomla-data
このコマンドを使用して Joomla をデプロイします。ここで、PWORD はデータベース デプロイで設定したパスワードです。
docker run -d --name joomla -p 80:80 -v joomla-data:/var/www/html --network joomla-network -e JOOMLA_DB_HOST=joomladb -e JOOMLA_DB_USER=joomla -e JOOMLA_DB_PASSWORD=PWORD joomla
ポート80が既に使用されている場合は、ポート設定の変更も必要になる場合があります。例えば、Joomlaを外部ポート8005にデプロイするには、以下のコマンドを使用します。
docker run -d --name joomla -p 8005:80 -v joomla-data:/var/www/html --network joomla-network -e JOOMLA_DB_HOST=joomladb -e JOOMLA_DB_USER=joomla -e JOOMLA_DB_PASSWORD=PWORD joomla
ウェブベースのインストーラーにアクセスする方法
ウェブブラウザで http://SERVER:PORT にアクセスしてください。SERVER はホスティングサーバーの IP アドレスまたはドメイン、PORT はデプロイメント時に割り当てた外部ポートです。ウェブベースのインストーラ(図 A)が表示され、インストールを完了できます。
図A
データベースのホストは、コンテナ化されており、localhost ではないため、joomladb になります。
おめでとうございます!Dockerを使ってJoomlaをデプロイできました。このプロセスを使えば、Dockerをサポートするあらゆる環境にJoomlaをデプロイできます。
Dockerについてさらに詳しく知るには
Docker についてさらに詳しく知りたい場合は、TechRepublic Academy の以下のリソースをお見逃しなく。
- Dockerコンテナのハッキングとセキュリティ保護
- Linux & Docker コーディングバンドル
- Docker および Kubernetes 認定トレーニングバンドル
Jack Wallen によるビジネス プロフェッショナル向けの最新のテクノロジー アドバイスをすべて知るには、YouTube でTechRepublic の How To Make Tech Work を購読してください。