SVGを表示するためにWebサーバーを立てよう
整備書のHTMLは表示できるのに、配線図(eWD)が表示できません。配線図はSVG(Scalable Vector Graphics)というベクターファイル(ベクトル情報ファイル)で作成されていますが、直接SVGファイルを開くことができるのに、Web画面のリンクから表示することができません。どうやら、SVGファイルはWebサーバーからは読み込めるのに、ローカルファイルは開かない仕様のようです。Safari, Firefox, MS Edge, Google Crome すべてダメでした。
【目次】 |
そこで、MacのApache(Webサーバーの名称です)を起動し、Mac内のWebサーバーから整備書を閲覧することにしました。以下、ターミナルからのコマンド作業になります。
【参考記事】
→ NDロードスター整備書(サービス・マニュアル)の配線図(eWD)表示方法(Windows11編)
Apacheのバージョン確認
Apacheのバージョンによってユーザーのconfファイルの記述が変わるので、最初にバージョンを確認します。ターミナルを起動すると「(ユーザー名)$」と表示されるので、「$」の後にコマンドを入力します。
$ /usr/sbin/httpd -version
このように(↑)入力すると、以下のようにバージョンが表示されます。
Server version: Apache/2.4.54 (Unix)
Server built: Sep 30 2022 02:51:01
Apacheの起動と停止
最近のMac OS は Apache が標準搭載されています。ブラウザ(Safari, Firefox, Chromeなど)を起動し、アドレス欄に「http://localhost/」と入力します。
「It Works!」と表示される場合は、既に Apache が起動しています。「「正常に接続できません」と表示される場合は、Apache が動いていません。
- Apache の起動
以下のコマンドをコンソールから入力します。$ sudo apachectl start
- Apache の停止
$ sudo apachectl stop
- Apache の再起動
$ sudo apachectl restart
Load failed: 5: Input/output error
Try running `launchctl bootstrap` as root for richer errors.
と怒られます。
以下に説明する設定ファイル(.confファイル)の編集後、Apache を再起動して変更した設定を読み込ませます。
VI(Unix標準搭載テキストエディタ)で編集
Apache が動いているだけでは、利用者のフォルダにあるウェブコンテンツを表示することができません。具体的には「/(ユーザー名)/Sites(サイト)/」に格納したコンテンツを表示できるよう、Apache の設定を変更する必要があります。しかし、設定ファイルの編集には管理者権限が必要なため、エディタで開いても上書き保存することができません。
このため全ての Unix に標準搭載される「viエディタ」を使って編集します。以下、必要な操作方法のみ記載するので、更に詳しい使い方は「vi 使い方」でググって調べてください。
- viの起動
コンソールに「vi」と入力してエンターキーを押すと、viが起動します。 - viの終了
「:」を入力すると、最下段にカーソルが移動するので「q」を入力してエンターキーを押します。 - viを使って管理者権限でファイルを開く
以下のコマンドを入力します。$ sudo vi (/格納ディレクトリ/ファイル名)
- ファイルを編集する
viは「挿入モード」と「コマンドモード」があります。「i」を押すと挿入モードに、「esc」キーを押すとコマンドモードに変わります。「i」を押して編集し、「esc」を押して保存や終了を行います。 - ファイルを保存する
「esc」を押してコマンドモードにしたら、「:w」と入力するとファイルを保存します。ファイルを保存してviを終了する場合は「:wq」です。
Sonoma (Mac OS 14) まで
以下の3つのファイルを編集します。
- /etc/apache2/httpd.conf
- /etc/apache2/extra/httpd-userdir.conf
- /etc/apache2/users/(ユーザー名).conf
まず、「httpd.conf」を編集します。
$ sudo vi /etc/apache2/httpd.conf
以下の2行の先頭にある「#」を挿入モードにして消します。
- 184行目の「#LoadModule userdir_module libexec/apache2/mod_userdir.so」
- 521行目の「
#Include /private/etc/apache2/extra/httpd-userdir.conf
」
次に、「httpd-userdir.conf」を編集します。
$ sudo vi /etc/apache2/extra/httpd-userdir.conf
10行目に「UserDir enabled」を挿入し、16行目の「#Include /private/etc/apache2/users/*.conf」から「#」を削除します。
# Settings for user home directories
#
# Required module: mod_authz_core, mod_authz_host, mod_userdir
#
# UserDir: The name of the directory that is appended onto a user's home
# directory if a ~user request is received. Note that you must also set
# the default access control for these directories, as in the example below.
#
UserDir enabled
UserDir Sites
#
# Control access to UserDir directories. The following is an example
# for a site where these directories are restricted to read-only.
#
Include /private/etc/apache2/users/*.conf
<IfModule bonjour_module>
RegisterUserSite customized-users
</IfModule>
最後に、自分のconfファイル「(ユーザー名).conf」を編集します。
$ sudo vi /etc/apache2/users/(ユーザー名).conf
このファイルの書き方が、Apacheのバージョンによって異なります。特にアクセス権限の記述に違いがあり、間違えると「Forbidden 403」と表示されてアクセス拒否されます。
Apache 2.2
<Directory "/Users/(ユーザー名)/Sites/">
Options Indexes MultiViews FollowSymLinks
AllowOverride All Order
allow,deny Allow from all
</Directory>
Apache 2.4
<Directory "/Users/(ユーザー名)/Sites/">
AllowOverride All
Options Indexes MultiViews FollowSymLinks
Require all granted
</Directory>
以上で修正完了です。
Sequoia (Mac OS 15) 以降
OS を Sequoia にアップデートすると、Apache のマイナーバージョンが上がります。それだけなのに、設定ファイルまで上書き・初期化してくれやがります。このため、以前のOSから使い続けている方も、新たにMacを購入された方も、設定ファイルの修正・Apache の再起動が必要となります。
Server version: Apache/2.4.62 (Unix)
Server built: Dec 13 2024 23:45:22
ユーザーサイトを表示するためには、以下の2つのファイルを修正する必要があります。
- /etc/apache2/httpd.conf
- /etc/apache2/extra/httpd-userdir.conf
まず、「httpd.conf」を編集します。
$ sudo vi /etc/apache2/httpd.conf
以下の2行の先頭にある「#」を挿入モードにして消します。
- 184行目の「#LoadModule userdir_module libexec/apache2/mod_userdir.so」
- 521行目の「
#Include /private/etc/apache2/extra/httpd-userdir.conf
」
次に、「httpd-userdir.conf」を編集します。
$ sudo vi /etc/apache2/extra/httpd-userdir.conf
16行目の先頭にある「#」を消します。
#Include /private/etc/apache2/users/*.conf
以上で修正完了です。「(ユーザー名).conf」の修正は必要ありません。
整備書の動作確認
設定ファイルの修正と Apache の再起動が終わったら、あなたのWebサイト用フォルダ(「サイト」又は「Sites」)へ整備書ディスクの「data」フォルダ内に格納されているデータをコピーします。コピーが終了したら「http://localhost/~(ユーザー名)/」を開きます。なお、チルダ「~」は、シフト+冪乗「^」で入力します。
整備書トップページ
電気配線図(eWD)
「サービス資料」から「電気配線図(eWD)」を開き、配線図が表示されることを確認します。