よみがな あり|なし
Tuesday,November 8
GCPでウェブサーバ構築チャレンジ・2【千尋の谷底】 (7 photos)
GCPでウェブサーバ構築チャレンジ、2ログ目です。
前回はGCPのCompute Engineでインスタンスとよばれる仮想コンピューターを構築したところまでやりました。今回はこの仮想コンピューターにウェブサーバーをインストールして外部からアクセスするところまでをやりたいと思います。
さて、ちょちょっとインターネットで検索してそこに書かれてるコマンド送ればウェブサーバーなんてあっという間に……あれ?(疑問)
あっという間に……(冷や汗)
あっという間に……(困惑)
あっという間に……(苦悩)
できねーっ!(混乱)
Linux系のコンピューターには、プログラムパッケージをインストールするためのコマンドがあることは前もって調べて知っていたので、ここは簡単にクリアできると思ってました。
でもインストールできません。
何度やっても「そんなコマンド知らないよ」というエラーが返ってくるんです。
パニくりながら調べまくった結果、Linux系のコンピューターにプログラムパッケージをインストールするためのコマンドには2つの流派が存在していることが判明。LinuxOSにもいくつかの種類があり、それによってこのコマンドも基本的に分かれていることがわかりました。
専門用語を出すなら、Debian系(Ubuntuとか)ならapt-get系のコマンドが有効で、RedHat系(FedoraとかCentOSとか)ならyum系のコマンドが有効です。
わたしは、Debian/Linuxでインスタンスを作成していたにもかかわらず、ずーっとyumコマンドでウェブサーバーをダウンロードしようとしていました。「そんなコマンド知らないよ」といわれるハズです。
……ブチッ
そんな流派とか知らねーよぉ!
ちゃんと教えてよぉ!
おなじLinux系ならほとんどおなじだと思うじゃあん!
しかもプログラムパッケージのコマンドとかポピュラーなコマンドでしょお!?
どのページも「みなさんすでにご存知ですよね」みたいな書き方しやがってもおお!(←いいがかりである)
いいもんいいもん、100年間不貞寝してやらあッ!(違)
……コホン
いいですか。
これからLinuxにはじめて触れる人のためにもういちど書いておきます。
Linuxの種類はディストリビューションなんて呼び方をしますが、Debian系とRedHat系があります。プログラムパッケージをインストールするコマンドは、Debian系(Ubuntuとか)ならapt-get系のコマンドが有効で、RedHat系(FedoraとかCentOSとか)ならyum系のコマンドが有効です。
なかにはapt-getとyum両方が有効になっているディストリビューションも存在するようですし、あとからコマンドを追加したりもできるようですが、混乱が増すばかりなのでLinuxにプログラムパッケージをインストールするコマンドは2つの流派に別れているという認識のほうが間違いがありません。
インターネットを検索するとyum系コマンドでウェブサーバー(Apache)をインストールしているページがヒットしやすいこともあり、わたしは完全にネットの罠に嵌められました(違)
だけどLinux初心者なら仕方ありませんよ。
ここまで調べるのにリアルで3時間ぐらいかかりました。
みなさんはわたしのように混乱されませんよう。
さて。
というわけで、せっかくですからここはひとつapt-get系のコマンドでウェブサーバー(Apache)をインストールしたいと思います。
apt-get系のコマンドでプログラムパッケージをインストールするには、
sudo apt-get install (パッケージ名)
と入力します。
sudoは、つづくコマンドを管理者権限で実行させるコマンドです。
suは、super userの略で、super user doだからsudoとなるようですが、わたしはふつうに「須藤さんという人が考えたコマンドだからsudoなのかな」とか考えてしまって、以降このコマンドを「須藤さん」と呼んでいます。
ええと、こうかな……?
sudo apt-get install httpd
このコマンド、イケると思うでしょ?
だって、いろいろなサイトで「sudo yum install httpd」でインストールできるって書いてあるんだもの。
しかし結果はこのありさま。
E: package 'httpd' has no installation candidate...?
「E: package 'httpd' has no installation candidate」ってメッセージがでてインストールされず。なんかhttpdってパッケージ名ではないみたいなことを言われてるような気がします。
ここからまた再調査したわけですが、結論から言いますとDebian系とRedHat系ではおなじウェブサーバー(Apache)でもパッケージ名がちがいます。RedHat系だとhttpdという名前でも、Debian系ではおなじ名前とは限らないそうです。
ふええん!
なんだよそれ!
獅子は我が子を千尋の谷に突き落とすと言いますが、どうやらわたしは突き落とされる前に最初から谷底にいたようです。
キツいったらないなあ……。
それでも打開策が。
Debian系のapt-get系のコマンドで、インストール可能なプログラムパッケージを検索できるコマンドがありました。そこから該当するプログラムパッケージの名前を見つければいいわけです。
そのコマンドがこれ。
apt-cache search
例>
apt-cache search httpd
apt-cache search apache
「apt-cache search httpd」とか「apt-cache search apache」で検索すると、たくさん該当しますけど、そのなかでコアとなっているウェブサーバのパッケージを見つけることができました。
あったー!!
ちくしょー、Debian系のウェブサーバのプログラムパッケージの名前はapche2っていうのかー。
はい、それでは。
落ち着いてもう1回。
sudo api-get install -y apache2
install に -y オプションをつけると、インストール中のY/N選択で自動的にY選択してくれます(手抜きっていうなー)
入力してEnterすると、インストールがはじまりました! ヤッター!
インストール処理には数分かかりました。
インストール後、
dpkg -l
インストール済みのプログラムパッケージリストを表示するapi-get系のコマンド
を入力してapacheがインストールされているか確認できます。
たしかapache2がインストールされたようです
LinuxOSでプログラムパッケージをインストールすると、関連のコマンドも一緒に追加されます。apache2をインストールした場合は、apache2を起動したり、終了するためのコマンドがそれに当たります。
apacheを起動するコマンド
sudo apachectl start
apacheを終了するコマンド
sudo apachectl stop
apacheを起動すれば、とりあえず外部からHTTPアクセスできるハズ。
やってみましょう!
apacheを起動して……
apacheを起動して、ブラウザにインスタンスの外部IPアドレスを入力すればいいはずだよな……(ドメインも未取得のためIPアドレスアクセスです)
パンパカパーン!
ファンファーレでも鳴らしてやりたいですよ。
これがApacheがデフォルトで持っているindex.htmlです。
ためしに、apacheを終了してから再度アクセスすると、
お。ちゃんと接続できないっていわれますね。ブラウザはOperaですよ~
これでApacheが動作していることが確認できました。
以上でウェブサーバのインストールは終了です。
でもApacheはまだデフォルトのままですから、いろいろ設定をカスタマイズする必要があります。大まかな設定についてはブログでもお伝えするかもしれませんが、細かな設定については後々コッソリやることになると思います。
次回のログからは、できればこのコンピューターに対してファイルをFTPできるようになりたいです。ん? そうなるとインスタンスにFTPサーバをインストールしなきゃならないのかナ?(そんなレベル)
千尋の谷底は思ったより深いようです……(笑)
今回のログではいろいろDebian/Linux系のコマンドが登場したのでまとめておきます。
#sudo
うしろにつづくコマンドをその都度管理者権限で実行(大事!)
# apt-get install [package]
パッケージのインストール/更新 installに-yオプションでY/NのY自動選択
# apt-get update
パッケージリストの更新
# apt-get upgrade
インストールされているパッケージの更新
# apt-get dist-upgrade
インストールされているカーネル/ディストリビューションの更新
# dpkg -l [packcage]
インストールされているパッケージの一覧
# apt-cache search [query]
パッケージの検索
# apt-cache policy [query]
パッケージの検索(インストール可能なバージョンの表示)
# apt-cache madison [query]
パッケージの検索(インストール可能なバージョンの一覧)
# apt-get remove [package]
パッケージの削除
# apt-get autoremove
使ってないパッケージの削除
# apt-get purge [package]
設定ファイルをふくむパッケージの削除
# apt-get clean
アーカイブファイルの削除
# apt-get autoclean
使ってないパッケージのアーカイブファイルの削除
# apachectl start
Apacheを起動
# apachectl stop
Apacheを終了
また、yum系とapt-get系の違いについて詳細に紹介しているブログページがありましたので、そちらへのリンクも。
yum(rpm)と apt-get の対応表
http://yoshifumi.hateblo.jp/entry/20080506/p1
≫ NEXT_LOG GCPでウェブサーバ構築チャレンジ・3【面倒くさがり屋のススメ】(12 photos)
≪ PREV_LOG GCPでウェブサーバ構築チャレンジ・1【はじまりのはじまり】(14 photos)
スタジオムーンリーフ(2005年1月開設/Since 2005)
代表者:野口 卓洋(Takuhiro Noguchi)
Add:356-0006 埼玉県ふじみ野市霞ヶ丘3-1-22-504
Twitter:@StudioMoonLeaf
Facebook:facebook.com/noguchi.takuhiro
©2017 STUDIO MOON LEAF ALL RIGHTS RESERVED.