サーバー初心者の俺でもできた!! 〜apacheのインストールからドメインを当てるまでの激闘が今ここに〜

この記事はだいぶ前に書かれたものなので情報が古いかもしれません

僕はエンジニアなんかをやっておるわけなんですけども、システムエンジニアとは名ばかりで、実際にはPHPのプログラムしか書いていないようなやつなんです。ただのプログラマです。昼は黙々とコードを書いて、夜はプロのグラマーなモデルさんとのあんなことやこんなことを妄想しながらマスをかいて……おっとこれ以上は放送禁止だ。



とにかく僕は、サーバーのことがよく分かっていません。何度かこのブログでもそれを公言してきたと思うんだけどね。

サーバーの立ち上げなんてやったことない。apacheのインストールすらやったことない。ずっと共用のレンタルサーバーで戦ってきたから。再起動くらいならやったことある。

でもまあ、このたび仕事で運用しているウェブサービスを、クラウドのサーバーに乗り換えることになりましてね。うちの会社はエンジニアが僕しかいないので、そうなるとサーバーのセットアップも当然僕がやることになるわけですね。

今までサーバーに関しては知っているような知らないようななあなあな感じでずっとごまかし続けてきましたが、ここに来ていよいよ、僕もサーバーを構築するときがやってきたようです。

んで、まあせっかくなんでね。サーバーのことが全くと言っていいほど分からない俺でも、一応こんな感じでやったら無事にウェブサイトが動きましたよと、だからこれから初めてサーバーを触ろうと思っている人も不安になる必要なんてないぞと、この記事読んで思いきってやってみろよと、そんな思いを込めて、僕が今回やったことを、ものすごーく駆け足で、つまり雑になっちゃいますけど記して行きたいと思います。

何で駆け足で雑にしか説明しないのかと言いますと、ぶっちゃけ雑にしか説明ができないからです。すんまそん。

いや、本当はね、「初めてサーバーを自分で構築する人必見!! この記事だけ読めば誰でも一日でサーバーが立ち上がるぜ!! どーだすげーだろ、感謝しろよこのやろう!!」とか上から目線で偉そうに言いたいんですけど、僕自身、今回サーバーを構築するに辺り、いろいろとやり過ぎまして……かなり必要ない行程も踏んだんですよね。余計なもんをしこたまサーバーにインストールしたりね。

その際に、とにかくいろんなサイトさんの記事を参考にさせてもらいました。本当なら参考にさせてもらったサイトをここに全て列挙したいくらいなんだけど、巡回し過ぎてどのサイトを参考にさせてもらったかがもはや思い出せない。それだけで小冊子が作れちゃうくらい。

なので、この場を借りてまとめてお礼を申し上げておきます。ほんとみなさん、ありあとやんした!!

ってなことで、僕がその中で得た内容のうち、必要最小限のことを簡潔に一記事にまとめたいというのが、今回の狙いです。平井理央アナウンサー的に言えば「ギュッ……と凝縮」ってとこですね。平井アナ可愛いですよねー。あまりの可愛さについマスをか……いや何でもない。

でもなるべく簡潔にする分、説明が雑になるのは勘弁してくださいと、そういうことですね。






……と、いうのが今回の前置き。相変わらず前置きが長いですねー、自分。すでにこの時点で離脱している人もいるのではないだろうか。とても真面目に記事を書いてそうな雰囲気ないもんね。いや、確かにおふざけも入っては来るんですけどね。

まあ、気にせず行くでー。



あ、でもその前に……ごめんね、一点だけ。

今回僕はIDCフロンティアってところのクラウドサーバーを使いました。ギリギリまでAmazonのAWSを使う予定でいたんですが、いろいろと社内で検討した結果、最終的にこっちで行くことになりました。

で、ですね。AWSにしろIDCFにしろ、OSがインストールされた状態の仮想サーバーってのは、ボタン一つで作成できます。ついでにIPアドレスもボタン一つで用意してもらえる。だから今回は、OSのインストールは自分ではやってません。IPアドレスの取得も、自分でやる場合はどうやるのかはちょっと分からないです。ごめんなさい。

僕が今回やったことは、以下の通りです。

apacheのインストール
PHPのインストール
FTPで接続できるようにする
MySQLのインストール
phpMyAdminのインストール
IPアドレスにドメインを割り当てる

