Apache/2.4.10 (Debian8)設定・Joomla3.x実践編

Debian8へアップデートされ、いえーい!とか言っていたのですが、Apache2.2も2.4へとアップグレードされ、何やら大幅に挙動が変わりこのサイトを支えるJoomla3システムもちゃんと動いてくれませんでした。

フタを開けてみれば何のことはなかったのですが、フタを閉めるのが大変でした。

そんな感じです。

 

※以下は、もう訳が分からなかったので、いっそのこと# apt-get purge apache2 なんてすごいことをやり、新規インストールでやり直した結果です。

目標はJoomla3.xがしっかりと動くことを目標とします。

パッケージの再インストール

# apt-get purge apache2 してしまうと、設定から何から何まで全部アンインストールされます。

すると、いくつかの依存パッケージも削除されるため、apache2を再インストールした後に、以下のパッケージも試してみます。

 

# apt-get install libapache2-mod-php5 php5-gd php5-mysql php5-common php5-cli

・・・自分の場合はlibapache2-mod-php5が消え失せてました。(笑)
やらかしたの見え見えだな、ぉぃ。

うるせー!

 

/etc/apache2/apache2.conf

HostnameLookups On

・・・に変更。

 

LanguagePriority jp en
AddHandler cgi-script .cgi .dat .pl
DirectoryIndex index.php index.html index.htm index.cgi

・・・2.2の頃はこんな設定もしてましたが、もうやりませんっ!笑

 

たまに再インストールすると色々なことが分かって参りまして、正直、Joomla3は結果としては標準インストールでほぼ、そのままで動いちゃったりします。

例えばDirectoryIndexのところなんかは、/etc/apache2/mods-available/dir.confを覗いてみると既に書いてあります。

さらに/etc/apache2/mods-availableを覗いてみるとちゃんとdir.confのシンボリックリンクが張られているということは、標準インストールの段階で頼んでもないのに有効済み!!てことです。

ちなみに、これひとつみても仕様としては大きな変化と言えるでしょう。

 

/etc/apache2/conf-available/security.conf

ServerTokens Prod

TraceEnable Off

・・・など。(これも2.2の頃と場所が変わったひとつです。)

 

/etc/apache2/sites-available/000-default.conf

DocumentRoot /○○/○○/public_html

・・・など、人によって色々です。

 

<Directory /foobar/hoge/joomla>
Options -Indexes +FollowSymLinks
AllowOverride All
Require all granted
</Directory>

・・・Require all granted (若しくはdenied)でないと動きません。

403エラーになります。

ここは昔 order allow,denyとか書いてた一連のアレです。

今回一番変わったのはコレ!

やめてよー!余計なことマジで!!

authz_core管轄になったとかなんとか・・・。何でもいいですけど。

 

・・・当サイトでは、AllowOverrideはURLリライト(mod_rewrite)のために使いますので、Noneにしてはいけません。

FileInfoという書き方もあるとApacheに書いてありますが、もうAllで良いでしょう!

 

CustomLog ${APACHE_LOG_DIR}/access.log combined env=!no_log
SetEnvIf Request_URI "\.(gif|jpg|png|JPG|GIF|PNG|bmp|css|ico|ICO|js)$" no_log
SetEnvIf Remote_addr 192.168. no_log

・・・これは別にやらなくても良いです。

ローカルアドレス組と画像とか無駄にアクセスログを排出する内容を保存しないようにする設定です。

 

a2enmod

# a2enmod rewrite

・・・サイトのURLを表現する際にindex.phpという表記をなくし、スッキリさせる効果があります。
ちなみに、先ほども言いましたがディレクティブ設定のAllowOverride Allの設定に関わってきます。

 

# a2enmod ssl

・・・SSLを有効にする。

・・・など。

 

/etc/apache2/conf-available/charset.conf

#を外してデフォルト文字をUTF-8に。

 

しかし、こんなもんです。

あとはmysqlとphp5がちゃんと入ってさえいればこのレベルで動きます。

なんだかんだすばらしいのです。

でも、こうやってここに備忘録的に書いてますが、いざWebサーバー動かなくなったときは結局ブラウザから手軽に確認できないんですよね・・・。

意味ねー!!!!

 

コメントを追加(どなたでも投稿できます)
  • コメントはありません