Linux入門 ドメインの取得

サーバを公開する前に、自分のドメインを取得するにょろ

どんなドメインがいいかにゃ

じっくり自分のブログにふさわしいドメインを考えるにょろ!


サーバを公開する際、IPアドレスでは覚えにくいため、ドメイン名でアクセスします。
ドメインは自由に利用できるわけは無く、利用料を払って取得します。
ドメインを無料で取得できるサービスもあります。
しかし、ドメインはブログへアクセスする際の重要な情報となります。
ここだけは、きちんとお金を出して、自分のブログにふさわしいドメインを取得することをおすすめします。

1.ドメイン名を決める
ドメインには「.com(ドットコム)」、「.net(ドットネット)」などの、世界中で利用されている汎用ドメインと、国別のドメインがあります。
日本では「.jp(ドットジェイピー)」を利用するサイトが多いですが、汎用ドメインに比べて値段は高い事が多いです。
日本でブログを公開するから「.jp」を利用するといった規則はありません。
一部、用途を限定したドメインもありますが、基本的に多くのドメインは自由に取得できます。
自分のブログに相応しいドメインを取得しましょう。
また、ドメインは早い者勝ちですので、すでに他の人が利用しているドメインは利用できません。

2.ドメインの取得するには?
ドメインを登録行う会社をレジストラと呼びます。
下記のようなレジストラがあります。
他にもたくさんのレジストラがあるので、調べてみてください。
どの会社でも同じようにドメインを取得できるため、基本的には価格の安いところで選ぶのが良いと思います。
また、ドメインの利用料は利用する間、継続して支払います。初年度だけでなく次年度の料金もよく確認しましょう。

また、取得したドメイン名を利用するにはDNS(ディーエヌエス)サーバーに登録する必要があります。
ただし、自分でDNSサーバを立てるのは大変なため、レジストラにDNSサーバーを依頼するのが一般的です。
DNSサーバーを利用できるレジストラを選びましょう。
大手のレジストラであれば、どこでもDNSサーバーを利用できます。

具体的に登録方法については、各レジストラのページをご参照ください。


・ドメイン取るならお名前.com|ドメイン取得は最安値1円~
https://www.onamae.com/

・ドメイン取得なら「さくらのドメイン」 | さくらインターネット
https://domain.sakura.ad.jp/

・ホーム – Google Domains
https://domains.google/

このブログのドメインについて
このブログのドメイン「gakubu.net」はGoogleで取得しました。
毎年の利用料は$11.00(税込)/年です。

DNS(ディーエヌエス)サーバーとは
ドメイン名をIPアドレス変換する事を名前解決と呼びます。
この名前解決を行うためのサーバをDNSサーバーと呼びます。

3.A(エー)レコードを登録する。
ドメインを取得したら、Aレコードを登録する必要があります。
Aレコードとは、ドメイン名とIPアドレスを紐づけるための記述です。
その際、自分の好きなホスト名を利用することもできます。
習慣的に「www(ダブリューダブリューダブリュー)」つけたウェブサイトも多いですが、必ずしも「www」をつける必要はありません。
自分のブログに相応しいホスト名で登録してください。
また、ホスト名を使用しない事もできます。

ここでは、ホスト名を「linux」にしました。
VM インスタンスに割り振られたIPアドレスをAレコードして登録しました。

Google (Enom)でのAレコード登録例

A(エー)レコードとは
Addressレコードのことで、IPアドレスを定義しています。
その他にメールサーバを定義するMXレコード、DNSサーバを定義する「NSレコード」などがあります。

wwwとは
World Wide Web(ワールドワイドウェブ)の略です。
インターネットを含む世界中のネットワーク事を表します。
ウェブサーバのホストとしてよく利用されています。

その他にホスト名として利用される事が多い文字列として、FTPサーバーなら「ftp」、メールサーバなら「smtp」、「pop3」、「imap」、DNSサーバなら「ns」などがあります。

