MinEMemO
【Laravel】データベースに繋がらない時の確認方法

2020-06-28

はじめに JavaScriptはVue.js、jQueryでの業務経験があるのですが、PHPはフレームワークを使ったことがなかったので、最近Laravelの勉強を始めています。 一旦たにぐちさんの動画で環境構築、軽くMVCを動かしてみるというところまでは詰まらずいけたのですが、その後自分で新たなに勉強していくなか、データベースに繋がらない時の確認方法が必要になったので、記事しておきます。 今回は以前使用した sqliteと今回使ったMySQLで確認 をしたときの方法です Laravel入門 データベースに繋がらない時の確認方法 まずLaravelで接続状態確認 以下の Laravelのコマンドで今の状況を確認できます。 php artisan migrate:status 何かしらのエラーがてて、繋がってなかったら以下「2」以降のいづれかを確認します。 個人的に順番はつけていますが、目星がついてる場合は怪しい個所から調べても おけまる です php.iniを確認する phpの設定ファイルを確認し使いたいデータベースがコメントアウトされていないか確認する。 php.iniにはたくさん記述があるので、Ctrl+Fで検索すると見つけやすいです。 php.ini extension=pdo_sqlite ※sqliteならこれを確認力 php.ini extension=mysqli ※MySQLならこれを確認 .env のデータベース設定がきちんとなっているか .envはLaravelの設定ファイルです。 TOPにあるので中身を確認します。 .envにもたくさん記述があるので、Ctrl+Fで検索すると見つけやすいです。 .env DB_CONNECTION=sqlite ※sqliteならこれだけ記載し他のはコメントアウトで非活性にしてOK .env DB_CONNECTION=mysqlDB_HOST=ホスト名DB_PORT=ポートDB_DATABASE=DB名DB_USERNAME=ユーザネームDB_PASSWORD=パスワード ※MySQLは適宜今の状況にあったものを記載します database.phpの対象のDB設定がきちんとなっているか Laravelの config/database.php は .env ファイルの設定を参照し、なければ第二引数の値が設定として参照されるファイルです。 なので、MySQLの場合は .env ファイルの設定がされているものは特に変更しなくても基本は動くと思います。 ただし、sqliteの場合は初期設定のDBのファイル名が「database.sqlite」なのでファイル名を変更した場合は適宜記載します。 php 'database' => env ( 'DB_DATABASE' , database_path ( 'DBのファイル名のみ記載' ) ) ※sqliteの場合 使ってるサーバーは起動してるか これ本当に凡ミスでした😅 当時XAMPPだったのですが、XAMPPを起動していなくてエラーになるということがありました笑 サーバーはちゃんと起動しましょう😅 設定ファイル変更後にキャッシュはのこってないか いろいろと設定ファイルを変更した場合に、前回の設定値がキャッシュで残ることがあるそうです。 見返しても間違いがない場合は以下のコマンドで設定ファイルのキャッシュをクリアしてみてください。 php artisan config:cache 以上です! いろいろと大変なこともありますが..お互い頑張りましょう!
【Git/GitHub】GitHubにファイルを上げないようにする方法

2020-06-09

はじめに Gitでバージョン管理をしている場合に、GitHubにあげたくないファイルがあると思います。 例えばパスワードなどが記載されていたりするファイルなどですね。 その時にGitのバージョン管理から外す=上げないようにするための方法を記載します。 Gitのバージョン管理から外す方法 .gitignoreという名前のファイルを作成する バージョン管理から除外したいファイルやフォルダがある階層に.gitignoreを置く .gitignoreに除外したいファイルのパスを記載する .gitignoreファイルの記載例 gitignore # #はコメントです。以下は一例なので、そのほかの記載はネットなど見てみてください。 # 指定したファイルを除外 #.gitignoreがおいてある階層のindex.htmlのみが除外される / index.html # 指定したファイルをすべて除外 #.gitignoreがおいてある階層配下でindex.htmlというファイル名を全部除外する index.html #指定したディレクトリをすべて除外 #.gitignoreがおいてある階層配下でdirというフォルダ配下を全部除外する dir / .gitignoreの特徴の一例 .gitignoreは複数のディレクトリに置くことができます 深いフォルダの.gitignoreが優先されます 個人的に上記を踏まえ、ディレクトリごとに簡単な記載で.gitignoreファイルを作成してもよいのかなと思っています。 慣れてきたら、まとめて無駄なく書きたい気持ちはありますが。 以下のサイトが参考になるので、もっと詳しい内容を知りたい場合はぜひ参考にしてみてください。 [Git] .gitignoreの仕様詳解 A collection of .gitignore templates ※公式の .gitignore のテンプレート集です。
【Git/GitHub】開発中の主な流れとコマンド

2020-06-07

