タグ: Wordpress

Docker覚書 Win10にインストールの巻

そろそろDockerぐらい使えないと!と思って、仕事が暇な今こそ!とチャレンジ。
で、WordpressとMySQLの環境を作って繋げてやろうと意気込んで開始して、後述する手順でうまくいった。

ただ、後から分かったが、同じ環境でVMWare Workstationも使っているので、Dockerを動かしている間はVMWare側は動かせない・・・
しまった!!!
と思いつつ、とりあえずはDockerインストールと環境立ち上げの手順だけの備忘録を投稿。

Windows10でDocker上にWordPressを立ち上げる

  1. Docker CE → Desktop Docker for Windows インストール
  2. Desktop Dockerを起動、Setting
    • スタートメニュー等よりDesktop Dockerを起動
    • タスクバーにDockerアイコンが表示されたらアイコンを右クリックしてSettingをクリック
    • DaemonのExperimentalにチェックしApply
    • NetworkのDNS ServerはFixed:を選択して「8.8.8.8」を設定
    • ResetでRestart Docker…をクリック
  3. コマンドプロンプトを起動
  4. Imageの取込コマンド実行(次のrunコマンド実行でimageがなかったら自動的に取り込むのでここは省略できる。)
    • docker pull mysql:5.7.25
    • docker pull wordpress:latest
    • docker images で取り込めたかどうか確認
  5. コンテナー作成・起動
    • docker run --name test-mysql -e MYSQL_ROOT_PASSWORD=password -d -p 3307:3306 mysql:5.7.25
    • docker run --name test-wordpress --link test-mysql:mysql -d -p 8081:80 wordpress
      • それぞれ、ポート番号は他と被らない番号にしておきます。
    • docker container ls -a  で作成できたかどうか確認
  6. localhost:8081に接続して確認
    • WordPressの初期設定画面が表示されたら、うまく動作していることになる。

うまくいかないパターン

  • DB接続できない
    • MySQLのバージョンがWordpressと噛み合ってないのが原因

他のDockerコマンド

  • docker exec -it {コンテナ名} /bin/bash
    • Linux上でコマンド操作可能に
    • cat wp-config.php で定義ファイル内の確認
  • docker stop {コンテナ名}  コンテナ停止
  • docker start {コンテナ名}  コンテナ開始
  • docker rm {コンテナ名}  コンテナ削除
  • docker rmi {イメージ名}  イメージ削除

他のLinuxコマンド

  • apt update
  • apt install -y vim (WordPressサーバ上で、VIMを利用する場合)
  • apt install -y procps (MySQLサーバ上でMySQLが動作しているか確認で利用)
  • ps aux (プロセス状態確認)
  • mysql -u root -p (MySQL接続)
  • exit (Linuxから抜ける)

WordPressに天気予報表示を付けてみる3

WordPressに天気予報表示を付けてみる2では、livedoorのWeather Hacksを使った天気予報表示を試してみたが、次はGoogle Weather APIを利用した天気予報表示を試してみる。
cssは省略。

<?php

// APIからXMLデータ取得
$city = 'osaka,osaka';
$gpath = 'http://www.google.com';
$url = $gpath . '/ig/api?weather=';
// 取得データから表示項目取得

$xml = simplexml_load_file($url . $city);

$objInfo =  $xml->weather->forecast_information;
$first_date = $objInfo->forecast_date[data];

echo '<div>in ' . strtoupper($objInfo->postal_code[data]) . '<br>';

$i = 0;
foreach ($xml->weather->forecast_conditions as $cond) {
	$week = $cond->day_of_week[data];
	$icon_url = $gpath . $cond->icon[data];
	$low = $cond->low[data];
	$high = $cond->high[data];
	$condition = str_replace('Chance of ', '', $cond->condition[data]);
	
	echo '<div>';
	echo '<img src="' . $icon_url . '" alt="icon" />';
	echo '<div>' . '';
	echo date('Y-m-d', strtotime ($first_date) + $i * 86400) .'[' . $week . ']<br>' . $condition . ' ';
	if (strlen($low) > 0 || strlen($high) > 0) {
		echo strlen($low)>0 ? convertF2C($low) : '';
		echo '-' ;
		echo strlen($high)>0 ? convertF2C($high) : '';
		echo '℃' ;
	}
	echo '</div>';
	echo '</div>';
	$i++;
}
echo '</div>';

//華氏摂氏変換
function convertF2C($val) {
	return round(($val-32)*5/9);
}
?>

Google Weather APIでは今日を含めた4日分の予報が取得できる。

アイキャッチ画像とは何ぞや?

って思って調べた。
要するに、

記事の内容を端的に表す画像

ということのようだ。

いろいろな使い方があるようだが、私はその記事のカテゴリを表すものとして使ってみようと思う。
で、アイキャッチ画像を作ってみた。

WordPressはキャラクターの「わぷー

わぷー
わぷー

ダメか・・・

ようやく@pagesでWordPress!の巻

いや、長かった。
何がって、Blogを立ち上げて、WordpressとPHPの学習しようと計画してから、今日に至るまで。

とりあえず、Wordpressの最新版をDownloadしてきて、@pagesにUploadしてからというもの、

  1. データベースに接続できませんエラー発生
  2. Fatal error: Call to undefined function wp_dashboard_setup() in /usr/local/www/htdocs/xxxx/public_html/wp-admin/index.php on line 15エラー発生
  3. アップロードしたファイルを…public_html/wp-content/uploadsに移動できませんでした。エラー発生
  4. フロントページの文字化け(なぜかフロントだけ文字化け)

と、続けざまにエラーが発生。
ひとつ解決すると別の問題がピョコッと発生するので@pagesでの掲載を諦めかけていたが、ここ数日意地になって踏ん張ったおかげで、今日という日を迎えることが出来た。

さて、解決法メモ書き。

  1. 単に、wp-config.phpの記載ミス
  2. 解決方法は下記記事を参照。(もう、この記事なかったら諦めてただろうな。ありがとう)
    なんくるないさ「@PAGESにWordPressをインストールしたらエラー発生」
    ・・・要は、パスの取得の問題。
  3. これも単に、フォルダのアクセス権限の問題。uploadsフォルダのアクセス権限を707か、777にするだけ。
  4. 取得したテーマが海外用だったため、charaset=UTF-8に書き直して解決

ということで、なんとか正式OPEN!

ちなみにテーマはDesign DiseaseからDownloadして、カスタマイズ。