【Apache】【WordPress】RaspberryPiでWebサーバを公開
1.今回の内容
Raspberry Piで外部からアクセスすることのできるWebサーバを構築できるとこまで紹介します.順序としては
- Raspberry Piにサーバを建てる.
- ルータのポートを解放する.
- ドメインを取得する.
- wordPressをインストールする.
の豪華4本立てです.
2.Raspberry Piにサーバを建てる
ではまず,Raspberry Piにサーバを建ててみましょう.ちなみに,僕があえて建てるという文字を使っているのは建設する印象があるからです(?)
まぁそんなことは置いといて
# apt-get install apache2 // Apacheサーバを入れる
今回使うのは有名どころのApacheです.インストールが終わったら設定ファイルの編集をしていきます.
# vi /etc/apache2/site-avalable/default
最初の方に次のような記述があると思います
これを次のように変更しつつ,足りない項目を保管していきます.
ServerName [DomainName] ← これはRaspberryPiのホスト名です。なんちゃら.ddns.netにしてください ServarAdmin [UserName]@[DomainName] ← UserNameは任意名で大丈夫です。
そしたらApache2を再起動といきたいところですが,もう少しやることがあります. Raspberry Piのホスト名を解決しなければいけません.てことで
# raspi-config
Raspberry Piを始めて設定した時にもこんな画面出てきましたよねもしかしたらこれはやらなくてもいいかもしれません.
で,8のAdvanced Optionsを開いてA2のHostNameを選択してください.そして、先ほどの設定ファイルで記述した[DomainName]をここに記入しちゃってください.
それともう二つ、これは任意なのですがサーバ運用ということでもう少しサーバ向けの設定にします.
まずはMemory Splitでメモリ割当量を変更します.なお,GUIは全く使わないということを想定しているので必ずしもやらなければいけないというわけではないです.
ここでメモリ量を0にしてください.
次にオーバークロックの設定です.僕はPi2に設定していますがこれは危険との隣り合わせなのでリスクを負っても良いという方のみにしてください.
なお,オーバークロックと言っても常時OCしているわけではなくCPU稼働率が70%を超えたらOCするみたいです(Core iシリーズのターボブーストに相当)
そしたらApache周りの設定は終了したので再起動してください.
再起動が終わったらhttp://[RaspberryPi-IP]にアクセスしてみてください.It Works!と表示されれば成功です。次のステップに進みましょう.
3.ルータのポートを解放する
次に,外からアクセスできるようにルータのポートを解放します.ポートの説明があまりできないのですがようするに窓口のようなものです.
外からアクセスしてきても,ルータはLAN内のどのデバイスにパケットを送れば良いのかわかりません.そこでポートという窓口へ行きます.窓口に行けばどこに行けば良いのかを教えてもらい無事たどり着くことができます.
と言った感じでしょうか.てな訳で受付を作ります.とは言っても僕はNTTのPR400-MIしか持っていないので他のものを使っている場合は説明書を見て頑張って下さい.
まずはブラウザで192.168.1.1にアクセスしてください.ユーザ名とパスワードを尋ねられるのでご自身で設定されたものを…
次に左のメニューから「詳細設定>静的IPマスカレード設定」に進んでください.
こんな画面になりましたよね.そしたら,右の編集というところをクリック.
なんか設定画面が出てきましたね.パラメータの説明は省きますが,以下のように設定してください.
有効/無効:有効
変換対象ポート:80
宛先アドレス:Raspberry PiのIP
宛先ポート:80
これで外からアクセスできるようになりました。
ちょっと長いのでここら辺で少し休憩しましょうか…
……
……
4.ドメインを取得する
この章ではドメインというものを取得します。そもそもドメインとはなんでしょうか…?
サーバを公開しようとしている皆さんなら分かっているとは思いますけど少しおさらいです.
LANにはIPアドレスがありますよね.IPアドレスとは知っての通り数字の羅列です.このままでは人間にとってわかりやすいものとは到底言いきれません.そこで,数字の羅列を意味のある文字列に置き換える為のものがドメインというわけです
早速ドメインをとってみましょう.
NO-IPというところで無料でドメインが取れるので登録しましょう.ただしここで取得するドメイン名はApacheの設定ファイルに書いたものにしてくださいね.
これでインストールは終わりですが,自動実行用の設定が必要となります.
# cp debian.noip2.sh /etc/init.d/noip2 # chmod 755 /etc/init.d/noip2 # update-rc.d noip2 defaults
ここまでできたらいったん再起動してみてください.no-ip用のデーモンが実行されていれば成功です.
$ ps -aux | grep noip nobody 2189 0.0 0.1 2296 1696 ? Ss 15:00 0:00 /usr/local/bin/noip2
こんな感じのが出てきてたら成功。そしたらスマホからhttp://[DomainName]にアクセスしてみてください. ここでもIt Works!と出れば順調です.ここでの注意点としては、スマホはWi-Fiにはつなげていてはダメということですね.
5.Wordpressをインストールする
ではとうとう最終段階です.
早速ですがWordPressをRaspberry Piに入れてみましょう.
記事の執筆時点ではphpのバージョンは5でしたが、その時々でバージョンが変わっていると思うのでそこらへんは適宜読み替えるようにお願いします。
# apt-get install php5-cgi php5-mysql mysql-server php-apc // php、mysqlをインスコ # mysql -u root -p mysql> create database [name]; mysql> grant all privileges on [name].* to [username]; mysql> exit; $ wget https://ja.wordpress.org/latest-ja.tar.gz // wordpressをDL $ tar xvf latest-ja.tar.gz // 展開 $ sudo chmod -R a+r+w /var/www $ cd wordpress $ cp -r * /var/www //適宜自分のWeb鯖のRootに置き換える。 $ cd /var/www $ chown -R www-data:www-data * // こうしないとplug-inのインストールとかでこける
そしたらブラウザで http://[RaspberryPi-IP]/wp-admin/ にアクセス.
…するだけなんですがその前に公開するために一つやらなければいけません.外からアクセスするためにドメインを取得しましたよね?ですがあれはグローバルIPです.しかしLAN上でそれに対してアクセスしようものならアクセスできないと怒られてしまいます(外に出たら自分に返ってこれないため)。なのでその問題を解決します.使っているPCがWindowsの場合はC:\Windows\System32\drivers\etc\hostsを,Macの場合は/etc/hostsを編集します。最終行に以下のように書き込んでください。
[Raspberry Pi-IP] [DomainName] ← もちろん適宜変更で。
そんだけです.では改めてhttp://[DomainName]/wp-admin/にアクセスしてください.できますか?できるはずです。あとは指示に従って入力していくだけでOKです.非常に長くなってしまいましたがこれで公開サーバの完成です.お疲れさまでしたm(_ _)m
最近のコメント