EvernoteからUpNoteに乗り換える

かれこれ13年ほど使っていたEvernoteですが、使える端末数に制限ができたり、アプリが微妙に使いづらくなったりと、だんだん不便になっていきました。

最近はブラウザ版がよく動かなくなって、数日ごとにキャッシュクリアする必要があったり。そもそもブラウザ版重いし。

かと言ってアプリ版のために有料プランに切り替えようにも、年額9300円に値上げしたのでとてもじゃないけど払えない…

数日前にはEvernote社がアメリカの従業員ほぼ解雇したというニュースもあって不穏だしね。

乗り換え先検討

そんな訳で他のアプリに移行することにしました。実は移行自体数年前から考えてはいたんだけどね。

OneNote、Notion、Google Keepなど、色々アプリを試したもののしっくり来なかったので、だらだらとEvernote使い続けてました。

少し前に新海誠監督がEvernoteからUpNoteに乗り換えたというつぶやきをしていたので、俺も試してみることにしました。

UpNote使用感

見た目はEvernoteそっくりだね。操作感もだいたい同じ。

無料版だとインポートが使えないけど、コピペするとデザイン込みで貼り付けられる。

Evernoteに無くてずっと欲しかった機能である「目次」がありました。長いノートは目次がないと不便で困ってたんだよね。素晴らしい。

端末制限もなくてPC、Android、iPadなどでアプリが使える。

ブラウザのアドオンである「UpNote Web Clipper」はURLしか貼り付けられない? 使い方よくわからず。まあページをコピペできるからいいか。

そんな感じで、しばらく試して問題ないと判断し、課金しました。買い切り4000円のところ、セールで3400円です。ただ過去の記事を見ると2800円で売ってたっぽい? 別にいいけど…

課金したのでEvernoteにあるノートを全部インポート。ノートは約4500件ありますが、そのうち4100件はTwitterのつぶやきログですw

これにて乗り換え完了です。

まとめ

Evernoteライクな操作感だし、問題なくインポートできたし、スムーズに移行できました。

買い切りで購入したし、長く付き合っていくつもりです。

ラチェット&クランク パラレル・トラブル クリア(ネタバレ)

ラチェット&クランク パラレル・トラブルクリアしました。クリア時間は14時間です。

PS Plusゲームカタログにてプレイしたものです。

シリーズ15作目らしい。そんなに出てるのか。2本しかクリアしてない…

システム

さすがPS5専用ゲーム、グラフィック綺麗です。アクションが途切れることなく一瞬でシーンが入れ替わるのも素晴らしい。

広いフィールドをホバーブーツで疾走できるのが爽快。探索が捗るし戦闘でも大活躍だった。

難易度ノーマルでプレイしたらそこそこ敵が強く、何度かやられては再挑戦したりと丁度いいバランスでした。しかしいつも弾丸不足に悩まされてたな…

クランクが次元の修復をするパズルは結構悩んだ。組み合わせたくさんあるし。

グリッチがコンピュータウィルスを駆除するところも方向感覚わからなくなって迷ったり、敵の物量に押しつぶされたりしたな。

修理屋フィクサーが修理できないから壊してやるーって襲ってきたところ、ジェットコースターみたいで楽しかった。

その後ちゃんと修理してくれたし。

次元移動を利用して破壊された惑星と破壊前の惑星を行ったり来たりで進めていくのも良かった。

ストーリー

ラチェットの種族であるロンバックス族を探すため、クランクは次元移動できる道具ディメンジョネイターを修理しました。ということはこの次元には同じ種族いないのか…

しかしドクター・ネファリウスにディメンジョネイターを奪われてしまう。ドクターは自分が優位な次元を探しに行き、自分が皇帝になっている次元を見つける。それで皇帝に成り代わって偉そうにしてたけど、皇帝本人が帰ってきたらすっかり下僕扱いでちょっと哀れ。

次元移動に巻き込まれたクランクは、別次元でレジスタンスのリーダーにしてロンバックスのリベットと出会う。ラチェットの異次元同位体みたいな感じか。

ラチェットもその後キットと出会いラチェット&キット、リベット&クランクのペアで、また壊れたディメンジョネイターを修理するため冒険していきます。

別次元の支配が完了した皇帝は直ったディメンジョネイターを奪い、ラチェットの次元も支配しようとやって来る。対抗するため敵だった連中とも協力して戦うの熱いよね。

キットは元々敵方の大型ロボットで、かつてリベットを攻撃し片腕を奪っていた。その事実に気づいたのと気の弱さから最終決戦に行くの拒んだけど、案の定いいところで助けに来たw

皇帝が巨大パワースーツで襲いかかるも、ラチェット&クランクによって倒される。さらに生身の皇帝もリベット&キットに倒された。次元の狭間に引き込まれそうになった皇帝をドクターが下剋上で蹴り落とし、ドクターも直後パワースーツの下敷きになり自滅してメデタシメデタシです。

スタッフロールの紙芝居眺めてたけど、結局ラチェットはロンバックスを探す旅に出なかったね。まあリベットと会えたからいいのか。

まとめ

操作が軽快だしそこそこの難易度だし楽しかったです。ただ短かったので、あと2つ3つ惑星があっても良かったかも。

アサシンクリード シンジケート クリア(ネタバレ)

アサシンクリード シンジケートクリアしました。クリア時間は32時間です。

PSストアにてPS4版を63%offで買ったものの、積んでる間にEpic Gamesストアにて無料配布されました…

前作ユニティをクリアしたのが4年前。だいぶ間が空いちゃいました。

システム

Epic版は日本語が入ってません。配布当時、バイナリをいじれば字幕だけ日本語になるって記事をいくつか見かけました。しかし実はEpic版をUPlayからインストールし起動すると字幕も音声も日本語になるんだよね。ちょっとした裏技w