じゃあさっそく順番にやって行きましょう。俺のことだから余計な一言とか多くて、雑な説明でありながらもかなーり長くなることが予想されるけど、まあ良かったら最後までお付き合いくだせえ。

ちなみに今回作成した仮想サーバーに入ってるOSはCentOS6.0ってやつです。



もし長ったらしい説明はめんどいからごめんだって人は、今回やったことだけを何の説明もなしに書いた記事も上げとくんで、そっち見てください。

忙しい人のためのサーバー構築手順






まずはSSHでサーバーに接続してみよう

僕はマックで開発しているんで、マックのターミナルを使ってSSHに接続しているっていう前提で話します。Windowsを使っている人なら、TeraTermとか使って接続することになるかな。

といっても、SSHの接続についての詳細はここでは書かねっす。もうすでに接続できているっていうことでお話させてもらいやす。「そこは省略すんなよ。書けよ」っていう声が多かったら、追記を検討しますです、はい。



ああ、ただあれですね。これからやる作業は、基本的にrootユーザーで行うことになるので、root以外のユーザーでログインした場合は、rootに切り替えが必要です。

# sudo su -

こんなんでrootユーザーに切り替えられる。



ちなみにOSのタイムゾーンなんですけど、もしかしたらデフォルトは日本じゃないかもしれない。AWSとかIDCFの場合はそうっぽいんだけど、その場合は以下のコマンドでファイルをコピーしてデフォルトのタイムゾーンを日本にしちゃいましょう。

# cp -i /usr/share/zoneinfo/Japan /etc/localtime

いや、無理にしなくても良いんだろうけどね。日本で作業している以上は日本にしといた方が良いんじゃないかなぁ?

ほら、クーロンの設定なんかをする場合にさ。日本時間じゃないと、何時に実行させればええのん? ってなるじゃん?

クーロンの時間って、OSのタイムゾーンに依存しているってことで、良いんだよね……?



最初はapacheのインストールだ

ぶっちゃけ、apacheのインストールは簡単です。一行でおk

# yum -y install httpd

yumっていうのは、apacheとかphpとかをサーバーにインストールしたりアップデートするのに使うコマンドです。今回はよく出てくる。

「-y」ってのはつけてもつけなくても良いです。つけないと、コマンドを実行したときに「本当にインストールするかい?」って一度聞かれるようになるだけです。

何でインストールするコマンドがyumって名前なんですかね……? 何かの略なのかな。必要なパッケージをサーバーに持ってくるコマンドなわけだから……「よっこらせ(Y)うんとこしょ(U)持ってきたぞー(M)」の頭文字ですかね。



インストールが終わったらたぶん「Complete!」みたいな文字がターミナル上に出てると思うので、そしたらまずは早速apacheを起動してみましょう。

# service httpd start

OKの文字が出たら、無事に起動しているはずですので、「http://IPアドレス」にアクセスしてみましょう。

するとたぶん、こんな画面が出てくると思う。

apache

apacheのデフォルトのテストページらしいです。これが確認できれば、apacheのインストールは終了です。お疲れ様でした。次のステップに行ってみましょう。



ちなみに。

もしアクセスできないって場合は、ポートが解放されていない可能性がある。httpでアクセスする場合は80番っていう番号のポートが解放されていないと、外部からアクセスができないんですね。ファイアウォールとかでその辺の設定ができる。

ただ申し訳ないんですけど、AWSやIDCFはファイアウォールの設定が簡単でして……管理画面からちょちょいっと設定するだけでできちゃうんですよね。だから今回は省略します。

「ファイアウォール iptables 設定」とかで検索すればターミナル上での設定方法とか出てくると思うから、ごめんだけどそっちで調べて。

一応これ、検索結果ね。
「ファイアウォール iptables 設定」の検索結果



PHP周りをそろえよう

次はPHPのインストールです。IPアドレスでアクセスはできたものの、このままではPHPが動かない。

ということで、さっそくPHPをインストールしましょう。ここでまたyumさんの出番だ。

# yum -y install php

ついでに、PHPを使う場合にはほぼ必ず使いそうなライブラリとかもインストールしちゃいましょう。レンタルサーバー使ってると最初から入ってるからあまり気にならないんだけど、PEARとかGDライブラリとか、今回は全部自分でインストールしなくちゃいけない。

