はじめに Edit

LANDISK上にWEBアプリケーション・プラットホームを構築して、インターネット上にホームページ等を公開することを目指します。
本節でインストールするソフトウェアを簡単に説明しておきます。

  • Apache2 ( http://www.apache.org/ )
    言わずと知れた著名なWEBサーバです。

  • MySQL ( http://www.mysql.com/ )
    高速なデータベースサーバです。ライセンスの形態が特殊なので商用で使用するときは注意が必要です。

  • PHP ( http://www.php.net/ )
    サーバサイドで動作するスクリプト言語です。Apacheと連携して動作します。

  • MMCache ( http://turck-mmcache.sourceforge.net/index_old.html )
    PHPを高速化するキャッシュモジュールです。1〜2割高速化されるようです。

    ちなみに、Linux,Apache,MySQL,PHP or Perlで構築されたプラットホームを、その頭文字をとってLAMPと呼ぶそうです。

導入準備(chroot-debianとのデータ共有) Edit

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

  • 旧データ(chroot-debian)との共有
    chroot-debian環境のデータをFedora Coreで使用するには、ファイルのオーナー:グループIDを両環境間で一致させ、アクセス権限を同一にする必要があります。
    次の表はapacheとmysqlについて、debianとFedora Coreのオーナー:グループ、名前/IDをまとめたものです。Fedora Core側で、で記したオーナ:グループを作成し、ID番号をdebianのそれと同一にすることで、両環境間でデータの共有が可能になります。
    (各自の環境に合わせて読み替えてください。)

    ApplicationdebianFedora Core
    apachewww-data:www-data33:33apache:apache33:33
    mysqlmysql:mysql101:1000mysql:mysql101:1000


    以上のことを踏まえ、apacheとmysqlのユーザとグループをFedora Core上で作成します。
    • apache
      bash-2.05b# groupadd -g 33 apache
      bash-2.05b# useradd -u 33 -g apache -M -d /var/www -s /sbin/nologin apache 
      
      ※/usr/sbin/groupadd,/usr/sbin/useraddかな。横幅が長くなるので省略。
      ※安易にやってはいけないが、グループやユーザを追加できない場合は、
       /etc/group.lock、/etc/passwd.lockを削除すれば良い。
  • mysql
    bash-2.05b# groupadd -g 1000 mysql 
    bash-2.05b# useradd -u 101 -g mysql -M -d /var/lib/mysql -s /sbin/nologin mysql
    
    次にmysqlのDBをリンクします。
    その前に念のためバックアップを取っておきます。

    なお、DBが/debian/var/lib/mysqlに存在しているものと仮定します。
    管理人の環境では、 debianで使用していたmysql-3.23.49のDBがFedore Core版mysql-3.23.58で正常に動作しています。
    bash-2.05b# cd /var/lib
    bash-2.05b# tar cvfz mysql.tgz /debina/var/lib/mysql    
    bash-2.05b# ln -s /debian/var/lib/mysql mysql
    

Apache2/MySQL/PHP/MMCacheのインストール Edit

  • インストール
    yumで一気に入れてしまいます。
    各種の詳細設定は後で行います。
    bash-2.05b# yum install httpd mysql-server php php-mysql php-mmcache
    
    補足:Perl用DBI/DBDインタフェースも同時にインストールされます。

  • /etc/httpd/conf/httpd.conf (Apache2設定ファイル)の編集
    グローバルな設定は本ファイルに記述します。
    109行目付近
    StartServers 2       ←気持ち少なめに
    MinSpareServers 2    ← 同上
    MaxSpareServers 4    ← 同上
    
    767行目付近
    AddDefaultCharset Off
    
    845行目付近、コメントを削除
    AddHandler cgi-script .cgi .sh .pl 
    
    
  • /etc/httpd/conf.d/landisk.conf
    LANDISKローカルな設定は別の設定ファイルを用意してそこに記述します。
    本例では、/share/www を http://hostname/www/でアクセスするように設定しました。
    お好みに応じて変更してください。
    Alias /www/ "/share/www/"
    <Directory "/share/www">
        Options MultiViews FollowSymLinks ExecCGI     ←CGIが使えるように(邪道?)
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
    
    
  • 起動
    apacheを再起動する前に、httpd.confのチェックします。
    bash-2.05b# apachectl configtest
    httpd: Could not determine the server's fully qualified 
    domain name, using 192.168.xx.xx for ServerName
    Syntax OK
    
    OKなら起動します。mysqlも起動します。
    bash-2.05b# /etc/init.d/httpd start
    httpd を起動中: httpd: Could not determine the server's fully qualified
     domain name, using 192.168.1.81 for ServerName
                                                               [  OK  ]
    bash-2.05b# /etc/init.d/mysqld start
    MySQL を起動中:                                            [  OK  ]
    
    
  • 動作確認
    • Apache、PHP、MMCacheの動作確認
      /share/www/phpinfo.php を以下の内容で作成して、
      <? phpinfo(); ?>
      ブラウザでphpinfo.phpをアクセスすると、次のようなphpの情報が画面に出力されます。

      phpinfo1.jpg

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

      phpinfo2.jpg


  • MySQLの動作確認
    mysqlshowコマンドを実行して、次のようなデータベースが表示されればOKです。
    bash-2.05b# mysqlshow
    +-----------+
    | Databases |
    +-----------+
    | mysql     |
    | test      |
    +-----------+
    
  • MySQLのrootパスワード設定
    MySQLのrootパスワードを設定しておきましょう。
    (注意:MySQLのrootパスワードであり、debianのrootパスワードではありません。)
    bash-2.05b# mysqladmin -u root password 'MySQLのrootパスワード'
    
    設定したパスワードでアクセスできるか確認しておきましょう。
    bash-2.05b# mysql -u root -p
    Enter Paaword: MySQLのrootパスワード
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 3 to server version: 3.23.58
    
    Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
    
    mysql> exit
    Bye
    bash-2.05b# 
    
  • ランレベルの設定
    apache2とmysqlデーモンのランレベルを設定します。
    ランレベル3,4,5で動作するよう設定します。
    bash-2.05b# chkconfig --level 345 httpd on
    bash-2.05b# chkconfig --level 345 mysqld on
    
    確認してみます。
    bash-2.05b# LANG=C chkconfig --list
    …省略
    httpd           0:off   1:off   2:off   3:on    4:on    5:on    6:off
    mysqld          0:off   1:off   2:off   3:on    4:on    5:on    6:off
    …省略
    

付録: MySQLデータベースの作成方法 Edit

ユーザ名 user 、パスワード passwd というアカウントで、データベース testdb を作成する例を示します。

bash-2.05b# 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
bash-2.05b# 

できたか確認してみます。
bash-2.05b# mysqlshow -uuser -ppasswd testdb
Database: testdb
+--------+
| Tables |
+--------+
+--------+
bash-2.05b#
Counter: 3368, today: 1, yesterday: 0

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