メニューを開く

2019/03/25

ホームサーバー 〜Fedora29 アップデート失敗⁈〜

つい先日、アップグレード失敗対応が終わったばかりのホームサーバーにOSのアップデートがありました。ちょっと不安な気持ちになりながらも、今ならシステムもデータベースもWordPressもバックアップがそのまま使える...ということで、思い切ってOSのアップデートを実施しましたが...

嫌な予感的中

OSのセキュリティ・アップデートやブラウザなどのアップデートなど、全部をまとめてアップデート...再起動..............................また、起動できない...エラーメッセージが表示されました。なんじゃこりゃあ。(* ´艸`)クスクス 笑ってる場合じゃないんだけど。
よく見てみると、journalctlってタイプしてsystem logを見ろといってるみたいなので、コマンドを入力するとシステムログが表示されます。
エラーメッセージ
Generating “/run/initramfs/rdsosreport.txt”

Entering emergency mode. Exit the shell to continue.
Type “journalctl” to view system logs.
You might want to save “/run/initramfs/rdsosreport.txt” to a USB stick or /boot after mounting them and attach it to a bug report.

システムログの確認

表示されるシステムログは、問題のある箇所が赤字で表示されますので、注意しながら見ていると直ぐに問題箇所を見つけることができます。ファイルシステムが壊れていて正常に認識できていないみたいです。
問題箇所
fsck failed .........
 ~中略~
Failed to start file System Check on ファイルシステム

ファイルシステムの修復

ファイルシステムのチェックと修復を行うfsckというコマンドを使って、ファイルシステムの修復を試みます。オプションには、障害発生時に修正する場合に利用が推奨されている。-fオプション(ファイルシステムがクリーンな場合でも全てのチェックを行う。)を指定します。コマンド実施後、何度か確認を求められるので、何度もyを入力するのが面倒な方は、修正箇所が見つかった場合に実行者に確認せずに修正を行う。-yオプションも併せて指定すると良いと思います。ファイルシステムの部分には修復するファイルシステム...つまり、システムログの確認で問題箇所として特定したファイルシステムを指定システムを指定してコマンドを実行。修復が完了したら、再起動して作業が完了です。
ファイルシステムの修復
fsck -fy ファイルシステム
今回は、この方法でリカバリーできましたが、必ずリカバリーできるものではないので、自分で運用、保守をしている方は、定期的にバックアップを取ったり、システムに変更を加えた時にバックアップを取ったりして、いざという時に備えるようにして下さいね。

2019/03/17

ホームサーバー 〜WordPressブログ バックアップ/リストア〜

以前、レンタルサーバーのCPU使用制限超過でリダイレクトされてしまった時には、WebサーバーもWordPressブログも起動出来ていたので、phpAdminでWordPressデータベース全てのバックアップを取りましたが、今回はWebサーバーもWordPressブログもPHPも動いていない状況です。そして、ホームサーバーなのでFTPは使わずに直接外付けディスクを接続してWordPressブログのWebページをバックアップできます。

データベースバックアップ/リストア

最初にデータベースのバックアップを取ります。ホームサーバーなので外付けディスクを直接接続して、転送容量を気にせずにバックアップを取ることができるので、念のため全データベースのバックアップを取ることにします。何度も調べなくて良いように、特定のデータベースをバックアップ/リストアするコマンドも残しておくことにします。
MySQLデータベースバックアップ
特定のデータベースのみバックアップする場合
mysqldump --single-transaction -u ユーザー名 -p DB名 > 出力ファイル名

全データベースをバックアップする場合
mysqldump --single-transaction -u ユーザー名 -p -x --all-databases > 出力ファイル名

MySQLデータベースリストア
特定のデータベースのみリストアする場合
mysqldump -u ユーザー名 -p DB名 < バックアップファイル名

全データベースをリストアする場合
mysqldump -u ユーザー名 -p < バックアップファイル名

 WordPressブログバックアップ/リストア

次にWordPressブログのバックアップです。こちらも、転送容量を気にせずにバックアップを取ることができるので、念のため全データのバックアップを取ることにします。あちこち見ないで良いように、最低限のデータをバックアップ/リストアする方法も残しておくことにします。リストアは、各ディレクトリにバックアップしたデータを上書きすれば良いのですが。
WordPressブログバックアップ
最低限のデータのみバックアップする場合
1.~/wp-config.php
2.~/wp-content/plugin/   ⇒ プラグイン格納
3.~/wp-content/themes/ ⇒ テーマ格納
4.~/wp-content/uploads/ ⇒ アップロードデータ格納

全データをバックアップする場合
WordPressのインストールディレクトリ配下の全データ
データベースのリストアでなく、WordPressのエクスポート機能で出力したXMLファイルをインポート機能でリストアする場合は、以前、使用していたテーマ、プラグインを有効にし、以前と同じパーマリンク設定をしてから、XMLファイルをインポート機能でリストアして下さい。正しく記事が復元されないのでくれぐれも注意して下さい。

使用していたテーマ、プラグイン、以前と同じパーマリンク設定が思い出せなくても手間は掛かりますが、最後の手段が有ります。MySQLのバックアップデータやWordPressのエクスポート機能で出力したXMLファイルは、テキストエディターで開くと記事の内容を読み取ることが出来るので、コピー&ペーストなどで復元することが可能です。

ただし、データベースのバックアップには、記事の履歴(修正の度に保存される各リビジョンのデータ)も含まれていますので、最新の情報を見るようする必要があります。

2019/03/09

ホームサーバー 〜WordPressブログ トラブル復旧〜

ホームサーバーで、運用しているWordPressブログサイト、MataKitena BlogがOSのアップグレード失敗で起動できなくなったトラブル対応の続きです。今回は、Webサーバーのapacheが起動出来て、無事にWordPressブログが起動出来たので、原因と対応方法を記事に残しておきます。データベースのバックアップとリストアについては次回記事にしますね。

WordPressブログが起動できない原因は

WordPressブログがどうして起動できないのか調べて分かったことは、データベースであるMySQLは起動出来ているということ。そして、Webサーバーのapacheを起動させてみたら...何やらPHPのライブラリに存在しないものがあると、エラーメッセージを出力して異常終了しているようです。これで、原因がはっきりしました。libnsl.so.1が存在しないので、Webサーバーが異常終了してしまいWordPressブログが起動出来ないのです。後は、インターネットで情報を探して対応すれば起動できそうです。
出力されたエラーメッセージの一部
...Cannot load modules/libphp7.so into server: libnsl.so.1: cannot open shared object file: No such file or directory...

そして、対応方法を探しに...

こういうことを調べている時に多いのですが、エラーメッセージをコピー&ペーストして検索すると英語のページがたくさん見つかるんです。英語が苦手な方は挫折しそうになっても、もうちょっと頑張って下さい。ここで、Google翻訳の出番です。検索結果のページを丸ごとか、部分的に翻訳すればほとんど日本語になった文書に翻訳されます。下記が、検索結果の中で1番解り易そうなページの要約です。なるほど...
発見した情報
Fedora 28以降で、msendユーティリティを使用しようすると、libnsl.so.1がnot foundと表示されるとのこと。
その原因は
Ferdoa 28以降、libnslパッケージはデフォルトでは含まれなくなり、libnsl2のみになったとのこと。
その対応方法は
後方互換性があるはずなのでlibnsl2ライブラリをlibnslにソフトリンクをしてみるか、libnslをインストールすればいいとのこと。 
ということは...利用しているOSが32bit、64bitのどちらかによって下記のコマンドでインストールできます。MataKitena Blogは、32bitなので、”dnf install libnsl”を実行してコマンドからWebサーバーのapatchを起動...起動完了です。念のため、システム起動時に自動起動されるかも確認しましたが、問題なく起動できました。
libnslのインストール方法
32bit OSの場合:dnf install libnsl
64bit OSの場合:dnf install libnsl.i686


2019/03/03

ホームサーバー 〜WordPressブログ システムバックアップ〜

ホームサーバーで、運用していたWordPressブログサイト、MataKitena BlogがOSのアップグレード失敗で起動できなくなったトラブル対応の続きです。システムバックアップとリストアについて記事を残しておきます。

システムバックアップとは

システムバックアップとは、いざという時のためにパーティションやハードドライブ全体のイメージをバックアップすることをいいます。本来は、今回のようにサーバー自体が起動できなくなる可能性があるOSのアップグレードなどの作業を実施する場合には、事前にシステムバックアップをしておけば、リストアすることで元に戻すことが出来るので安心できます。とはいえ、ハードドライブ自体が壊れてしまった場合、復元することは不可能なので壊れる前にバックアップすること。更に、同一システム内のハードドライブでは、不注意や予期しない事態で壊れることもありますので、外付けのハードドライブやクラウドにバックアップデータを保存するようにしましょう。

システムバックアップの方法は

ddコマンドを利用します。ddコマンドはdataset definitionの略で、ディスクに限らずデータをLowレベルで読み書きできるので、データの中身を無視して操作でき、OSが読み取れないファイルシステムでフォーマットされている場合にもバイナリーレベルで読み書きすることができます。 バックアップしたいドライブ以外から起動する必要があるので、Bootable USBやBootable DVDなどを作成しておきましょう。ddコマンドは、ifで指定した入力ファイルを指定されたブロックサイズで、必要に応じて変換をしながらofで指定した出力ファイルにコピーすることができます。OSのディストリビューションやバージョンにより異なる場合もありますので、利用するシステムのmanコマンドで調べたり、確認して下さい。
ddコマンド書式
dd [--help] [--version] [if=file] [of=file] [ibs=bytes] [obs=bytes] [bs=bytes] [cbs=bytes] [skip=blocks] [seek=blocks] [count=blocks] [conv={ascii, ebcdic, ibm, block, unblock, lcase, ucase, swab, noerror, notrunc, sync}]

今回はどうしたの

今回、ディスクユーティリティで起動ディスクを調べてみると.../dev/sda1と/dev/sda2の2パーティションが存在しました。準備しておいたBootable CDから起動して、それに合わせ、より大きな容量の外付けディスクに、より大きなサイズのパーティションを作成してシステムバックアップを実行しました。リストアは、if=で指定した入力ファイルとof=で指定した出力ファイルを入れ替えるだけです。まだ、WordPressブログが起動できていないですが、何か起こったとしても現在の状況までは戻すことが出来ます。
参考:今回実行したコマンド
dd if=/dev/sda1 of=/dev/sdb1 bs=64k conv=noerror,sync status=progress
dd if=/dev/sda2 of=/dev/sdb2 bs=64k conv=noerror,sync status=progress
あとは、データベースを含め、WordPressブログをバックアップして、本格的に復旧作業に備えます。

2019/02/10

ホームサーバー 〜WordPressブログ トラブル対応〜

先日、MataKitena's Owndで記事にしたように、ホームサーバーで、運用していたWordPressブログサイト、MataKitena BlogがOSのアップグレード失敗で起動できなくなりました。これまで何度も、何事も無く無事にアップグレード出来ていたのですが、手抜きしてバックアップを取っていなかった今回に限って…(_ _。)シュン

ということでトラブル対応開始

キリッ(๑•̀д•́๑)ホームサーバーのトラブル対応を開始することにしました。ところが‼いろいろ対応し始めて、あッそうだった…と思い出すことがたくさん。まずは、現状のシステムバックアップを取るため、古いカーネルイメージを選択して起動されることを確認。そして、いつ無くなっても、おかしくないと思われる32Bit OSのLiveイメージをダウンロードしてBootable USBを作成しておこうと思いましたが。ホームサーバーは、何世代も前のノートパソコン。もしかするとBIOSが対応してないかも知れない。さっそく、インターネットでBIOS画面の表示方法を調べて、Boot Menuを見てみましたが。やっぱり、Boot Deviceとして表示されるのは、Optical Drive、Floppy Disk、Hard Disk、Network…USB機器には対応してませんでした。

まだまだ想定の範囲内

それじゃあ、MAC BookでBootable DVDを作って…でも、作成したBootable DVDから起動しません。他には、DVDドライブ付きのパソコンもない。ということで、古い雑誌の付録に付いていたDVDとCDを用意してホームサーバーの問題の切り分けです。DVD、CDどちらも認識されません。そういえばOSをインストールする時に、同じ様なことをした憶えが。あの時は、CDレンズクリーナーを使ってクリーニングしたはず。見つけたCDレンズクリーナーで2回程クリーニングすると、CDを認識しましたがDVDは認識しません。以前もそうでした。Fedora29 Workstationのネットワークインストールイメージが536MB。これならCDに入ります。取りあえず32BitOSのインストールCDを作成して、CD起動することを確認しました。

一気にクリアインストール?

MataKitena Blogの復活に向けて、一気にクリアインストールとも考えましたが。WordPressブログのバックアップすら作成してません。ここは、手を抜かないで、システムバックアップ、MataKitena Blogのバックアップも作成して、いざとなったら、海外ドラマで見たことのある「じゃあ、プランBで…」みたいな奥の手を作っておくことにします。ということで、いざという時を想定してどんなバックアップを取っておくかを検討するので、この記事は、ここまで。続きは、しばらくお待ち下さい。近日公開予定です。

2019/01/13

教育 ~学びたい人が、学びたい時に、学びたい場所で…~

最近、ニュースで耳にしたことがある教育無償化。2020年の憲法改正時に実現しようとしているそうです。そんなこともあって、気になっていることがあります。それは、インターネットで「無料学習」とか「無料教育」で検索した時の検索結果です。幼児教育や大学講座、IT系のスキルアップ講座等々。動画や生放送視聴にWeb学習等、多種多様な教育が無料で受講できるようになってきているんです。

どんな無料教育があるの

ベネッセの知育子供ゲーム。あの、しまじろうのぬりえ、折り紙、えかき歌などのキッズゲームで親子で楽しく学ぶことができます。他にも、誰にでも、どこにでも無料で世界クラスレベルの教育を提供することを使命としているというKhan Academy。世界中の多くの人達が自分のペースで学ぶことが出来るんです。数学や科学、コンピュータプログラミング、歴史、美術史、経済学など色んなコースがあるそうです。しかも、数学でいうと幼稚園の算数レベルから微積分学レベルまで学ぶ人に合せて学習できます。日本でも、全ての人に平等な教育をオンラインでというコンセプトのFREE UNIVERSITYというオンライン教育プラットフォームが2018/10/12に開校されました。小中高大の授業やスポーツ、文化、職業体験、生涯学習、語学や資格試験など、ほぼすべての教育ジャンルを2030年までに網羅し、日本の教育を多言語化して、開発途上国などに向けて授業を配信することで平等な教育機会を全世界に提供していくそうです。

学びたい人が、学びたい時に、学びたい場所で…

そんなことが、出来るようになっていたんですね。まだまだ、通信環境が整備されていない地域やパソコン、タブレット、スマートフォンなどの機器を手にすることができない人々はどうするのか…というような、課題はたくさんあると思いますが。この素晴らしい思いや試みが継続されるのであれば、きっと、いつか、全てが実現される日が来るのではないでしょうか。このブログで紹介した無料教育は、ほんの少しだけです。企業や個人の方々が実施されているものも、たくさんあります。このような、思いや試みが継続されて、全てが実現されて、継続されると良いですね。

2018/07/14

XOOPS Cube ~ポータルコミュニティサイト構築CMS~

以前、お仕事で使ったことがあった、XOOPS Cubeについて調べてみました。XOOPS Cubeとは、ポータルコミュニティサイトを構築するために開発されたコンテンツ管理システムで、モジュールとテーマを組み合わせてWebサイトを構築できるシステムです。
動作環境 
OS:Linux、Windows
Webサーバー:Apatche
PHP:PHP5.2
データベース:MySQL 5.0以上  
※XOOPS Cube Legacy 2.2の動作環境です。
モジュールでブログ、掲示板、Wikiなどの機能を追加、テーマでデザインを変更することができます。インストールするには、CMSの機能を実現するためのプログラムを取りまとめたパッケージというものを利用します。
インストールパッケージ 
公式パッケージ(XOOPS Cube Legacy 2.2/略称 XCL2.2)
XOOPS Cube のコアな部分をまとめ、ベーシックな機能を実現しているパッケージです。

サードパーティー製パッケージ(ディストリビューション)
公式パッケージには、ブログ等の機能を実現するためのモジュールが含まれないことから、有志により各種モジュールや機能を追加したサードパーティー製パッケージが各種リリースされているそうです。サードパーティー製のパッケージは、All in One パッケージとも言われ、別名ディストリビューションとも呼ばれているそうです。
現状では、各種モジュールのアップデート管理機能を持つ、X-updateモジュールなどを追加したXOOPS X(ten)が推奨ディストリビューションで、インストール後は、ブラウザ上で様々なモジュールの配置とインストール、アップデートやXOOPS Cube Legacy 本体のアップデートが可能で、サイト構築・運営ができるようになります。
XOOPS Cubeは、ポータルコミュニティサイトを構築するために開発されたコンテンツ管理システムで、モジュールとテーマを組み合わせて、Webサイトを構築・管理できるようになっていて、初心者にも分かり易いシステムでした。

2018/07/08

Blogger テーマ ~厳選テーマ 2018~

たくさんあるBloggerのテーマ、目移りしてしまいますよね。「Blogger テーマ ~初めてのテンプレート選び」では、初めてテーマを選ぶ時のポイントとカスタマイズする時のテーマ選びのポイントを紹介させて頂いたのですが、MataKietaのブログ(Blogger)とほんまえぇなぁ~のブログ(Blogger)の2つのブログで使っているテーマを決めるのにも結構悩みましたので、最後まで迷っていた5つのテーマをここに紹介しておきますね。

1.Gossip

かわいい見た目と、かっこいいデザイン、シンプルで、記事が見やすくってなどは良かったのですが、日本語でないことで最後まで悩んだテーマです。リンク先で、ライブプレビューを見たり、ダウンロードできますので、実際に見て触ってみてはどうでしょうか。

2.Simplify2
こちらも、かっこいいデザイン、シンプルで、記事が見やすくってなどは良かったのですが、日本語でないことで最後まで悩んだテーマですが。記事上のメニューと記事下のページ数とタイトル付きの前の記事/後の記事ナビゲーションができるということで、最終的に使うことに決めたテーマです。リンク先で、ライブプレビューを見たり、ダウンロードできますので、実際に見て触ってみてはどうでしょうか。

3.Kyoto
ここから先は、日本語のテーマです。チェック柄で見た目が、かわいいだけでなく、SEO対策されていたり、スクロールに合わせてサイドバーがついてきたりする機能も付いている実現力派なテーマです。リンク先には、作者のラムネグさんの詳細な説明。そして、サンプルページを見たり、ダウンロードできたりしますので、実際に見て触ってみてはどうでしょうか。

4.Tokyo 

日本語のテーマです。テーマKyotoと同じ作者のラムネグさん作のシンプルで、かっこいいだけでなく、SEO対策されていたり、スクロールに合わせてサイドバーがついてきたりする機能も付いている実現力派なテーマです。こちらも、リンク先には、詳細な説明。そして、サンプルページを見たり、ダウンロードできたりしますので、実際に見て触ってみてはどうでしょうか。

5.Vaster2

日本語のテーマです。最低限の機能でシンプルに設計されているだけでなく、表示速度が速かったり、日本語対応のテンプレートデザイナーが付いていたり、人気記事や関連記事を表示する機能も付いている実現力派なテーマです。こちらも、リンク先には、作者トーマスさんによる詳細な説明。そして、サンプルブログを見たり、ダウンロードできたりしますので、実際に見て触ってみてはどうでしょうか。日本語で、表示速度が速くて、必要な機能が付いているということで、最終的に使うことに決めたテーマです。
見た目だけでなく、操作性や表示速度などなど、テーマ選びって本当に悩ましいですよね。選ぶだけでこんなに悩んでしまうのだから、作る人達は、もっと悩んでいるんじゃないかと想うと…使わせて頂いて、本当に感謝です。

2018/06/17

Linux ~Linuxシステムの起動 Systemd~

Linuxのシステム起動について、従来から使ったわれてきたSystem V init(SysVinit)に変わって、Systemdが使われるようになってきています。SysVinitは、古くから使われているので、お仕事の現場などで遭遇することがまだ多いと想います。Systemdは、Linuxオペレーティングシステムのシステムサービスマネージャーで、SysVinitと後方互換するように設計され、起動時のシステムサービスの並行スタートアップやデーモンのオンデマンドのアクティベーション、システム状態のスナップショットのサポート、依存ベースのサービス管理論理などの多くの機能を提供するそうです。
Systemdの概要については、RedHatのCustomerPortalのRHEL7 におけるsystemdの概要という記事が、SysVinitとの機能比較やコマンドの使い方も記載されていて、解りやすいと想いますので、読んでみて下さい。SysVinitの起動手順や設定、ランレベルについては、Linux ~システムの起動/停止手順~も参考にして下さい。ここには、Systemdの起動手順や起動方法、自動起動の設定を記載しておきます。
Systemdの起動手順 
電源ON
    ⇩
BIOSがディスクのMBRという先頭ブロックのブートローダーをメモリ上に読み込みます。
    ⇩
ブートローダーがカーネル(vmlinuz)をメモリに読み込みます。
    ⇩
カーネルが起動し、ドライバなどがロードされて、Systemdプロセスを起動する。
    ⇩
default.targetというファイルに従って、どのターゲットを開始するかを決定し、システムサービスを開始します。

サービスの起動方法

systemctl start サービス名.service
終了     :stop
再起動    :restart
状態表示   :status
設定再読み込み:reload

有効化されているユニットの一覧表示
systemctl list-units

インストールされているユニットファイルの一覧表示
systemctl list-unit-files 


サービスの自動起動設定

systemctl enable サービス名.service

自動起動解除
systemctl disable サービス名.service

設定確認
systemctl is-enabled サービス名.service

2018/05/27

Linux ~Ubuntu ハードディスクを自動マウント~

Ubuntu Desktopをインストールして構築したリビングサーバー、どうせなら起動時からハードディスクをマウントさせて、ファイルサーバーやメディアサーバーとして利用してみようと、調べて、やってみた時のことを残しておきます。…結局は、マザーボードが壊れたりしたこともあり、停電したら結局使えないし、使う時にサーバーを起動してマウントすることにしたので、現在は起動時に自動マウントはさせていませんが、また気が変わった時のために。
起動時、自動マウント手順
 1.設定情報の取得
 2./etc/fstabへの設定
1.設定情報の取得
まず最初に、自動マウントするハードディスクの固有の識別子であるUUIDをblkidコマンドを使って調べます。
sudo blkid
/dev/sda1: LABEL="System" UUID="nnnnnXnXnnnXXXXX" TYPE="ntfs"
/dev/sda2: LABEL="XXXXXX" UUID="nXXnnnXnXnnnXXXX" TYPE="ntfs"
             …
LABEL="XXXXXX"の行のUUIDの値をメモしておきます。

2./etc/fstabへの設定サーバー起動時に、ハードディスクが自動マウントされるようにfstabに1行、設定情報を追加します。
UUID=uuid /mnt  vfat  defaults  0  0
設定値  概要
uuid    マウントするデバイス、1.でメモしたUUID
/mnt        マウントするディレクリ
vfat   マウントするデバイスのファイルシステム
defaults 読み書き実行可、root以外マウント不可
0     ダンプオプション、ダンプ不要
0     fsckオプション、起動時のチェック不要

2018/04/30

Linux ~システムの起動/停止手順~

システムの起動/停止シーケンスを理解することで、Linuxの仕組みや設定に対する理解も深めることができ、システムの運用保守にも役立つといわれています。それでは、さっそくLinuxの起動シーケンスです。
Linuxの起動シーケンス
電源ON
    ⇩
BIOSがディスクのMBRという先頭ブロックのブートローダーをメモリ上に読み込みます。
    ⇩
ブートローダーがカーネル(vmlinuz)とイニシャルRAMディスク(initrd)をメモリに読み込みます。
    ⇩
カーネルが初期化シーケンスを実行し、メモリに読み込まれているinitrdをマウントします。
    ⇩
カーネルがinitrdを使ってrootファイルシステムをマウントします。
    ⇩
カーネルがinitプロセスを生成し、起動時のカーネルオプション指定に従ってinit以外のプロセス(/bin/bashなど)を生成します。
    ⇩
initは起動されるとRun Control Script(/etc/rc.sysinit、/etc/rc)を実行し、/etc/inittabのシステムの各ランレベルの起動サービスの指定に従ってデーモンを起動します。
次に、起動シーケンスに出てきたランレベルです。ランレベルとは、Linuxの動作モードのことで、0から6の7種類あって、そのレベルに従って起動/停止されるサービスが異なります。各ランレベルの意味は、こんな感じになっています。
ランレベル
レベル
 0  システム停止(シャットダウン)
 1  シングルユーザーモード(rootのみ)
 2  ネットワークなしのマルチユーザーモード
 3  通常のマルチユーザーモード
 4  未使用
 5  グラフィカルログインによるマルチユーザーモード
 6  システム再起動
 そして、起動/停止されるサービスのスクリプトは、/etc/rc.d/rcレベル.dに格納されています。また、頭文字がS(Start)は起動、K(Kill)は停止を表します。続く2桁の数値は実行の優先順位を表していて、数値の小さいものから順に実行されます。
サイト構築をする際には、自動起動するサービスを追加するために設定を行うのですが、設定方法が、これまでよく使われていた起動システムであるSysVinit系と新しい起動システムSystemdで違うので、また別の機会に記事にします。

2018/04/07

Linux ~サイト構築の基礎知識~

Linuxは、カーネルと呼ばれるオペレーティングシステムの最も基本的な5つの機能を持つVanillaカーネルと呼ばる基本ソフトウェアで、UNIXの互換OSです。OSといえば、有名なのはWindowsやMacOS、Google Chrome OSなどがありますが、LinuxもそんなOSの1つです。
自宅サーバーやVPSなどのサーバー環境構築に多く使われているそうなんです。これは、LinuxがGUNプロジェクトが提唱しているGeneral Public License(GPL)というライセンスで無償ということで、安価にサーバーを構築出来るということも関係しているらしいです。
MataKitena BlogのWordPressブログサイトもLinuxを使って構築したサイトなんですよ。ということで、WebサーバーやWordPressブログサイト構築をする際に、知っておいた方が良いと思う基礎知識をまとめておきます。


  1. ソフトウェアの依存関係
  2. セキュリティ設定
  3. ダイナミックDNS

1.ソフトウェアの依存関係
ディストリビューションによって異なりますが、複数のソフトウェアをパッケージという単位でダウンロードやインストール、アンインストール、アップデートできるように管理されていますが、Webサーバーやブログサイトを構築するためには、複数のソフトウェアを組み合わせたり、それぞれのソフトウェアのバージョンを調整する必要があります。例えば、RedHat系のディストリビューションでは、ソフトウェアはrpmパッケージという単位で管理されていて、yumというツールを用いればソフトウェアの依存関係を自動で解消してくれます。

2.セキュリティ設定
インターネット上にWebサーバーやブログサイトを公開すると、ローカル環境で使用していた時とは違い、たくさんの人がサーバーにアクセスできるようになります。大切なサーバーやサイトを守るためのセキュリティ対策は必ず実施するようにしましょう。
詳細は、MataKitenaのブログ(Webcrow)のこちらの記事を見て下さいね。


3.ダイナミックDNS
ダイナミックDNS(DDNS)は、自宅PCのIPアドレスをドメイン名に対応させるサービスです。一般的に自宅PCは、プロバイダにより割り振られたグローバルIPアドレスを使ってインターネットに接続しています。ただし、このグローバルIPアドレスは、一旦切断して再接続するとIPアドレスが変更される動的IPアドレスになっています。固定IPアドレスのサービスも存在しますが、通常は動的IPアドレスになっていますので、ドメイン名に対応しているIPアドレスが変わってしまうと、自宅PCにアクセスできなくなってしまいます。
DDNSでは、一定間隔でIPアドレスが変更されたことを検出して、変更されたIPアドレスとドメイン名を動的に紐付けることで、自宅PCのIPアドレスの変更に関係無く、ホスト名で自宅PCにアクセス出来るようになるんですよ。
詳細は、MataKitenaのブログ(Webclow)のこちらの記事を見て下さいね。



2018/02/17

Linux ディストリビューション ~初めてのディストリビューション選び~

Linuxは、UNIXの互換OSで無償(GPLライセンス)のオープンソースソフトウェア。基本ソフトのLinuxとGNUソフトウェアやその他のソフトウェアを組み合わせて簡単にインストールできるようにしたものがディストリビューションと呼ばれているんです。
ミッションクリティカルなシステムやWebサーバー、スマートフォン、カーナビゲーションシステムなどにも使われているLinuxですが、実際に使ってみようと思ったとたんに、どのディストリビューションを選んで良いのか、迷ってしまうことがあるのではないでしょうか。そんな時に、参考にして下さい。
Linuxのディストリビューションは、Debian系、Slackware系、Red Hat系という有名な系統と独立系という4つの系統のディストリビューションがあります。
Linuxディストリビューションの系統
  • Debian系
  • Slackware系
  • Red Hat系
  • 独立系

Debian系ディストリビューション 
1993年から公開されているディストリビューションです。高度に開発され、敷居が高く難しいといわれているようですが、パッケージ管理にdeb形式を使い、APTというパッケージ管理システムでソフトウェア更新ができるユーザーフレンドリーなディストリビューションです。また、その優れた性能から組込み機器などの用途にも使われています。
Raspberry Piという超小型PCのOS、Raspbianや6ヶ月毎のリリースや商用サポートもあり、デスクトップ環境にUnityを採用しているUbuntuもDebian系のディストリビューションです。

Slackware系ディストリビューション 
1992年から公開されている最古のディストリビューションです。安全性やセキュリティを重視する開発ポリシーがあり、使い勝手を優先しないことから、他のディストリビューションと比較すると管理方法が複雑で、初心者には難しいといわれていますが、しっかり検証されてから公開されるというスタンスで開発されています。
openSUSEやPlamo Linux、Puppy Linuxというディストリビューションが有名です。

Red Hat系ディストリビューション  
1995年から公開されているディストリビューションです。パッケージ管理にrpm形式を使い、yumというパッケージ管理システムでソフトウェア更新ができるディストリビューションです。
ソフトウェアのアップデート、アップグレード、保守サポートなどを一体化したサブスクリプションで有料の企業向けに特化したRed Hat Enterprise LinuxとRed Hat Enterprise Linuxから商標や商用パッケージ等を除去しリビルドしたクローンのCentOS、最新技術を積極的に取り込むFedoraという無償のディストリビューションが有名です。

独立系ディストリビューション 
Debian系、Slackware系、Red Hat系に属さない、独自に開発されたディストリビューションです。他の系統に比べ、あまり派生していないようです。日本のLinuxディストリビューションであるTurbolinux、GoogleのChrome OSが有名です。

Linuxディストリビューションの系統を最初に説明したのは、系統の概要から系統を絞り込むためです。どんな用途に使うか、使ったことがあるかということなどから…例えば、こんなふうに。
用途は、自宅でWebサーバーを構築して、ブログサイトを公開したい… 
ということであれば、Webサーバーを構築して、ブログサイトを公開するのであれば、ダウンしたり安定動作しないと、公開したブログサイトが見れなくなることもある。

お仕事でRed Hat系のディストリビューションを使ったりすることがある… 
自宅でWebサーバーを構築するということは、Webサーバー、ブログサイトの運用、メンテナンスを自分でする必要があるので、扱い慣れたディストリビューションの方が、解らないことが少ないし、何か有った時にも調べ易いので安心して使えるし、お仕事の勉強にもなる。
あとは、見た目と使い勝手です。見た目は、ディストリビューターのダウンロードページなどで確認したりできますが、使い勝手はなかなか確認できません。そこで、ディストリビューターのDVDやUSBなどから起動できるライブディストリビューションや仮想イメージを使って、実際に使い勝手を確かめてみると良いと思います。

参考になりましたでしょうか。ディストリビューターのライブディストリビューションも仮想イメージもどちらも見つからなかった場合は、Virtual BoxやVMWareの仮想イメージをダウンロードできるOSBoxesというサイトもありましたよ。

2018/02/10

Linux ディレクトリ構成 ~Linuxの基礎知識~

知っていますか、Linuxのディレクトリ構成。FHS(Filesystem Hierarchy Standard)という標準規格で定められていて、基本的な構成は多くのLinuxのディストリビューションで共通なんです。なので、違うディストリビューションを使っても、どのディレクトリに何が格納されているのか大体分かってしまうんですよ。

     /        ルート
     ├ /bin     ビン
     ├ /boot     ブート
     ├ /dev       デブ
     ├ /etc     エトセ
     ├ /home   ホーム
     ├ /lib     リブ
     ├ /mnt     マウント
     ├ /media    メディア
     ├ /opt      オプト
     ├ /proc      プロック 
     ├ /root      ルート
     ├ /sbin      エスビン
     ├ /tmp      テンプ
     ├ /srv        エスアールブイ
     ├ /usr        ユーザー
     └ /var        バー

〇/ルート
 ディレクトリ構造の最上位、ルートディレクトリ
〇/bin
 ユーザー、システム管理者によって実行可能なコマンドを格納
〇/boot
 カーネルイメージ、ブートローダーなどブートに必要なファイルを格納
〇/dev
 特殊ファイル、デバイスファイルを格納
〇/etc
 OSやプログラムの設定ファイルを格納
〇/home
 ユーザーのホームディレクトリ 
〇/lib
 /binや/sbinのコマンドを実行するために必要なファイルを格納
〇/mnt
 ファイルシステムの一時的なマウントポイント
〇/media
 リムーバブルメディアのマウントポイント
〇/opt
 rpmなどのオプションパッケージを格納
〇/proc
 カーネルやプロセスに関する情報の仮想ファイルシステム 
〇/root
 ルートユーザー用ホームディレクトリ
〇/sbin
 システム管理者によって実行な能なコマンドを格納
〇/tmp
 作業ファイルなどを一時的に格納
〇/srv
 システムに提供されたサイト固有の情報を格納
〇/usr
 プログラムやカーネルソースを格納
〇/var
 システムログなど動的に変化するファイルを格納

2018/02/08

Linux ~Linuxってなぁに~

自宅サーバーでも使っているLinuxについて調べてみました。まずは、一番気になっているLinuxオペレーティングシステムの公式マスコットのペンギンについて
名前:Tux(タックス)
由来:タキシード(tuxedo)を着ているように見えるから
誕生:1996年
ついでにLinuxって、何か。コンピュータのオペレーションのために、ソフトウェアの中でも基本的な、中核に位置付けられるオペレーティングシステムのひとつです。そのなかでもLinuxは、カーネルと呼ばれるオペレーティングシステムの最も基本的な5つの機能を持っているプログラムです。

  • プロセス管理
  • メモリ管理
  • ファイル管理
  • デバイス管理
  • システムコール・APIの提供
 そして、LinuxカーネルとGNUソフトウェアやその他のソフトウェアを組み合わせて簡単にインストールできるようにしたものがディストリビューションなんです。
 まだまだ、Linuxのことを勉強し始めたばかりなので…自分ではこれぐらいの赤ちゃんペンギンじゃないかなって想ってます。きっといつか、一人前のペンギンに!!(^O^)ノ