Apr 18, 2009

PowerEdge T100で自宅サーバ復帰

ポスト @ 23:45:32 | ubuntu,PHP,その他

 何度やっても忘れてしまうので、こうやって記録を残すよう心がけているのだが、結局自分の書いたメモを読まずに、Googleなんかで検索して人の記録を参照している自分に気づく今日この頃ですが、皆さんは自分のメモをきちんと読んでいるのでしょうか。

 まずは、開発環境をインストール。

sudo apt-get install build-essential
sudo apt-get install libtool
 次に、LAMPの二文字目以降。LinuxはすでにUbuntu設定済みなので。まずApache2から。
sudo apt-get install apache2
http://192.168.xxx.xxxをブラウザで開いて、「It works!」の表示を確認。次にPHP5。
sudo apt-get install php5 libapache2-mod-php5
sudo /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.load
public_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直下に置かれたファイルにはアクセスできなくなる。

Trackback

No Trackbacks

Track from Your Website

http://nakano.no-ip.org/attic/trackback/tb.php?id=362
(言及リンクのないトラックバックは無視されます)

Comment

No Comments

Post Your Comment


*は入力必須です。E-Mailは公開されません。