Ubuntu18.04(LTS)にadiaryを入れた時にハマったapache2の設定
お詫び
Qiitaの元記事にて、区切り線を「---」で書いている場所があり、これがZennの記法に干渉して一部うまく表示できない記事がある事を認識しています。
全ての記事を精査しきれていないため、お手数ですがお見かけの際は教えていただけると大変喜びます。
まずはじめに
CentOSとかでも出来ると思いますが、apache2.confをhttpd.confとか読み替えが必要です。
よく分からない場合は、検索ワードにCentOS (ご使用のバージョン)とかで探してもらった方が良いかと思います。
apacheのバージョンにも注意してください。古いバージョンからだいぶ変わっているようです。
Ubuntu18.04(LTS)にadiaryを入れた時にハマったapache2の設定
いろいろやったんで原因が色々ありますが、一つずつ切り分けてまとめます。
環境
Ubuntu: 18.04
adiary: 3.14a
Webサーバ: apache2
(nginxも対応されたようですが、本記事では扱いません[1])
gitが入ってない
当たり前と言えば当たり前ですが、apt installで入れる必要があります。
apt update & apt upgradeもお忘れなく。
gitを使わずzipをダウンロードする場合は不要です。
perlのバージョンが古い
apt upgradeしましょう。また、<a href="https://adiary.org/v3man/install2/#k4p2">公式マニュアル</a>にもありますがperlモジュールもインストールしてください。
Webに公開するファイルの場所を変えたい
つまりドキュメントルートを変更したい、という話なんですが初期状態だと/var/www以下を参照しています。
ドキュメントルートを決めているのは/etc/apache2にあるapache2.confやらsite-available/000-default.conf(場合によってはdefault-ssl.confも)です。
変更箇所は、ド直球にDocumentRootとか<Directory /...>とか書いてる項目がありますが、これらを適切に設定します。
CGIが動かない
まずはgit cloneした.htaccessをコメントアウトしましょう。
調査が大変になります。
その後で参考リンクを参照しつつ、一つずつ順番にやっていきましょう。
一気に設定してapache2 restartとするのはおすすめしません。
a2enmodとは
色々なところを探すと、apache2.confやsites-available/default.confの話は書いてあっても、a2enmodについては書いてなかったです。
Ubuntu18でCGIを動かす場合、この辺りの設定が必要だったのですが、参考先のような形で明記してあったのはなかったので、こちらでも取り上げました。
さて、a2enmod cgiを実施すると/etc/apache2/mods-enabled/以下にcgi.*でシンボリックリンクが作成されているっぽいですね。
細かいのはwhich a2enmodで実行ファイル探してcgi辺りで追いかければわかりますが、私がperl5を読めないので多分そういう事やってるんじゃないかな、という感覚で見てます。
.htaccessの見直し
cgiが動くようになれば、.htaccessを見直します。
dot.htaccessとかリネームされている事もあるので、リネームをお忘れなく。
また、ls -laで参照しないと.htaccessが見当たらないので、コマンドにも注意。
普段からlコマンドでやっている人はlaです。
それでもうまくいかない場合
キャッシュが残っているので、F5で更新しても状態が変わっていない事が考えられます。
ブラウザ自体を再起動すると解消されたので、おかしいな?と思ったらブラウザ自体を再起動してみてください。タブやページだけではダメでした。
参考
<a href="https://adiary.org">adiaryの公式</a>
<a href="https://qiita.com/rakuraku0615/items/6af72e5524228d7c0f9b">ubuntuのapache2のドキュメントルート変更</a>
<a href="http://auewe.hatenablog.com/entry/2016/06/13/170457">apache2でcgiがダウンロードされる時のチェック項目一覧</a>
読了後いいね!をお願いします。
どれだけの方に読んでもらっているか知りたいので、お手数をおかけしますがご協力いただけると嬉しいです。
-
ちょっとやってみたんですが、うまくいかなかったので再チャレンジします。 ↩︎
Discussion