はじめに †
LANDISK上にWEBアプリケーション・プラットホームを構築して、インターネット上にホームページ等を公開することを目指します。
本節でインストールするソフトウェアを簡単に説明しておきます。
導入準備(chroot-debianとのデータ共有) †
- 共有名『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のそれと同一にすることで、両環境間でデータの共有が可能になります。
(各自の環境に合わせて読み替えてください。)
Application | debian | Fedora Core |
| | | | |
apache | www-data:www-data | 33:33 | apache:apache | 33:33 |
mysql | mysql:mysql | 101:1000 | mysql:mysql | 101:1000 |
以上のことを踏まえ、apacheとmysqlのユーザとグループをFedora Core上で作成します。
- 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のインストール †
- インストール
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
- 起動
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の情報が画面に出力されます。
さらにphpinfoにMMCacheの項目が現れていることを確認します。
- ランレベルの設定
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データベースの作成方法 †
ユーザ名 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: 3386,
today: 3,
yesterday: 1