4.確認方法
Windowsから名前解決の確認を行うにはコマンドプロンプトから「nslookup(エヌエスルックアップ)」コマンドを実行します。
nslookup に続けて、ホスト名を含むドメインを入力します。
(ホスト名を使用してない場合は、ドメイン名だけで大丈夫です。)
「名前:」に入力したホスト名が表示されます。
「Address:」に登録したIPアドレスが表示されれば、正しく登録ができています。
もし、別のIPアドレスが表示されなかったり、「Non-existent domain」が表示される場合は、Aレコードの登録が正常にできていない可能性があります。
再度設定を見直してからnslookupコマンドを実行してください。


5.ドメイン名でアクセス
TeraTermからの接続する際、「ホスト」にIPアドレスの代わりに、ドメイン名を入力します。
「OK」をクリックした後の操作はこれまでと同じです。
その際、「セキュリティ警告」が表示されますが、「このホストをknown hostsリストに追加する」にチェックを入れてから「OK」をクリックしてください。
一度、追加すれば2回目以降は表示されません。
これで無事に接続できれば、成功です。


Don’t think! Feel!
(よく考えて決めましょう。)

Linux入門 GCP 静的IPアドレスの設定

サーバ公開するには、静的なIPアドレスを設定するにょろ

2番にするにゃ!
猫だけに

それは、IPアドレスじゃないにょろ


VMインスタンスを作成後、グローバルIPアドレスにてアクセスできます。
しかし、このIPアドレスはサーバの再起動等のタイミングで変更する可能性があります。
実際にサーバを公開する前に、静的IPアドレスを設定しておきます。

1.GCPのコンソールから、VMインスタンスの画面を表示します。
現在利用しているインスタンスをクリックします。

2.下へスクロールして、「ネットワークインターフェース」にて、表示されているネットワークの「詳細を表示」をクリックします。

3.右側のウィンドウから、「外部IPアドレス」をクリックします。

4.外部IPアドレスの設定画面が表示されます。
「エフェメラル」をクリックします。

5.「静的」と「エフェメラル」が表示されるので、「静的」を選択します。

6.新しい静的IPアドレスの予約画面が表示されます。
IPアドレスを識別するための名前を入力してから、予約をクリックします。

7.IPアドレスが取得できると種類が「静的」になります。
ネットワーク階層が「プレミアム」になっている事を確認します。

ネットワーク階層について
GCPではプレミアム階層とスタンダード階層の2種類のネットワークが選べます。
Always Free の使用量上限が適用されるのはプレミアム階層です。
スタンダード階層には適用されません。

料金  |  Network Service Tiers のドキュメント  |  Google Cloud
https://cloud.google.com/network-tiers/pricing?hl=ja

静的IPアドレスの料金について
VMインスタンスで利用している場合は、無料で利用できます。
詳しくは下記のページを参照ください。

ネットワークの料金  |  Compute Engine ドキュメント  |  Google Cloud
https://cloud.google.com/compute/network-pricing#ipaddress


IPアドレス(IPv4)は枯渇しかけているので大切に使うにょろ!

Linux入門 suコマンド

毎回「sudo」コマンドを入力するのは大変だにゃ

それなら、「su」コマンドを使うにょろ

これは便利にゃん!


「su(エスユー)」コマンドは、一時的に特権モードに移行するコマンドです。
「sudo」ではコマンド入力の都度入力するのに対して、「su」コマンドでは自分の好きなだけ特権モードを利用できます。
どんな操作もできるので使い易くて便利な反面、間違った操作をした時に、サーバを止めたり、最悪の場合壊したりしてしまう可能性もあります。
特権モードを利用するは必要最低限にしましょう。
とは言うものの、サーバの管理は設定時は、基本的に特権モードで行うことになります。

1.あらかじめ「root」ユーザのパスワードを設定します。
パスワードを設定するコマンドは「passwd(パスワード)」です。
続けてユーザ名を入力します。
このコマンドを入力するには特権モードが必要になりますので、頭に「su」をつけます。

[chatora@wordpress ~]$ sudo passwd root