今作は暗殺や捕縛、警護など様々な任務をこなし勢力を広げていきます。しかしさすがに何十回もやると飽きてきた(汗) ロンドン広いわ。一応全地域解放したけどね。

ロープランチャーで移動がしやすくなった。ちまちま登れそうな所探す必要ないし一気に登れるしね。あと遠い所に行く場合はその辺走ってる馬車を奪うという方法がw 自由度高くてよろしい。

馬車に乗ると味方も一緒の馬車に乗ったり、乗り切れないと別の馬車に乗って着いて来るので感心した。

ただ馬車で逃げる人を追いかけるのは苦手だった。遥か遠くに行かれてやり直しになったり、体当たりしすぎて相手を殺してしまったり。面倒。

恒例のバグは宙に浮いてる敵がいたり、馬車にぶつかった物や人がメチャクチャ吹っ飛んだり、馬車に乗るの失敗した敵が空に向けて銃を撃ち続けたり、まあ笑える程度のもののみでした。

ストーリー

19世紀。産業革命期のロンドンは政治経済、ギャングまでテンプル騎士団に支配されていました。そこにアサシン教団の双子、エヴィー・フライジェイコブ・フライがやってきます。

しかしエヴィー・フライってエビフライかよw 芸人か漫画家みたいな名前しやがってw

ともかく姉エヴィーはエデンの布の調査。弟ジェイコブはギャング団ルークスを結成して、テンプル騎士団側のギャング団ブライターズから街を解放していきます。

最初のギャングを倒したら列車がもらえて、しかもそれを隠れ家とするのは面白いね。

未制圧の地域も関係なく走り回ってて笑える。ファストパスのないリアルな世界ならたどり着けないだろうな。

エデンの布の情報を求めてケンウェイ邸へ。ここの元主エドワード・ケンウェイはアサクリ4の主人公だね。4は海賊家業楽しかったな。エドワードは4終了後テンプル騎士団に暗殺され、息子のヘイザムはテンプル騎士団へ。そしてアサクリ3に続くという…

この時代ならではの有名人たちも出てきます。電話機を発明したグラハム・ベルは新武装を作ってくれます。進化論のダーウィンは薬物汚染からロンドンを守るよう依頼してきます。近代看護教育の母ナイチンゲールには味方を救ってもらいました。

ロンドン塔では管理長官を救出して一緒に戦ったり。スコットランドヤードから敵を拉致したり。ブライターズのボス・マクスウェル・ロスが寝返ったので一緒に行動するも意見の相違で決別、最後は舞台で炎に巻かれながら死んだり。色々ありました。

首相夫人のメアリー・アンナ・ディズレーリが印象に残ってます。首相ともども暗殺から救出した後、なぜか下町に行きたがるので護衛として案内。浮世離れした雰囲気だけどゴロツキを改心させたり。女っ気のないジェイコブにとってのヒロインだね。まあおばあちゃんだし旦那いるけどw

ジェイコブがテンプル騎士団の幹部たちを何も考えず暗殺するので、ロンドンの経済がガタガタになってしまう。エヴィーが尻拭いして何とかなったけど、お硬い姉とテキトーな弟で仲違いしてしまう。

仲違いしたままラストステージ・バッキンガム宮殿へ。ここではエデンの布がある保管庫への地図入手とラスボスのクロフォード・スターリック暗殺を行います。

うっかりスターリックに見つかってしまい、なぜか一緒にダンス。

スターリックの私兵を全滅させると奴はバッキンガム宮殿地下にある保管庫へ逃走。追いかけるもスターリックはエデンの布を身にまとい無敵になっていた。それでも姉弟で交互に戦い、ヘンリー・グリーンも手伝い何とか倒せました。ついでに仲直りしたw

ロンドンをテンプル騎士団から救った功により、フライ姉弟とヘンリーの3人はヴィクトリア女王からガーター勲章を授与されました。

しかし、ヘンリー言うほど活躍したかな? なんかエヴィーとイチャイチャしてたのしか覚えてない(汗)

現代編ではこのメモリーを元に保管庫へ行くも、テンプル騎士団からエデンの布を奪うことができませんでした、という展開。なんだかな…

テンプル騎士団はクローン技術で神を作ろうとしていて、そのためにエデンの布を欲していたらしい。しかしそれは自身を顕現させるため第一文明人ジュノーが唆していたのでした。

第一次世界大戦

2時間ほどでクリア。ジェイコブの孫リディア・フライが主人公で、ウィンストン・チャーチルから依頼を受け、タワーブリッジ周辺にいるテンプル騎士団の密偵を倒すストーリーです。

高射砲をバンバン撃って戦闘機倒すのが楽しかったです。

まとめ

ロープランチャーなどでアクションは楽しくなったけど似た展開が多くてちょっと飽きたのと、ストーリーは無いような物だったのであんまり盛り上がらなかったです。

そのうちヴィクトリア女王からの依頼もこなそうかな。

ライザのアトリエ クリア(ネタバレ)

ライザのアトリエ ~常闇の女王と秘密の隠れ家~クリアしました。クリア時間は37時間です。

Steamのセールにて50%offで購入したものです。

夏からTVアニメやるのでその前にクリアしとこうかと、ネルケとルルア飛ばしてのプレイです。そのため本作がアトリエシリーズ10本目のプレイとなりました。

システム

グラフィック綺麗になってます。ただ、キャラの顔はお面に見えるなあ…

戦闘は3人しか戦わなくなり、アクションポイント(AP)とコアチャージ(CC)がパーティ共通のため、全然アイテムもスキルも使えず何だこりゃって感じだったけど、そのうち慣れた。リアルタイムタクティクスバトルも良い。

