カテゴリー: xampp-mamp

MAMPでバーチャルホストの設定をして、SSIを有効にする。

自分用メモ
ほとんどXAMPPと同じぽい。

使うアプリ(2個+1)

MAMP / apacheとMySQLにPHPを簡単インストール

MAMP: Mac, Apache, MySQL, PHP

hoster / hostsの設定が楽チンになるアプリ

RedWinder::MacApp::Hoster

エディター / CotEditor使った

CotEditor プロジェクト日本語トップページ – SourceForge.JP

手順(うろ覚えだけど)

1)MAMPの変更

MAMP PROは使わないからアンインストールした
アプリケーション フォルダのMAMP PROの中にあるUninstaller.appで
全部チェックした。

MAMPのポートを:8888から:80に変更した
[image]環境設定 - ポート

2)httpd.confの書き換え

httpd.confをCotEditorで開けるように、cmd+iから変更
[image]httpd.confを開くアプリを変更

httpd.confの場所は
[text]/Applications/MAMP/conf/apache/httpd.conf[/text]

次の行を検索して
[text]#AddType text/html .shtml
#AddOutputFilter INCLUDES .shtml[/text]

#(コメントアウト)を削除して .htmlを追加
[text]AddType text/html .shtml .html
AddOutputFilter INCLUDES .shtml .html[/text]

次に、
[text]Options Indexes FollowSymLinks[/text]で検索して

[text]<Directory />
Options Indexes FollowSymLinks
AllowOverride None
</Directory>[/text]
に”ExecCGI Includes”(CGIとSSIの使用を許可)を追加

こんな感じになる。
[text]<Directory />
Options Indexes FollowSymLinks ExecCGI Includes
AllowOverride None
</Directory>[/text]

もいっちょ、バーチャルホストを使うので
[text]Virtual hosts[/text]で検索して
コメントアウトを削除
[text]# Virtual hosts
#Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf[/text]

[text]# Virtual hosts
Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf[/text]

3)httpd-vhosts.confの編集

[text]/Applications/MAMP/conf/apache/extra/httpd-vhosts.conf[/text]

winのxamppだとNameVirtualHost *:80がコメントアウトされてたけど
MAMPはされてなかった。

一番下に追加
DocumentRootにフォルダの場所
ServerNameに任意のアドレス
[text]<VirtualHost *:80>
DocumentRoot "/Users/[ユーザー名]/_webroot/example"
ServerName _example.localhost
<Directory "/Users/[ユーザー名]/_webroot/example">
order deny,allow
allow from all
</Directory>
</VirtualHost>[/text]

4)hosterを起動

ホスト名に「_example.localhost
IPに「127.0.0.1」を追加

こんなの追加されたらおk
[text]127.0.0.1 _example.localhost[/text]

以上MAMPを再起動して動作チェック

バーチャルホストを増やす時は
3)と4)をそれぞれ編集。

以上で漏れはないかな?

[追記 / 20120918]
その他参考
MAMPを使ってローカルで複数サイトのバーチャルホストを設定&イントラ環境や仮想環境からもそのサイトを確認する設定方法 | THE HAM MEDIA BLOG
MAMPのPHPでの文字化けを直す | memocarilog


concrete5をxampp環境にインストール

concrete5(コンクリートファイブ)というCMSがあるそうです。
concrete5日本語公式サイト by Usagi Project

何がいいのかイマイチ判らないまま仕事で使う事になったので
とりあえず動作確認用にローカルにインストールしてみようとしたら
Warning: session_start()ってエラーがでて
上手くインストール出来なかったよっていうメモ。

環境

windows7 64bit
xampp1.7.3
concrete5.4.1.1.1 日本語 最新安定板

インストールの準備

以下のリンクを参考にphpMyAdminからconcrete5用の空DBを作成
バーチャルホストも用意しておく
うちは_c.localhostにした。

inputlog – Concrete5をxamppにインストール
インストール準備 :: concrete5日本語公式サイト

インストール

