雑記」カテゴリーアーカイブ

VPSでCentOS7サーバを構築する まとめ編

なんとかまとめまでたどり着きました…。ということで、今回は大規模なリンクを張っておきましょう。

 

サーバー構築の手順まとめ

以下のような手順になります。なお、手順にあるリンク先のページでは設定に関するヒントがあります。

  1. VPSの契約(自宅サーバの場合はマシンセットアップ)
  2. rootログインを行い、yumで一度最新までアップデートを行う
  3. 通常のログインユーザを作成してsudoによるroot昇格を設定する
  4. (必要であれば)SELinuxを設定する
  5. SSHの設定を行い、外部からの侵入されないようにする
  6. 不必要なサービスを停止する
  7. ディスククォータを設定する
  8. 最新のパッケージを導入するために、現在入っている不必要なパッケージをすべて削除する
  9. 最新のパッケージを導入するためのリポジトリを設定する
  10. アンチウィルスを導入する
  11. httpd(Apache)の導入
  12. Let’s Encryptを使った常時SSL化対応処理
  13. php-fpmの導入
  14. MariaDBの導入
  15. nginxの導入
  16. vsftpdの導入
  17. postfix、dovecotの導入
  18. 各サービスの動作チェック

 

やっぱりそれなりの知識は必要ですね

特に設定でエラーを起こした場合、何が間違いかどうかを調べるにはプログラムを作っているときに何が間違えているかを確認するテクニックと同じような物が必要なのでは、と思っています。今回はターミナルからの設定で何回もエラーを起こしたのが、どうもキー操作ミスで設定ファイルの一番先頭に間違えたアルファベットが入ってそれを読み込もうとしてエラーを起こす、というパターンです。作業の慣れが消えてしまっているのがわかってちょっとショック。また、設定項目を自分で書いている場合で、項目名のスペルを誤って認識している場合がありました。Apacheの設定で「SetHandler」という項目が出てきたので、にたスペルの文字を見たときにそれだ、と思い込んでいると実は「SetHeader」だった、とか…。

 

経験がない人はVPSだけではなく一度自分のマシンでやってみるとよいかも

昔とは異なり、2万円以上するCPU(具体的にはCorei3以上)であったり、メーカー製でもそのレベルのCPUがあれば仮想マシンを使うための機能くらいはついていますし、仮想マシンを作るためのプログラムも無料で手に入る(VirtualBoxなど)ので、自分の手元でやってみてどうなるか?は実験した上でVPSを契約してみるのがよいと思います。プログラミングでもそうですが、設定の説明ページだけを見てそれをコピーしていても何も成長はしません。自分の環境に合うように設定してみたときに何が起こるのか、体験してみないとわからないことが多いからです。その点、仮想マシンであれば間違えたときにすべてを吹っ飛ばすことが簡単にできますので、怖がる必要はほとんどないと思いますよ。VPS以上になれば外部サーバを使った中でもできることが通常のレンタルサーバに比べて格段に増えますからね。面倒さも同じくらい増えますが。

 

プログラミング教育でこういうのはどうにかなるのかな…。

こういう「何が間違いかを考えるためにあれこれ考える」という能力は今の社会では必要ですので、その意味でもプログラミング教育の意義はあるのかもしれません。実際にやってみると人による差が大きすぎて大変ですが。そういう教材についてちょっと研究してみたりしたので、その感想も踏まえて別の機会にblogの記事にしたいと思います。

 

プログラムの音色サイトの全面更新をしました

大体の作業が終わったので全面更新を報告したいと思います。

 

今回の全面更新とは?

結局何をやったか?というと…

サーバのOSレベルから更新作業を行いました。

このサイトを作ったときにVPSを契約してから…という場所まで戻るのですが、そのときに設定したのは(多分blogの記事を戻ればあるはずですが)CentOS6系統。さすがに今となってはかなり古いOSであることに加えてWordPressで動かすにはかなりの問題点が生じていました。それが各種Webプログラムのメジャーバージョンが簡単に上げられないということ。おかげでPHPは5.4系統を未だに使う羽目になっていてWordPress側でいろいろな警告がでるわ、バックエンドで動いているApacheのバージョンも2.2系統でこちらもいろいろとゆがみが出ているわ…という状態に。

というわけで、この2年間放置していたこともあり、全面更新を行い各種設定をやり直そうということで作業を行いました。

 

ちなみに、このサーバ自体が別物になっている

さすがに各システムの設定をすべて一発で間違えずに行うことはほぼ不可能ですし、ましてやCentOS6からのOS更新をしているのにダウンタイムを一切なしで乗り切るのは不可能ですので、今回は別のサーバを契約してそちらで環境構築を初期段階から行い、ほぼすべての設定が完了して見られる状態になったことを確認した上でDNSを切り替えるという手法で更新しています。なので、その間記事の更新などは一切できないのが弱点ですが、外から見ている人にはダウンタイムなしでつながっているように見える、ということをやっています。