フィールド上で敵を殴るとAPがもらえ、タクティクスレベル上げられて2回攻撃できるようになるので、とにかく殴るのが大事だったね。ボスには出来ないけど。

最初掲示板からしかファストトラベルできず、地名だけで移動なので不便だなあと思ってたけど、途中からマップでどこからでも出来るようになった。最初からマップでいいだろうに…

クエストは村を歩き回って困ってる人の話を聞いたりアイテム渡したら完了というもの。報酬しょぼいし、クエストの数自体少ないし、正直いまいち…

調合も新しくなったね。数珠繫ぎになってる所に素材を入れていくと決まった効果が発現する。そして一度完成した物もアイテムリビルドでさらに素材追加できるので、レベルやジェムが許す限り強化できる。これは良い。

レシピ発想を繰り返して次々と新しい物を作るという仕組みがよくわかってなかったので、終盤くらいまでほぼ初期装備で進めてたよ(汗) その後3時間くらいかけて色々作りまくった。ただ強化しすぎてラスボス初見で倒しちゃったけどw

全体的に、慣れてしまえばあんまり難しくなかったな。

ストーリー

とある島に住む普通の農家の娘ライザ。気弱な男二人引き連れて家の手伝いもせずバカやってます。ガキ大将だね。

島にやってきた商人の娘クラウディア、商人の護衛兼遺跡調査で来たアンペルリラ。この3人と出会うことにより物語が始まります。

ライザはアンペルから錬金術を学び村の役に立ちつつあるのに、魚が漁れなくなった錬金術とよそ者のせいだ、竜が現れたよそ者のせいだと、村人たちは隙あらば叩いてくるクズばっか。ボオスは会うたび嫌味を言ってきたりタオを虐めたりするし、レントは父親から虐待受けてるし、なんでこんな胸糞な世界なんだ。

ともかく、かつてこの地域にはクリント王国という国があって、錬金術が盛んだった。でも異界から来たフィルフサによって滅ぼされています。

古城に現れた竜はライザ達が討伐。実は竜はフィルフサが来たので自動で召喚されたんだとか。クリント王国脅威のメカニズム。そんなん倒して良かったのかよと心配になったけど、異界の門を閉めればフィルフサ来れなくなるので大丈夫らしい。

ライザ達の活躍に焦るボオスは手下と共に冒険を強行するけど、うっかり異界の門を見つけ入ってしまう。やるじゃんw

異界はクリント王国によって資源や水を奪われた挙げ句、フィルフサによって滅ぼされていた。ボオスと合流し、一緒にいたキロに話を聞いて、異界から水を奪った古式秘具がボオスの家にあり、それで水長者としてボオスの家が偉そうにしていたことが判明するw

ボオスはライザ達と和解し、異界に水を戻すことに。そのためには古式秘具以外で水を調達する必要がある。実はライザ達の住む島がクリント王国の遺産だと判明、真水を生成する機能付きだとわかる。壊れてるけど。

ついでに自分たちがクリント王国民の子孫だと判明。ババーン! 衝撃の事実! みたいになってたけど、遺跡に囲まれて住んでるんだから普通に子孫の可能性高いとわかりそうなものだけどな…

ちなみにボオスと対立してたのは、子供の頃ライザ達3人組が溺れた際、ボオスは大人を呼びに行ったんだけど、それがボオスは助けず逃げた、と思われてたからでした。行き違いがあったとはいえ、やっぱライザ達が悪いんじゃん。

フィルフサが攻めてきそうになったのでその女王を倒すことにする。これがタイトルにある常闇の女王なんだけど、デカいカマキリだね。人型に変身したのはビビったけど、初見で倒せちゃったよ。

人格は無いし、特にバックボーンがあった訳でもなく、ただの虫で拍子抜けでした。なんで王国はこんなのに滅ぼされたの?

「なんてことない日常」のために、この偉業はみんなに内緒。盛り上がらないね。

その後ライザがエネルギー源を調合し、タオが人工島を稼働させて真水を生成できるようになり、不要になった古式秘具を壊して異界に水を復活させてメデタシメデタシ。

…と思ったら、クラウディアは行商に戻り、アンペルとリラも別の遺跡調査へ。レントは力試しの冒険に行き、タオはボオスと一緒に王都の学校へ。

ということでライザ以外全員いなくなってしまう。いつものアトリエと逆パターンだ。

ぼっちになったライザ。まあ続編で再会するんだろうけど。

まとめ

システムは複雑だけど慣れれば楽しかったです。ストーリーは正直いまいちだったね。しかもサブイベントほとんど無かったのでキャラの掘り下げが足りないし。

アトリエシリーズで一番売れたみたいだけど何でだろうね。まじで太もも?w

Ghostwire:Tokyoクリア(ネタバレ)

Ghostwire:Tokyoクリアしました。クリア時間は26時間です。

PS Plusゲームカタログにてプレイしたものです。今月大型アップデートが来たので。

システム

グラフィックが綺麗。しかも馴染みある渋谷の風景を高画質オープンワールドで歩けるのは素晴らしいね。

レイトレーシングで光の反射も美しい。

今渋谷勤務なので「あーこの辺いつも通る道だー」なんて思いながらプレイしてました。

駅前は数年前の渋谷って感じでかなり忠実に作られています。少し離れると全然違う風景になっちゃうけどね。

俺が行く店や会社は離れてるので残念ながら存在してなかった。

神社たくさん。鳥居を浄化すれば霧が晴れて行ける場所が増える仕組みなので、色んな規模の神社があって良い。ビルの屋上とか確かにあるよなーって感じ。

戦闘はエーテルショット連打するだけのシンプルなやつです。風をバンバン撃って、強いのが来たら火か矢を撃つ感じ。気が向いたらお札使ってみたり。