とりあえず、僕がいろんなサイトを見て回った結果、これだけ入れとけばひとまずはオッケーかなーって思ったのを、入れてみます。

# yum -y intall php-pear php-mysql php-mbstring php-gd php-pecl-apc

ああ、そうそう。yumで何かをインストールする場合、半角スペースで区切れば、複数まとめてインストールすることもできます。上記みたいに。

個々のパッケージが何なのかは、今回は省略します。気になる方はググってみてください。

まあ、画像を扱えるようにしたり、MySQLを使う際に必要になったり、マルチバイト文字を使用するのに必要なものをインストールしたと思ってください。

おお、何て雑な説明。これだよこれ。今回はこういう感じで行くからね。

無事にインストールが終わったら、apacheを再起動してみましょう。再起動しないとPHPが動かない。

# service httpd restart

そしたらドキュメントルートの下にindex.phpでも作成して、phpinfo()してみましょう。たぶんだいたいの場合は「/var/www/html/」がドキュメントルートになっているはずなので、その直下にindex.phpを置けば大丈夫。

もし場所が違ってたとしても焦る必要はない。さっき出力されたapacheのテストページ、あるでしょ? あれ、全部英語だから読むのめんどいけど、あのページにどこがドキュメントルートかってのがちゃんと書いてあるから、それ見れば一発さ。

これで「http://IPアドレス/index.php」にアクセスすると、phpinfoが出力されているはずです。されていなかったら……うーん、何が原因なんだろう。ごめん、分からん。

だって、俺はこれでちゃんと動いたもん。まあ、もし何かコメントが寄せられたら、個別に対応したいと思います。

ところで、yumって何て読むんだろうね……ゆむ? やむ? やむの方が言いやすいから、ここではやむで行こうか。うん、そうしよう。

ちなみに、僕がやったときにはPHPのバージョン5.3.3がインストールされたんですけど、これは明示的に他のバージョンをインストールすることもできるっぽい。ただ僕はそれやらなかったし、やり方もちゃんと調べなかったので、ここでは述べません。



おおっと、そうだった。これを言い忘れてた。

たぶんこれ、PHPのバージョンが5.3以降の話だと思うんですけど、php.iniでタイムゾーンを設定しとかないと、「strtotime()」関数なんかを使ったときにエラーが出ることがあるようです。

もしそんなエラーが出るようだったら、php.iniのタイムゾーンをviモードで編集します。

//php.iniを開く
# vi /etc/php.ini

//;date.timezone=を以下に変更
date.timezone = Asia/Tokyo

先頭にセミコロンがついてたら消してくださいね。それコメントアウトされてるってことだから。

編集が終わったらapacheを再起動です。今後、php.iniとかhttpd.confとかを書き換えたら、apacheの再起動をしないと設定が反映されないので注意です。



PHP関連でもう一つ

さっきあえて書かなかったんですけど、もう一つ、PHPのライブラリ(モジュールの方が正しいのかな? それともパッケージ?)でインストールしなきゃいけないものがあるんです。

それが「php-mcrypt」っていうやつです。これは暗号化処理なんかを行うのに必要なものらしいんですけど、これを入れとかないと、後でphpMyAdminをインストールするときにエラーが出ます。インストール時に「ウチはphp-mcryptさんがおらんとイヤや! php-mcryptさんのいないサーバーになんて絶対行かへんぞ!」って怒られます。

じゃあ今まで通りyumでインストールすればええやん。やむっちゃえばええやん。とか思うよね。そりゃ誰だって思うさ。

でもこれもやってみれば分かるんですけど、普通にやってもphp-mcryptはインストールできません。「ワイはやむられへんぞ」って抵抗されます。

いや、もしできたって言うならそれで何の問題もないんだけど、僕がやったときはエラーになりました。

何がどうしてそうなのかってのは置いといて、どうやってインストールするのかって言うのを書いてみます。

# wget ftp://fr2.rpmfind.net/linux/epel/6/x86_64/php-mcrypt-5.3.3-1.el6.x86_64.rpm
# rpm -ivh php-mcrypt-5.3.3-1.el6.x86_64.rpm

この二つのコマンドを使えばインストールできる。yumの代わりにrpmっていうのを使うわけですね。

ここで気をつけてほしいのは、インストールしたPHPのバージョンによってインストールするファイルが微妙に違うってことです。