なお、WordPressについては単にデータコピー&データベースの移動だけで済ませていますのでその意味でも見た目は全く変わりません。記事を書いている当人にも見た目の差は一切ない状態になっています。どうせならテーマを最新の物に変えるなどやった方がよいのかもしれませんが。

 

以降の記事はしばらくサーバ構築日記に

しばらくその手のの作業をしていなかった関係で新しくなっている部分がわからなかったり、一部設定で苦労したりということもありますので、これくらいのサイトをVPSで作るならどれくらいかかるのか?ということも紹介しながらしばらく記事を書いてみたいと思います。なお、サーバーを構築するのにかかった時間は実作業時間ベースならだいたい1日ほど、作業開始からいろいろな休憩やらほかの仕事やらをやっていながらの時間でいうなら3日ほどです。これを仕事にするにはちょっと微妙なところですが、そのあたりは解説サイトがいっぱいありますので探してみるといいかも。特にVPS関連はサービスが大分絞られてきたみたいで、前のようにまとめサイトを作る気にならない位の数しかありませんでした…。

 

伊勢神宮を参拝してきた

新年早々プログラムネタでもなく数学ネタでもなく教育ネタでもないただ単なる雑記です。しかも写真などもほぼ撮影していないのでただ単に参拝するところの紹介にしかなっていない記事です。

 

いろいろな場所にお社があるので考える必要あり

順序については「外宮」→「内宮」「御正宮」→「別宮」が習わしとされているようですので、御正宮の参道の近くにある別宮→少し離れたところにある別宮を考えると…

  1. 豊受大神宮(外宮)御正宮
  2. 豊受大神宮別宮(多賀宮、土宮、風宮)
  3. 豊受大神宮別宮(月夜見宮)
  4. 皇大神宮(内宮)御正宮
  5. 皇大神宮別宮(荒祭宮、風日祈宮)
  6. 皇大神宮別宮(月読宮、月読荒御魂宮、伊佐奈岐宮、伊佐奈弥宮)
  7. 皇大神宮別宮(倭姫宮)
  8. 皇大神宮別宮(伊雑宮、瀧原宮、瀧原竝宮)

という順序になる「かな~」というところです。曖昧な書き方になっているのは別宮が離れたところにある場合どのように参拝すると良いかが難しくなるからです。車の駐車場が簡単に確保できる日時なら良いのですが、そうではない場合、駐車してから車を動かさずに移動する必要があるため、歩いてそれほど距離がない月夜見宮ならまだいざ知らず、皇大神宮別宮は参道の近くにない神社ならそれなりの距離(例えば5→6なら1kmくらい)を歩く、もしくはバス移動となるのでちょっと厳しいのが弱点かな、と思います。

 

正月の規制で駐車&途中の移動をどうするかを考えるのが難しいことに

まずは外宮と内宮の移動がやっかいなんですね。外宮の駐車場なんてまともにあいている訳ではないですし、内宮の駐車場もさすがに厳しいところでした。一応パーク&バスライドが別の場所に設定されているのでそちらに止めてバス移動でもいいというのが今回はありがたかったところ。ただ、そうするとこのルートの場合パーク&バスライドの場合は直通なので3→4はOKですが、5→6→7の移動が一番厳しいことになるところです。ちなみに私はちゃんと歩きました。足がちょっとやばかったですが…。一応路線バスもあるのでそちらを使うことも考えて良いですが、その場合10分間隔くらいが目安なのでバスに乗り遅れると歩いた方が早いという結論に至ることも今回確認しました。路線バスでは交通系ICカードが使えるのでSuikaやICOCAあたりを用意しておけば小銭の心配もなく楽ですね。

 

そのほかの神社も参拝するとさらに大変に

例えば猿田彦神社とかですか。内宮からすぐの距離にあるので内宮を参拝した後で行く、というのもありだと思いますし、その他近場では二見浦の二見興玉神社に参拝してから外宮へ、という順番など突き詰めていくとなかなか大変な参拝になるよな~と言うところでした。

もう一つ大変だったことがお賽銭をどうするか、という問題です。別宮以外の社でも、となるとかなりの数になるので用意しておかないと簡単にそこをついてしまいます。補充したくても御札等、お土産等は大抵が100円単位なので人によっては微妙に感じることもありますし、こういう年末年始では細かいお賽銭を手に入れるために自動販売機で…と考えるパターンも多いようで周りの自動販売機は10円が釣り銭切れを起こす事態となっていましたし。いろいろと用意しておきましょう。