敵は口裂髪姫が厄介だったな。大型アップデートで追加されたらしい地面を泳ぐ黒土女や、赤くてクルクル回ってる血套法師なども倒すの大変だった。

しかしお菓子(体力回復)をボリボリ食べながらの戦闘ってなんか笑える。

形代に魂を入れて、公衆電話の魂転送装置で渋谷の外に送れば人として復活できるという謎システム。クリア時点で解放した魂は24万人中8万人弱でした。果てしない…

服だけ残ってるので、復活した人たちは裸なのかなあw

人は全くいないけど、妖怪や犬猫があちこちにいる。

猫又は商売してるし、犬はドッグフードあげると喜んでくれる。猫は意外とクールな感じ。みんな可愛いね。

探索は楽しいけど、建物に登るために見回ったりするのでちょっと3D酔いした。

ストーリー

異変が起きたスクランブル交差点にて、バイクでこけて死にかけた暁人は、KKに憑依されて消失せずに済む。

首謀者の般若は渋谷じゅうの人間を魂だけにして、その魂を使い亡くなった妻をあの世から呼び戻そうと画策。それを阻止するお話です。もしかしたら俺も巻き込まれてたかもw

サイドミッションが凝ってるのがあって楽しい。

地下鉄に乗ったらきさらぎ駅に着いたり、呪われた石碑から過去の武家屋敷に行けたり。

まだクリアしてないサイドミッションもそのうちやろう。

般若を追いかける過程で各人の過去がわかってきます。

暁人は両親の死から目を背けてたり、部屋の窓勝手に閉めたせいで妹・麻里が火事から逃げ遅れて意識不明の入院になったことを悔やんだりしてた。

KKは元警官で、家族を顧みず仕事してたら家庭崩壊。その後ゴーストハンターとなり仲間たちと怪異絡みの事件を解決してた。

暁人とKKは最初仲悪かったけど、そのうち軽口叩き合う仲になっていくのいいよね。何かするたびにKKのツッコミ入るのが心地よい。好きな妖怪の話とかし出すしw

KKの仲間で、KKと同じく般若に殺された凛子は霊体のまま手助けしてくれます。仲が良かった絵梨佳(般若の娘)の足跡の調べてほしいと依頼。その最期を知ったら満足して成仏します。

般若は「肉体は飾り。魂だけあればいい」という考え。この世とあの世の境界がなくなれば死んだ妻に会えるし、生き死になんてどうでも良くなる。なので娘や元仲間のKKの体を部下として操ってたり鬼畜な感じ。

凛子の残してくれた霧を超えられるバイクに乗って東京タワーへ行き、そこからあの世へ。

あの世では般若が妻娘と魂で合体しようとしたけど、うまくいかずバケモノとなってしまう。それを暁人たちが倒してメデタシメデタシです。

KKは「妻子に一生懸命生きたと伝えて欲しい」と遺言を残して成仏。ツッコミが返ってこないのは寂しい…

暁人はこの後KKの家族を探しつつゴーストハンターやっていくのかな。少しは才能あるみたいだし。

まとめ

発売2ヶ月で半額セールになってたのでどうかなと思ってましたが、楽しかったです。

大型アップデート

新エリア・中学校のサイドミッション「恐るべき子ども」1時間半ほどでクリア。

案の定怖かった(汗) 人体模型が追いかけてくるし、花子さん見続けたら死ぬし、近づいても殺されるし… てゆうか1回目の花子さんデカいわ怪獣かよw

花子さんも実は苦しんでいて、祓うことで救われたというお話でした。

途中、KKが家族を遠方に行かせて自分だけ仲間と一緒に東京を守るため戦っていると打ち明ける。これが遺言にかかるのか。先にこっちプレイすれば良かったな。

サーバの初期設定する(Rocky Linux 9.1)

CentOSからRocky Linuxに乗り換えました。

さくらのVPSを使っているので、ところどころ www????.sakura.ne.jp として入力しています。

ユーザ作成

まずはrootのパスワードを変更します。

# passwd

作業用アカウントを作成します。

ユーザーhoge作成
# useradd hoge

hogeのパスワード設定
# passwd hoge

hogeをwheelグループに入れる
# usermod -G wheel hoge

作業用アカウント(wheelグループ)以外ではrootになれないように制限します。元から設定済みでしたが念のため。

# visudo

この行を有効化
%wheel ALL=(ALL) ALL

suできるユーザを指定。

# vi /etc/pam.d/su

この行を有効化
auth required pam_wheel.so use_uid

rootはパスワードでログインできないようにします。

# vi /etc/ssh/sshd_config

この行を有効化
PermitRootLogin prohibit-password

鍵なしログイン可にする(コメントアウトのままでOK?)
PasswordAuthentication yes

SSH再起動。

# systemctl restart sshd

Rocky LinuxでのSSHのアクセス制限はfirewalldでやる必要があります。未対応。

パッケージ管理

必要なリポジトリを追加します。

# dnf upgrade
# dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
# dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm

Remiを指定してインストールする場合には以下のように記述します。

# dnf --enablerepo=remi install (パッケージ名)

全部のアプリをアップデートする。

# dnf --enablerepo=remi update

ファイアウォール

さくらのVPSはコントロールパネルからポート制限できるので設定不要?

起動
# systemctl enable firewalld
# systemctl start firewalld

設定追加
# firewall-cmd --add-service=http --zone=public --permanent
# firewall-cmd --add-service=https --zone=public --permanent
# firewall-cmd --add-service=smtp --zone=public --permanent
# firewall-cmd --add-port=110/tcp --zone=public --permanent
# firewall-cmd --add-port=587/tcp --zone=public --permanent
# firewall-cmd --reload

現在の設定は以下で確認できます。

# firewall-cmd --list-all --zone=public

繋がらない時は一旦firewalld止めて試してみる。終わったらfirewalld起動。