上のを見ると分かるんだけど、「php-mcrypt-5.3.3……」とか書いてあるでしょ? PHPのバージョンが5.3.3の場合はこれじゃないとダメみたいなんです。

あとサーバーにインストールされてるOSのバージョンによっても違うファイルを入れる必要があるかもしれないから、注意ね。同じCentOS6.0でも、32bitと64bitで違ったりすることもあるみたい。

参考にできるか分からないけど、php-mcryptのrpmファイルが置いてあるとこのリンク貼っときますね。ここで探せると良いんだけど……。

rpmfind.net



おっと、そうだもう一つ。もし上の方法でインストールした場合にエラーが出たら。

僕の場合は出たんだけど、「ワイにはlibmcryptちゃんが必要なんや! libmcryptちゃんのいない人生なんて考えられへん! そないな場所にインストールされてたまるかいな!」みたいなことを言われてphp-mcryptがインストールできない可能性があります。

そのときは、まずそのlibmcryptってやつをインストールしてみてください。これも通常のyumじゃインストールできないんで、これで。

//libmcryptのインストール
# wget http://elders.princeton.edu/data/puias/unsupported/6/x86_64/libmcrypt-2.5.8-9.puias6.x86_64.rpm
# rpm -ivh libmcrypt-2.5.8-9.puias6.x86_64.rpm

//再度php-mcryptのインストールにチャレンジ
# rpm -ivh php-mcrypt-5.3.3-1.el6.x86_64.rpm

これで大丈夫なはず。

もし! もしもだけど、これでもまだエラーが出るようなら、エラーメッセージをよーく読んでみてください。たぶんlibmcryptと一緒で、何か必要とされているものがインストールされていない問題のはずだから、それをインストールすれば大丈夫だと思う。



FTPで接続できるようにしよう

別にファイルの作成だの編集だのディレクトリの作成だのってのを全部SSHでやっても良いんですけど、僕の場合はLinuxのコマンドに慣れ親しんでないってのもありますし、普通にFTPとか使えた方が良いと思うんで、そうしてみましょう。

セキュリティのことを考えたら、FTPよりもSFTP……だっけ? そういう秘密鍵を必要とするようなやつの方が良いのかもしれませんが、今回は普通にFTPで接続してみることにします。

今回はvsftpdというのをインストールしました。これはやむれる。

//インストール
# yum -y install vsftpd

//起動
# service vsftpd start

インストールができたら、FTPで接続するためのユーザーを作成しましょう。

# useradd ユーザー名
# passwd ユーザー名

useraddでユーザーを作成して、さらにpasswdで指定したユーザーのパスワードを設定することができます。

そしたらFFFTPとか使って、実際に作成したユーザーでFTPに接続してみましょう。もし接続できない場合は、さっきも出てきたけどポートが解放されていない可能性があるので、ポートを解放しましょう。たぶん21番のポートを解放すれば接続できるようになるはず。

さっきのPHPのインストールんとこで、index.phpをSSHから作成するのがあれだったら、先にFTPでつなげるようにして、それから作成しても良いかもね。



そうだ、ここでももう一つ。

デフォルトのままだと、全部のディレクトリがrootじゃないとファイル操作できないようになっていると思うので、index.phpとかをFTPからアップロードする場合は、ディレクトリの所有者を作成したユーザーに変更する必要がある。

# chown ユーザー名:ユーザーグループ /var/www/html

これで「/var/www/html」の下にファイルをアップロードできるようになる。



MySQL

次はMySQLですね。例によってやむっちゃいましょう。

//インストール
# yum -y install mysql-server

//起動
# service mysqld start

MySQLを起動すると、データベースの初期化が始まります。っつってもやることはないので、黙ってOKの文字が出るのを待ってれば良いです。別のことをしてても良いけど、すぐ終わるよ。間違ってもマスをかいてる時間はないですね。

起動が無事に終わったら、初期設定をしちゃいましょう。

# mysql_secure_installation

コマンドを実行するといくつか質問されるんで、順番に答えて行ってください。

//Enterを押せばオーケー
Enter current password for root (enter for none):

//「Y」を入力すればオーケー
Set root password? [Y/n]
(パスワード入れろって言われるのでパスワードを入力)

//「Y」を入力すればオーケー
//「n」とは答えない方が良いっぽい
Remove anonymous users? [Y/n]