2.「New password:」と表示されたら、パスワードを入力してからEnterキーを押します。
「Retype new password:」と表示されるので、再度パスワードを入力します。
ここでは入力したパスワードは表示されません。
また、8文字より短いパスワードを入力すると「BAD PASSWORD: The password is shorter than 8 characters」と警告が表示されます。
セキュリティを確保するため、最低でも8文字以上のパスワードを入力しましょう。

Changing password for user root.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

3.「su」コマンドを入力します。

[chatora@wordpress ~]$ su

4.パスワードを入力画面が表示されるので、先ほど設定したrootユーザのパスワードを入力してEnterキーを押します。
ここでは入力したパスワードは表示されません。
コンソールの表示が変更され、rootユーザに変更されたことが分かります。

Password:
[root@wordpress chatora]#

5.特権モードをで実行されている事を確認するため、Apacheのサービス状態確認のコマンドを入力します。
「sudo」コマンドを入力しなくても正常にコマンドが実行されました。
表示を終了するには、キーボードの「q」もしくは、「Ctrl」キーを押しながら「c」キーを一度押します。

[root@wordpress chatora]# systemctl status http
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor prese>
   Active: active (running) since Sun 2020-09-06 06:07:07 UTC; 2h 50min ago
     Docs: man:httpd.service(8)
 Main PID: 47936 (httpd)
   Status: "Total requests: 6; Idle/Busy workers 100/0;Requests/sec: 0.000588; >
    Tasks: 213 (limit: 3233)
   Memory: 25.2M
   CGroup: /system.slice/httpd.service
           tq47936 /usr/sbin/httpd -DFOREGROUND
           tq47937 /usr/sbin/httpd -DFOREGROUND
           tq47938 /usr/sbin/httpd -DFOREGROUND
           tq47939 /usr/sbin/httpd -DFOREGROUND
           mq47940 /usr/sbin/httpd -DFOREGROUND

6.特権モードを終了するには、「exit(イグジット)」コマンドを入力します。
コンソールの表示が変更され、元のユーザに戻ったことが確認できます。

[root@wordpress chatora]# exit
exit
[chatora@wordpress ~]$

「su」コマンドは必要な時だけ使うにょろ!

Linux入門 Apacheインストール

今日からHTTPサーバの構築だにょろ

サバは好きだけど、そんなサバ聞いたことないにゃ。

サバじゃなくて、サーバだにょろ!


WordPressを利用するには、HTTP(エイチティーティーピー)サーバが必要になります。
HTTPサーバの中でも現在多く利用されているのがApache(アパッチ)とNginx(エンジンエックス)です。
ここでは、Apacheを利用してHTTPサーバを構築する方法を説明します。

WordPressの動作環境については下記のページをご参照ください。

要件 | WordPress.org 日本語
https://ja.wordpress.org/about/requirements/

Apache公式サイトのインストールは下記のページをご参照ください。

コンパイルとインストール – Apache HTTP サーバ バージョン 2.4
http://httpd.apache.org/docs/2.4/install.html

1.dnf(ディーエヌエフ)コマンドを利用して、インストールを行います。
インストールのコマンドは「dnf install」です。
続けてパッケージ名を入力します。Apacheのパッケージ名「httpd」です。
また、特権での実行が必要になりますので「sudo」を最初に入力します。

[chatora@wordpress ~]$ sudo dnf install httpd

2.上記のコマンドを実行すると、確認画面が表示されます。
Apacheの動作に必要なパッケージが自動的にインストールされる事が表示されます。
「Installing dependecies(インストーリング ディペンデンシーズ)」の下に表示されているのが、一緒にインストールされるパッケージの名前です。
特に問題なければ「y」を入力し、Enterキーを押します。

Last metadata expiration check: 0:52:28 ago on Sun 06 Sep 2020 05:03:35 AM UTC.
Dependencies resolved.
================================================================================
 Package           Arch   Version                               Repo       Size
================================================================================
Installing:
 httpd             x86_64 2.4.37-21.module_el8.2.0+382+15b0afa8 AppStream 1.7 M
Installing dependencies:
 apr               x86_64 1.6.3-9.el8                           AppStream 125 k
 apr-util          x86_64 1.6.1-6.el8                           AppStream 105 k
 centos-logos-httpd
                   noarch 80.5-2.el8                            BaseOS     24 k
 httpd-filesystem  noarch 2.4.37-21.module_el8.2.0+382+15b0afa8 AppStream  36 k
 httpd-tools       x86_64 2.4.37-21.module_el8.2.0+382+15b0afa8 AppStream 103 k
 mailcap           noarch 2.1.48-3.el8                          BaseOS     39 k
 mod_http2         x86_64 1.11.3-3.module_el8.2.0+307+4d18d695  AppStream 157 k
Installing weak dependencies:
 apr-util-bdb      x86_64 1.6.1-6.el8                           AppStream  25 k
 apr-util-openssl  x86_64 1.6.1-6.el8                           AppStream  27 k
Enabling module streams:
 httpd                    2.4

Transaction Summary
================================================================================
Install  10 Packages

Total download size: 2.3 M
Installed size: 6.1 M
Is this ok [y/N]:y

3.ダウンロードとインストールの処理が実行されます。

Downloading Packages:
(1/10): apr-util-bdb-1.6.1-6.el8.x86_64.rpm     114 kB/s |  25 kB     00:00
(2/10): apr-util-openssl-1.6.1-6.el8.x86_64.rpm 364 kB/s |  27 kB     00:00
(3/10): apr-util-1.6.1-6.el8.x86_64.rpm         297 kB/s | 105 kB     00:00
(4/10): apr-1.6.3-9.el8.x86_64.rpm              351 kB/s | 125 kB     00:00
(5/10): httpd-filesystem-2.4.37-21.module_el8.2 421 kB/s |  36 kB     00:00
(6/10): httpd-tools-2.4.37-21.module_el8.2.0+38 392 kB/s | 103 kB     00:00
(7/10): mod_http2-1.11.3-3.module_el8.2.0+307+4 568 kB/s | 157 kB     00:00
(8/10): httpd-2.4.37-21.module_el8.2.0+382+15b0 3.2 MB/s | 1.7 MB     00:00
(9/10): centos-logos-httpd-80.5-2.el8.noarch.rp  85 kB/s |  24 kB     00:00
(10/10): mailcap-2.1.48-3.el8.noarch.rpm        159 kB/s |  39 kB     00:00
--------------------------------------------------------------------------------
Total                                           1.8 MB/s | 2.3 MB     00:01
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                        1/1
  Installing       : apr-1.6.3-9.el8.x86_64                                1/10
  Running scriptlet: apr-1.6.3-9.el8.x86_64                                1/10
  Installing       : apr-util-bdb-1.6.1-6.el8.x86_64                       2/10
  Installing       : apr-util-openssl-1.6.1-6.el8.x86_64                   3/10
  Installing       : apr-util-1.6.1-6.el8.x86_64                           4/10
  Running scriptlet: apr-util-1.6.1-6.el8.x86_64                           4/10
  Installing       : httpd-tools-2.4.37-21.module_el8.2.0+382+15b0afa8.    5/10
  Installing       : mailcap-2.1.48-3.el8.noarch                           6/10
  Installing       : centos-logos-httpd-80.5-2.el8.noarch                  7/10
  Running scriptlet: httpd-filesystem-2.4.37-21.module_el8.2.0+382+15b0    8/10
  Installing       : httpd-filesystem-2.4.37-21.module_el8.2.0+382+15b0    8/10
  Installing       : mod_http2-1.11.3-3.module_el8.2.0+307+4d18d695.x86    9/10
  Installing       : httpd-2.4.37-21.module_el8.2.0+382+15b0afa8.x86_64   10/10
  Running scriptlet: httpd-2.4.37-21.module_el8.2.0+382+15b0afa8.x86_64   10/10
  Verifying        : apr-1.6.3-9.el8.x86_64                                1/10
  Verifying        : apr-util-1.6.1-6.el8.x86_64                           2/10
  Verifying        : apr-util-bdb-1.6.1-6.el8.x86_64                       3/10
  Verifying        : apr-util-openssl-1.6.1-6.el8.x86_64                   4/10
  Verifying        : httpd-2.4.37-21.module_el8.2.0+382+15b0afa8.x86_64    5/10
  Verifying        : httpd-filesystem-2.4.37-21.module_el8.2.0+382+15b0    6/10
  Verifying        : httpd-tools-2.4.37-21.module_el8.2.0+382+15b0afa8.    7/10
  Verifying        : mod_http2-1.11.3-3.module_el8.2.0+307+4d18d695.x86    8/10
  Verifying        : centos-logos-httpd-80.5-2.el8.noarch                  9/10
  Verifying        : mailcap-2.1.48-3.el8.noarch                          10/10

