Linux入門 テストページの表示

なかなかページが表示されないにゃ

ページを表示するためにはファイアウォールの設定も必要だにょろ

ふぁいあうぉーる?
ちゅーるなら食べたことあるにゃ!

「る」しか合ってないにょろ!


ファイアウォールとは防火壁の事です。
Linuxでは外部から不要な通信をできないようにする仕組みの事です。
また、GCPにもファイアウォールの仕組みがあり、初期設定ではウェブサーバの通信は許可されていません。
ウェブサーバにアクセスできるようにファイアウォールの設定を行います。

1.GCPのVMインスタンスの画面から、インスタンスの名前をクリックします。

2.VMインスタンスの詳細が表示されたら、「編集」をクリックします。

3.下にスクロールして、「ファイアウォール」の設定箇所を探します。

4.「HTTPトラフィックを許可する」と「HTTPSトラフィックを許可する」にチェックを入れます。

5.一番下までスクロールして、「保存」をクリックします。

6.ブラウザから新しいタブを開いて、自分のホスト名を入力します。
下記のようなテストページが表示されれば成功です。


ファイアウォールはご飯じゃないにょろ

Linux入門 Apacheの設定

ドメインも取得して、これでサーバを公開するにゃ!

Apacheでウェブサイトを公開するには、いろいろな設定が必要にょろ

公開までの道のりは長いにゃー
みょーん(弟子がのびる音)


ドメインの取得とDNS設定までできたら、Apacheの設定を行っていきます。
Apache の設定ファイルが複数に分かれていますが、最初はメインの設定ファイル「http.conf」を設定していきます。

1.設定ファイル「http.conf」を編集する前に、コピーを保存しておきます。
これは、設定ファイルを間違って編集してしまった際、元の設定に戻すためです。
ファイルをコピーするのは、cp(シーピー)コマンドです。

[root@wordpress chatora]# cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak

2.設定ファイル「http.conf」を編集します。
viコマンドを利用します。
文頭に「#」をつけているのがコメントアウトした行です。
編集する行をコピーしてからコメントアウトしています。
「#」のない行が実際の設定になります。

[root@wordpress chatora]# vi /etc/httpd/conf/httpd.conf

98行目付近
ホスト名とポート番号を指定します。
ウェブサーバでは通常80番ポートを利用します。

#ServerName www.example.com:80
ServerName linux.gakubu.net:80

147行目付近
オプション設定の中から、「Indexes」を削除します。
「Indexes」が設定されているとファイルやフォルダの一覧が表示されてしまいます。

#       Options Indexes FollowSymLinks
       Options FollowSymLinks

167行目付近
そのディレクトリを指定された際、自動的に開くファイルを指定します。
WordPressではphpを利用しているので、index.phpを追加します。

#    DirectoryIndex index.html
    DirectoryIndex index.html index.php

319行目付近
デフォルトの文字コードをコメントアウトします。
UTF-8以外の文字コードがあった際、文字化けの原因となるため、コメントアウトします。

#AddDefaultCharset UTF-8

サーバのバージョン情報を表示しないためのです。
セキュリティ対策として、バージョン情報を表示しないようにします。
最終行に追記します。

ServerTokens Prod
ServerSignature Off

3.viを使用せずに設定ファイルを編集する方法
viコマンドで編集する代わりに、sedコマンドやリダイレクトを使う方法でも編集可能です。

※viで編集した場合には、この操作は不要になります。

[root@wordpress chatora]# sed -i 's/ServerName www.example.com:80/ServerName linux.gakubu.net:80/g' /etc/httpd/conf/httpd.conf
[root@wordpress chatora]# sed -i 's/Options Indexes FollowSymLinks/Options FollowSymLinks/g' /etc/httpd/conf/httpd.conf
[root@wordpress chatora]# sed -i 's/DirectoryIndex index.html/DirectoryIndex index.html index.php/g' /etc/httpd/conf/httpd.conf
[root@wordpress chatora]# sed -i 's/AddDefaultCharset UTF-8/#AddDefaultCharset UTF-8/g' /etc/httpd/conf/httpd.conf
[root@wordpress chatora]# echo ServerTokens Prod >> /etc/httpd/conf/httpd.conf
[root@wordpress chatora]# echo ServerSignature Off >> /etc/httpd/conf/httpd.conf

4.文法チェックを行います。
apachectl configtestコマンドを実行し、「Syntax OK」と表示されれば問題ありません。
問題があった場合には、問題の発生している行数と理由が表示されます。
設定が間違っていないか確認してください。

[root@wordpress chatora]# apachectl configtest
Syntax OK

5.設定を反映するためサービスを再起動します。

[root@wordpress chatora]# systemctl restart httpd

sedコマンドやリダイレクトを使うと、サーバ構築時間を短縮できるにょろ

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」コマンドは必要な時だけ使うにょろ!