//「Y」を入力するとリモートからrootでのログインができなくなる
Disallow root login remotely? [Y/n] 

//「Y」って答えても問題なさそう
Remove test database and access to it? [Y/n] 

//「Y」って答えとけば問題なさそう
Reload privilege tables now? [Y/n] 

まあ、基本的に自信を持って「YES!!」って答えとけば大丈夫のようです。

もしうっかり間違っちゃってももう一回同じコマンドを実行すれば再設定できるから、安心してください。

無事に設定が終わっていたら、mysqlコマンドを打つことでログインできるはずだから、やってみてね。

# mysql -u root -p 






だいぶ来ましたねー。ちょっと疲れたんじゃない? ここいらでコーヒーブレイクでもしてきたらどうよ? トイレ休憩とか挟まなくて大丈夫かい?

心配しなくてもこの記事は逃げないよ。のんびり行こうぜ。目、肩、腰が疲れないようにね。

リラーックス、リラーーーックス。






phpMyAdminのインストール

次はphpMyAdminのインストールです。SSH上からでもデータベースをいろいろと操作することはできるけど、やっぱりphpMyAdmin使った方が楽だよねー。

そのphpMyAdminなんですが、普通にはやむれないです。レポジトリの追加? とかいうのが必要で、こんな感じの手順を踏むことになります。

# wget http://unixlife.jp/rpmrepos/centos/6/unixlife/x86_64/unixlife-release-0.1.2-1UL01.x86_64.rpm
# rpm -ivh unixlife-release-0.1.2-1UL01.x86_64.rpm
# yum --enablerepo=unixlife install phpmyadmin

これもねぇ……サーバーに入ってるOSのバージョンによって追加するrpmファイルが違うから気をつけてください。

この方法だと上手く行かないとか、あるいは自分のOSにあったrpmファイルが見つからない、っていうか普通によく分かんなくてめんどくさいって人は、phpMyAdminの公式サイトに行ってzipファイルを落として来ましょう。

phpmyadmin.net

あとはブラウザからアクセスできるところ(例えばドキュメントルートの直下とかね)に「phpMyAdmin」というフォルダでも作って、その中にzipファイルの中身をごそっとアップしましょう。そしたら「http://IPアドレス/phpMyAdmin/index.php」にアクセスだ。PHPが動くようになっていれば、無事にphpMyAdminのログイン画面に行けるはず。

もし画面上に「設定ファイルはパスフレーズを必要としています」みたいな警告文が出ていたら、アップロードしたフォルダの中に「config.inc.php」っていうファイルがあるから、そこのパスフレーズに何か任意の文字列を入れて下さい。

$cfg['blowfish_secret'] = 'お好きなの文字列をどうぞ';

yumでインストールした場合はconfig.inc.phpってファイルが最初からあるんですけど、たぶんzipからアップロードした場合は「config.sample.inc.php」っていうファイルしかないから、それをconfig.inc.phpに変えて設定してください。

あとついでに、yumでインストールした場合は「/usr/share/」ってところの下にphpMyAdminのファイルが一式インストールされます。ドキュメントルートの下ではない。

じゃあどうしてブラウザからアクセスできるのかっつー話なんですけど、何かAliasってやつを設定すると、ドキュメントルートより上にあるファイルでもブラウザからアクセスできるようになるみたいなんですね。

yumでインストールした場合は、「/etc/http/conf.d」というディレクトリの下に「phpmyadmin.conf」っていうファイルができているはずです。その中を見てみると、こんなことが書いてある。

Alias /phpmyadmin /usr/share/phpMyAdmin
Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /mysqladmin /usr/share/phpMyAdmin

confファイルにこんなことを書いておくと、「http://IPアドレス/phpmyadmin/」や「http://IPアドレス/phpMyAdmin/」「http://IPアドレス/mysqladmin/」で/usr/share/phpMyAdminにアクセスできるようになるらしいんですね。

このやり方を使えば、どこに置いといてもアクセスできることになる。パスさえ間違えていなければね。だから僕も、ドキュメントルートの下じゃなくて、適当な場所に移してconfファイルの中身を書き換えました。



あとは……あれか。

yumでのインストールの場合、たぶん初めてログインしようとしたときは403エラーが出るかもしれないので、phpmyadmin.confを以下のように書き換えます。

