*はじめに [#m0eda96c]
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とのデータ共有) [#e38e83a3]
-''共有名『www』を作成''~
外部公開用のホームページエリアを『www』下に作ることにします。~
LANDISKの管理者用メニューから、「高度な設定」→「共有設定」→「追加」を選んで、~
共有名『www』を作成します。~
本『www』を外部からhttp://MY_LANDISK/www/でアクセスするものとして、説明していきます。~
~

-''旧データ(chroot-debian)との共有''~
chroot-debian環境のデータをFedora Coreで使用するには、ファイルのオーナー:グループIDを両環境間で一致させ、アクセス権限を同一にする必要があります。~
次の表はapacheとmysqlについて、debianとFedora Coreのオーナー:グループ、名前/IDをまとめたものです。Fedora Core側で、&color(red){赤};で記したオーナ:グループを作成し、ID番号をdebianのそれと同一にすることで、両環境間でデータの共有が可能になります。~
&color(red){(各自の環境に合わせて読み替えてください。)};~
~
| Application           |>|debian |>|Fedora Core|h
||||||
| apache | www-data:www-data |33:33|  &color(red){apache:apache};| &color(red){33:33}; |
| mysql  | mysql:mysql       |101:1000|&color(red){mysql:mysql};| &color(red){101:1000}; |
~
~
以上のことを踏まえ、apacheとmysqlのユーザとグループをFedora Core上で作成します。
--apache~
#pre{{
bash-2.05b# groupadd -g &color(red){33}; apache
bash-2.05b# useradd -u &color(red){33}; -g apache -M -d /var/www -s /sbin/nologin apache 
}}
&color(red){※/usr/sbin/groupadd,/usr/sbin/useraddかな。横幅が長くなるので省略。};~
&color(red){※安易にやってはいけないが、グループやユーザを追加できない場合は、};~
&color(red){ /etc/group.lock、/etc/passwd.lockを削除すれば良い。};~


--mysql~
#pre{{
bash-2.05b# groupadd -g &color(red){1000}; mysql 
bash-2.05b# useradd -u &color(red){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で正常に動作しています。~
#pre{{
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のインストール [#cd0a5e14]
-''インストール''~
yumで一気に入れてしまいます。~
各種の詳細設定は後で行います。~
#pre{{
bash-2.05b# yum install httpd mysql-server php php-mysql php-mmcache
}}
補足:Perl用DBI/DBDインタフェースも同時にインストールされます。~
~
-''/etc/httpd/conf/httpd.conf (Apache2設定ファイル)の編集''~
グローバルな設定は本ファイルに記述します。~
#pre{{
&color(orange){109行目付近};
StartServers &color(red){2};       &color(orange){←気持ち少なめに};
MinSpareServers &color(red){2};    &color(orange){← 同上};
MaxSpareServers &color(red){4};    &color(orange){← 同上};

&color(orange){767行目付近};
AddDefaultCharset &color(red){Off};

&color(orange){845行目付近、コメントを削除};
&color(red){AddHandler cgi-script .cgi .sh .pl}; 

}}

-''/etc/httpd/conf.d/landisk.conf''~
LANDISKローカルな設定は別の設定ファイルを用意してそこに記述します。~
本例では、/share/www を http://hostname/www/でアクセスするように設定しました。~
お好みに応じて変更してください。~
#pre{{
Alias /www/ "/share/www/"
<Directory "/share/www">
    Options MultiViews FollowSymLinks ExecCGI     &color(orange){←CGIが使えるように(邪道?)};
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

}}

-''起動''~
apacheを再起動する前に、httpd.confのチェックします。
#pre{{
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も起動します。~
#pre{{
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:http://eggplant.ddo.jp/www/phpinfo.php]]をアクセスすると、次のようなphpの情報が画面に出力されます。~
~
&ref(主要ソフトウェアの導入(改)/phpinfo1.jpg,nolink);
~
~
さらにphpinfoにMMCacheの項目が現れていることを確認します。~
~
&ref(主要ソフトウェアの導入(改)/phpinfo2.jpg,nolink);

~
--MySQLの動作確認~
mysqlshowコマンドを実行して、次のようなデータベースが表示されればOKです。
#pre{{
bash-2.05b# mysqlshow
+-----------+
| Databases |
+-----------+
| mysql     |
| test      |
+-----------+
}}


-''MySQLのrootパスワード設定''~
MySQLのrootパスワードを設定しておきましょう。~
&color(red){(注意:MySQLのrootパスワードであり、debianのrootパスワードではありません。) };
#pre{{
bash-2.05b# &color(blue){mysqladmin -u root password '};&color(red){MySQLのrootパスワード};&color(blue){'};

設定したパスワードでアクセスできるか確認しておきましょう。
bash-2.05b# &color(blue){mysql -u root -p};
Enter Paaword: &color(red){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> &color(blue){exit};
Bye
bash-2.05b# 
}}

-''ランレベルの設定''~
apache2とmysqlデーモンのランレベルを設定します。~
ランレベル3,4,5で動作するよう設定します。~
#pre{{
bash-2.05b# chkconfig --level 345 httpd on
bash-2.05b# chkconfig --level 345 mysqld on
}}
確認してみます。
#pre{{
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データベースの作成方法 [#p008f95e]
ユーザ名 &color(red){''user''}; 、パスワード &color(red){''passwd''}; というアカウントで、データベース &color(red){''testdb''}; を作成する例を示します。
#pre{{
bash-2.05b# &color(blue){mysql -u root -p};
Enter password:         &color(red){← 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> &color(blue){create database}; &color(red){''testdb''};&color(blue){;};
Query OK, 1 row affected (0.09 sec)

mysql> &color(blue){grant all on}; &color(red){''testdb''};&color(blue){.* to };&color(red){''user''};&color(blue){@localhost identified by "};&color(red){''passwd''};&color(blue){";};
Query OK, 0 rows affected (0.00 sec)

mysql> &color(blue){flush privileges;};
Query OK, 0 rows affected (0.01 sec)

mysql> &color(blue){exit};
Bye
bash-2.05b# 

できたか確認してみます。
bash-2.05b# &color(blue){mysqlshow -u};&color(red){''user''}; &color(blue){-p};&color(red){''passwd''}; &color(red){''testdb''};
Database: testdb
+--------+
| Tables |
+--------+
+--------+
bash-2.05b#
}}

#counter

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS