MAMPを利用したローカル環境でのてがろぐ設置方法について解説しています。主にmacOS環境向けの解説になります。
留意事項
記事執筆時点でのMAMPのバージョンは「ver7.2 (2737)」です。以降の内容はこのバージョンをもとにしています。
事前準備
事前にMAMPのインストールや設定、てがろぐのプログラム取得を行ないます。
MAMPのインストールや設定、MAMPでCGIスクリプトを利用するための設定については、以下記事をご参考ください。
ダウンロードしたてがろぐのフォルダをPC上の任意の場所(下記「留意事項」参照)に設置します。FTPでWebサーバーにアップロードするのと同等の作業になります。
てがろぐは新規取得のほか、すでに運用中の自身のサイトから一式ダウンロードしたデータでも構いません。
自身のサイトからダウンロードしたてがろぐデータを利用する場合、.htaccess
ファイルが含まれている場合は、いったんhtaccess.txt
にリネームするなどして.htaccess
を無効化し、ローカルサーバー起動時に影響を与えないようにしておきます。
留意事項
MAMP ver7.2において、ドキュメントルートにデスクトップ(Desktop)を直接指定することができないようです。デスクトップ上のフォルダをドキュメントルートに指定することは可能です。
×:/Users/[ユーザー名]/Desktop
◯:/Users/[ユーザー名]/Desktop/[任意のフォルダ]
以降の解説では、てがろぐのフォルダ(/tegalog
)をデスクトップ上の/_test
フォルダに設置していると仮定して進めています。
# tegalogフォルダ設置場所
/Users/[ユーザー名]/Desktop/_test/tegalog
てがろぐのパーミッションを設定する
てがろぐの各種パーミッションの設定を行います。パーミッションの設定は、「ターミナル」というアプリで行います(いわゆるCUI(Character-based User Interface)と呼ばれるもので、Windowsだと「コマンドプロンプト」というアプリが該当します)
「アプリケーション」フォルダ内の「ユーティリティ」フォルダ内にある「ターミナル」というアプリを起動します。
起動すると、以下のような画面が表示されます(画像を一部加工しています)
画面の表示は以下のようになっているかと思います。
[ユーザー名]@[PC名] ~ %
補足
環境によっては%
が$
の場合もありますが、以降の作業に違いはありません。[ユーザー名]@[PC名]
のあとの~
は、ユーザーのホームディレクトリ(ユーザー名のついた家アイコンのフォルダ)を示しており、現在のカレントフォルダ(作業フォルダ)がホームディレクトリであるということを表しています。
パーミッションを変更するため、てがろぐのフォルダをカレントフォルダに指定します。
cd
と入力し、つづいて半角スペースを入力します。cd
は「change directory」の略で、フォルダの移動に利用するコマンドです。
さらにつづけててがろぐフォルダのパスを指定します。本記事でのパスは、/Users/[ユーザー名]/Desktop/_test/tegalog
になります。ターミナルの入力画面にフォルダをドラッグ&ドロップすると、フォルダパスが自動的に入力されます。
ここまでの入力は以下のとおりです。
[ユーザー名]@[PC名] ~ % cd /Users/[ユーザー名]/Desktop/_test/tegalog
この状態でEnter(Return)キーを押すと、~
の部分がtegalog
に変化します。カレントフォルダがホームディレクトリからtegalog
フォルダに移動しました。
[ユーザー名]@[PC名] tegalog %
この状態で、フォルダの中のファイルのパーミッションを変更していきます。
パーミッションの変更は、chmod
というコマンドを利用します。chmod
は「change mode」の略で、ファイルモード(パーミッション)を変更するコマンドです。
以下のように指定します(これ以降[ユーザー名]@[PC名] ~ %
の記述は省略しています)
間のスペースは、全角ではなく半角です。
chmod [パーミッション] [パーミッションを変更するファイル名]
tegalog.cgi
であれば、以下のように指定します。
chmod 755 tegalog.cgi
この状態でEnter(Return)キーを押します。画面上は「OK」とも「完了」とも表示されず変化はありませんが、ファイル名を間違えてなければちゃんと変更されているので大丈夫です(のちのち確認をするので、間違えていても大丈夫です)
つづけて、他のパーミッション変更が必要なファイルも同様に指定して変更していきます。
以下はとくに変更が必要なもののコピペ用です。1行ずつ指定してEnter(Return)キーを押してください。
chmod 755 tegalog.cgi
chmod 644 fumycts.pl
chmod 666 tegalog.xml
chmod 666 tegalog.ini
chmod 666 psif.cgi
chmod 777 backup
chmod 777 images
設定したパーミッションの確認は、以下のコマンドで行います。
ls -l
ls
は「list」あるいは「list segments」の略で、カレントフォルダ内のファイルやフォルダなどの一覧表示に利用するコマンドです。-l
はls
のオプションコマンドで、ファイルやフォルダの詳細内容を表示します。
上記のコマンドを指定すると、以下のような内容が表示されます(ファイル数や数値などは異なります)
total 4080
-rw-rw-r--@ 1 [ユーザー名] staff 103 Nov 27 2017 (Recommend).htaccess
drwxrwxrwx@ 4 [ユーザー名] staff 128 May 24 12:09 backup
drwxr-xr-x@ 3 [ユーザー名] staff 96 May 24 12:06 emoji
-rw-r--r--@ 1 [ユーザー名] staff 174188 May 24 12:11 fumycts.pl
drwxrwxrwx@ 5 [ユーザー名] staff 160 May 24 12:09 images
-rw-rw-rw-@ 1 [ユーザー名] staff 87 May 24 12:12 psif.cgi
-rw-rw-r--@ 1 [ユーザー名] staff 109367 Apr 30 12:37 README.TXT
-rw-rw-r--@ 1 [ユーザー名] staff 14366 Apr 10 18:25 skin-cover.html
-rw-rw-r--@ 1 [ユーザー名] staff 2174 Dec 2 2023 skin-onelog.html
-rwxr-xr-x@ 1 [ユーザー名] staff 1185647 May 24 12:11 tegalog.cgi
-rw-rw-r--@ 1 [ユーザー名] staff 60913 Apr 10 18:11 tegalog.css
-rw-rw-rw-@ 1 [ユーザー名] staff 13261 May 24 12:11 tegalog.ini
-rw-rw-rw-@ 1 [ユーザー名] staff 4934 May 24 12:09 tegalog.xml
-rw-rw-r--@ 1 [ユーザー名] staff 111067 May 24 12:11 tegup.php
いろいろ書いてますが、一番左に書いてある-rw-rw-r--
やdrwxrwxrwx
がパーミッション部分です。すこしややこしいですが、755
などの8進数が変換されたもので、ターミナルやFTPソフト上ではこういった表記をすることが多いです。
先頭のd
は「ディレクトリ(フォルダ)」、おなじく先頭の-
は「ファイル」であることを示しています。
以下は今回変更したパーミッションの表記対応表です。
アルファベット | 数字 |
---|---|
rwxr-xr-x | 755 |
rw-rw-rw- | 666 |
rw-r--r-- | 644 |
rwxrwxrwx | 777 |
パーミッションが間違えていれば、先述のchmod
コマンドで再度指定します。
パーミッションの変更作業は以上です。おつかれさまでした。
補足
パーミッションのrwxのそれぞれの意味は以下のとおりです。
r
:読み取り(Read / 数字は4
)w
:書き込み(Write / 数字は2
)x
:実行(eXecute / 数字は1
)
ターミナルなどCLIで操作するパーミッションはすこしややこしく、本題から逸れるので本記事でもかなり説明を端折っていますが、以下のサイトの解説がわかりやすいので、興味があればご参考ください。
MAMPを起動しててがろぐを動かす
いよいよローカルサーバーでてがろぐを動かします。
MAMPを起動して、「Preferences」の「Server」タブでドキュメントルートを指定します。http://localhost/tegalog
でアクセスしたいので、以下の例ではドキュメントルートは/tegalog
フォルダのひとつ上の階層である/_test
を指定しています(画像を一部加工しています)
MAMP画面の「Start」ボタンをクリックして、サーバーを起動します。起動時にPCのログインパスワードを求められた場合は、ログインパスワードを入力してOKボタンを押下します。
サーバーが起動したらhttp://localhost/tegalog/tegalog.cgi
(ポートの設定によってはhttp://localhost:8888/tegalog/tegalog.cgi
)にアクセスし、以下のように表示されたら成功です。
いちど設置したものは、2回目以降はMAMPでドキュメントルートの設定とサーバーの起動のみで動作します。ただし、log.xml
などファイルを手動で入れ替えた場合は、入れ替えたファイルに対して再度パーミッションを設定する必要があります。
ローカルサーバーでてがろぐを動かす手順は以上です。
TegUpや.htaccessの利用について
TegUpの利用について
ローカルサーバーでも、TegUpは利用可能です。
てがろぐのCookieが保存されている状態(なにかしらてがろぐの設定を変更・保存している状態)で、tegup.php
によるてがろぐのアップデートが可能です。
.htaccessの利用について
MAMPのApache設定(httpd.conf
ファイル編集)で.htaccess
を利用する設定にしている場合は、ローカルサーバーに設置したてがろぐ内でも.htaccess
の利用が可能です。
てがろぐフォルダに同梱されている(Recommend).htaccess
を直接リネームしようとすると、保存できない旨のエラーダイアログが表示されるため、いちどテキストエディタでファイルを開き、.htaccess
として保存する必要があります。
補足
MAMPでの.htaccess
利用設定についても、以下記事をご参考ください。
.htaccess
ファイルは不可視ファイルのため、保存後はFinder上に表示されません。⌘
+Shift
+.(ドット)
キーを押すことで、不可視ファイルの表示非表示を切り替えることが可能です。
よくあるエラー事例
MAMPでサーバーを起動後、てがろぐにアクセスするとtegalog.cgiのファイルの中身が表示される
MAMPのApache設定(httpd.conf
ファイル編集)でCGI利用のためのモジュールが有効化されているかご確認ください。httpd.conf
の以下の行のコメントアウト(先頭の#
)を外します。
#LoadModule cgid_module modules/mod_cgid.so
↓
LoadModule cgid_module modules/mod_cgid.so
以下記事の「てがろぐなどCGIを利用する場合」項目をご参考ください。
MAMPでサーバーを起動後、てがろぐにアクセスするとInternal Server Errorが表示される
てがろぐの各プログラムのパーミッションが正しく設定されているかご確認ください。
また、運用中の自身のサイトからダウンロードしたものを利用している場合は、.htaccess
ファイルが影響を及ぼしている可能性があります。とくにSSLリダイレクトの記述がある場合は、正常に動作しません。
いったん.htaccess
ファイルをhtaccess.txt
などにリネームして無効化した上で、正常に動作するかご確認ください。
画像のアップロードができない / バックアップが作成されない
てがろぐの/images
または/backup
フォルダのパーミッションが777(rwxrwxrwx)
に設定されているかご確認ください。
.htaccessを設置するとInternal Server Errorが表示される
MAMPのApache設定(httpd.conf
ファイル編集)で.htaccess
を許可する設定になっているかご確認ください。
Options Indexes FollowSymLinks
AllowOverride None
↓
Options Indexes FollowSymLinks
AllowOverride All
上記記事の「.htaccessを有効化する」項目をご参考ください。
また、先述のとおり運用中の自身のサイトからダウンロードしたものを利用している場合は、.htaccess
ファイルが影響を及ぼしている可能性があります。
いったん.htaccess
ファイルをhtaccess.txt
などにリネームして無効化した上で、正常に動作するかご確認ください。
本記事の解説は以上です。
補足
MAMP以外では、XAMPPを利用しててがろぐを動かす方法が以下サイトの記事にて解説されています。