# vi /etc/httpd/conf.d/phpmyadmin.conf

//phpmyadmin.confの中身
<Directory "/usr/share/phpMyAdmin">

//この三行をコメントアウト
#  Order Deny,Allow
#  Deny from all
#  Allow from 127.0.0.1

//この二行を加える
   Order Allow,Deny
   Allow from all

</Directory>

書き換えたらapacheの再起動が必要……かな。



ちなみに……今日はちなみにって単語多いな……まあどうでもいいか。

そういえば僕、声優の西村ちなみさんと誕生日一緒なんですよね。もっとどうでもいいか。ぷいにゅ。

phpMyAdminの画面ってこんな感じだと思うんですけど、下の方に「phpMyAdmin環境保管領域が〜」みたいなメッセージが出ているの分かります?

phpmyadmin

もしこれが出ているようなら……ってかたぶん出ていると思いますけど、その場合は環境保管領域ってやつを設定してあげれば消えます。

phpMyAdminのフォルダの中に、「examples」というフォルダがあるはずです。なかったら「scripts」かもしれないけど、その中に「create_tables.sql」っていうファイルがあると思うんで、そいつをインポートしてください。

すると「phpmyadmin」っていうデータベースができると思います。

それからconfig.inc.phpの中身をちょっと書き換える。

もしconfig.sample.inc.phpをコピーしている場合は、以下の行がコメントアウトされた状態になっていると思うので、それを外しちゃってください。ない場合はここからコピって貼ると良いよ。

/* Storage database and tables */
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark';
$cfg['Servers'][$i]['relation'] = 'pma_relation';
$cfg['Servers'][$i]['table_info'] = 'pma_table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma_table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma_column_info';
$cfg['Servers'][$i]['history'] = 'pma_history';
$cfg['Servers'][$i]['table_uiprefs'] = 'pma_table_uiprefs';
$cfg['Servers'][$i]['tracking'] = 'pma_tracking';
$cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords';
$cfg['Servers'][$i]['userconfig'] = 'pma_userconfig';
$cfg['Servers'][$i]['recent'] = 'pma_recent';

そんであとはログインし直せばメッセージは消えているはず。まるでデビットカッパーフィールドのように。

あ、大丈夫。もちろんカッパーフィールドと違って再び現れたりとかしないから。そういうんじゃないから。



ドメインを当てる

さあ、あと一息だよ。がんばろー。

いよいよドメインを当てるときが来ました。これで「http://ドメイン名」でアクセスできるようになれば、一応ウェブサイトはオープンできる状態になるんじゃないかな?

IPアドレスとドメインを結びつけるには、DNSというものを設定する必要があります。DNSが何なのかは聞かないで。僕もよく分からない。

ほら、今日のモットーは「雑」だから。そういうところを深く掘り下げる日じゃないから、今日は。



DNSを設定するには、自分でサーバーの中にDNSをインストールするか、外部のサービスを使うかっていう二通りの方法があると思うんですが、僕は後者を選択しました。

ドメインはお名前.comで取得したんですけど、お名前.comにはレンタルDNSレコード設定みたいなのがありまして……そこで設定すれば、こっちのサーバーでごちゃごちゃ設定しなくてもドメインが当たるようになります。

まあ何かお名前.comって、評判が良いんだか悪いんだかよく分からないところがあるというような印象を受けるので、あのサイトに全依存してしまって大丈夫なのかという不安もあるんですけど……今のところ何か被害を受けたことはないので、ここは信頼して行きましょう。

お名前.comで設定する場合は、こんな感じの設定画面でお手軽に設定できます。

お名前.com

自分のサーバーでやる場合も、根本的なところは一緒なんですけどね。ゾーン設定をお名前.comに委託するか自分で全部やるかっていう程度の違いです。

お名前.comのネームサーバーを使ってDNS設定をすると、こんなゾーン設定になりますかね。

norm-nois.com A IPアドレス
norm-nois.com NS 01.dnsv.jp
norm-nois.com NS 02.dnsv.jp

最低限、これだけ入力すれば、そのうちドメイン名でアクセスできるようになります。メールアドレスも使えるようにしたいとかってなるともう少し設定が必要になるけど、今回はそこは省略です。

自サーバーで全部やる場合はもう少し手間がかかると思うんだけど、そのやり方は僕も分からないんで、すみませんが他の文献を漁ってみてください。