Installed:
  apr-1.6.3-9.el8.x86_64
  apr-util-1.6.1-6.el8.x86_64
  apr-util-bdb-1.6.1-6.el8.x86_64
  apr-util-openssl-1.6.1-6.el8.x86_64
  centos-logos-httpd-80.5-2.el8.noarch
  httpd-2.4.37-21.module_el8.2.0+382+15b0afa8.x86_64
  httpd-filesystem-2.4.37-21.module_el8.2.0+382+15b0afa8.noarch
  httpd-tools-2.4.37-21.module_el8.2.0+382+15b0afa8.x86_64
  mailcap-2.1.48-3.el8.noarch
  mod_http2-1.11.3-3.module_el8.2.0+307+4d18d695.x86_64

Complete!

4.Apacheのサービスとして常駐して動作します。
サービス開始させるためのコマンドは、「systemctl start」です。
続けてパッケージ名を入力します。
やはり、特権での実行が必要になりますので「sudo」を最初に入力します。

[chatora@wordpress ~]$ sudo systemctl start httpd

5.サービスが正常に動作しているか確認します。
サービスの状態を確認するコマンドは「systemctl status」
続けてパッケージ名を入力します。
やはり、特権での実行が必要になりますので「sudo」を最初に入力します。
「Active: active (running)」と表示される事から、正常に動作してる事が分かります。
また、その後にログ等も表示されます。表示を終了するには「q」を入力します。

[chatora@wordpress ~]$ sudo systemctl status httpd
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor pres>
   Active: active (running) since Sun 2020-09-06 06:07:07 UTC; 4min 3s ago
     Docs: man:httpd.service(8)
 Main PID: 47936 (httpd)
   Status: "Running, listening on: port 80"
    Tasks: 213 (limit: 3233)
   Memory: 24.8M
   CGroup: /system.slice/httpd.service
           tq47936 /usr/sbin/httpd -DFOREGROUND
           tq47937 /usr/sbin/httpd -DFOREGROUND
           tq47938 /usr/sbin/httpd -DFOREGROUND
           tq47939 /usr/sbin/httpd -DFOREGROUND
           mq47940 /usr/sbin/httpd -DFOREGROUND

6.この状態でApacheは利用可能ですが、サーバを再起動すると停止してしまいます。
次にサーバを再起動する時のために、サービス自動起動の設定を行います。
サービス自動起動のコマンドは「systemctl enable」です。
続けてパッケージ名および頭にsudoコマンドが必要です。

[chatora@wordpress ~]$ sudo systemctl enable httpd
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.

7.サービス自動起動が有効になったか確認します。
サービス自動起動の確認方法は「systemctl is-enabled」です。
続けてパッケージ名および頭にsudoコマンドが必要です。
「enabled」と表示され、サービス自動起動が有効になっている事が確認できました。

[chatora@wordpress ~]$ sudo systemctl is-enabled  httpd
enabled

お腹すいたにゃー
がぶっ

齧っちゃだめにょろ!
餌じゃないにょろ!

Linux入門 SELinuxを無効にする

何事も準備が大切にょろ!

準備体操は得意にゃ!
みょーーーん (弟子がのびる音)

のびてるだけだにょろ・・・
みょーーーん (師匠がのびる音)


まず、いろいろソフトウェアをインストールする前に、SELinux(エスイーリナックス)を無効にしておきます。
セキュリティ面では有効した方が良いのですが、設定が難しいため、最初は無効にしておいた方が良いと思います。

