現在CentOS6がサポート終了しているので、仮想マシンの起動はできるのですが、 必須のアプリケーションをインストールすることができません アマゾンのAWSを利用する手もありますが、クレジットカードが必須など抵抗がある方もいらっしゃるかと思います また初心者の私としてはドットインストールなどで解説を受けながら進めたいわけです ということでやってみたのが 仮想マシンのOSを CentOS6.8 → CentOS7以降 に変更する 実に単純な解決方法ですね CentOS7以降だとその後のアプリのインストール方法が若干変わるので、その都度説明します #4 までは教材通りで大丈夫です #5 の MyCentOSフォルダに移動するところから別ルートに入ります ドットインストールをやっていない方は次の下準備をやっていただければ問題なく進めるかと思います
教材ではここで
というコマンドを実行するわけですが、この通りに実行すると CentOS6.8がインストールされてしまいます そこで このページ でCentOS7以降の設定ファイルを拝借して、それで仮想マシンを立ち上げます とりあえず virtualbox、CentOs などでソートしてこれだ、と思った7以降の CentOS のBOXをクリック 今回は一番目立っている↓この centos/7 2004.01 を例に説明します 他のBOXでも手順は同じです Newをクリックして
という部分を、開いておいた PowerShell にコピペして実行します これで MyCentOSフォルダ(下準備で作ったフォルダ)に CentOS7 を立ち上げるための vagrantfile が作られます この vagrantfile を何らかのエディタで開いて編集します その中に
という箇所があるので # を消して有効化して保存します ip ~ の部分は仮想マシンの住所になる番号です 複数の仮想マシンを立ち上げる場合は ip がかぶらないように少し変更しておくとよいかと思います(例えば "192.168.33.11") あとは PowerShell で
を実行です 途中で何か聞かれるかもですが OK とか Y とかで進めます これで起動完了です
を実行して running と表示されていれば成功です ちなみに
を実行するとシャットダウンできます
教材では次に PuTTY というアプリをインストールし、これを使ってログインするのですが、 現バージョンでは残念ながら設定をいじらないと PuTTY ではログインできません ということで別の方法でログインします 色々あるのですが、とりあえず4つ紹介します
VirtualBoxを開くと仮想マシン一覧を見ることができます その中からいじりたいマシンを選んで「表示」をクリックするとちょっと小さい窓が出て 直接仮想マシンを操作することができます ユーザー、パスワードはどちらも vagrant です 入力してEnterでログインできます フォントがとげとげしくて、コピペが使えないのが難点です Tabキーでの入力補完はできるので、環境を整えるだけなら十分ですね
一番簡単です vagrant up をした場所で
を実行する 以上 ちょろすぎます Vagrant で作った仮想マシンならこれでいけますが、それ以外のシチュエーションでは使えないのでちょっと補足です 補足と言いながら少々長いです ログインできればそれでよし、の場合は読み飛ばしてください まず ssh というのはネットワークで他のパソコンをいじることができる仕組みです よそ様のパソコンを好き放題出来てしまうわけなので、つなげる段階で厳しく審査されます 具体的にはカギ穴ファイルとそれと対になるカギファイルを作っておいて(※正式な名前ではなく、私のイメージです) 接続先にカギ穴ファイルを、接続元にカギファイルを設置します ログインするときは、カギ穴ファイルに対応したカギファイルを見せないとログインできないという仕掛けです (昔のバージョンではパスワードでいけたようですね) どうやって見せるかというと
と実行します -i はカギを見せます -p はこの入り口から入ります という意味です 実行する場所は vagrant ssh の時と違いどこでもOKです 私の場合だと
となります 説明すると -i D:/LocalServer/CentOs/.vagrant/machines/default/virtualbox/private_key は Dドライブの、LocalServerの中で CentOsという仮想マシンを立ち上げていると、このパスになります そこから先のパスは特にいじってなければ共通です vagrant@192.168.33.10 は vagrant はユーザー名ですね @ 以降は vagrantfile の編集時に決めたipを入力します 何もしていなければ 192.168.33.10 です 最後の -p 22 は22番のポートから入りますよという意味です 実は通常は書く必要がありません ssh とした時点で、22番から入りますってことになっているみたいですね では何のためのオプションなのかというと 後で少し触れますが、この仮想マシン 実はもう一つの住所と入り口があります そっちから入るときには指定する必要があるということなんですね あとはセキュリティ強化のために入り口を普段と違うところに開けるというケースもありそうですね
個人的に一番おすすめです 一応この機能はまだ Preview なので不思議なことが起こるかもしれません まずは VScode の拡張機能の Remote-SSH をインストールします 次に設定ファイルを作成します 左下のボタンをクリックして Remote-SSH:Open Configuration File を選びます 設定ファイル候補が出ているので好きなファイルを開きます 選ぶとファイルが開くので設定を書き込みます 書き込む内容は
こんな感じです Host はこの接続の名前です 後からわかりやすい名前を付けましょう HostName には接続先の住所を書き込みます とくに変更していなければ 192.168.33.10 です User は Vagrant で立ち上げたのなら vagrant でOKですね 保存したら、設定ファイルを作るときに使った左下のボタンをもう一度クリックして 今度は Remote-SSH:Connect ~ のどちらでもいいので選択すると先ほど Host に入力した名前が表示されているはずです それをクリックすれば接続が始まります 違いは上は今のウィンドウで、下は新しいウインドウで接続します パスワードを入力すればログイン完了です さらに接続先のフォルダを表示させることもできます (もう一度パスワードをきかれます) ちなみに設定ファイルに
と追加するとパスワードの入力なしで接続できるようになります カギについては その2 PowerShell からログインする の補足部分を御覧ください VScode で接続するとファイルを開くのが簡単になるし、コピペ、ドラッグ&ドロップで編集もできるので色々便利です
PuTTY の上手な使い方を知らないので、いまいちメリットは感じられないのですが 接続先の設定を変えることで、カギを使わなくてもログインできるようにできます まずはどの方法でもいいので仮想マシンにログインします 設定ファイルというのは通常は好き勝手にいじるとよくないので、管理者権限がないと編集できません てことで
を実行します sudo と文頭に入力することで、続くコマンドを管理者権限をもって実行することができます 今回のコマンドでは、 本来は編集できないはずの sshd_config というファイルを編集ソフトの vim で編集しちゃおう、ということですね コマンドを入力するとずらっと設定が表示されるので i を押してINSERTモードにします PasswordAuthentication という個所を探して
となるように # をつけ外しします これはパスワードでのログインを認めますか? いうことで このように変更することでカギではなく、パスワードによるログインが可能になり、 PuTTY でログインできるようになります 逆にセキュリティを強化したいときにはパスワードでのログインを禁止したり、 別の項目をいじって、パスワードなしでログインできるようにできたりと実に怖いファイルですね
まずはOS自体を最新のものにアップデートします
でOSのアップデートができます そのほかに何が必要なのかは正直わからないのですが、教材でインストールされている Apache, PHP, Ruby, Node.js, MySQL をインストールします インストール自体は簡単です
でインストールできます ちょっとバージョンが古いものがインストールされる物もありますが、 練習するだけなら問題ないのでしょう ただ新しいもの大好きな私としてはどうしても我慢できませんでした せめて自分で使うものだけでも新しくしたい、という思いで色々調べてみました ということで新しい物好きな方は以下をご参照ください
さっさと使いたい方はこちら
Apache は最初に紹介した方法で、すんなり最新版がインストールできました Apache をインストールと言いながら httpd をインストールしていますが、気にしないでください しっかり Apache がインストールされます Apacheとは Apache は Webサーバーソフトウェアです 最も基本的な使い方は インターネットで見ることのできるホームページを置いておくことです 普段見ているホームページは、ネットという不思議空間にぷかぷか浮いているわけではなく どこかの誰かのパソコンの中にデータとして存在していて それを見せてもらっているというわけです 字面だけ見ると ssh でログインするときとよく似ていますね ssh と違って、こちらで許可したフォルダの中の特定のファイルしか見ることはできませんが 住所さえ知っていれば誰でも閲覧可能です
さっさと使いたい方はこちら MySQL8.0をインストールする場合
mariaDBをインストールする場合
コマンドの解説をします どちらを選ぶかですが、 MySQL と mariaDB のコマンドが混在してややこしい、という方は MySQL8.0用の方法でインストールしましょう まずは MySQL8.0 をインストールする場合 普通にやると mariaDB がインストールされるので、まずは mariaDB の痕跡を消します
この2つを実行すれば消えるはずです 最初から痕跡がない場合は大した反応がないかもしれません ここから改めて MySQL8 をインストールしていきます まずは
を実行して、MySQL8 のありかを登録します このアドレスは公式ページの DOWNLOADS から進んでいった先にあります 今後新しいバージョンがでると変わるかもですが、とりあえず今はここの No thanks, just start my download.ってところにあります 次に
でインストールします システムの起動は
mysql「d」なのに注意です 続いてログインするのですが、最近のバージョンは、rootユーザーでもパスワードがないとログインできなくなりました そんなこと言われてもパスワードを決めるタイミングなんてありませんでしたよね 実は初期パスワードは勝手にしかもランダムに決められちゃっています セキュリティ万全ですね で、肝心の初期パスワードは /var/log/mysql.log といいうファイルにシステム起動時にちゃっかり書き込まれています アドレスをみて何となく察しが付くと思いますが、通常ではアクセス出来ないファイルですね ということで
cat コマンドでファイルの中身を表示します 色々書いてある中から A temporary password is generated for root@localhost: u!ouRy%a,1!e (root さん用の仮パスワードを生成したよ) という部分を探します この u!ouRy%a,1!e(ここはランダムで決まります) という部分に自動生成された初期パスワードが表示されています これをコピーしておいて
を実行します 最初にパスワードを聞かれるので先ほどの仮パスワードを入力 あとは本パスワードとかその他いろいろセキュリティ関係を聞かれるがままに設定していけば完了です ちなみに本パスワードを設定する前に
として、 仮パスワードでログインすることはできますが、 何かしようとしても 本パスワードを設定してからね、と拒否られます… 次に mariaDBをインストールする場合を説明します まずは
でインストール そしてシステムの起動ですね
ログインするときは maria~ ではなく
でOKです MySQL の時と違い仮パスワードは設定されていないのでこれでログインできます いろいろと統一しておいてほしいものです… また MySQL の時と同様に
でパスワードその他いろいろの設定を変えることもできます どちらも共通して言えることですが、ログアウト時の Bye がなんだかほっこりします MySQLとは MySQL はサーバーにデータベースを作るソフトウェアの1つです まずデータベースとはなんぞ、ということですが 実際に触れるものでいえば電話帳とか、学生時代のクラス名簿とか家計簿とかですね 要はたくさんのデータを後から簡単に見つけたり、加工したりできるように整理したものってことです なぜそんなことをする必要があるのかというと トランプの大富豪を想像してみてください 多くのプレイヤーが手札を数字ごとに、強さの順にまとめていないでしょうか 自分の番が来た時に出せるカードを 出すかどうか、を悩むことはあっても 持っているかどうか、で悩むことはないのではないでしょうか これがデータを整理する方法とそのメリットです 処理速度が圧倒的に早くなりました 大富豪で遊ぶ、という時点で無意識に自分の手札を簡易データベース化しちゃってるんですね 話を戻しまして リストを作って整理・加工するだけなら html + JavaScript でも出来ますが、残念ながらこれだと表から丸見えです CSS 等を使ってホームページには記載されていないかのように見せても、ちょっと F12 を押すだけで簡単にバレます これでは個人情報のような、人に見られてはいけないデータを入力するわけにはいきませんし、 逆に使わないデータをいちいち全部読み込まれても困ります かといって紙媒体や自分のPCに入れてるだけではホームページに反映させることができません そもそも、大量のデータの中から特定の条件にあうデータを見つける、なんてことを人力でやっていたら ミスは多いし、時間はかかるしで良いことなしです ここはパソコンさんに出張ってもらいたいところです これらすべての解決策としてサーバーにデータベースを作り、外に漏れないように管理しているのがこの MySQL ということです そして MySQL から情報を引き出すのが次項で紹介する Nodejs です
AWS の EC2 に Node.js をインストールする方法がAWS公式ページにありまして チュートリアル: Amazon EC2 インスタンスでの Node.js のセットアップ これがそのまま使えます nvm というのが Node.js のバージョン管理ツールで Node.js のバージョンに関して色々とカスタマイズできます 昔のバージョンじゃなと動かない、というシーンに出くわしても簡単にダウングレードすることができます 例えば v12.13.0 に変更したい と思ったら
で変更できます ちなみに変更可能なバージョンのリストは
で確認することができます あとはプロジェクトを立ち上げたいフォルダに移動して
で初期設定を行えます package.json というファイルが作られて、 この中に色々設定が書き込まれます とりあえず個人で練習するだけならエンターを押していくだけでOKです Nodejsとは Nodejs というのはサーバーサイドで動く JavaScript です これだけでは何の事やらですね… 同じアドレスのホームページを見ているのに、人によって表示内容が違う、ということはないでしょうか これは、サーバーが表からは見えないように隠し持っているデータ(個人情報などなど)をもとに 人それぞれにページをカスタマイズして表示してくれているからです そのためには、見ている人に合わせて どのページをどんな風にカスタマイズするのか という対応マニュアルのようなものを作っておいて、 それを毎回参照してホームページを作る、という仕組みが必要です こういった仕組みが世の中にはいくつかありまして、その一つが Nodejs ということです で、その中身が JavaScript で書かれている、ということですね
[ドットインストール]ローカル開発環境の構築[windows編]
現在CentOS6がサポート終了しているので、仮想マシンの起動はできるのですが、
必須のアプリケーションをインストールすることができません
アマゾンのAWSを利用する手もありますが、クレジットカードが必須など抵抗がある方もいらっしゃるかと思います
また初心者の私としてはドットインストールなどで解説を受けながら進めたいわけです
ということでやってみたのが
仮想マシンのOSを CentOS6.8 → CentOS7以降 に変更する
実に単純な解決方法ですね
CentOS7以降だとその後のアプリのインストール方法が若干変わるので、その都度説明します
#4 までは教材通りで大丈夫です
#5 の MyCentOSフォルダに移動するところから別ルートに入ります
ドットインストールをやっていない方は次の下準備をやっていただければ問題なく進めるかと思います
目次-
1.CentOS7以降の仮想マシンを作る
-
2.仮想マシンにログインする
-
3.必須アプリケーションをインストールする
-
4.Cyberduckのインストール(準備中)
1.CentOS7以降の仮想マシンを作る
教材ではここで
vagrant init bento/centos-6.8
というコマンドを実行するわけですが、この通りに実行すると CentOS6.8がインストールされてしまいます
Newをクリックして
そこで
このページ でCentOS7以降の設定ファイルを拝借して、それで仮想マシンを立ち上げます
とりあえず virtualbox、CentOs などでソートしてこれだ、と思った7以降の CentOS のBOXをクリック
今回は一番目立っている↓この centos/7 2004.01 を例に説明します
他のBOXでも手順は同じです
vagrant init centos/7
という部分を、開いておいた PowerShell にコピペして実行します
これで MyCentOSフォルダ(下準備で作ったフォルダ)に CentOS7 を立ち上げるための vagrantfile が作られます
この vagrantfile を何らかのエディタで開いて編集します
その中に
# config.vm.network "private_network", ip: "192.168.33.10"
という箇所があるので
# を消して有効化して保存します
ip ~ の部分は仮想マシンの住所になる番号です
複数の仮想マシンを立ち上げる場合は ip がかぶらないように少し変更しておくとよいかと思います(例えば "192.168.33.11")
あとは PowerShell で
vagrant up
を実行です
途中で何か聞かれるかもですが OK とか Y とかで進めます
これで起動完了です
vagrant status
を実行して
running と表示されていれば成功です
ちなみに
vagrant halt
を実行するとシャットダウンできます
2.仮想マシンにログインする
教材では次に PuTTY というアプリをインストールし、これを使ってログインするのですが、
現バージョンでは残念ながら設定をいじらないと PuTTY ではログインできません
ということで別の方法でログインします
色々あるのですが、とりあえず4つ紹介します
その1 直接ログインする
VirtualBoxを開くと仮想マシン一覧を見ることができます
直接仮想マシンを操作することができます
その中からいじりたいマシンを選んで「表示」をクリックするとちょっと小さい窓が出て
ユーザー、パスワードはどちらも vagrant です
入力してEnterでログインできます
フォントがとげとげしくて、コピペが使えないのが難点です
Tabキーでの入力補完はできるので、環境を整えるだけなら十分ですね
その2 PowerShellからログインする
一番簡単です
vagrant up をした場所で
vagrant ssh
を実行する
以上
ちょろすぎます
Vagrant で作った仮想マシンならこれでいけますが、それ以外のシチュエーションでは使えないのでちょっと補足です
補足と言いながら少々長いです
ログインできればそれでよし、の場合は読み飛ばしてください
まず ssh というのはネットワークで他のパソコンをいじることができる仕組みです
よそ様のパソコンを好き放題出来てしまうわけなので、つなげる段階で厳しく審査されます
具体的にはカギ穴ファイルとそれと対になるカギファイルを作っておいて(※正式な名前ではなく、私のイメージです)
接続先にカギ穴ファイルを、接続元にカギファイルを設置します
ログインするときは、カギ穴ファイルに対応したカギファイルを見せないとログインできないという仕掛けです
(昔のバージョンではパスワードでいけたようですね)
どうやって見せるかというと
ssh -i 自分のパソコンのカギのある場所 ユーザー名@接続先の住所 -p 接続先のポート
と実行します
-i はカギを見せます
-p はこの入り口から入ります という意味です
実行する場所は vagrant ssh の時と違いどこでもOKです
私の場合だと
ssh -i D:/LocalServer/CentOs/.vagrant/machines/default/virtualbox/private_key vagrant@192.168.33.10 -p 22
となります
説明すると
-i D:/LocalServer/CentOs/.vagrant/machines/default/virtualbox/private_key は
Dドライブの、LocalServerの中で
CentOsという仮想マシンを立ち上げていると、このパスになります
そこから先のパスは特にいじってなければ共通です
vagrant@192.168.33.10 は
vagrant はユーザー名ですね
@ 以降は vagrantfile の編集時に決めたipを入力します
何もしていなければ 192.168.33.10 です
最後の -p 22 は22番のポートから入りますよという意味です
実は通常は書く必要がありません
ssh とした時点で、22番から入りますってことになっているみたいですね
では何のためのオプションなのかというと
後で少し触れますが、この仮想マシン
実はもう一つの住所と入り口があります
そっちから入るときには指定する必要があるということなんですね
あとはセキュリティ強化のために入り口を普段と違うところに開けるというケースもありそうですね
その3 VScode の Remote-SSH でログインする
個人的に一番おすすめです
設定ファイル候補が出ているので好きなファイルを開きます
一応この機能はまだ Preview なので不思議なことが起こるかもしれません
まずは VScode の拡張機能の Remote-SSH をインストールします
次に設定ファイルを作成します
左下のボタンをクリックして Remote-SSH:Open Configuration File を選びます
選ぶとファイルが開くので設定を書き込みます
書き込む内容は
Host 好きな名前
HostName 192.168.33.10
User vagrant
こんな感じです
パスワードを入力すればログイン完了です
Host はこの接続の名前です
後からわかりやすい名前を付けましょう
HostName には接続先の住所を書き込みます
とくに変更していなければ 192.168.33.10 です
User は Vagrant で立ち上げたのなら vagrant でOKですね
保存したら、設定ファイルを作るときに使った左下のボタンをもう一度クリックして
今度は Remote-SSH:Connect ~ のどちらでもいいので選択すると先ほど Host に入力した名前が表示されているはずです
それをクリックすれば接続が始まります
違いは上は今のウィンドウで、下は新しいウインドウで接続します
さらに接続先のフォルダを表示させることもできます
(もう一度パスワードをきかれます)
ちなみに設定ファイルに
IdentityFile 自分のパソコンのカギのある場所
と追加するとパスワードの入力なしで接続できるようになります
カギについては その2 PowerShell からログインする の補足部分を御覧ください
VScode で接続するとファイルを開くのが簡単になるし、コピペ、ドラッグ&ドロップで編集もできるので色々便利です
おまけ PuTTYでログインする
PuTTY の上手な使い方を知らないので、いまいちメリットは感じられないのですが
接続先の設定を変えることで、カギを使わなくてもログインできるようにできます
まずはどの方法でもいいので仮想マシンにログインします
設定ファイルというのは通常は好き勝手にいじるとよくないので、管理者権限がないと編集できません
てことで
sudo vi /etc/ssh/sshd_config
を実行します
sudo と文頭に入力することで、続くコマンドを管理者権限をもって実行することができます
今回のコマンドでは、
本来は編集できないはずの sshd_config というファイルを編集ソフトの vim で編集しちゃおう、ということですね
コマンドを入力するとずらっと設定が表示されるので
i を押してINSERTモードにします
PasswordAuthentication という個所を探して
PasswordAuthentication yes
# PasswordAuthentication no
となるように # をつけ外しします
これはパスワードでのログインを認めますか? いうことで
このように変更することでカギではなく、パスワードによるログインが可能になり、
PuTTY でログインできるようになります
逆にセキュリティを強化したいときにはパスワードでのログインを禁止したり、
別の項目をいじって、パスワードなしでログインできるようにできたりと実に怖いファイルですね
3.必須アプリケーションをインストールする
まずはOS自体を最新のものにアップデートします
sudo yum update
でOSのアップデートができます
そのほかに何が必要なのかは正直わからないのですが、教材でインストールされている
Apache, PHP, Ruby, Node.js, MySQL
をインストールします
インストール自体は簡単です
sudo yum install httpd php ruby nodejs mariadb-server
でインストールできます
ちょっとバージョンが古いものがインストールされる物もありますが、
練習するだけなら問題ないのでしょう
ただ新しいもの大好きな私としてはどうしても我慢できませんでした
せめて自分で使うものだけでも新しくしたい、という思いで色々調べてみました
ということで新しい物好きな方は以下をご参照ください
その1 Apache のインストール
さっさと使いたい方はこちら
sudo yum install httpd
/var/www/html/ にホームページのデータ(index.html的なファイルがあるところ)を丸ごとコピー
sudo systemctl start httpd
ブラウザで 192.168.33.10 (前章で決めた仮想マシンの住所) にアクセス
Apache は最初に紹介した方法で、すんなり最新版がインストールできました
Apache をインストールと言いながら httpd をインストールしていますが、気にしないでください
しっかり Apache がインストールされます
Apacheとは
Apache は Webサーバーソフトウェアです
最も基本的な使い方は
インターネットで見ることのできるホームページを置いておくことです
普段見ているホームページは、ネットという不思議空間にぷかぷか浮いているわけではなく
どこかの誰かのパソコンの中にデータとして存在していて
それを見せてもらっているというわけです
字面だけ見ると ssh でログインするときとよく似ていますね
ssh と違って、こちらで許可したフォルダの中の特定のファイルしか見ることはできませんが
住所さえ知っていれば誰でも閲覧可能です
その2 MySQL のインストール
さっさと使いたい方はこちら
MySQL8.0をインストールする場合
sudo yum remove mariadb-libs
sudo rm -r /var/lib/mysql
sudo yum install https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm
sudo yum install mysql-community-server
sudo systemctl start mysqld
sudo cat /var/etc/mysqld.log
↑で出てきたログから
A temporary password is generated for root@localhost: u!ouRy%a,1!e
という個所の u!ouRy%a,1!e(ここはランダムで決まります)をコピー
mysql_secure_installation
ここにさっきのパスワードを入力して、色々設定する
↑の設定に従ってログイン
mariaDBをインストールする場合
sudo yum install mariadb-server
sudo systemctl start mariadb
mysql -u root
コマンドの解説をします
どちらを選ぶかですが、
MySQL と mariaDB のコマンドが混在してややこしい、という方は MySQL8.0用の方法でインストールしましょう
まずは MySQL8.0 をインストールする場合
普通にやると mariaDB がインストールされるので、まずは mariaDB の痕跡を消します
sudo yum remove mariadb-libs
sudo rm -r /var/lib/mysql
この2つを実行すれば消えるはずです
最初から痕跡がない場合は大した反応がないかもしれません
ここから改めて MySQL8 をインストールしていきます
まずは
sudo yum install https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm
を実行して、MySQL8 のありかを登録します
このアドレスは公式ページの DOWNLOADS から進んでいった先にあります
今後新しいバージョンがでると変わるかもですが、とりあえず今はここの No thanks, just start my download.ってところにあります
次に
sudo yum install mysql-community-server
でインストールします
システムの起動は
sudo systemctl start mysqld
mysql「d」なのに注意です
続いてログインするのですが、最近のバージョンは、rootユーザーでもパスワードがないとログインできなくなりました
そんなこと言われてもパスワードを決めるタイミングなんてありませんでしたよね
実は初期パスワードは勝手にしかもランダムに決められちゃっています
セキュリティ万全ですね
で、肝心の初期パスワードは /var/log/mysql.log といいうファイルにシステム起動時にちゃっかり書き込まれています
アドレスをみて何となく察しが付くと思いますが、通常ではアクセス出来ないファイルですね
ということで
sudo cat /var/etc/mysqld.log
cat コマンドでファイルの中身を表示します
色々書いてある中から
A temporary password is generated for root@localhost: u!ouRy%a,1!e
(root さん用の仮パスワードを生成したよ)
という部分を探します
この u!ouRy%a,1!e(ここはランダムで決まります) という部分に自動生成された初期パスワードが表示されています
これをコピーしておいて
mysql_secure_installation
を実行します
最初にパスワードを聞かれるので先ほどの仮パスワードを入力
あとは本パスワードとかその他いろいろセキュリティ関係を聞かれるがままに設定していけば完了です
ちなみに本パスワードを設定する前に
mysql -u root -p
(rootユーザーとして MySQL にログインします、パスワードを聞いてください)
として、 仮パスワードでログインすることはできますが、
何かしようとしても 本パスワードを設定してからね、と拒否られます…
次に mariaDBをインストールする場合を説明します
まずは
sudo yum install mariadb-server
でインストール
そしてシステムの起動ですね
sudo systemctl start mariadb
ログインするときは maria~ ではなく
mysql -u root
(rootユーザーとして MySQL にログインします、パスワードはありません)
でOKです
MySQL の時と違い仮パスワードは設定されていないのでこれでログインできます
いろいろと統一しておいてほしいものです…
また MySQL の時と同様に
mysql_secure_installation
でパスワードその他いろいろの設定を変えることもできます
どちらも共通して言えることですが、ログアウト時の Bye がなんだかほっこりします
MySQLとは
MySQL はサーバーにデータベースを作るソフトウェアの1つです
まずデータベースとはなんぞ、ということですが
実際に触れるものでいえば電話帳とか、学生時代のクラス名簿とか家計簿とかですね
要はたくさんのデータを後から簡単に見つけたり、加工したりできるように整理したものってことです
なぜそんなことをする必要があるのかというと
トランプの大富豪を想像してみてください
多くのプレイヤーが手札を数字ごとに、強さの順にまとめていないでしょうか
自分の番が来た時に出せるカードを
出すかどうか、を悩むことはあっても
持っているかどうか、で悩むことはないのではないでしょうか
これがデータを整理する方法とそのメリットです
処理速度が圧倒的に早くなりました
大富豪で遊ぶ、という時点で無意識に自分の手札を簡易データベース化しちゃってるんですね
話を戻しまして
リストを作って整理・加工するだけなら html + JavaScript でも出来ますが、残念ながらこれだと表から丸見えです
CSS 等を使ってホームページには記載されていないかのように見せても、ちょっと F12 を押すだけで簡単にバレます
これでは個人情報のような、人に見られてはいけないデータを入力するわけにはいきませんし、
逆に使わないデータをいちいち全部読み込まれても困ります
かといって紙媒体や自分のPCに入れてるだけではホームページに反映させることができません
そもそも、大量のデータの中から特定の条件にあうデータを見つける、なんてことを人力でやっていたら
ミスは多いし、時間はかかるしで良いことなしです
ここはパソコンさんに出張ってもらいたいところです
これらすべての解決策としてサーバーにデータベースを作り、外に漏れないように管理しているのがこの MySQL ということです
そして MySQL から情報を引き出すのが次項で紹介する Nodejs です
その3 Node.js のインストール
さっさと使いたい方はこちら
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
. ~/.nvm/nvm.sh
nvm install node
ターミナルでプロジェクトを立ち上げたいフォルダへ移動して
npm init
AWS の EC2 に Node.js をインストールする方法がAWS公式ページにありまして
チュートリアル: Amazon EC2 インスタンスでの Node.js のセットアップ
これがそのまま使えます
nvm というのが Node.js のバージョン管理ツールで
Node.js のバージョンに関して色々とカスタマイズできます
昔のバージョンじゃなと動かない、というシーンに出くわしても簡単にダウングレードすることができます
例えば v12.13.0 に変更したい と思ったら
nvm v12.13.0
で変更できます
ちなみに変更可能なバージョンのリストは
nvm ls-remote
で確認することができます
あとはプロジェクトを立ち上げたいフォルダに移動して
npm init
で初期設定を行えます
package.json というファイルが作られて、 この中に色々設定が書き込まれます
とりあえず個人で練習するだけならエンターを押していくだけでOKです
Nodejsとは
Nodejs というのはサーバーサイドで動く JavaScript です
これだけでは何の事やらですね…
同じアドレスのホームページを見ているのに、人によって表示内容が違う、ということはないでしょうか
これは、サーバーが表からは見えないように隠し持っているデータ(個人情報などなど)をもとに
人それぞれにページをカスタマイズして表示してくれているからです
そのためには、見ている人に合わせて
どのページをどんな風にカスタマイズするのか
という対応マニュアルのようなものを作っておいて、
それを毎回参照してホームページを作る、という仕組みが必要です
こういった仕組みが世の中にはいくつかありまして、その一つが Nodejs ということです
で、その中身が JavaScript で書かれている、ということですね