2009-04-18 23:45:32
何度やっても忘れてしまうので、こうやって記録を残すよう心がけているのだが、結局自分の書いたメモを読まずに、Googleなんかで検索して人の記録を参照している自分に気づく今日この頃ですが、皆さんは自分のメモをきちんと読んでいるのでしょうか。
まずは、開発環境をインストール。
sudo apt-get install build-essential sudo apt-get install libtool次に、LAMPの二文字目以降。LinuxはすでにUbuntu設定済みなので。まずApache2から。
sudo apt-get install apache2http://192.168.xxx.xxxをブラウザで開いて、「It works!」の表示を確認。次にPHP5。
sudo apt-get install php5 libapache2-mod-php5sudo /etc/init.d/apache2 restartとやってApacheの再起動。その後にMySQL。
sudo apt-get install mysql-server途中でrootのパスワードを訊ねられるので、設定。Sourceから自分でコンパイルすると、この設定やデータベースの初期化なども自分でやらなければならない。
MySQLの名前もパスワードもないユーザを削除する。
mysql > delete from user where User = ''; mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost' -> IDENTIFIED BY 'password'; mysql> FLUSH PRIVILEGES;/etc/mysql/my.cnfを開いて、[mysqld]に
default-character-set = utf8 skip-character-set-client-handshakeを追加。
sudo /etc/init.d/mysql restartとやって再起動すると、
$ sudo /etc/init.d/mysql restart * Stopping MySQL database server mysqld [ OK ] * Starting MySQL database server mysqld [ OK ] * Checking for corrupt, not cleanly closed and upgrade needing tables.という表示が出て、まるで正しく閉じなかったからテーブルのアップグレードが必要だという警告であるかのように驚くが、 これはテーブルが壊れていないか、正しく閉じていたか、アップグレードが必要かチェックしていますという表示らしい。 そういう解釈で本当にいいのか。
mysql> show variables like "char%"; +--------------------------+---------------------------+ | Variable_name | Value | +--------------------------+---------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | /usr/local/mysql/charsets/| +--------------------------+---------------------------+ 8 rows in set (0.00 sec)という表示が出て、文字コードがutf8に設定されたことを確認。
phpmyadminをインストール。phpとapache2とmysqlの連携に必要なものがインストールされるのでちょうどいい。http://xxx.xxx.xxx.xxx/phpmyadmin/をブラウザで開いて、mysqlのユーザ名とパスワードでログインできることを確認する。
/etc/php5/apache2/php.iniを開いて、
magic_quotes_gpc Off default_charset = "UTF-8"と変えてみた。2行目は必要あるのか。
[mbstring]のところを、
mbstring.language = Japanese mbstring.internal_encoding = UTF-8 mbstring.http_input = auto mbstring.http_output = pass mbstring.encoding_translation = Off mbstring.detect_order = auto mbstring.substitute_character = none;とコメントアウトの印の;を外して書き換える。意味がもう判らなくなっているものもある。
これだけだとphpスクリプトが動かせない。php xxx.phpとやっても、プログラム'php'がまだインストールされていませんよという警告が出てしまうので、
sudo apt-get install php5-cliというようにインストールする。
/etc/php5/cli/php.iniも開いて、文字コード関係など書き換える。
rubyをインストール。すなわち、python-mySQLdbとlibapache2-mod-pythonを。
/home/***/public_htmlを使えるようにする。
cd /etc/apache2/mods-enabled sudo ln -s ../mods-available/userdir.conf userdir.conf sudo ln -s ../mods-available/userdir.load userdir.loadpublic_htmlというディレクトリがなかったので、作る。
Virtual hostの設定。もともとubuntuのapache2ではヴァーチャル・ホストとして設定されているので、ディレクトリを指定するだけでいい。
/etc/apache2/sites-available/default
を開くと
となっているので、ServerAdmin webmaster@localhost DocumentRoot /var/www ....
と書けばここのドメインが有効になる。二つ目、三つ目を、ServerName nakano.no-ip.org ServerAdmin webmaster@localhost DocumentRoot /var/www/xxx ....
と増やしていけばいい。ServerName xxx.xxx.com ServerAdmin virtual@mail DocumentRoot /var/www/yyy ....
これでApacheを再起動したあとに、IPアドレスでアクセスすると、一番上のVirtualHostにアクセスする。/var/www直下に置かれたファイルにはアクセスできなくなる。