PHP

PHP8.2とそれに関係するものをインストール。

# dnf module enable php:remi-8.2
# dnf install php-fpm php-mysqlnd php-pear php-mbstring php-pdo php-gd php-json ImageMagick ImageMagick-devel php-devel
# pecl install imagick

各種設定。

# vi /etc/php.ini

post_max_size = 128M
upload_max_filesize = 128M
date.timezone = "Asia/Tokyo"
display_errors = On
error_reporting = E_ALL & ~E_NOTICE
extension = imagick.so

起動。

# chown nginx /var/log/php-fpm/
# systemctl start php-fpm
# systemctl enable php-fpm

Composerインストール

# curl -sS https://getcomposer.org/installer | php
# sudo mv composer.phar /usr/local/bin/composer

webサーバ

Apacheからnginxに変えました。

# dnf install nginx

ログの保持期間変更

# sudo vi /etc/logrotate.d/nginx

rotate 10 を 30とかに増やす

起動

# systemctl start nginx
# systemctl enable nginx

PHP-FPMの権限をapacheからnginxに変更

# vi /etc/php-fpm.d/www.conf

user = nginx
group = nginx
# systemctl restart php-fpm

ドメインごとに管理するユーザを分けます。普通にユーザを作成すると自分のホームディレクトリより上の階層に行けてしまうので、chrootを使って行けないようにします。

グループ作成。

# groupadd sftpgroup

グループに所属するユーザにchrootを適用します。

# vi /etc/ssh/sshd_config

サブシステム変更
#Subsystem sftp /usr/libexec/openssh/sftp-server
Subsystem sftp internal-sftp -u 0022

グループと行ける範囲を末尾に追加
Match group sftpgroup
ChrootDirectory ~
ForceCommand internal-sftp -u 0022

sshdを再起動します。設定間違うとサーバにアクセスできなくなるので、念の為ターミナルをもう1つ開いておいたり。

# systemctl restart sshd

あとはユーザを作成していけば /home/hoge/ がsshのルートディレクトリになります。

ユーザ作成
# useradd -g sftpgroup hoge
# passwd hoge

ホームディレクトリの所有者をrootにする
# chown root:root /home/hoge
# chmod 755 /home/hoge

ディレクトリ作成とパーミッション変更
# mkdir /home/hoge/public_html
# chmod 777 /home/hoge/public_html

バーチャルホスト

ドメインごとにconfファイルを作成します。以下はhoge.com用です。

# vi /etc/nginx/conf.d/hoge.com.conf

server {
listen 80;
server_name hoge.com;
root /home/hoge/public_html;
index index.php index.html index.htm;

access_log /var/log/nginx/hoge.com.access.log;
error_log /var/log/nginx/hoge.com.error.log;

client_max_body_size 128M;

# BASIC認証(必要なら)
auth_basic "Restricted area";
auth_basic_user_file /etc/nginx/.htpasswd;

# WordPress用
location ~ /.well-known {
auth_basic off;
allow all;
}
location / {
try_files $uri $uri/ /index.php?$args;
}

location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}

公開前にサイトを確認できるようにします。こんなURLで見れるようになります。
http://www????.sakura.ne.jp/hoge/

# vi /etc/nginx/conf.d/default.conf

server {
listen 80;
server_name www????.sakura.ne.jp;
root /var/www/html;
index index.php index.html index.htm;

access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;

client_max_body_size 128M;

# BASIC認証(必要なら)
auth_basic "Restricted area";
auth_basic_user_file /etc/nginx/.htpasswd;

# WordPress用
location ~ /.well-known {
auth_basic off;
allow all;
}
location / {
try_files $uri $uri/ /index.php?$args;
}

# サブディレクトリで閲覧
location /hoge {
alias /home/hoge/public_html;
index index.php index.html index.htm;
location ~ \.php$ {
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $request_filename;
include fastcgi_params;
}
# WordPress用
try_files $uri $uri/ /index.php?$args;
}
}

再起動

# systemctl restart nginx

WordPress

公式サイトからダウンロードしたzipを解凍してアップロードし設定を記述。

# cp wp-config-sample.php wp-config.php
# vi wp-config.php
データベース情報
define( 'DB_NAME', 'database_name_here' );
define( 'DB_USER', 'username_here' );
define( 'DB_PASSWORD', 'password_here' );

ファイル内に書かれたurlで秘密鍵を生成して設定
define( 'AUTH_KEY', 'put your unique phrase here' );
define( 'SECURE_AUTH_KEY', 'put your unique phrase here' );
define( 'LOGGED_IN_KEY', 'put your unique phrase here' );
define( 'NONCE_KEY', 'put your unique phrase here' );
define( 'AUTH_SALT', 'put your unique phrase here' );
define( 'SECURE_AUTH_SALT', 'put your unique phrase here' );
define( 'LOGGED_IN_SALT', 'put your unique phrase here' );
define( 'NONCE_SALT', 'put your unique phrase here' );

SSH接続するためSSH SFTP Updater Supportプラグインをダウンロード、解凍してから以下にアップロード。

/wp-content/plugins

設定ファイルに追記。

# vi wp-config.php

define('FS_METHOD', 'ssh2');

所有者の変更。WordPressのあるディレクトリで実行。

# chown -R nginx:sftpgroup ./

うまく行かない場合は開き直ってパーミッション変更。危険なので後で戻す。

# find ./ -type d -exec chmod 775 {} +
# find ./ -type f -exec chmod 664 {} +

おまけ:urlを変更する場合はMySQLで以下実行。

UPDATE wp_options SET option_value='http://hoge.com' WHERE option_name IN ('home','siteurl');

SSL

OpenSSLは既に入っているので、mod_sslをインストールします。

# dnf --enablerepo=remi install mod_ssl