はじめに 個人でGit、GitHubを使ったことはあるのですが、現職ではGitが採用されていないためチームでGitを使って開発するときにどういう風に使うかを具体的に知りたくて勉強しました。 今回は実際にGitを使いながら開発を行う際の流れと主に使うコマンドをまとめていきます。 今後自身で使っていく過程で、知識がアップデートされたら内容も更新していくかもしれません。 不備不足あればアドバイスいただけると、とてもうれしいです。 よろしくお願いします😀 開発中のGitコマンドの流れ すでに一度リモートリポジトリから git clone などをおこなっており、ローカルとリモートの同期がとれている前提です。 Gitでバージョン管理を始めるときに最初に行うコマンドについては以下を参照してください。 [【Git/GitHub】Gitでバージョン管理を始めるときに最初にするコマンド](../ 1. 現在の状態を確認し把握する 作業前に以下のコマンドを適宜用いて、状況を確認して作業に入ります。 git branch 今どんなブランチが存在するか確認するコマンドです。 ブランチ名の一覧が表示されたときに * がついている箇所が今いるブランチになります。 #ローカルブランチの一覧を表示git branch #ブランチを新規作成git branch ブランチ名 #ローカルとリモートの全てのブランチを表示git branch -a #リモートブランチの一覧を表示git branch -r ブランチとは 開発者ごとの作業フォルダのようなものです。 おおもとのmasterブランチから 「git branch ブランチ名」 を実行することで作業者専用のブランチを作成し、他の人に影響しない、かつ自分も影響を受けない状態で開発を進めることができます。 修正が完了した場合は、基本的にブランチをリモートリポジトリにpushして、プルリクエストを行い、コードをチェックしてもらった後に、masterブランチへ統合するような流れになります。 git status 変更されているファイルがないかを確認するコマンドです。 変更したけど git add されていない git add したけど git commit されていない gitも認識していない新規ファイルがある などを確認できます。 #現在の変更状況を確認git status #現在の変更状況を短い形式で表示できますgit status -s (見れたらかっこいいので個人的に使いたい笑) 特に何もなければ nothing to commit, working tree clean と表示されます。 ※コミットするものは何もない、作業ツリーはクリーンです。のような意味 git diff ファイルの変更差分を確認するコマンドです。 #git addする前の変更分を表示(ワークツリーとステージ)git diff#ファイル名の指定もできますgit diff ファイル名 #git add した後の確認(ステージとリポジトリ)git diff --staged ※ネットでは git diff –cached のほうがよく出てくるが出力結果は同じでした 用語について ワークツリー:作業中のPCフォルダのこと ステージ: git add した内容が保存される場所 リポジトリ:git commit した内容が保存される場所 git log 変更履歴(git commitしたもの)を表示する commit:コミットID Author:作成者 Date:日時 上記と git commit 時のコミットメッセージなどが表示されます。 上から順に新しいものになります。 #変更履歴を確認git log #1行表示 git log --oneline #ファイルの変更差分を表示git log -p ファイル名 #表示するコミット数を制限する(最近のを見たいときは数値をしぼったりする)git log -n コミット数 2. ブランチを作成し切り替える(作業ブランチに移動する) 作業用のブランチを作成し切り替えます。 1. git branch ブランチを確認するコマンドですが、ブランチを新規作成するときも使います。 #ブランチを新規作成git branch ブランチ名 2. git checkout git branchで今いるブランチが * で表示されます。 自身の作業するブランチにいない場合は切り替えます。 #ブランチ切り替えgit checkout ブランチ名 # 新規作成+切り替えを同時に行うこともできますgit checkout -b 新ブランチ名 git checkout はブランチ切り替え以外にファイルの変更の取り消しもできます。 以下のようなコマンドになります。 #ファイルへの変更を取り消すgit checkout -- ファイル名#ディレクトリへの変更を取り消すgit checkout -- ディレクトリ名#全変更取り消しgit checkout -- . ※- -はブランチ名とファイル名をGitが判別するために記載が必要です。 ※前回git addした内容に戻すというような処理が行われるそうです。 (前回のステージと同じ状態になる=更新前に戻る) 作業用のブランチへの切り替えが完了したら、いよいよローカルフォルダ(自身のPCフォルダ)で作成や編集です🧐 3. ファイルの編集が完了したらGitに記録 作業用のブランチでファイルを編集した後は、Gitに変更を記録します 1. git add ステージといわれる場所に記録したいインデックス(変更内容)を記録します。 ※git commit 前の準備を行うような場所 #全ファイルをステージに追加git add .#ファイル名、ディレクトリ名の指定もできますgit add ファイル名git add ディレクトリ名 なお git add の取り消しはこちらです。 #ステージ(add)を取り消したいgit reset HEAD ファイル名 インデックスの記録で行われることの概要 リポジトリに作業したファイルを暗号化+圧縮化した「ファイル1」が作成され、 ステージに今回の作業ファイルは「ファイル1」だと紐づけたものがインデックスとして保存されます。 2. git commit リモートリポジトリにあげる(git push)前に必要なコマンドです。 git addでステージ作成したインデックスをもとにツリーを作成し、コミットといわれる情報をリポジトリに保存します。 #リポジトリに変更を記録(ツリー、コミット作成)git commit -m "コミットメッセージ" ※コミットメッセージは更新内容を簡潔に短く書きましょう。 ※Windowsのコマンドプロンプトだと日本語が表示できなかったです。 # -m がない場合はテキストエディタかコマンドプロンプト上でメッセージを記載する必要があります。git commit#コミットメッセージを -m で改行したい場合は -m を改行したいポイントで追加します。git commit -m "1行目" -m "2行目" #ファイルの変更内容をcommit実行前に確認できますgit commit -v #直前のコミットを取り消したい、やり直したいgit commit --amend 直前のコミットを取り消し(amend)について Push済みのコミットは戻したらいけません。 Pushした後に誰かがクローンしたら、履歴が違うのでクローンした人があげれなくなるそうです。 そのためPushしたコミットは修正しないほうが良いそうです。 Push後の修正はgit commitでもう一回今の状況をコミットするが正解 です。 コミットに入っている情報 ツリー 作成者 日付 メッセージ add、commitまでしたときにリポジトリがもっているデータ 暗号化+圧縮化されたblobファイルのハッシュID ツリー コミット この三つを「Gitオブジェクト」と言うそうです。 ※確認するコマンドもあります git cat-file -p <オブジェクト名> ハッシュIDとは ヘッダー(ファイル内容の文字数など、ファイルのメタ情報)とファイル内容を、SHA-1というハッシュ関数で40文字の英数字に変換したもの。 ハッシュIDのうち、先頭2文字をディレクトリ名に、残り38文字をファイル名にして保存されています。保存先はローカルの .git/objects という場所です。 4. Gitへの記録が完了したら、リモートリポジトリにアップする いよいよリモートリポジトリにアップします。 ※git push する前も「1. 現在の状態を確認し把握する」で紹介しているコマンドを利用して、状況の確認はしておきましょう。 git push ローカルリポジトリで行った編集内容をリモートリポジトリにアップします。 git add、git commit を行ったものがアップされます。 git push リモート名 ブランチ名 というコマンドになります。 #ブランチ名は自分が作成したブランチ名が主になると思います。git push origin ブランチ名 よく見るpushコマンド「git push origin master」は「originというリモート名のmasterというブランチにpushする。」という意味になります。 チーム開発ではプルリクエストを行い、masterへ統合される流れがおおいので、masterを指定することはあまりないと思います。 リモート名のoriginとは リモート名とは「アクセス先のリモートリポジトリのデフォルトの名前」です。 以下のページのように初回に 「git remote add origin リモートリポジトリのURL​」 でリモートリポジトリのURLをoriginというリモート名で紐づけるのですが、originはGitのデフォルト値のようで一般的にoriginになっていることが多いようです。 【Git/GitHub】Gitでバージョン管理を始めるときに最初にするコマンド なお、リモート名の確認は 「git remote」で確認できます。 これでローカルリポジトリの内容が、リモートリポジトリにアップされました。 GitHubにログインしてWEB上でリモートリポジトリを確認すると、反映されているはずです。 プルリクエストはGitHubにログインしてWEB上で行います。 サクッと手順記載するので、参考になれば幸いです。 プルリクエスト(Pull requests)をする場合 プルリクエストの仕方 GitHubへ移動 Pull requestsをクリック New Pull Requestをクリック compareには自身が作成したブランチを選択する※compareがbaseにとりこまれます。 baseが統合先のブランチでcompareには自身が作成したブランチを選択するケースが多いと思います。 適宜コメント入力+Reviewersで誰にレビュー依頼するかを選択する Create Pull requestをクリック ここまでが、開発中によく使うコマンドや流れになります! 他に作業前の同期や調整時に使うコマンド(git fetchとかpullとか)もありますが、また後日記載していきます
【PHP】データの連番確認と、抜け番またはMAX+1を生成する関数

2020-06-04

はじめに データベースから持ってきた数字のデータをチェックし、「抜け番」または「MAX+1」を生成する関数を作成しました。 作成環境のPHPが5.3系だったので、コードは5.3系で動くものになっています。 何か不整合があれば教えてください。 またご利用の際は、ご自身でしっかりチェックを行い、自己責任でご利用をお願いいたします。 コード PHP /** サンプルデータ* DBなどから取得したりする流れになると思いますが、処理中に最後の番号を参照するので、昇順できちんとソートしましょう。*/ $numData = array ( 1 , 2 , 4 , 5 ) ; /*** 新規番号を抜け番 or MAX+1で発行する* @param {array} $numData DBや何かしら持ってきたNoのデータ配列* @return {number} 抜け番 or MAX+1*/ function issueNo ( $numData ) { $maxIdx = count ( $numData ) - 1 ; $range = range ( 1 , $numData [ $maxIdx ] ) ; //1~データの最後のNoで連番の配列を作成 foreach ( $range as $idx => $rangeNo ) { if ( $rangeNo !== $numData [ $idx ] ) return $rangeNo ; //抜け番を返して終了 } //MAX+1を返して終了 return $numData [ $maxIdx ] + 1 ; } 処理結果 抜け番があるデータを処理した場合 例えば array(1,2,4,5); をこの関数に渡し処理した場合は 抜け番の「3」がリターン されます。 抜け番がないデータを処理した場合 例えば array(1,2,3,4,5); のようなデータを処理すると MAX+1の「6」がリターン されます。 解説 ポイントはrangeです。 PHP $range = range ( 1 , $numData [ $maxIdx ] ) ; rangeで今回作成される配列は 1~取得データのMAX値の連番の配列 になります。 rangeで作成した連番の配列と取得したデータの数字の配列を比較する ことで、連番かどうかを確認しています。 以上です。 慣れないうちは頭で処理を想像するのが大変かもしれませんが、作っていれば慣れていくので大丈夫です
【Git/GitHub】Gitでバージョン管理を始めるときに最初にするコマンド

2020-06-01

はじめに 個人でGit、GitHubを使ったことはあるのですが、現職ではGitが採用されていないためチームでGitを使って開発するときにどういう風に使うかを具体的に知りたくて勉強しました。 今回はGitでバージョン管理を始めるときに最初にするコマンドをまとめておこうと思います。 ※前提としてGitがインストール済でGitHubアカウントは既に持っている状態 ※200606にolの番号リストで表示していた部分をh3に置き換えました。 それでも微妙だけど、単純に使っていくため致し方なし😐 GitとGitHubとは ざっくりですが、簡単にいうと以下のようなものです。 Git ファイルをバージョン管理する仕組み GitHub Web上でファイルの保管、共有する機能 既存のプロジェクトから作業を始める場合 PCの作業フォルダにコマンドで移動 cd ディレクトリ名 ※Gitコマンドではありません。 Windows/Macの共通のコマンドでフォルダ移動するためのコマンドです​ ローカルリポジトリにリモートリポジトリの内容をコピー(CLONE) git clone リポジトリ名​ ※リポジトリ名はリポジトリのhttps~~.gitのURLでOK リポジトリとは バージョン管理においてファイルやディレクトリを保存する場所のことをリポジトリといいます。 ローカルリポジトリ:作業者のPC内のリポジトリ リモートリポジトリ:Web上のGitHubのリポジトリ 新規プロジェクトから作業を始める場合 PCの作業フォルダにコマンドで移動 cd ディレクトリ名 ※Gitコマンドではありません。 Windows/Macの共通のコマンドでフォルダ移動するためのコマンドです 移動先のフォルダでローカルリポジトリを作成 git init​​ GitHubでリモートリポジトリを新規作成 リモートリポジトリがない場合はWebでGitHubにログインし、リポジトリのページへアクセスし 「New」 をクリックすると作成できます。 リポジトリ新規作成時にReadmeファイルを同時に作成するチェックボックスがあります。 チェックせずに進むとローカルリポジトリに紐づけるために、以降必要なコマンドを表示してくれるので参考にしてみてください。 以降の git remote や git push の流れなどが書いてあります。 originという名前にリモートリポジトリのURLを紐づける git remote add origin リモートリポジトリのURL​ git remote をしなかった場合は、毎回リモートリポジトリのURLを打たないといけなくなります。 またoriginとはGitの慣用句みたいなもので、アクセス先のリモートリポジトリのデフォルトの名前(リモート名)です。 例えば git push origin master というコマンドなら、リモートリポジトリのmasterブランチへpushするという意味になります。 ローカルリポジトリにファイルを作成し、リモートに初回プッシュをしておく git push -u origin master -uについて 今後pushするときに origin master を以後省略できるようにするためのpushコマンドのoptionです。 git pushのデフォルトが origin master なので省略できます。 -uは 初回のみ 使います。 これでGitでバージョン管理を行う準備ができました。 このあとは add commit push など様々なGitコマンドを利用しバージョン管理を行いながら開発をすすめます 今回参考にさせていただいた教材について 教材はUdemyの有料の動画教材です。 Git: もう怖くないGit!チーム開発で必要なGitを完全マスター メンターのPCがMac、テキストエディターがAtomなので環境が違うと少し詰まりますが、個人的には学習を進める上では大きな障害にはなりませんでした。 ※Windowsの場合はファイル操作などの簡単なコマンドを調べる必要はあります。 ※Git利用時にAtomを紐づけてるのですが、私はVS CODEを使っており紐づけがうまくいきませんでした。 ※テキストエディターがなくてもGitコマンドの -m というオプションを使えば問題なく進めます。 内容自体はとてもわかりやすいので、本などから入るよりおすすめ です。 操作しながら学べて、メンターの経験からこうしてるという話もあるので理解がしやすいです。 メンターの山浦清透さんにはとても感謝しております。 ありがとうございます。
【MySQL(MariaDB)】intの桁設定について

2020-05-19

はじめに 先日ひさしぶりにデータベースのテーブル作成をしたときに INT の桁数ってどういう意味だったけ?となったので調べました。 先に答えをいうと  ZEROFILLを設定した場合に有効な表示桁数  ということになります。 INT型には、TINYINT、SMALLINT、MEDIUMINT、BIGINT等いくつかありますが、本記事はよく使うINTのみ記載しています。 上記とINTの違いは保存できる数値の大きさになります。 INT型の桁数について まずサンプルで以下のような設定でテーブルを作成しました。 table_kouzou 今回気になったのは (3) の部分。 調べてすぐ出てくるのは 桁数という回答。 実際に3桁になるのか登録して確認。 table_data01 うん。4桁入ってしまっている。 こうなると(3)の桁数の意味がわからない。 実際何なのかしらべたら、(3)は 表示桁数 とのこと。 表示桁数っていっても実際は4桁はいってる!ってなりますが、この桁数の設定は ZEROFILLという0埋めを設定 したときに始めて意味があるものらしいです。 なるほど..さっそく試してみよう! 構造>>変更 から 属性を「UNSIGNED ZEROFILL」  に変えます。 table_data02 すると3桁もないデータ「1」は以下のように3桁で0埋めになります。 table_data03 上記画像のとおり、(3)は 「UNSIGNED ZEROFILL」を適用したときの桁数 ということだったんですね。 じゃあINTはどこまでの数値が入るの? という疑問ですが、初期設定では 4バイトの「-2,147,483,648 ~ 2,147,483,647」の範囲 が入ります。 2,147,483,647を超えた場合は2,147,483,647 で登録されます。 試しに2147483647+1の2147483648をINSERTしてみます。 SQL INSERT INTO ` int_test ` ( ` test ` ) VALUES ( 2147483648 ) 結果は 2147483648 は 2147483647 で登録されています。 table_data04 これで(3)の桁数の意味がわかってすっきりしました。 なお桁数を設定しなかった場合は(11)で設定されます。 (11)はデフォルトらしいのですが、個人的には正直ZEROFILLを使うことは少なそうなので(11)でいいか。という結論になりました。 またZEROFILLを設定した場合はかならずUNSIGNED になります。 以下参考までに。 UNSIGNEDとは INTの初期設定では4バイトの「-2,147,483,648 ~ 2,147,483,647」の範囲で数値の登録が可能です。 UNSIGNEDを設定した場合は  「0 ~ 4,294,967,295」の範囲  で登録が可能になります。 データーベース系は意外とネット上に情報が少ないので、難しいです! 日々精進!!
Wi-Fi設定とIPv6

2020-05-01

はじめに Y!mobile + SoftBank 光 でおうち割の割引を受けていたのですが、Y!mobileを解約。 おうち割が外れること でWi-Fiを使うためだけに、 毎月約1500円の支払い が発生するのはかなり クレイジ~ だと感じたので(既知の事実)、 SoftBank 光のWi-Fiマルチパックを解約 しました。 ※Wi-Fiマルチパック(467円税抜)+光BBユニット(990円税抜) 解約にあたり、Wi-Fiルータを購入し環境を構築していたのですが、**Wi-Fiマルチパックがないと光BBユニットで Wi-Fiが使えなくなる **という問題や 、 IPv6などでひっかかりうまくつながらなくなった ので、 解決方法 などをブログにしておこうと思います。 ちなみにAmazonで購入したWi-Fiルータはこちら 繋がらなくなったときの事象 YouTubeの利用とGoogle検索の結果までしかアクセスできない 検索結果の先のページや他のWEBサイトにアクセスできない Twitterで表示はできるが投稿・更新ができない 繋がらなくなった原因 いろいろ調べてるうちにわかったのですが、今回購入したルータで初期設定を行った際に IPv6で通信を行う設定 になっており、 大多数のサイトが****IPv4にしか対応していないため繋がらなくなった ということが原因でした。 YouTube含むGoogleのサイトはIPv6に対応している数少ないサイトだったので繋がっていたということですね。 ただ光BBユニットでWi-Fiを利用しているときはIPv6でも問題なく利用できていた+IPv6でのメリット があるので、個人的には引き続きIPv6を利用したいと考えました。 IPv6とは IP(インターネットプロトコル)という通信に関する規約を定めたものでv6はその種類の一つ。 従来の形式が IPv4 で新しい形式が IPv6 になります。 インターネットはIPアドレスという被らない数値をコンピュータごとに発行し通信がされているのですが、その数値パターンがv4では足りなくなってきているのでv6が登場しました。 参考元 https://ja.wikipedia.org/wiki/IPv6 IPv6のメリット あまり詳しくないので詳細は参考元を見ていただきたいのですが、ざっと以下の点を メリット と考えています。 IPv4は枯渇していくのがわかっており、IPv6が普及すると思うのでIPv6を継続利用したい 従来の接続方式のPPPoEではなく、IPoEという接続方式なので速度があがる 機器の初期設定でPPPoEの場合に必要だったID、パスワードが不要になる ※SoftBank 光なら ご利用開始のご案内 や MySoftBank で確認できる S-IDとパスワード がPPPoE設定に必要なID、パスワードになります。 ※パスワードは確認ができないので、自身でしっかり記録しておく必要があります( やっかい ) IPv6のメリットとデメリットについて。通信速度が速くなる条件とは? 事象を解消した方法 結論ですが、光BBユニットに購入したWi-Fiルータを接続してWi-Fiを使う ということでした。 IPv6を使いながら、数多くあるIPv4のサイトに対応するためには 「IPv6 IPoE + IPv4」 という通信の仕組み(v4とv6両方つなげるようにする)を利用しないと駄目だったんです。 SoftBank 光でIPv6 IPoE + IPv4を使うためには、 光BBユニットが必須 ということを思い出し以下のように接続をしなおしたらうまくいきました… simple-connect 最後に 正直数年に一回確認するかしないかなので、こんな難しい仕組み覚えていられません🙄 多くの人がはまってしまうポイントだと思うので、 光BBユニットが必須はやめて ほしいですね。 「IPv6 IPoE + IPv4」の利用条件はインターネットの提供元で異なり、提供元の会社次第のようなので、ただ通信があれば利用できる状態であればこんなことにはならなかったんです。 ※IPv6 IPoE + IPv4 は 「IPoE/IPv4 over IPv6」 ともいわれるみたいです。 IPv6とは? 利用できない原因はルータ?プロバイダ? どこのなにを設定? 接続方法は? とか確認するのにすごく時間がかかりました。 こんなことわからずに挫折する人はかなりいると思います(#^ω^) 同じような事象で接続できない!という方の助けになれば幸いです。 お疲れさまでした! おまけ SoftBankのおうち割が解除されるとどのくらい値段があがるのか。 今回のパターンではありますがざっと記載しておきます。 参考になれば幸いです。 Y!mobile + SoftBank 光 のおうち割の割引額 今回の契約していたプラン Ymのスマホプラン:スマホプランM/R SB固定回線:SoftBank 光 おうち割加入に必要な固定回線の指定オプション ※光BBユニットレンタル + Wi-Fiマルチパック + BBフォン 受けれた割引額 -200円/月 です。 ※おうち割の-700円+固定回線の指定オプション500円 = 200円割引 おうち割とは Y!mobileの対象のプラン + 固定通信サービス*1 + 固定通信サービスの契約者で指定オプション*2のに加入することで適用される割引 *1 SoftBank 光やSontBank Air *2 指定オプションとは 以下3つのオプションを合わせて、本来であれば1500円程度かかるものが500円で契約できるものです。 光BBユニットレンタル(467円税抜/月) Wi-Fiマルチパック(990円税抜/月)/Wi-Fi地デジパックのいずれか ホワイト光電話/BBフォン/光電話(N)およびBBフォン(0円/月)のいずれか ※この情報は 20/05/01 時点です。 詳細は公式を見てみてください。 おうち割 光セット(A)/ 光BBユニットレンタルの料金 Wi-Fiマルチパックの料金 地デジチューナープラス/Wi-Fi地デジパックの料金 BBフォンの料金 おうち割が外れた時に発生する金額 固定回線の指定オプション500円が おうち割解除 により 1457円/月(税抜) で請求されます。 ※ 光BBユニットレンタル(467円/月)+Wi-Fiマルチパック(990円/月)+BBフォン(0円/月) = 1457円/月(税抜)(今回の私の場合) -200円/月しか割引 を受けれてなかったのに、**外した瞬間に毎月1457円/月(税抜)**の請求がくるなんて恐ろしいですね。 なので、今回はWi-Fiマルチパック(990円/月)を外して、Wi-Fiルータを買って、IPv6のWi-Fiを整えたというわけです。 ソフトバンクでの解約について ソフトバンクの解約は大変です。 電話がつながらないので、解約したい日が決まってる場合は 日にち単位で余裕 を持ったほうが良いです。 月跨ぎでの料金には注意 しましょう。 個人的には チャットがおすすめ です。 WEBに関しては導線が複雑すぎてほぼうまくいきません。 WEBでオプションを停止しようとしたら、以下三つのログインが必要でした。 生年月日+郵便番号+電話番号 SID Yahoo Japan ID Yahoo Japan IDに関しては 書類に書いてない +YmobileのYahoo Japan IDでもログイン不可だったので、もうお手上げでした。 ※今はコロナ情勢の縮小で電話は切れるし、チャットは閉まってるので連絡手段がほぼなく解約がほんと難しすぎました。 IPv6のことといい、ややこしくて数日かかる原因はすべてソフトバンクの仕組みのせいでした。 調べるだけでもかなりの疲労感なのに、連絡取れないことが多々あるので、皆様も気を付けてください。
【Google AdSence】WordPress ads.txt 設置方法

2020-04-30

はじめに Google AdSenceのTOPに以下のようなアラートが出ていたため、ads.txt(アズテキスト)というものを設定しました。 ads-txtアラート 設定方法を記載しておきます。 サーバーはロリポップ使ってます。 よろしくお願いします。 ads.txtとは 悪い人がなりすましを行い、 広告収入を奪っていく ようなことがあるため、それを 防いでくれる という仕組みです。 せっかくの収益を奪われたら勿体ないですし、ads.txtの設定自体はそんなに難しくないので、設置しておくことをお勧めします。 設定後は反映に時間がかかるため一旦やってみて、しばらくアラートが消えるか様子見をしてみてください。 ※最長で1か月ほどかかることがあるそうです。 ads.txt に関するガイド https://support.google.com/adsense/answer/7532444?hl=ja ads.txt に関する問題のトラブルシューティング https://support.google.com/adsense/answer/9785860?hl=ja&ref_topic=7533328 設定方法 Google AdSenceにアクセス 「今すぐ修正」をクリック ads-txt02 「1 つのサイトで使用する ads.txt ファイルを作成する~」の枠が表示されます 「ダウンロード」をクリック ads-txt03 「ads.txt」がダウンロードされます FTPを開き、「ルートレベルのドメイン」にアップロード ルートレベルのドメインとは URLでいうとドメインの直下にあたる場所です。 なので、アップする際はFTPを開いて一番TOPの場所にアップロードしてください。 例)当ブログ https://minememo.work/の場合https://minememo.work/ads.txtという場所になります。 ※WordPressで構成ファイルがドメインの直下ではなく、作成したフォルダの中(1階層奥など)に配置してある場合はそのフォルダをTOPとして、ファイルを配置したらうまくいきました。 「ロリポップ!FTP」を使う場合 ロリポップ!の管理画面へアクセス>>サーバーの管理・設定>>ロリポップFTPをクリック してFTPへアクセスしてください。 FTPとは ファイルを送受信する仕組みのことを指します。 今回のFTPはファイルをアップロードするためのツールという意味合いでもあります。 アップロードが完了したらアラートが消えるまで数週間様子見してください。 お疲れさまでした! (前回は2週間でしたが、今回は1日で反映してアラート消えました!やったね🐭)
【WordPress】ブログサイト構築の全行程まとめ

2020-04-29

はじめに WordPressのブログサイト構築の全行程を体系的に記載していきます。 詳細が別に必要なものは別記事へのリンクにします。 目次の項目を「一個一個落ち着いて」順番通りに設定 していけば、おそらく インストール>>セキュリティ設定 まではできると思います。 セキュリティ設定までやれば、あとはGoogleのツール(Adsense、Search Console、Analytics)を導入したり、好きなテーマでブログを書き出すだけ! という感じなので大変ですが、これを見て出来たという人が増えてくれたらうれしいなと思います。 (しかし..WEB系の仕事してても大変なので、本当に皆よくやるな~と思います😵) 利用環境は以下の通りです。 PC:Windows10 レンタルサーバー:ロリポップ 利用テーマ:JIN(有料) なおこの設定方法は 当ブログを構築する際におこなったことで、人によって環境の相違、手順の違い、必要なものが異なる場合もある と思います。 レンタルサーバなど環境一致しない部分は、ご自身の環境に置き換えて参考にしていただければ幸いです。 レンタルサーバー契約 このブログではロリポップのスタンダードプランを契約しました。 選んだ理由は以下の通りです。 ブログが波に乗るかわからないので、一旦コストを抑えたい ライトだと安いがWordPressが重いらしい 周りの評判をみてとりあえずで始めるならロリポップのスタンダードプラン 低価格だが無料SSLがついている 本格的にアクセスが増えたらエックスサーバー1択 ロリポップだとアクセスが増えたときにどうなるのか体験してみたい というような感じですね 契約はロリポップ公式の「お申込み」ボタンからどうぞ。 10日無料も何回でもできたので、気軽にやってみるといいかもしれません。 ロリポップ WordPress簡単インストール まずはWordPressをインストールします。 インストール方法はロリポップのマニュアルを確認してください。 WordPress(ワードプレス)簡単インストール サイトURL:任意入力はインストール先のフォルダ名になります サイトのタイトル:サイト名なので好きなものにしてください WordPressセキュリティ設定 インストールが完了したらセキュリティ設定を行っていきます。 WordPressのプラグインをインストールして、プラグインごとに設定をしていきます。 Akismet Anti-Spam (アンチスパム) スパムコメント対策のプラグインです。 大まかな流れは以下の通りでほかの設定は特に触っていません。 WordPressのプラグインでインストールし有効化 Akismetアカウントを設定 AkismetのAPI キーを取得(無料版でOK) WordPressでAkismetの設定からAPI キーを登録 こちらのサイトを参考にさせていただきました。 【スパム対策】Akismetの最新の設定方法を紹介 スパムコメントとは 大量の広告などのメッセージを無差別に投稿すること WP Multibyte Patch WordPressを日本語最適化(文字化け防止)するプラグインです。 特に細かい設定は必要ありません。 WordPressの管理画面>>プラグイン>>新規追加 WP Multibyte Patchで検索しインストール 有効化をクリック 日本語最適化を行う理由などの詳細はこちら 【再入門】WP Multibyte PatchをWordPressで有効化してみました! SiteGuard WP Plugin 初期同梱のプラグイン。 主に管理画面などを守るためのセキュリティプラグインです。 以下の2項目のみ設定しました。 ログインページ変更 WordPressの管理画面のURLは基本構造が同じなっており、だれでもログイン画面にアクセスできる状態になっています。 そのためURLを変更しアクセスできないようにします。 有効化にした時点で管理画面のURLが変わるので、URLはかならずして確認しメモてしておいてください。 ログインページ変更をクリック 「ON」をクリック 「変更後のログインページ名」をメモする 「管理者ページからログインページへリダイレクトしない」をチェック 「変更を保存」をクリック 「管理者ページからログインページへリダイレクトしない」とは 未ログイン時に変更前URLにアクセスした場合に、404 Not Foundとなり変更されたログインページにリダイレクトしないようにします。 当ブログの場合はURLは以下のようになります。 変更前 http://minememo.work/wp-admin/ 変更後 https://minememo.work/初期値または設定した任意のパス もし変更後のURLを忘れた場合でも確認できますが、あまりおすすめは出来ない方法なのでちゃんとメモしておきましょう 変更後のURLを忘れた場合の確認方法 ロリポップの管理画面へアクセス ↓ サーバーの管理・設定 ↓ ロリポップ!FTPにアクセス ↓ WordPressがインストールされてるフォルダのTOPにある.htaccess というファイルの中を確認 ↓ 以下のような記載がある個所に「初期値または設定した任意のパス」が書いてあります。 ```htaccess:title=htaccessRewriteRule ^初期値または設定した任意のパス(.*)$ wp-login.php$1 [L]``` 画像認証 ログイン画面などにひらがなの文字を入力したりする画像認証をつけます。 一応つけていますが、個人的にはめんどくさくなったら外してもいいかなと感じています。 画像認証をクリック 「ON」をクリック お好みのものを選択 「変更を保存」をクリック All In One WP Security & Firewall SiteGuard WP Pluginにはない機能ももいっているセキュリティプラグインです。 SiteGuard WP Pluginで設定していないような機能をONにしました。 ※全編英語だけど、日本語翻訳しながら頑張りました笑 以下のサイトを参考に一部機能をONにしました。 https://keiei.co/all-in-one-wp-security-firewall/ WP Generator Meta Tag & Version Info WordPressのバージョンは脆弱性を判断する材料になるために、ソース内に表示されるバージョン情報を消します。 WP Security>>Settings>>WP Version Info チェックボックスをONにして「Save Settings」をクリック Force User Logout Options 設定した分数の間に何もしな買った場合に自動ログアウトするための機能です。 WP Security>>User Login>>Force Logoutをクリック Enable Force WP User LogoutのチェックボックスをONにします。 Logout the WP User After XX Minutesに分で時間を入力 ※600なら10時間4. 「Save Settings」をクリック Registration Honeypot 悪質なロボットへの対策です。 ロボットは通常、登録フォームから各入力フィールドへ入力するので、特別な隠されたハニーポットというフィールドの値も送信します。 その値が含まれていたら、ロボットがフォームを送信した可能性が高いとして処理されます。 WP Security>>User Registration>>Registration Honeypotをクリック Enable Honeypot On Registration PageのチェックボックスをONにします 「Save Settings」をクリック Change Database Prefix データベースのテーブル名の接頭辞(共通の先頭の文字)を変更します。 初期は WP数値_テーブル名 問というような形式になっているので「WP数値」をオリジナルのものに変えることでセキュリティを向上させます。 注意点が多いため作業の際は十分に注意してください。 適用タイミングについて この機能を使う場合はWordPressをインストールしてすぐが好ましいです。 データやプラグインが増えてる場合はどんな影響が出るかわからないので、管理画面の記載のある通り BAKUPをとって自己責任 で行ってください🤖 用語補足 データベース:ブログなどのデータが登録されているサーバー上の大きな箱みたいなもの。 ロリポップなどのサーバーの管理画面からアクセスできます。 テーブル:データベースの中の各データの部屋みたいなもの 接頭辞(プレフィックス) :単語の先頭につける文字。 プログラムでは名称の被りを避けるため、決まった単語を頭につけることがあります。 それでは設定にはいります。 まずロリポップの管理画面に移動します。 ロリポップ管理画面>>サーバーの管理・設定>>ロリポップ!FTPをクリック FTPが開くのを待ちます WordPressのファイルがインストールされているフォルダのTOPにある 「wp-config.php」をクリック 「現在の属性」の部分を600に変更 「保存する」をクリック wp-config.phpのパーミッションについて(書き込み権限の設定) この作業が終わったら、必ず 即時400に戻す ようにしてください。 WordPressの設定ファイルなので、セキュリティ上書き込み不可の400にしておく必要があります。 (400=呼出のみ/600=呼出、書込) またこちらのファイルも重要なファイルなので、 作業前にBACKUP を取っておくことをお勧めします。 それではWordPressの管理画面にもどります(‘◇’)ゞ WP Security>>Database Security>>DB Prefixをクリック Generate New DB Table Prefixのテキストボックスに任意の文字を入力 「Change DB Prefix」をクリック 更新が完了した後はおかしなところがないか確認 任意の文字は半角英語 が良いです。 プログラムの特性上日本語は避けましょう。 経験上だいたい「小文字英数字とアンダースコア」で構成します。 Prevent Access to Default WP Files readme.html、license.txt、wp-config-sample.phpへのアクセスを禁止します。 これらのファイルへのアクセスを防ぐことにより、潜在的なハッカーから重要な情報(WordPressバージョン情報など)を隠します。 WP Security>>Filesystem Security>>WP File Access Prevent Access to WP Default Install FilesのチェックボックスをONにします。 「Save Settings」をクリック Firewall この機能を使用すると、サイトのいくつかの基本的なファイアウォールセキュリティ保護ルールをアクティブにできます。 Firewallは有名なのですが、細かい機能は把握していません。 かけすぎて弊害がでてもいけないので、参考サイトを参照し以下2箇所を設定しました。 参考サイト All In One WP Security & Firewallの使い方とおすすめの設定方法 WP Security>>Firewall>>Basic Firewall Rules。 Enable Basic Firewall ProtectionのチェックボックスをONにします。 Disable Pingback Functionality From XMLRPCのチェックボックスをONにします 「Save Basic Firewall Settings」をクリック ※Brute Force対策やRename Login PageはSiteGuard WP Pluginで設定しており、不要なので設定はしませんでした。 Edit Author Slug 「公開URL + ?author=1」でURLにアクセスされた際に登録されているユーザ名が表示されるのを防ぎます。 ユーザ名はWorPressの管理画面のIDなので隠しておきたい情報になります。 例えば本ブログに「公開URL+?author=1」でアクセスした場合URLがこのようになります。 https://minememo.work/?author=1 でアクセス ↓ https://minememo.work/minememo/taka が表示 ※takaの部分に本来はWorPressのIDが表示されます ※今表示されているtakaは自分で設定した表示用の文字になります プラグイン>>新規追加>「Edit Author Slug」をインストールし有効化 ユーザ一覧>>変更したいユーザ名をクリック IDの代わりに表示するニックネームに好きな名前を入力 ※ユーザ名がWordPressのIDです 「ブログ上の表示名」は決めたニックネームにします 「投稿者スラッグ」という欄が下のほうにあるので、表示してもいいものを選択 ※投稿者スラッグ:?author=1 でアクセスした際にURLの末尾に表示される名前 プラグイン>>インストール済みのプラグイン>>Edit Author Slugの設定をクリック 投稿者ベースに任意の文字を入力 ※URLになるので半角小文字の英語やハイフンが良いと思います 「変更を保存」をクリック 「投稿者スラッグ」はEdit Author Slugが有効化されていないと表示されません。 以上でセキュリティの設定が完了です。 個人的に調べた範囲なので、何か他にしたほうがいいもの、しなくていいものあればぜひ教えてください! 長いですね..疲れたら無理せず休憩しましょう! パーマリンク設定 パーマリンクとは記事を作成する際に生成される記事のURLになります。 こちらはSEOの観点から 必須 に近い設定になります。 記事が増えたりする前にぜひ設定しておきましょう。 詳細は別記事に記載していますので、「参考」をご覧ください。 【WordPress】パーマリンク設定 独自ドメイン設定 独自ドメインを取得するメリットは「SEO的に強いから」というのがメインの目的になります。 こちらもブログが動き出す前に設定しておいたほうが良い項目です。 詳細は別記事に記載していますので、「参考」をご覧ください。 【WordPress】独自ドメイン設定 独自SSL(無料) 取得したドメインに独自SSL(無料)を適用します。 SSLとは通信時の情報を暗号化しセキュリティをたかめることです。 Google的には必須的な項目になるため、設定しておいたほうが良いです。 詳細は別記事に記載していますので、「参考」をご覧ください。 【WordPress】ロリポップ独自SSL(無料)設定 301リダイレクト 旧ドメインにアクセスした場合に、繋がらないので新ドメインへリダイレクト処理を行います。 301リダイレクトを行うことにより、クローラーに正規の移転(恒久的なリダイレクト)と認識させSEOに悪影響が出ないようにします。 WordPress【WordPress】301リダイレクトの設定 Goolgle系(収益化、検索設定、サイト分析)のツール導入について 以下の理由でうまくまとめれませんでした(m´・ω・`)m ゴメン… 導入方法が利用しているWordPressのテーマごとに異なる ツールごとに登録し設定、またはSite Kit by Googleというプラグインを通して設定する方法など複数ある 私事で申し訳ないのですが、すでにツールごとに登録しており新規登録ではなく追加設定が必要だった 参考先は載せておきますので、参照の上登録、設定をしてみてください。 Site Kitとは Site KitはWordPress向けの無償のオープンソースのプラグインです。 WordPressの管理画面でAdsense、Serch Console、Analyticsをまとめて参照、アクセスできるようになる便利ツールです。 AdSense に接続し、WordPress サイトで広告を表示する Goolgle Adsense(収益化)へのお申し込み Goolgle Adsenseで収益化するためにはURLの登録、紐づけが必要です。 AdSense へのお申し込み 【Google AdSence】アドセンス ads.txt 設置方法 Goolgle Serch Console(検索結果の監視、管理、改善) Googleの検索結果にサイトを表示するためには、Googleの検索エンジンにサイトを通知し、インデックスというものにサイトを登録してもらう必要があります。 またGoolgle Serch Consoleを使うことでサイトが更新された際に、Googleの検索エンジンに自動で再通知をしてくれるようになります。 Google検索での検索結果に、サイトを表示したい場合はぜひ設定をしておきましょう💡 【WordPress】サイトマップ作成からSearch Console登録までの全手順 Goolgle Serch ConsolはGoogleのマニュアルで「URL検査ツール」と記載されている場合があります。 Google Analytics(サイト分析) Googleが提供するアクセス解析ツールです。 サイトの訪問者数や見られているページなどアクセス状況が確認できます。 毎日どのくらい見られてるかがわかるとモチベになるので、ぜひ設定しておきましょう。 アナリティクスのスタートガイド その他 プライバシーポリシー アナリティクスなどの分析ツールやAmazonアソシエイトを使っていたする時点で、プライバシーポリシーへの記載が必要になります。 正直難しい内容ではありますが、参考になるサイトを参照し作成しておきましょう。 当ブログでもAmazonアソシエイト使えるようになったら追記しないとです💡 【コピペでOK】プライバシーポリシーの書き方|AdSense・Analytics対策 最後に 長~い本当に設定お疲れさまでした👍 あとは長くブログを続けていくだけですね。 お互い気軽に頑張りましょう~🐹
profile_icon
taka
プログラマー
いつでも転職希望の業務経験7年目(2023時点)のエンジニアです。 仕事の合間にすこしずつ転職活動はしていますが、条件が合う場合ぜひTwitterなどでご連絡頂けると嬉しいです。 希望条件は基本的に残業は1日x1h程度。収入は一旦現状維持。 ある程度で構わないので、保守運用が管理されていて、精神的に安心して働ける環境が良いです。 経験言語はHTML、CSS、javascript、PHP、MySQL、Docker、Vuejs、Laravel このブログは完全に自作で静的ジェネレータで作りました。 この範囲で言えば React.js Gatsby.js GraphQLも経験があります。 最近はAIがどう社会に受け入れられ、日常になっていくのかの行く末が気になっています。 今までの人生で一番変化を感じて不思議な感覚です。