開発環境の導入 Edit

  • セルフコンパイル環境の導入
    landisk:/# apt-get install dpkg-dev
    landisk:/# apt-get install binutils gcc g++ make libncurses5-dev
  • コンパイルしてみる
    landisk:/# mkdir -p /home/src/hello
    landisk:/# cd /home/src/hello
    landisk:/home/src/hello# echo 'main(){printf("Hello World\n");}' > hello.c
    landisk:/home/src/hello# gcc hello.c -o hello
    landisk:/home/src/hello# ./hello
    Hello World
    と表示されればOK。

Emacs21とAnthyによるプチ日本語化 Edit

Emacs上で日本語が読み書きできる最小限の環境を構築します。

  • インストール
    Emacs21とかな漢字変換エンジンanthyをインストールします。
    landisk:/# apt-get install emacs21 anthy anthy-el
    
  • /root/.emacs
    .emacsファイルを下記内容でホームディレクトリに作成します。
    (set-language-environment "Japanese")
    (load-library "anthy")
    (setq default-input-method "japanese-anthy")
    
    (setq default-frame-alist '( (font . "7x14" ) ))
    (global-font-lock-mode t)
    
  • 動作確認
    一旦emacsを終了して、再起動します。
    "C-\"(コントロールキーを押しながら\)をタイプするとAnthyが起動します。
    そして、コマンドライン行に<Anthy :あ>と表示されればOKです。

    anthy.png

Apache、MySQL、PHPによるWEBプラットホーム構築 Edit

  • はじめに
    LANDISK上にWEBアプリケーション・プラットホームを構築して、インターネット上にホームページ等を公開することを目指します。
    本節でインストールするソフトウェアを簡単に説明しておきます。
    ちなみに、Linux,Apache,MySQL,PHP or Perlで構築されたプラットホームを、その頭文字をとってLAMPと呼ぶそうです。
  • 導入準備
    • 共有名『www』の作成
      注意:/mnt/hda3/debian_start実行時に、LANDISKオリジナルのApacheを停止させています。 従って、LANDISKを再起動させた後に行ってください。

      外部公開用のホームページエリアを『www』下に作ることにします。
      LANDISKの管理者用メニューから、「高度な設定」→「共有設定」→「追加」を選んで、
      共有名『www』を作成します。
      本『www』を外部からhttp://MY_LANDISK/www/でアクセスするものとして、説明していきます。

      ちなみに『www』は、debian環境からは/share/www/からアクセスでき、
      LANDISK環境からは、/mnt/hda3/share/www/からアクセスできます。

    • LANDISKに付属するApacheの停止
      /mnt/hda3/debian_startスクリプトを用いてdebian環境を起動させた場合は、
      既に停止しているため不要ですが、念のために書いておきます。

      ApacheはLANDISKに付属しますが、ここではdebianに含まれる物を使用するため、
      オリジナルのApacheは停止させておきます。
      LANDISK環境で次のコマンドを実行します。
      # /etc/rc.d/init.d/S95httpd stop

  • インストール
    apt-getで一気に入れてしまいます。
    各種の詳細設定はその後、行います。
    landisk:/# apt-get install apache
    landisk:/# apt-get install mysql-server
    landisk:/# apt-get install php4 php4-mysql php4-cgi
    landisk:/# apt-get install turck-mmcache
    
    補足:Perl用DBI/DBDインタフェースも同時にインストールされます。

  • /etc/apache/httpd.conf (Apache設定ファイル)の編集
    LANDISKのパワーを考え、控えめな値を設定します。
    お好みに応じて変更してください。
    142行目付近
    MinSpareServers 2    ←気持ち少なめに
    MaxSpareServers 4    ← 同上
    StartServers 2       ← 同上
    
    807行目付近、コメントを削除
        AddHandler cgi-script .cgi .sh .pl 
    
    838行目付近
    AddDefaultCharset Off
    
  • /etc/apache/conf.d/www.conf
    /share/www を http://MY_LANDISK/www/でアクセスするように設定します。
    Alias /www/ "/share/www/"
    <Directory "/share/www">
        Options MultiViews FollowSymLinks ExecCGI     ←CGIが使えるように(邪道?)
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
    
  • /etc/mysql/my.cnf (MySQL設定ファイル)の編集
    MySQLもapacheと同様、控えめな値を設定します。
    さらに、メモリを大量に使用するトランザクション機能とキャッシュ機能を無効にしました。
    (64MBしかないLANDISKの場合swapが頻発するため、逆に遅くなるような気がしたので。)
    48行目付近
    # Instead of skip-networking the default is now to listen only on
    # localhost which is more compatible and is not less secure.
    bind-address          = 127.0.0.1
    key_buffer            = 16K
    max_allowed_packet    = 1M
    thread_stack          = 64K
    #
    # Query Cache Configuration
    #
    # query_cache_limit   = 1048576
    # query_cache_size    = 16777216
    # query_cache_type    = 1
    #
    # disable InnoDB
    skip-innodb
    
    99行目付近
    [isamchk]
    key_buffer            = 8M
    
  • /etc/php4/apache/php.ini (php設定ファイル)の編集
    turck-mmcacheの値を小さめに設定しました。
    1076行目付近
    mmcache.shm_size="4"                           	; turck-mmcache
    
  • /etc/php4/cgi/php.ini (php設定ファイル)の編集
    turck-mmcacheの値を小さめに設定しました。
    1076行目付近
    mmcache.shm_size="4"                           	; turck-mmcache
    
  • 再起動
    apacheを再起動する前に、httpd.confのチェックします。
    landisk:/# apachectl configtest
    Syntax OK
    
    OKなら再起動します。
    landisk:/# /etc/init.d/apache restart
    Restarting apache.
    
    landisk:/# /etc/init.d/mysql restart
    Stopping MySQL database server: mysqld.
    Starting MySQL database server: mysqld.
    
  • 動作確認
    • Apache、PHP、MMCacheの動作確認
      /share/www/phpinfo.php を以下の内容で作成して、
      <? phpinfo(); ?>
      ブラウザでphpinfo.phpをアクセスすると、次のようなphpの情報が画面に出力されます。

      phpinfo1.jpg

      さらにphpinfoにMMCacheの項目が現れていることを確認します。

      phpinfo2.jpg


  • MySQLの動作確認
    mysqlshowコマンドを実行して、次のようなデータベースが表示されればOKです。
    landisk:~# mysqlshow
    +-----------+
    | Databases |
    +-----------+
    | mysql     |
    | test      |
    +-----------+
    
  • MySQLのrootパスワード設定
    MySQLのrootパスワードを設定しておきましょう。
    (注意:MySQLのrootパスワードであり、debianのrootパスワードではありません。)
    landisk:~# mysqladmin -u root password 'MySQLのrootパスワード'
    
    設定したパスワードでアクセスできるか確認しておきましょう。
    landisk:~# mysql -u root -p
    Enter Paaword: MySQLのrootパスワード
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 40 to server version: 3.23.49-log
    
    Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
    
    mysql> exit
    Bye
    landisk:~# 
    

  • 付録: MySQLデータベースの作成方法
    ユーザ名 user 、パスワード passwd というアカウントで、データベース testdb を作成する例を示します。
    landisk:~# mysql -u root -p
    Enter password:         ← MySQLのrootパスワード
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 173 to server version: 3.23.58
    
    Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
    
    mysql> create database testdb;
    Query OK, 1 row affected (0.09 sec)
    
    mysql> grant all on testdb.* to user@localhost identified by "passwd";
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> flush privileges;
    Query OK, 0 rows affected (0.01 sec)
    
    mysql> exit
    Bye
    landisk:~# 
    
    できたか確認してみます。
    landisk:~# mysqlshow -uuser -ppasswd testdb
    Database: testdb
    +--------+
    | Tables |
    +--------+
    +--------+
    landisk:~# 
    

Webalizer Edit

  • Webalizerとは?
    WEBサーバApacheのログ解析をして、アクセス履歴を視覚的に表示してくれるツールです。
    次のような情報をグラフィカルに表示してくれます。
    • 月毎の統計
    • 日毎の統計
    • 時間毎の統計
    • ページのアクセスランキング
    • 訪問先のサイトランキング
    • 参照先URLのランキング
    • WEBブラウザのランキング
    • 訪問国のランキング
    より詳しくは本家のサイトをご覧ください。
  • インストール
    landisk:~# apt-get install webalizer
    
  • 設定
    設定ファイル/etc/webalizer.confを修正します。
    LogFile	/var/log/apache/access.log
    HostName	landisk
    DNSCache dns_cache.db
    DNSChildren 10
    
    自分自身のアクセスを表示しないようにするには、HideURL、HedeHideReferrerオプションを追加します。
    下記は管理人の設定例です。
    IgnoreSite      eggplant.ddo.jp
    IgnoreSite      localhost
    IgnoreSite      192.168.0
    IgnoreSite      192.168.1
    
    HideURL         *.gif
    HideURL         *.GIF
    HideURL         *.jpg
    HideURL         *.JPG
    HideURL         *.png
    HideURL         *.PNG
    HideURL         *.ra
    HideURL         *.mp3
    HideURL         *.jpeg
    HideURL         *.css
    
    
  • 解析結果のアクセス許可設定
    初期状態では、外から丸見え状態になっています。
    セキュリティ上好ましくないため、次のファイルを作成し、
    ローカルネットワークからのみアクセスできるよう設定します。
    • /etc/apache/conf.d/webalizer.conf
      Alias /webalizer /var/www/webalizer
      
      <Location /webalizer>
          Order deny,allow
          Deny from all
          Allow from 127.0.0.1
        Allow from 192.168.0.0/24
        Allow from 192.168.1.0/24
      </Location>
      
    • apacheを再起動します。
      landisk:~# /etc/init.d/apache restart
      
  • ログ解析と表示
    以下のコマンドを実行すると、/var/www/webalizer に解析結果が格納されます。
    landisk:~# webalizer
    
    http://YOUR_LANDISK/webalizer/index.html より解析結果を見ることができます。

  • cronの設定
    Apacheのlogrotateが行われる前にwebalaizerが実行されるよう設定します。
    cronは毎日設定時刻になると/etc/cron.dailyに格納されたプログラムを、
    ファイル名でソートして順番に実行してゆきます。
    従って、logrotateより前にwebalizerが実行されるように、
    landisk:~# cd /etc/cron.daily
    landisk:/etc/cron.daily# mv webalizer 00webalizer
    
    とりネームしておきます。


Counter: 3197, today: 1, yesterday: 0

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2006-06-13 (火) 20:02:27 (6609d)