証明書は無料のLet’s Encryptを使います。

インストール
# dnf install certbot

ドメイン追加
# certbot certonly --webroot -w /home/hoge/public_html -d hoge.com
メールアドレス入力
規約に同意:y
メールでお知らせ:n

バッチで証明書を自動更新します。

# crontab -e

PATH=/sbin:/bin:/usr/sbin:/usr/bin
0 4 1,15 * * certbot renew && systemctl restart nginx

もしくは

PATH=/sbin:/bin:/usr/sbin:/usr/bin
0 4 1,15 * * certbot renew && systemctl restart nginx && postmap -F /etc/postfix/tls_server_sni_maps && systemctl reload postfix dovecot

SSLサーバの設定はドメインの設定ファイルに追加します。

# vi /etc/httpd/conf.d/hoge.conf

server {
listen 443 ssl;
server_name hoge.com;
root /home/hoge/public_html;
index index.php index.html index.htm;

access_log /var/log/nginx/hoge.com.access.log;
error_log /var/log/nginx/hoge.com.error.log;

client_max_body_size 128M;

# BASIC認証(必要なら)
auth_basic "Restricted area";
auth_basic_user_file /etc/nginx/.htpasswd;

# WordPress用
location ~ /.well-known {
auth_basic off;
allow all;
}
location / {
try_files $uri $uri/ /index.php?$args;
}

location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

ssl_certificate /etc/letsencrypt/live/hoge.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/hoge.com/privkey.pem;
}

ちなみにlisten 80の方に以下のreturn行を入れるとhttpsにリダイレクトする
server {
listen 80;
server_name hoge.com;
return 301 https://$host$request_uri;
}

設定できたら再起動。

# systemctl restart nginx

MySQL

# dnf install mysql mysql-server

起動

# systemctl enable mysqld
# systemctl start mysqld

初期設定

# mysql_secure_installation
出てくる質問は以下の通り(英語)。
・VALIDATE PASSWORD利用:y
・パスワード検証ポリシー:0
・rootのパスワード:
・rootのパスワード確認用:
・いいですか?:y
・匿名ユーザの削除:y
・リモートからrootユーザ接続禁止:y
・テスト用データベースの削除:y
・変更を有効にする:y

デフォルト文字コードはutf8mb4だったので、そのままにしておきます。

終わったら再起動。

# systemctl restart mysqld

パスワードの制限をゆるくする。

# mysql -uroot -p

mysql> SET GLOBAL validate_password.policy=LOW;
mysql> set global validate_password.length=8;

データベースhogeとそのDBに紐づいたユーザhogeを作成します。

mysql> CREATE DATABASE `hoge`;
mysql> CREATE USER `hoge`@`localhost` IDENTIFIED BY 'パスワード';
mysql> GRANT ALL PRIVILEGES ON `hoge`.* TO `hoge`@`localhost`;
mysql> FLUSH PRIVILEGES;

phpMyAdmin

せっかくなのでMySQLの管理ページを入れる。

# dnf install --enablerepo=remi phpmyadmin

こんなURLで見れるようになります。
http://www????.sakura.ne.jp/phpMyAdmin/

# vi /etc/nginx/conf.d/default.conf
server {}の中に以下を追加

location /phpMyAdmin {
root /usr/share;
index index.php;

# BASIC認証(必要なら)
auth_basic "Restricted area";
auth_basic_user_file /etc/nginx/.htpasswd;

location ~ \.php$ {
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
include fastcgi_params;
}
}

あとはnginx再起動。

メールサーバ(送信)

Postfixの設定。

# dnf install postfix cyrus-sasl cyrus-sasl-md5 cyrus-sasl-plain

# vi /etc/postfix/main.cf
以下のように修正
myhostname = www????.sakura.ne.jp
mydomain = www????.sakura.ne.jp
myorigin = $mydomain
inet_interfaces = all
#inet_interfaces = localhost
inet_protocols = ipv4
home_mailbox = Maildir/
smtpd_banner = $myhostname ESMTP unknown

以下を追加(スパム対策)
disable_vrfy_command = yes
smtpd_helo_required = yes
anvil_rate_time_unit=60s
smtpd_client_message_rate_limit=200
smtpd_soft_error_limit = 5
smtpd_hard_error_limit = 8
smtpd_error_sleep_time = 70
smtpd_delay_reject = yes

以下を追加(スパムをメールアドレス単位で拒否する場合。reject_senderに記述。正規表現を使う場合はhashをregexpにする)
smtpd_sender_restrictions = reject_unknown_sender_domain,reject_non_fqdn_sender hash:/etc/postfix/reject_sender

以下を追加(バーチャルドメイン用)
virtual_alias_maps = hash:/etc/postfix/virtual

以下を追加(SMTP-Auth用)
smtpd_sasl_auth_enable = yes
smtpd_sasl_type = cyrus
smtpd_sasl_path = smtpd
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination
smtpd_relay_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination

以下を追加(メールへの添付可能サイズを無制限にする)
message_size_limit = 0
mailbox_size_limit = 0

以下を追加(SSL化する場合)
tls_server_sni_maps=hash:/etc/postfix/tls_server_sni_maps
smtp_tls_security_level = may

スパムを登録して反映。ドメインかメールアドレスで指定できる。

# vi /etc/postfix/reject_sender

example.com REJECT
spam@example.com REJECT

正規表現(regexp)の場合は以下のようになる。

/@example\.com$/ REJECT
/spam@example\.com$/ REJECT
/.*@example\.com$/ REJECT
# postmap /etc/postfix/reject_sender

メール送信時にサブミッションポート(587)を使用します。

# vi /etc/postfix/master.cf

以下の行のコメントアウトを外す
submission inet n - n - - smtpd
-o smtpd_sasl_auth_enable=yes
-o smtpd_relay_restrictions=permit_sasl_authenticated,reject
-o milter_macro_daemon_name=ORIGINATING