_c.localhostにアクセスすると下のようなエラーが表示されて先に勧めなかった。
[text]Warning: session_start() [function.session-start]: open(\xampp\tmp\sess_jpft2igj399p07rk0ecstj7tn5, O_RDWR) failed: No such file or directory (2) in D:\_webroot\c5\htdocs\concrete\startup\session.php on line 18[/text]
[image]Warning: session_start() [function.session-start]: open

エラーの原因

どうも、php.iniのsession.save_pathがおかしいみたい。

を開いて、1496行目あたりの


こんな感じに修正

xamppのコントロールパネルからapacheを再起動して
_c.localhostにアクセスしてみるとエラーが消えた。

[image]エラーが消えた

変な達成感があるけど、実際まだ始まってすらいない。

MySQLのサーバーアドレスは
デフォルトだとlocalhostで
その下はMySQLにログインする時のidとpass
データベース名はインストールの準備で作ったヤツ


windows7 64bitにxamppを再インストール

mysqlのrootパスワード忘れて再インストールした際のやったことメモ。
なんか足りてない気がする。

ダウンロード

旧バージョン(1.7.2)をインストールしたかったので
こっちから拾ってきた
XAMPP – Browse /XAMPP Windows at SourceForge.net

最新版はこっちにも。apache friends – xampp for windows

インストール

全部デフォルトでポチポチしてって完了。
(※インストール先をc:にすると勝手にxamppフォルダが出来て、c:\xamppにインストールされた。

設定

localhostにアクセスして
左側のメニューの
セキュリティ – セキュリティから

そのような問題をすべて修正するには、単純に次のツールを使ってください。
=> http://localhost/security/xamppsecurity.php <=をクリックしてパスワードを設定。パスワード指定時にチェックをいれとかないとmysqlrootpasswd.txt やxamppdirpasswd.txt が生成されないみたい。[image]セキュリティ

.htaccessをC:\xampp\htdocs か C:\xampp\htdocs\xamppあたりに置くらしいけど

みたいなの。
大文字と小文字に違いはあるのかな?

localhostが開かなくなった、なんか間違ってたんだろうか。

あとSSIとバーチャルホスト(バーチャルドメイン?)の設定した。
xamppでinclude(SSI)を使えるようにする
ルートパスとDreamweaverとバーチャルホスト(バーチャルドメイン?)

httpd-vhosts.conf
19行目あたりの
#NameVirtualHost *:80のコメントアウトを解除して
すぐ下に

を追加した。

(※なぜかlocalhostじゃないやつがlocalhostで開いてしまったので

php.ini

C:\xampp\php\php.ini
を開いて、mbstringで検索

1771行あたりから始まるmbstringの
;mbstring.language = Japanese
みたいなやつの先頭の「;(セミコロン)」を削除した


xamppでinclude(SSI)を使えるようにする

phpのinclude文じゃなく
SSI(Server Side Include)の方のincludeです。

わたくしごっちゃになっておりました。

こんな感じの記述です。
[code]
<!–#include file="nav.html" –>
[/code]
[code]
<!–#include virtual="nav.html" –>
[/code]
fileはそのファイルからのパスで
virtualはdocument rootからのパスみたい

大きなサイトで、ヘッダーやメニューやフッターを
共通のパーツとして書きだすと修正の時なにかと便利な感じがしました。

あと、javascriptがクライアントサイドで書きだすメニューなんかと違って、
SSIは文字通りサーバーサイドで処理されるので、検索で不利になるような事はないそうですぜ。

そんでもって、ローカルで作業する時
xamppの初期状態だとSSIを使うには.shtmlにしなくちゃいけなかったと思うのだけれど
それだと困るので.htmlでもSSI使えるようにするだす。

やり方

1)
httpd.confの418行あたりを
(xamppを何も変更せずにインストール場合は、多分以下の位置)

2)
こんな感じに変更して
[code]
AddType text/html .shtml .html
AddOutputFilter INCLUDES .shtml .html
[/code]

3)
Apacheを再起動、でおkなハズ。

追記)
.htaccessならこんな感じ
[code]AddType text/x-server-parsed-html .shtml .html
Options Includes[/code]