1.現在のSELinuxの状態を確認するコマンドは、「getenforce(ゲットエンフォース)」です。
さっそく入力してみましょう。
「Enforceing(エンフォーシング)」と表示された場合は、SELinuxの設定が有効になっています。

[chatora@wordpress ~]$ getenforce
Enforceing

2.SELinuxの設定ファイルは、「/etc/selinux/config」です。
前回説明した「cat」コマンドで設定ファイルの状態を確認したいと思います。
コマンドは「cat /etc/selinux/config」です。

[chatora@wordpress ~]$ cat /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
#SELINUX=enforcing
SELINUX=disabled
# SELINUXTYPE= can take one of these three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted


3.設定ファイルが表示されました。
この中で、行頭に”#”が表示されている行はコメントです。
実際に動作には影響なく、説明等が記載されています。
つまり、この設定ファイルの中で、実際に動作に影響しているのは下記の2行になります。

SELINUX=enforcing
SELINUXTYPE=targeted

4.コメント行に英語で説明が書いてあるので分かるかもしれませんが、「disabled」にするとSELinuxが無効になります。
テキストファイルを編集するコマンドは、「vi(ヴイアイ)」です。
ただし、ユーザ権限ですと編集できないので、一時的に特権ユーザになって編集を行います。
一時的に特権モードになるコマンドは、「sudo(スードゥ)」です。
下記のようにコマンドを入力します。
最初に「sudo」コマンドを実行した際、パスワードを求められます。
その場合はログオン時に入力したパスフレーズを入力してください。
2回目以降はパスワード無しでコマンドが実行されます。

$ sudo vi /etc/selinux/config

5.viの編集画面が表示されます。
設定ファイルがそのまま表示されているだけの、非常にシンプルな画面になります。
viには、「コマンドモード」と「入力モード」の2つのモードを使い分けて編集を行うことなります。
テキストファイルを開いた直後は、「コマンドモード」の状態です。

6.キーボードの「↓」キーを押して、「SELINUX=enforcing」と表示されている行まで移動します。
その行にカーソルが来たら、キーボードの「y」キーを2回入力します。
表示の変化はありませんが、カーソルのある行がコピーされました。

7.キーボードの「p」キーを1回入力します。
すると、先ほどコピーした行が貼り付きます。
「SELINUX=enforcing」が2行になりました。

8.次にモードを切り替えます。
キーボードの「i」キーを1回入力します。
すると「入力モード」に切り替わり文字が入力できるようになります。
画面の一番下に「– INSERT –」と表示され、「入力モード」になっている事がわかります。
1行目の「SELINUX=enforcing」に「#」を入力します。
これは、元の設定状態をコメントとして残しておくためです。
2行名の「SELINUX=enforcing」の行は、実際に設定する行です。
後半の「enforcing」を「disabled」に修正します。

9.編集が終わったら、キーボードの「esc」キーを押して、「コマンドモード」に切り替えます。
画面の一番下に表示されていた「– INSERT –」が消えている事を確認します。

10.編集した設定ファイルを保存します。
キーボードから「:wq」と入力してください。
画面の一番下に入力したコマンドが表示されている事を確認してからEnterキーをクリックします。
もし、編集を間違えてしまし、設定ファイルを保存したくない場合「:q!」と入力してください。設定ファイルを保存せずに編集を終了できます。

11.設定を反映するため、サーバを再起動します。
再起動のコマンドは「reboot(リブート)」ですが、特権モードが必要になりますので「sudo」を前につけて実行します。
コマンドを実行すると、再起動の処理が行われ、自動的にSSHが切断され、Tera Termが終了します。

[chatora@wordpress ~]$ sudo reboot

12.再起動が完了するまで1、2分待ってから、再度SSHでログインします。
ログインできたらSELinuxの状態を確認します。
「Disabled」と表示されたら、SELinuxが無効になっています。

[chatora@wordpress ~]$ getenforce
Disabled

モードが分からなくなったら「esc」をキーを連打してコマンドモードに戻るにょろ!