SSL化する場合以下の行のコメントアウトも外す
-o smtpd_tls_security_level=may
smtps inet n - n - - smtpd
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_relay_restrictions=permit_sasl_authenticated,reject
-o milter_macro_daemon_name=ORIGINATING

SSL化する場合証明書を記述、再起動。

# vi /etc/postfix/tls_server_sni_maps

hoge.com /etc/letsencrypt/live/hoge.com/privkey.pem /etc/letsencrypt/live/hoge.com/fullchain.pem
# postmap -F /etc/postfix/tls_server_sni_maps
# systemctl restart postfix

起動。

# systemctl start postfix
# systemctl enable postfix

SMTP認証のためにSaslauthdを使用します。アプリと認証処理を分離してくれるものらしい。

# vi /etc/sysconfig/saslauthd

Linuxユーザのパスワード(/etc/shadow)を使う
MECH=shadow

起動します。

# systemctl enable saslauthd
# systemctl start saslauthd

メールサーバ(受信)

Dovecotの設定。

# dnf install dovecot

# vi /etc/dovecot/conf.d/10-mail.conf
以下の行のコメントアウトを外す
mail_location = maildir:~/Maildir
# vi /etc/dovecot/dovecot.conf
protocols = imap pop3 lmtp
listen = *
# vi /etc/dovecot/conf.d/10-auth.conf
パスワードを平文にする
disable_plaintext_auth = no
# vi /etc/dovecot/conf.d/10-ssl.conf
SSL有り無し両方対応
ssl = yes

SSL化する場合以下追加
local_name hoge.com {
ssl_cert = </etc/letsencrypt/live/hoge.com/fullchain.pem
ssl_key = </etc/letsencrypt/live/hoge.com/privkey.pem
}

Dovecotを起動します。

# systemctl enable dovecot
# systemctl start dovecot

useradd時にメールボックス用のディレクトリを自動で作成されるようにします。

# mkdir -p /etc/skel/Maildir/{new,cur,tmp}
# chmod -R 700 /etc/skel/Maildir/

こんな感じで作られる。

/home/hoge-info/Maildir/new/
/home/hoge-info/Maildir/cur/
/home/hoge-info/Maildir/tmp/

メールアドレス作成

メールアカウント用のユーザをシェルログイン不可で作成します。

# useradd -s /sbin/nologin hoge-info
# passwd hoge-info

メールアドレスとその振り分け処理を作成します。ドメインごとにanythingの行を入れないとメールが使用できません。

# vi /etc/postfix/virtual

hoge.com         anything
info@hoge.com hoge-info
web@hoge.com hoge-web

振り分けを反映させます。

# postmap /etc/postfix/virtual

まとめ

WordPressの設定は毎回忘れる…

星のカービィ スーパーデラックス クリア(ネタバレ)

星のカービィ スーパーデラックスクリアしました。クリア時間は5時間です。

Nintendo Switch Online 7日間無料チケット使ってプレイしたものです。

内容

オムニバス形式になっています。

●はるかぜとともに
1作目のリメイク。数日前にクリアしたばかりだw 10分くらいでサクッとクリア。ヘルパーが強力すぎる。

●白き翼ダイナブレイド
面クリア型で、作物を荒らすダイナブレイドを退治しに行くお話。実は子育てのためにやっていた。これも簡単にクリア。

●激突! グルメレース
全然追いつけねえ、と思ってたんだけど10回くらいプレイしたら何とか勝てた。ライン取りとかやり込みの余地が凄いありそう。

●洞窟大作戦
広いね。その割にマップがないので、どこに行けばいいのかわからずさまよった。お宝は1/3も集まらなかったよ。どうやって取りに行くんだ、ってのが幾つもあった。

●メタナイトの逆襲
飛行戦艦で攻めてきたメタナイト。敵の会話が流れてくるのが楽しい。カービィが的確に戦艦を攻めていてビビる。何も考えてなさそうなのに、そんなに有能だったのかw ダイナブレイドが助けに来るし、墜落する戦艦の中でメタナイトは一騎打ちを挑んでくるし、なかなか熱い展開。

●銀河にねがいを
月と太陽の喧嘩を止めるため、願いを叶える大彗星を探しに行きます。依頼主に願いを奪われちゃったけど、そいつ倒して解決。各惑星は多彩なステージ構成でボスや中ボスがあちこちにいる。なかなか難しかったです。終盤シューティングになるのはお約束w

●その他
幾つかあるミニゲームはちょっとだけプレイしました。目押しや早撃ちなので、まあ別にいいかな。

ちなみに全体のクリア率は80%でした。

まとめ

1本で複数のゲームが入ってるの良いね。子供の頃プレイしてたらずっとやり込んでただろうな。

最高傑作と呼ばれるだけあって楽しめました。

星のカービィ クリア(ネタバレ)

星のカービィクリアしました。クリア時間は1時間半です。

Nintendo Switch Online 7日間無料チケット使ってプレイしたものです。

カービィシリーズ1作目なので抑えておこうかと。ゲームボーイだ!

内容

デデデ大王がプププランドの食べ物と空飛ぶ秘宝きらきらぼしを奪ったので、カービィが倒しに行くというお話です。

操作が独特だね。ホバリングと吸い込むだけなんだけど、思ったように動けずミスしまくった。

ステージ4のBUBBLY CLOUDSが難しかった。道中やられる要素が多い上、ボスのクラッコの倒し方がわからず、このステージだけで30分以上はやってたよ。さすがにクラッコのパターンは学習して、ボスラッシュの時にはノーダメージで倒せるようになったけどねw

ラスボスのデデデ大王は攻撃パターン多いけどそんなに強くなかったので、サクッと倒してメデタシメデタシです。