アクセスできたかなー?

ドメインが当たるまでには長くて数十時間ほどかかるので、上記の設定が終わったらのんびり待つのが良いと思います。数十時間だからね。結構いろんなことができるよ。マスだって果たして何回かけちゃうことかね。しつこいなこのネタ。

一応、今日言いたいことっていうのはこれで全部なんですけど、ちょびっとだけおまけで。

.htaccessを使う場合、デフォルトのままだと恐らく使えない……というかmod_rewriteが動かない状態なので、httpd.confをちょこっと書き直す必要があります。

//httpd.confをviモードで開く
# vi /etc/httpd/conf/httpd.conf

//以下の部分を編集
<Directory />

//この二行をコメントアウト
#   Options FollowSymLinks
#   AllowOverride None

//この二行を加える
    Options All
    AllowOverride All

</Directory>

これでオーケーですね。apacheの再起動を忘れずに。

あとは何かおまけあるかなー。バーチャルホストの設定とかSSLの設定とか、ディスクのマウントなんていうのも今回はやってみたんですけど、それはまた別の日に書きましょうか。バーチャルホストの設定をやらなくてもサイトは動くからね、ドメインが一個なら。SSLも必要ない人にとっては必要ないことだしな。ディスクのマウントも、IDCFでLinuxの仮想サーバーを立ち上げると、ハードディスクの容量が15GBしかないから、それを増やすためにやったことだし。

ついでに、今回は一つのサーバーの中に全部ぶち込んでしまいましたが、本当はウェブサーバーとDBサーバーとファイルサーバーを分けて三台構成にしたかったんですよ。でもまあ、諸々の事情により、それは徐々にのスケールアップしながらやる感じになってしまいました。

ロードバランサーとかね、そういうのもこの先必要になってくるし。

最初にやっといた方が楽なんだろうけどね、こういうのは。サイトがでかくなればなるほどデータの移行とかも大変だしね。まあいずれ苦戦する日が来ると思うんで、それも何かの参考になるようなら、そのときは記事に興しますかね。






ふう……こんなとこですかねー。おつかれさまでしたー。

だいぶ雑になりつつも、一応これで何とかなるよっていうくらいには説明したつもりではあるんですけど……どうでしょうか?

まあ分かんないところがあれば聞いてもらえれば、僕に分かる範囲でしたら答えられるので、いつでもコメントください。

「声優の西村ちなみさんって人が誰だか分かりません」とか「その辺りのくだりででてきた『ぷいにゅ』って何ですか?」とか。

「僕は下ネタとか一切分からない純真無垢な少年なんですけど、マスをかくっていうのは、どういう意味の下ネタなんですか?」とかね。

分かってんじゃん、キミ。下ネタってことを。

ちなみに(あ、またちなみにって言っちゃった)西村ちなみさんはおじゃる丸とかの中の人です。ぷいにゅってのは、僕が一番好きな漫画でARIAってのがあるんですけど、その漫画に出てくるアリア社長という猫がしゃべるセリフで、アニメ化した際に声を担当したのが西村ちなみさんなのです。



そういうわけで、初心者ってこともあり、これで本当に最低限の設定ができているのか、もう少しやらなきゃいけないことがあるのかどうかってのも実は分かっちゃいませんが、そういうのはおいおい勉強していく所存です。今後はかなりサーバーのことやってかなきゃいけないからね、僕も。

もしサーバーに詳しい人がこの記事を読んで「こんな設定じゃあかん! もっとちゃんとせな、やられてまうで! セキュリティも甘い! ガバガバやないけ!」っていうツッコミがあったら大歓迎です。ぜひ突っ込んでください。

あ、いや、もちろん下ネタ的な意味で突っ込んでほしいんじゃないからね? お尻に……的なことじゃないからね? そこんとこよろしく。






追記

良かったらこちらもあわせてどーぞ。

postfixの設定
SSLの設定
バーチャルホストの設定

ks 2014年07月03日 12:17:14
phpMyAdminの部分で大変参考になりました。
とても分かりやすい解説です。
ありがとうございます。
まっち~(管理人) 2014年07月03日 19:38:42
>ksさん
お役に立てて良かったですー。
むしろこんな冗長な文章なのに参考にしていただいてこちらこそありがとうございます。
もしかしたら何か関連しているかも?