皆さんも初詣はどうでしょうか?

 

2019年は…

なんとか2018年も終わりを告げて2019年に入りました・・・

2018年はプログラマとしては全く動けなかった

プログラマ系統以外の仕事が忙しかったので全く動けませんでした・・・。WindowModePatchへの改良とか新しいゲームシステムの開発の種を作るとかいろいろとやりたかったことはあったのですが、それをするだけの時間が与えられませんでした。WindowModePatchの改良を望んでいる人から掲示板等に希望を書き込んでいただいたりされたのに希望に添えなくてすみませんでした。

2019年はかなり違う年になりそう

といっても今年度末まではあまり動きを見せることはできなさそうなのが残念なところ。年度が切り替わる前後からいよいよ本格的にプログラム系統の作業に着手する予定です。仕事として受け取ることもできる環境を整える予定でもありますし、プログラム系統の仕事ができなかった期間についていろいろと考えさせられる出来事も多かったので記事にできる内容であればそちらも記事にしてこのblogを復活させていこうかな、とも思っています。それで生活できるのか?といわれると?どうなのでしょうかね…。

2019年もどうぞよろしくお願いします。

この1ヶ月で何個OSを入れたことやら…

ということで愚痴ではないですがメインマシンやらサーバ環境が変わったためにいろんな部分にOSを入れ直していたら…という現象です。特にWindowsでゲームを作っている場合だと引っかかってしまう場合もあるようで、気をつけましょう、というお話。

 

Win10×2、Win8.1×1、Linux(Fedora)×1、…

いろいろなマシンの入れ替えをした結果がこれです。ちなみに今書いているのは私が個人的にインストールを行ったもので、この期間中に別の場所でもOSが動かないやらでヘルプをやっていた関係もあってこれ以上にOSの入れ直しに近いことをやっています。必要な部分では仕方がないのかもしれませんがそれ以外の部分で考えるとなんとも運が悪い状態というべきなのでは…

 

結局この1ヶ月でHDDが(最低でも)2台壊れたことに

1台は前の記事にも書いたとおりサーバ機のHDDで、一応0埋めはできましたし、非常時に一時的な記憶装置として使えそうなので保存しておくとして。問題はなんともう1台壊れた、ということです。2つ目のところは不幸中の幸いにもRAIDで保護をかけている領域だったので一時的に縮退運転に切り替えてまあなんとかしました。なんか転送速度がおかしいなあ~と思ってSMARTを見てみると怪しげなREAD ERRORとWRITE ERRORが記録されていて…。びっくりもいいところ。早めに気がついてよかったです。なんか以前の記事でも書いたような気はしますが、RAID領域でエラーが起こった場合はちゃんとメールを飛ばすようにしておいた方がいいですね。特に今回の問題発覚は定期的に行っているRAIDのチェック作業で引っかかったものですし、メールを飛ばす仕掛け(+受け取る仕掛け)があればチェック後すぐにわかったはずですからね。

 

Win8.1+VisualStudio2015(以降)のランタイムインストールは要注意

というのがこの記事の本題。VisualStudio2015以降のランタイムではUCRT(ユニバーサルCRT)というものができたらしく、それが使われるようになったと。このあたりはこの頃プログラムをいじっていないのと開発環境を更新していないために知らなかったことなのですが、問題はこのUCRTのランタイムを入れるためにはWin10では何も問題はないのですが、Win8.1ではとあるWindowsUpdateを適用しなけれならないという制約があるということです。今回、マシンを入れ替えた関係でWin81も新しくインストールしてアプリテスト用の領域に入れ直そうとしたのですが、これを知らなかったのでUCRTが入らず、プログラムの動作テストをしてみたところ一部の最新のプログラムが動かせない、という状態に陥ってしまいました。

自分の感覚ではOSを入れ終わるとドライバやら必要なランタイムを入れてからWindowsUpdateで最新の状態に持って行くのが正しいと思っていたのですが、今回はそうではなくOSのインストールが終わり、初期ドライバが設定できればWindowsUpdateを強制で何回か行い、WindowsUpdateが何も出ない状態にしてからインストールしたほうがよういのではないか?ということにいつの間にかなってしまったようです。VisualStudio2015のランタイムを入れさせるようなプログラムを作っているそこのあなた。まだすべてのユーザがWin10になったわけではないのでこういう点で動かない、といってくるユーザもいるかもしれませんので気をつけましょう。

 

やっと悪運が切り離せたかな

HDDの故障やらなんやらによる問題もなんとかなった、というところで悪運はすべて切り離せたかな、というところです。あとは自分にくるはずの金運やら仕事運やらを一気につかんでいきたいところだな、というところです。…ですよね?