まとめ

コピー能力のないシンプルなカービィでした。慣れれば確かに30分程度でクリアできそうだ。

1時間半ずっと携帯モードでプレイしたので腕が疲れたw

GetsuFumaDen: Undying Moonクリア(ネタバレ)

GetsuFumaDen: Undying Moonクリアしました。クリア時間は13時間です。

Steamのセールにて40%offで購入しました。

前作ファミコン版の月風魔伝クリア済みです。

システム

ローグヴァニアだというのはわかってたんだけど、1時間ほどウロウロしたり死んだりしたものの進め方がサッパリわからず、攻略サイトのお世話になりました。

死んだらリセットされるもの、されないものを理解して強化していき、何度も繰り返してプレイヤー自身が上達する必要がある。プレイは毎回最初からやり直し。これは大変だ。

最初は初っ端のボス龍骨鬼に何度もやられてしまうほど弱かったけど、そのうちノーダメージで倒せるように。以降のステージも敵のパターンを覚えて探索に専念できるまでになりました。上達してくると楽しいね。

無窮の雪原は風が吹いてて嫌い。雲霞の双峰はセミが苦手だったけど、慣れるとサクサク行けて良い。古宮都はマップが入り組んでて面倒だったけど、初見でクリアできた。

ちなみに武器は最初から最後まで鈍器を使ってました。力こそパワー。攻撃が当たるまで間があるけど、当たれば1~2撃で雑魚倒せるしね。

開放してない武器や鍛錬、秘伝が多い。何百回プレイすれば揃うのやら。

ストーリー

龍骨鬼が千年ぶりに復活。月氏一族の二十七代目当主・月風魔が倒しに行きます。しかし前作から千年経ってるのか…

途中で見つけた傀儡のくのいち月蓮華。二十一代目当主らしい。倒すと自キャラとして操作できるようになるけど、攻撃力弱いので使わなかった。

行方不明になっていた兄・月嵐童と再会。「またお前が初代様の剣に選ばれたのか」みたいなこと言ってたので、兄もループしてるのか。

そしてラスボス・天ツ外主。クトゥルフ的化け物って感じのキャラです。体力半分以下で回復薬もなく、多分負けるだろうなと思って挑んだらサクッと倒せたw

まとめ

最初訳わからなくてプレイ止めようかと思ったけど、だんだん面白さがわかってきて何とかクリアできました。

次は月蓮華で挑戦しようかな。

月蓮華クリア

一度クリアしたから楽勝だと思ったんだよね。実際月蓮華での1回目は一気に古宮都まで行けたのですぐ終わるハズだった。

しかし凡ミスでやられたり、変な敵配置でタコ殴りにあったり、ステージ1直後に月蓮華戦になってやられたりと、運やら実力やらでやられまくって結局クリアに9時間かかってしまった。

ようやく「黄泉回帰の札」が手に入ったのが最後の天ツ外主直前というね。なので使わなかったよ。

ともかく2人ともクリアしたので満足しました。

スーパーマリオ 3Dワールド + フューリーワールド クリア(ネタバレ)

スーパーマリオ 3Dワールド + フューリーワールドクリアしました。クリア時間は3Dワールドが11時間、フューリーワールドが5時間です。

ニンテンドーカタログチケットで交換したものです。

これの前作3Dランドをプレイしたの9年前か。時が経つのは早い…

前作はタヌキづくしだったけど、今作はネコだね。敵も味方もその辺の草もみんなネコ。

3Dワールド

クッパようせい姫たちを捕らえたので救出に行く話です。ようせい姫は透明な土管を作る配管工なのかなw

プレイヤーキャラ選べるけど、ほぼマリオでプレイしてました。しかしファイアピーチがポニテなのは良い判断だw

前作もそうだったけど奥行きが把握しずらくて難しい。まっすぐ走ってるはずがズレて落ちたり、変な所にジャンプしたり。そのせいで動く床の所とかやられまくった。

あとネコマリオじゃないと行けない場所が結構あるのに、なかなかスーパーベルが手に入らないのも大変だった。

多少不満はあるものの、ステージやアイテムが多彩で、この手のアクションゲームでは最高峰ですね。

最後まさかクッパもネコクッパになるとは。ネコクッパがダブルチェリーで分身してわらわらやって来たのはちょっと絶望しかけけたよ。POWで倒せちゃったけど。

フューリーワールド

クッパJr.からの依頼で、黒くて巨大になったクッパを救いに行く話です。

シリーズ初のオープンワールド。どこからでもフューリークッパが見えていて、たまに暴れ出すの怖い。

ネコシャイン集めるの楽しい。チップ集めたり、プレッシーに乗って制限時間内にクリアしたり、ボスっぽいのを倒したりと色んな方法で手に入る。マリオ64も同じようなシステムだったけど、あっちは難しくて断念したんだよな…

ネコシャインが一定数貯まるとマリオも巨大化。フューリークッパとの怪獣バトルです。面白い発想だ。

ネコマンマウンテンではやられまくったので、頂上に登れた時は爽快でした。しかし頂上に浮遊島がやってきてさらに上に乗れるとは。プレイして良かった。

何度もフューリークッパにダメージを与え、ギガベルでプレッシー共々巨大ネコ化し、ついにクッパを倒し元に戻せました。しかしスタッフロールにてフューリークッパになった原因がクッパJr.がイタズラでクッパを黒く塗ったせいだと判明。やってくれるw

まとめ

アクションゲームの傑作ですね。楽しかったです。特にフューリーワールド。

3Dワールドもフューリーワールドもアイテム半分しか集めてないし、さらに隠しワールドとかもあるみたいなので、そのうちプレイしよう。

あと過去作のサンシャインやギャラクシーもやってみようかな。