wordpress
https://wp.suwa3.me/2019/12/25/pixela%e3%81%a8%e3%81%84%e3%81%86%e8%8d%89api%e3%82%b5%e3%83%bc%e3%83%93%e3%82%b9%e3%82%92%e5%88%a9%e7%94%a8%e3%81%97%e3%81%a6%e3%80%81wordpress%e3%81%aepv%e6%95%b0%e3%82%92github%e9%a2%a8%e3%81%ab/
こちらのblog内容の続きです。
準備内容だとか箇条書きな感じになっているので
もう少し丁寧に書きます。
まず、GitHub風に草を生やすことができるPixela
超かわいい!!と、見た瞬間一目惚れして
ぜひこれでblogのPV数をサイドバーなどに表示させたいと思いました。
(スマホの場合は下にスクロールしてもらうと記事&検索窓の下に表示されます)
順序としては以下のとおりです。
PixelaでユーザーとIDを作成してグラフを表示させてみる PV数を調べるため、対象blogにGoogleAnalyticsを導入する GoogleAnalytics APIを利用してjsonファイルをDLする PythonでjsonファイルからPixelaの求める出力ができるように整形する ディレクトリをサーバーなどに置いてcron実行させる htmlにで埋め込む PixelaでユーザーとIDを作成してグラフを表示させてみる https://pixe.la/
こちらのサービスですが
基本的にすべてWeb APIで構成されるサービスになるため
ユーザーやIDの登録など、設定もAPIで行います。
初めはユーザー登録からAPIで設定することにハードルの高さを感じたのですが
使ううちに、無駄がなくて洗練されているなぁと感じるようになりました。
以下の
a-know には自分の希望ユーザー名
thisissecret にはパスワードを入力します。
$ curl -X POST https://pixe.la/v1/users -d '{"token":"thisissecret", "username":"a-know", "agreeTermsOfService":"yes", "notMinor":"yes"}' 成功すると以下が表示されます。
{"message":"Success.","isSuccess":true} test-graph には希望するID(URLに使われます)
graph-name には希望する名前
commit には希望する単位(kgやmなどでもOK)
int は、今回はPV数ということで整数を扱うのでそのままです。
shibafu には色を入力します。
green,red,blue,yellow,purple,blackから選べます。
$ curl -X POST https://pixe.la/v1/users/a-know/graphs -H 'X-USER-TOKEN:thisissecret' -d '{"id":"test-graph","name":"graph-name","unit":"commit","type":"int","color":"shibafu"}' 成功すると以下が表示されます。
{"message":"Success.","isSuccess":true} ブラウザで以下にアクセスします。
a-know にはユーザー名 test-graph にはIDを指定してください。
https://pixe.la/v1/users/a-know/graphs/test-graph
(ユーザー名にsuwa3/IDにtest-graphを指定した例)
備忘録としてまとめます。
ざっくりとやった内容です。
AWSでEC2インスタンスをたてる EC2内にLAMP環境を構築 EC2内にWordPressをインストール 旧WordPressからデータをエクスポート 新WordPressへデータをインポート Route53でサブドメインを切る Let’s Encryptで証明書発行 諸々の設定ファイルを書く AWSでEC2インスタンスをたてる 主に参考にした記事です。
Amazon EC2 Linux インスタンスの開始方法 - Amazon Elastic Compute Cloud
注意するポイントとして
Amazon Linux 2ではなくAmazon Linux AMIを使用します。
好みの問題かもしれないですが
Amazon Linux 2
$ sudo amazon-linux-extras install -y lamp-mariadb10.2-php7.2 php7.2
Amazon Linux AMI
$ sudo yum install -y httpd24 php70 mysql56-server php70-mysqlnd
この違いです。
amazon-linux-extrasではなくyumを使いたかったので
Amazon Linux AMIを使用しました。
セキュリティグループは下記のとおりです。
SSH: ポート範囲22
HTTP: ポート範囲80
HTTPS: ポート範囲443
鍵を作成したら.ssh配下に移動します。
$ mv ~/.Downloads/HogeKeyName.pem ~/.ssh/
権限の変更をします。
$ chmod 600 HogeKeyName.
RDSとは:AWSのDBマネジメントサービスです。
作成時のポイント
作成時になるべく既存のMySQLと近いversionを選ぶようにします。
作成後エンドポイントを控えておくと作業がスムーズです。
EC2インスタンス内でdumpファイルのある
/tmp下に移動し、下記コマンドを実行してインポート。
$ mysql -u [ユーザー名] -p –host [エンドポイント] < backup20191004.sql
オプション解説
--host [エンドポイントなどのホスト名]
RDSの場合はAmazon RDS DBインスタンスのエンドポイント
エンドポイントは、RDSマネジメントコンソールのインスタンス詳細で確認できます。
MySQL DB または MariaDB DB から Amazon RDS MySQL または MariaDB DB インスタンスへのデータのインポート
インポートが完了したらRDSにログインしてみます。
$ mysql -u [ユーザー名] -p –host [エンドポイント]
DBの一覧を確認して、引っ越しができているか見ます。
mysql> show databases;
RDSが完成したら向きの指定を変えます。
EC2インスタンス内に入り下記に移動(Apacheなどの設定により違う)
/var/www/html/wp-config.php
// ** MySQL 設定 - この情報はホスティング先から入手してください。 ** // /** WordPress のためのデータベース名 */ define(‘DB_NAME’, ‘[DB名]’);
/** MySQL データベースのユーザー名 */ define(‘DB_USER’, ‘[ユーザー名]’);
WordpressのEC2インスタンス内にあるMySQLデータをバックアップします。
MySQLのデータベースをmysqldumpでバックアップ/復元する方法
上記を参考にして進めました。
まずはEC2内に入りエクスポート
$ mysqldump –single-transaction –databases [DB名] -u [ユーザー名] -p > /tmp/backup20191004.sql
オプション解説
--single-transaction
データの整合性を維持する。ワントランザクションで作業を行う設定する
--databases [DB名]
DB名の指定
-u [ユーザー名]
ユーザー名の指定
-p
上で指定したユーザー名のパスワードを使用するオプション
dumpファイルを取ることに成功しました!
Next Step
RDSを作成します。
朝からすっかり疲れていました。
本日は完全に甘えモードで、Ansibleのcronモジュールでcrontabの設定です。
自分用の備忘録です。
もともとUbuntu内の権限周りの設定がわけわかめだったのですが
今回Ansibleでcronの設定をやろうということで、権限周り問題が複雑化したように感じます。
ただ、本日は甘えモードのため
「よくわからないけど、動いた設定内容を備忘録としてまとめればOK」
を、目標としたので
本日の目標は完全に達成しました!
.
WordPressにGoogle Analytics導入も試しました。
結論、断念したのですが
scriptタグが許可されていないっぽい。
WordPress.orgとWordPress.com、どっちのワードプレスを選ぶ?
WordPress.orgであれば、自前サーバーでの管理になるので
自由度が高いためプラグインを使って解決できるのだけれども
WordPress.comは有料プランでないとプラグインを使えず、月々3000円ほどのビジネスプランに登録必要があるの。
.
EC2使えるのであればWordPress.orgに移行して自分で運用すれば?
って感じなんですが
don.suwa3.meの運用ですら保守にあっぷあっぷしているので
もう少し慣れてからかなあってかんじです。
具体的には、セキュリティの設定面やアプデに追従できるのかが不安なので
そのあたり慣れたらぜひやりたいです🙋♀️
.
vimに慣れたいので、カンペ貼ったよ。
©️はコマンドモードのcです。
便利なショートカット覚えたらどんどん追記したい。
朝から親戚のおうちへ出向き
少しだけ外に出てゆっくりする時間があったので
一緒にPRONTOへ行って軽く飲みながら
1時間ほどかけて最近は何をしているのかの発表をしました。
相手もIT系の方だったけれども
ふむふむってかんじで
最後は書店に寄ってwordpressの本を探したよ。
.
wordpressのバージョン5.0以上を探していて
4.0のものが結構あった。
そしてサーバー構築からやりたかったのだけれども
サーバー構築よりもHTMLなどのコーディングについて書かれているものがおおく
AWSではなくロリポップなどのレンタルサーバー利用の本しかなかったの。
.
AWSの書籍コーナーを少し見てみたけれども
先月Web上で公開されているAWSのwordpress公式チュートリアルを見ていて
誤植やログの表記違いで躓いたので
書籍で公式チュートリアル以上のものあるのだろうかとおもい
とりあえず、わたしは何も買わず出てきました。
また引き続き探していこう。
ちらし寿司食べたの、おいしかったあ。
AWSにおけるwordpressのチュートリアル読んでいるけれども
ステップ2で
Linux 仮想マシンの起動のステップ 2 d.~2 f. とステップ 3 を参照
って書いてあるの
おそらく参照するのはステップ 3 d.〜3 f.とステップ4のことだし
(そもそも仮想マシン起動のステップ2にfは存在しない)
その上wordpressチュートリアルのステップ3
システムlogにおいて
ssh設定再度試して探してもユーザーpassでてこないの
RDSでデータベースの設定を先にしておかないとダメなんか?
DBの設定について何も言及ないけれども実は必要なのか?
どちらにせよチュートリアルううううてかんじです。
.
謎は深まるけれども、いったんWeb上にwordpressたてられたので
ひとまず部屋のすみに置いておいて
本来の目的を見失いそうになってしまう。
wordpressはAWSに慣れるための練習で
目的はMisskeyの構築です。
.
今日の隙間時間はMisskeyのレシピづくりをすることに決定しました。
.
MastodonをAWSとDocker利用でたてるレシピと
MisskeyのReadMeを横に並べてみて
どこがどこの代替なのか
Mastodonとの違いは何なのかをきちんと整理したいとおもいます。
ふわっとだけど書いてみたの。
答え合わせがこわいけど楽しみだにゃ( •ω•ฅ)
Dockerわからんちなので後乗せクジラするかもしれない。
.
そしていつのまにかKnzkLiveの配信権限が付与されていた。
やったねえ
作業キャスもできちゃう。
8割うまくいかないひとなので
舌打ちしかしなさそう。
ツイキャスよりも気軽に配信できて
勝手に延長されていくの良さげ。
週末にでもKnzkLive試してみたいなあ。
にゃにゃーん!
AWSのマーケットプレイスから
WordPressのWebページ立ち上げできたよ。
庭に遊具を置けた気分。
チュートリアルの参考画像が英語で
色々とすっ飛ばしたけれども
あとから
「これ足りてなくね?」
って修正してなんとか形になりました。
.
ドットインストールでWebページの生成方法は
なんとなく見ていたので
それがパッケージになっているものなんだなあ
って把握した。
.
ログインしたいんだけど
ログインpassの取得方法
チュートリアルには
「システムlogに載っています」
ってあって、丁寧に参考画像まで付いているのに
実際にシステムlog開いてみたけれどもログインpassわからないんだなあ。
sshのhost keyが載っているの。
おそらくsshの設定すっ飛ばしている。
復習兼ねてチュートリアルを最初からやります😢
英語わからん😢
.
gitについても動画でふむふむした。
gitとGitHubの関係を
メールとGmailの関係です
って説明していて
なるほどとおもった。
gitの使い方をさらっと学んだけれども
GitHubって便利機能なんだなあとおもいました。