apacheでバーチャルホストの設定
いつもはXamppに任せてたので、ちょっとはまりました。
①まずはC:\Apache24\conf\extraのhttpd-vhosts.confに記述
<VirtualHost *:80> ServerAdmin localhost.hogehoge.com DocumentRoot "C:\Apache24\htdocs\hogehoge.com\public" ServerName localhost.hogehoge.com ServerAlias www.localhost.hogehoge.com ErrorLog "logs/localhost.hogehoge.com-error.log" CustomLog "logs/localhost.hogehoge.com-access.log" common </VirtualHost> <|| これでOK。表示してみるとIt,works!、あら、読み込んでない。 **②C:\Apache24\confのhttpd.confでバーチャルホストを有効にしなきゃいけなかった。 [f:id:wozmagic:20150311115636p:plain] apacheを再起動させて、もう一度、表示してみる。 [f:id:wozmagic:20150311115756p:plain] あれ、今度はphpが読めない設定になっているらしい。設定どこだっけ? ありました。情報ありがとう。 ここを参考に [http://www.sound-uz.jp/php/note/config5:title=http://www.sound-uz.jp/php/note/config5] httpd.confの278行目あたりに、index.phpを追加 >|| <IfModule dir_module> DirectoryIndex index.html <span style="color: #d32f2f">index.php</span> </IfModule> <|| [f:id:wozmagic:20150311120612p:plain] やったー。読み込んでくれました。laravel早く使ってみたいなぁ~。 レンタルのVPSサーバーなんかをレンタルすると、環境設定が大変です。なので、Xamppにいつも頼っていると、いろいろな事が分からなくなりますね。時間がかかってもいいから、コツコツ自分で環境を整えていこう。
windowsにPHP+apacheをインストール
題名がJavaEEマスターへの道のりなんですが、一旦、あきらめまして、また、PHPに戻ります。今まで、Xamppを使っていたのですが、今回を機にサーバーへの環境設定がいかに大事かをおもいしり、きちんとインストールとか出来るようになろうとやってみました。
①PHPのインストール
http://php.net/から現段階での最新版PHP5.6.6をダウンロードします。
Thread Safeのものを選びましょう。Non Thread Safeにはapacheの連携に必要なファイルが入ってなくて、早速テンパリましたので・・・・。
解凍したら、Windowsのルートにphpフォルダを作成し、解凍したものをバージョンごとに入れておきます。
C:\PHP\5.6.6(バージョン別に分ける)
③apacheとPHPの関連付け
参考:親方、空から覚え書きが|Apache Service Monitor を利用した PHP モジュールの切り替え
今回はバージョンごとにサービスを登録していきますのでそれを別ファイルに書き込んでいきます。
まずはC:\Apache24\confのhttpd.confファイルを開き、読み込みたいファイルをインクルードします。以下のコードを最後にコピーします。
#インクルードするファイル PHPをバージョンごとに管理 Include conf/extra/php.conf
次にC:\Apache24\conf\extraフォルダにphp.confを作成します。
# latest version on major 5.6.6 <IfDefine PHP5_6_6> LoadFile "C:\PHP\5.6.6\php5ts.dll" LoadModule php5_module "C:\PHP\5.6.6\php5apache2_4.dll" AddType application/x-httpd-php .php PHPINIDir "C:\PHP\5.6.6" </IfDefine> # latest version on major 4 <IfDefine PHP4> LoadFile "C:\PHP\4.4.7\php4ts.dll" LoadModule php4_module "C:\PHP\4.4.7\sapi\php4apache2.dll" AddType application/x-httpd-php .php PHPINIDir "C:\PHP\4.4.7" </IfDefine> # specified 5.5.2 <IfDefine PHP5_5_2> LoadFile "C:\PHP\5.5.2\php5ts.dll" LoadModule php5_module "C:\PHP\5.5.2\php5apache2_4.dll" AddType application/x-httpd-php .php PHPINIDir "C:\PHP\5.5.2" </IfDefine> <|| IfDefineタグは横に書かれているパラメータ(IfDefine PHP5_6_6だったらPHP5_6_6の部分)と合致した場合のみ、実行するタグです。 このパラメータはwindowsのサービスに登録します。 **④apacheをサービスとして登録する。 システムのプロパティ→環境変数からphpとapacheのPATHを通しておきます。 >|| ;C:\Apache24\bin;C:\php\5.6.6; <|| 次にコマンドプロンプトを開き、 >|| httpd -k install -n "Apache2.4 with PHP5.6.6" -D PHP5_6_6 <|| >|| httpd -k install -n "Apache2.4 with PHP5.5.2" -D PHP5_5_2 <|| 意味は次のようになります。 >|| httpd -k install -n "サービス名" -Dパラメータ名 <|| **④apacheモニターの利用 apacheの起動はapacheモニターを使うと便利ですので、タスクバーに登録しておきます。 C:\Apache24\binのなかのApacheMonitor.exe [f:id:wozmagic:20150310212147p:plain] **⑤PHPの動作確認 C:\Apache24\htdocsにphpinfo.phpを作成し、以下のソースを書き込みます。 >|php| <?php phpinfo(); ?> <|| apacheをモニターから再起動して、 http://localhost:80/phpinfo.php を検索してみましょう。たぶんこれで行けるはず。 [f:id:wozmagic:20150310212734p:plain] 簡単にバージョンアップでのテストがしやすくなるので、助かります。 参考先のサイトを書かれた方、貴重な情報をありがとうございました。たいへん勉強になりました。
JavaEEに挑戦。Glassfishでアプリケーションを仮想ホストに割り当て1
まだ、下記の情報はまだ成功していません。行う場合は自己責任でお願いします。
PHPからJavaEEに挑戦して間もないけど、JavaEEは大規模な案件で使われる事が多いらしく、バーチャルホストでマルチドメインを実現するような情報が乏しいですね。でもでもでも、人生には時間に限りがありますので、残りの人生Javaに捧げたいと思っています(だって、もうこれ以上プログラミング言語勉強するの嫌だもん・・・)ので小規模だろうが中規模だろうがJavaEEでWebアプリケーションを作ってみようと思うのです。ただのホームページでもJSFのテンプレートエンジンの利用だけで作ってみたいと思っています。
たぶん、突っ走る方向間違っていますが、心優しい方、コメントで突っ込んでください。良い勉強になりますので、ぜひお願いします。
今回、Glassfishでアプリケーションを仮想ホストに割り当てでCATCHIE BLOGを参考にさせていただきました。貴重な情報ありがとうございます。
やりたいことは
http://ホスト名またはipアドレス:8080/独自ドメイン名(アプリケーション名)/
→http://独自ドメイン名
つまり、http://domain.sakura.ne.jp:8080/sample.com
→http://sample.comにしてみたいのです。
環境は
レンタルサーバー: さくらVPS1G
Webサーバー: Apache
アプリケーションサーバー: Glassfish4.1
OS: CentOS
まずはローカル(windows)で手軽に試してみます。Webは後で
①hostsファイルへの記述
ここら辺にありますC:\Windows\System32\drivers\etc\hosts
以下を追記。たぶん、ローカル上のDNSへの登録みたいなものです。
127.0.0.1 localhost.localdomain localhost sample.com
②glassfishを起動して、管理コンソールへhttp://localhost:4848にアクセス
NetBeansからglassfishを立ち上げ、サービス→GlassFish Serverで右クリック→ドメイン管理コンソールを開きます。
glassfishサーバーが立ちあがっていたら、http://localhost:4848に直接アクセスしてもかまいません。
③ネットワークリスナーの定義
ネットワークリスナーを探してみたら、default-configとserver-configの中にそれぞれ2つありました。stachoverflowに書かれていました。「defaultはテンプレートとして使う、サーバーの設定がしたいのならserver-configに行け」うーん、良く分かりませんが、他のページは目的は違うのですが、server-configで設定してたので、server-configにします。
出来るだけ、同じ値にしてみました。最後にOKをおしてね。
てか、ネットワークリスナーってなんだろうね?何度か読んだんだけど、いまいちピンとこないなぁ。検索用→glassfish ネットワークリスナー
④仮想サーバーの設定
新規を選択。
⑤ネットワークリスナーとデフォルト仮想サーバーの関連付け
Configurations>server-config>Network Config>Network Listeners>jkを選択
HTTPタグをクリック。
なんかMax Post Sizeがマイナスの値を取っていたので、int値を入れんかい!と警告がでました。なんかようわからんけど4096をいれてやりました。
⑥仮想サーバー「server1」にWarファイルを配備
Applicationを選択、配備をクリック。
ハロー.warをオラクルさんが配ってましたのでこちらで試してみます。
管理コンソールでの作業は終わりだそうです。
⑦apacheのバーチャルホストを設定してみます。たぶん、/etc/httpd/conf.d/はシングルドメイン用?なのでC:\xampp\apache\conf\extra\http-vhosts.confに設定してみます。
<VirtualHost *:80> ServerName sample.com RewriteEngine On RewriteCond %{HTTP_HOST} ^sample.com$ RewriteRule ^/(.*) ajp://server1.sample.com:8009/ $1 [P] </VirtualHost>
よし、どーーーーーーーーーーーーなるのでしょうか?
Apacheが動かなくなりました。また、か~~~~~い。
apacheのバーチャルホストを設定を見直さないといけませんね。
取りあえず、昼ごはん食ってから、もう一度トライ!!
気を取り直しまして・・・。よくよく比較すると、やっぱり記述ミスが・・・。
http-vhosts.confファイルの記述は
<VirtualHost *:80> ServerName sample.com RewriteEngine On RewriteCond %{HTTP_HOST} ^sample.com$ RewriteRule ^/(.*) ajp://server1.sample.com:8009/$1 [P] </VirtualHost>
ですね。・・・とりあえず、apacheは起動しました。
そして、URLにhttp://sample.comを入れると・・・・・
sample.comさん、こんにちは~。他人のホームページにお邪魔しちゃいました。
このブログを見られた方、大変申し訳ありませんが・・・・。またまた、失敗です。
追記:hostsファイルにsampleじゃなくてtestと書いて間違ってました。
今度こそ、
127.0.0.1 localhost.localdomain localhost sample.com
を追加して。
URLにhttp://sample.comを入れると・・・・・
お~~~~~なんかエラーが出た。早速、調査してみよう。
http://oshiete.goo.ne.jp/qa/1463057.html
ここの情報をもとにproxy設定を行ってみようと思います。
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
これらをコメントアウトして
ProxyRequests Off <Proxy *> Order allow,deny Allow from all </Proxy> ProxyPass http://localhost:8009/sample.com http://sample.com/ ProxyPassReverse http://localhost:8009/sample.com http://sample.com/
apacheを再起動させて、確認。
変わらず・・・。
今回は、もう分かりません。pod_proxyというのが気になるので、
別のブログを参考にして、やってみたいと思います。
ここまで、我慢強くみられた方、本当に申し訳ございません。
次回はきっとうまくいくはず。また、記事を書きますね。
追記:なぜかglassfishサーバーの管理コンソール画面が立ち上がらなくなりました。結構エラーが出まくってますね。新しく、glassfishを入れなおします。今度はV3で日本語版にしてみよう!!
JavaEE構築編 【さくらVPSにglassfish4.1をいれたけど、表示すらしないし。】→解決できました
さくらVPSにglassfish4.1を入れてみました
ちなみに環境はさくらVPSを使っていてwinからSSH接続で、操作しています。メモリはたったの1G。お金ないので・・・。CentOSのバージョンは何だったかな?
①JDKのダウンロード
JavaEEなんでJavaEEから、ダウンロードするのかと思いきや、JavaSEをインストールするみたいです。みんなやってるし・・・。それから、一応、JavaEEもダウンロードしてみたんですが、中にはglassfish4が入っていました。Javaの本体無いじゃん!Web用のセットなんだろうと思います。
あと、JDK1.8が最新ですがJDK1.7にしました。僕の師匠(わかりやすいJavaEE(著:川場隆大先生)もそうしてたので。あとで、バグとかあったら解決できそうにないので、出来るだけ一緒に。
さくらVPSはデフォルトで64bitらしいので、
なんかAuthParamがいるみたいな事書いてあるんで、ダウンロードの途中。リンクをコピーします。
それでは、CentOSでダウンロード
wget http://download.oracle.com/otn-pub/java/jdk/7u75-b13/jdk-7u75-linux-x64.rpm?AuthParam=1425529020_3a7030a5c4f5eb21bc66bc58b3205f1d
それから、名前が長いので短くしました。
mv http://download.oracle.com/otn-pub/java/jdk/7u75-b13/jdk-7u75-linux-x64.rpm?AuthParam=1425529020_3a7030a5c4f5eb21bc66bc58b3205f1d http://download.oracle.com/otn-pub/java/jdk/7u75-b13/jdk-7u75-linux-x64.rpm
②Javaのインストール
rpm -ivh http://download.oracle.com/otn-pub/java/jdk/7u75-b13/jdk-7u75-linux-x64.rpm
これでJavaのインストール終わりです。画面がバーとなるので不安ですが、大丈夫っぽいです。確認でバージョンを調べます。
java -version
③glassfish4.1をダウンロードします。
いよいよ、入れてみます。
glassfishもORACLEさんが配ってくれてます。ありがたや~。
wget http://dlc.sun.com.edgesuite.net/glassfish/4.1/release/glassfish-4.1.zip
④いよいよインストールなんですが解凍するだけらしいんです
unzip glassfish-4.1.zip
で、インストール完了。
⑤glassfish4にPATHを通してあげました。
cd /root
vi .bash_profile
⑥PATH(profile)の適用
$source ~/.bash_profile
出来なければ、再ログイン。
⑦glassfishの起動
asadmin start-domain domain1
起動まで、成功しました。あとは、表示確認ですね。
http://「ipアドレス」:8080を検索エンジンに入れて、ドキドキの瞬間です。
よし、失敗ですね。
ブログを始めて1日目ですが、僕のJavaEEの道は断たれたようです。もう、丸2日間、この状態です。かなりのページを検索しまくって、同じことの繰り返し。たぶん、全てやり尽くしましたが解決できません。
だれか、助けてくださーい!!何が間違ってるんでしょう?
解決できたら、続き書きます。よろしくお願いします。
追記:本日あきらめずに、別のWindowsで同じようにやってみたところ、簡単に成功しました。特に設定も必要無くものの10分程度で終わりました。
Linuxの設定がおかしいのではないかと思い、さくらVPSをもう一つレンタル(無料お試しプラン)をしちゃいました。まっさらなLinuxなので今度こそお魚ちゃんが見れる事を祈ってます。設定の問題で有れば、詳しく調査して分かり次第、報告します。
追記:出で出来ました~~~~~~~~~~~~~~~~。新しいサーバー借りたら一発です。たぶん、セキュリティやらなんやらで、いろいろと設定が変わってたのが原因っぽいです。もし、原因が分かれば、報告します。
追記:ファイアーウォールの問題でした。というか、ファイアーウォール良く分からないし、コピペしたから、こういうことになったんだろうなぁ。自業自得です。ファイアーウォール勉強します。
JavaEEをマスターしたい。初心者からの道のり(まずは自己紹介)
まずは紹介から、僕はフリーランスのプログラマーをやってるものです。ホームページや何かしら、無駄にいろいろと作ってきました。その時は、絶対もうかると思ってやっては来たのですが、全然です。プログラミングは全て独学でやってきたので、これからも、何とかマスターを目指して頑張っていこうと思います。
今まではというと、HTMLやCSS、Javascript、PHPとテンプレートエンジン(smarty)、MySQLを使ってホームページを作っていたのですが、いずれは大規模なサイトを作りたいので、出来るだけセキュアで安定していて速度が速いということでJavaEEなるものにたどり着いたのです。これがベストな道なのか、Google先生以外、相談できる人?がいないので分からないのですが・・・。
プログラミングよりも、サーバー構築がめちゃくちゃ苦手です。ターミナルに文字打ってたら、イライラする。なんか、黒と白だけでさみしいし。あと、ちょっと文字打ったら、文字がばーと出てきますよね。勝手に・・・。すごく不安。
そんな感じでサーバー構築をやってます(泣)。たぶん、谷あり谷ありで、止まりまくりだとは思いますが、もし心優しい方がおられましたら、応援してください。分かんないところ教えてください。よろしくお願いします。
では、早速つまずいたので、僕のさくらVPSサーバーにglassfish4.1をインストールをご覧あれ。表示すらしないよ。なんで?みんなと同じ事やってるはずなのに・・・。