カテゴリー
Mac PC Web

YosemiteのApacheを再設定。

MacのOSを MavericksからYosemiteにアップグレードしてみましたよ。
今流行りのフラットデザインらしいですが、コントラストが低くて視認性が良くないので、アクセシビリティの設定で、コントラストを上げる設定をしてます。

それ以外にも、Trim Enablerが素のままでは動かないなどありましたが、
内蔵のapacheなどにも違いがありそうです。

まず、Apacheは2.2から2.4にアップグレードされています。
それに伴い設定ファルが新しくなっているので、他のプログラムの分も含めて検索してみると、apacheとpostfixとssh_configあたりのチェックが必要そうですね。

$ sudo find /etc/ -name "*orig"
/etc//apache2/extra/httpd-autoindex.conf~orig
/etc//apache2/extra/httpd-dav.conf~orig
/etc//apache2/extra/httpd-default.conf~orig
/etc//apache2/extra/httpd-info.conf~orig
/etc//apache2/extra/httpd-manual.conf~orig
/etc//apache2/extra/httpd-mpm.conf~orig
/etc//apache2/extra/httpd-multilang-errordoc.conf~orig
/etc//apache2/extra/httpd-ssl.conf~orig
/etc//apache2/extra/httpd-userdir.conf~orig
/etc//apache2/extra/httpd-vhosts.conf~orig
/etc//master.passwd~orig
/etc//passwd~orig
/etc//paths~orig
/etc//php.ini.default-5.2-previous~orig
/etc//postfix/access~orig
/etc//postfix/aliases~orig
/etc//postfix/canonical~orig
/etc//postfix/header_checks~orig
/etc//postfix/main.cf.default~orig
/etc//postfix/main.cf~orig
/etc//postfix/virtual~orig
/etc//ssh_config~orig

これを機会に、2.4の標準 + 最小限の変更 になるように再設定してみました。

  • UserDirを有効にして、 ~/Sites 以下にアクセスできるようにする。
  • phpを使えるようにする。
  • 念のためmod_rewriteも

/etc/apache2/httpd.conf

166c166
< #LoadModule userdir_module libexec/apache2/mod_userdir.so
 --- 
> LoadModule userdir_module libexec/apache2/mod_userdir.so
168,169c168,169
< LoadModule rewrite_module libexec/apache2/mod_rewrite.so
< LoadModule php5_module libexec/apache2/libphp5.so
---
> #LoadModule rewrite_module libexec/apache2/mod_rewrite.so
> #LoadModule php5_module libexec/apache2/libphp5.so
493c493
< #Include /private/etc/apache2/extra/httpd-userdir.conf
 --- 
> Include /private/etc/apache2/extra/httpd-userdir.conf

/etc/apache2/extra/httpd-userdir.conf

5,6d4
< UserDir enabled
< 
18c16
< Include /private/etc/apache2/users/*.conf
 --- 
> #Include /private/etc/apache2/users/*.conf

/etc/apache2/users/hoge.conf

<directory "/Users/hoge/Sites/">
    Options Indexes MultiViews FollowSymlinks
    AllowOverride All
    Require all granted
</directory>

完全なクリーンインストールじゃないから、100%じゃないかもしれないけど、とりあえずはこんな感じかな?

カテゴリー
Web

MySQLの文字化けにウンザリ

OSの文字コードはUTF-8、PHPのスクリプト、処理もUTF-8、ApacheもUTF-8を優先して扱う、phpMyAdminでもUTF8で表示する。

だが、MySQLは何か違うコードに変換して、UTF-8フォーマットのテーブルにデータをつっこむ。。。トンチンカンな変換を勝手に行うようだ。はぁ、こういった基本的な部分の作りが雑だなぁ。

/etc/my.cnfに、以下の行を追加しておこう。

[client]
default-character-set=utf8
[mysqld]
skip-character-set-client-handshake
init-connect=SET NAMES utf8

問題は、外のレンタルサーバに出すときだな。まぁ、そのときはそのときだ。

さて。バケバケでDBの中に入っているデータはどうやって正しいコードに変換できるんだろうか。また余計な時間を費やして調べ物か。人生無駄にしてるな orz