その他、バーチャルホストの設定などは以前の投稿を参考に

ルートパスとDreamweaverとバーチャルホスト(バーチャルドメイン?)


WordPressのバックアップと復元を練習

乱雑モックアップにはWordPress Database Backup(*1)をインストールしてあって、毎週gmailにデータベースのバックアップが届くようになっているんだけど
それを使って復元した事が一度も無い、というより復元の仕方がよく判らない。

これじゃあ、いざって時に危ないので自分なりに調べて練習してみる事にする。
(*1 WordPress Database Backupは、データベースを定期的に自動バックアップして、そのデータを指定したメールアドレスへ送信出来るプラグイン)

以下、自分なりの解釈なので、表現や手順に間違いがあるかもしれないですけどメモ。

続きを読む


ルートパスとDreamweaverとバーチャルホスト(バーチャルドメイン?)

突然、ルートパス(サイトルート相対パスと呼ぶの?)で書かれたサイトを触る事になって困ったので調べたメモ。

そもそもルートパス(サイトルート相対パス?)ってなんぞ?

ルートパス
サイトルートのルートディレクトリからみた相対パス
/から始まる。
絶対パス
外部サイトへリンク貼るときなんかのパス
httpから始まる
相対パス
ファイルから見た対象ファイルへのパス
よく使う

ルートパスで書かれたサイトをローカルでプレビューするには

Dreamweaverだと

[text gutter=”false”][編集] – [環境設定] – [ブラウザでプレビュー] – [オプション]一時ファイルを使ってプレビューにチェック[/text]
しておけば相対リンクがドキュメントでもプレビュー出来る(プレビューは)。

編集する設定はadobeのサイトAdobe Dreamweaver CS4 * 新規リンクの相対パスの設定
を参照 / ヘルプの引用

[image]一時ファイルを使用してプレビュー

[image]サイト管理のとこ

メリット(だと思うところ)
これだとローカルにサーバーを立てる必要もない。

デメリット(だと思うところ)
IETesterでIE6の表示を確認する時たいへんなのと
編集修正するたびブラウザの更新で確認できない。

XAMPPだと

バーチャルホストを使うのが現実的みたい。

編集するファイルは2つ
1つめ
C:\xampp\apache\conf\extra\httpd-vhosts.conf

(うちのPCでの設定ファイルの場所)

1-1)
[text]NameVirtualHost *:80[text]のコメントアウト(##)を削除して有効化する。

1-2)
例 / dドライブのsiterootフォルダをドキュメントルートにして
http://sitenameでアクセス出来るようにするには。

[text]<VirtualHost *:80>
DocumentRoot "D:/siteroot"
ServerName sitename
<Directory "D:/siteroot">
order deny,allow
allow from all
</Directory>
</VirtualHost>
[/text]
(ちょっと修正した)
Access forbidden!Error 403になっちゃうならDirectoryの指定は必要
<Directory>は<VirtualHost>の中でも外でも問題なにのだろうか?
DocumentRootのパスに2バイト文字が混ざってると上手くいかない感じ。

Directoryの中に記述できるモノもようわからん。
ここらへん?
http://httpd.apache.org/docs/2.2/ja/mod/core.html#directory
http://httpd.apache.org/docs/2.2/ja/mod/core.html#options
http://httpd.apache.org/docs/2.2/ja/mod/core.html#allowoverride

2つめ
C:\WINDOWS\system32\drivers\etc\hosts

例 / さっきのServerNameに記述した名前(sitename)を追加
[text]127.0.0.1 localhost sitename[/text]とか
[text]127.0.0.1 localhost
127.0.0.1 sitename[/text]みたいな感じで

Apacheを再起動してhttp://sitenameにアクセスしてみる。
いままでこれ知らなかったから
phpのテストをしたい場合
xamppのhtdocs以下にフォルダ作ってて
不便だと思ってたけど、他のサイトと同じように管理出来るのかしら。
ん~2バイト文字のフォルダ名が付いてるとエラーがでるのぅ。
もうちょい試してみよう。

参考にしたサイト

続きを読む