*GCC-3.3系による開発環境の導入 [#ff212167]
-''セルフコンパイル環境の導入''~
landisk:/# apt-get install dpkg-dev
landisk:/# apt-get install binutils gcc g++ make libncurses5-dev
-''includeファイルの小変更''~
gcc-3.3では"__thread"が予約語扱いになったため、
以下のincludeファイルを次のように変更する。
#pre{{
cp /usr/include/bits/sigthread.h /usr/include/bits/sigthread.h_
cp /usr/include/pthread.h /usr/include/pthread.h_
perl -pi -e s'/__thread/__thread_param/' /usr/include/bits/sigthread.h
perl -pi -e s'/__thread/__thread_param/' /usr/include/pthread.h
}}
-''コンパイルしてみる''~
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によるプチ日本語化 [#eb58d161]
Emacs上で日本語が読み書きできる最小限の環境を構築します。~
-''インストール''~
Emacs21とかな漢字変換エンジンanthyをインストールします。~
#pre{{
landisk:/# apt-get install emacs21 anthy anthy-el
}}
-''/root/.emacs''~
.emacsファイルを下記内容でホームディレクトリに作成します。~
#pre{{
(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です。~
~
&ref(anthy.png,nolink);
~
~
*Apache、MySQL、PHPによるWEBプラットホーム構築 [#jf7aa7a2]
-''はじめに''~
LANDISK上にWEBアプリケーション・プラットホームを構築して、インターネット上にホームページ等を公開することを目指します。~
本節でインストールするソフトウェアを簡単に説明しておきます。~
--Apache ( 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と呼ぶそうです。~
-''導入準備''~
--共有名『www』の作成~
&color(red){注意:/mnt/hda3/debian_start実行時に、LANDISKオリジナルのApacheを停止させています。};
&color(red){従って、LANDISKを再起動させた後に行ってください。};~
~
外部公開用のホームページエリアを『www』下に作ることにします。~
LANDISKの管理者用メニューから、「高度な設定」→「共有設定」→「追加」を選んで、~
共有名『www』を作成します。~
本『www』を外部からhttp://MY_LANDISK/www/でアクセスするものとして、説明していきます。~
~
ちなみに『www』は、debian環境からは/share/www/からアクセスでき、~
LANDISK環境からは、/mnt/hda3/share/www/からアクセスできます。~
~
--LANDISKに付属するApacheの停止~
&color(red){/mnt/hda3/debian_startスクリプトを用いてdebian環境を起動させた場合は、};~
&color(red){既に停止しているため不要ですが、念のために書いておきます。};~
~
ApacheはLANDISKに付属しますが、ここではdebianに含まれる物を使用するため、~
オリジナルのApacheは停止させておきます。~
LANDISK環境で次のコマンドを実行します。~
# /etc/rc.d/init.d/S95httpd stop
~
-''インストール''~
apt-getで一気に入れてしまいます。~
各種の詳細設定はその後、行います。~
#pre{{
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設定ファイル)の編集''~
/share/www を http://hostname/www/でアクセスするように設定しました。~
お好みに応じて変更してください。~
#pre{{
&color(orange){142行目付近};
MinSpareServers &color(red){2}; &color(orange){←気持ち少なめに};
MaxSpareServers &color(red){4}; &color(orange){← 同上};
StartServers &color(red){2}; &color(orange){← 同上};
&color(orange){332行目付近};
&color(red){Alias /www/ "/share/www/"};
&color(red){<Directory "/share/www">};
&color(red){ Options MultiViews FollowSymLinks ExecCGI}; &color(orange){←CGIが使えるように(邪道?)};
&color(red){ AllowOverride All};
&color(red){ Order allow,deny};
&color(red){ Allow from all};
&color(red){</Directory>};
&color(orange){372行目付近};
<IfModule mod_dir.c>
DirectoryIndex index.html index.htm index.shtml index.cgi &color(red){index.php};
</IfModule>
&color(orange){818行目付近、コメントを削除};
&color(red){AddHandler cgi-script .cgi .sh .pl};
&color(orange){849行目付近};
AddDefaultCharset &color(red){Off};
}}
-''/etc/mysql/my.cnf (MySQL設定ファイル)の編集''~
値を小さめに設定しました。~
#pre{{
&color(orange){42行目付近};
set-variable = key_buffer=&color(red){1M};
set-variable = max_allowed_packet=1M
set-variable = thread_stack=&color(red){64K};
&color(orange){65行目付近};
[isamchk]
set-variable = key_buffer=&color(red){8M};
}}
-''/etc/php4/apache/php.ini (php設定ファイル)の編集''~
turck-mmcacheの値を小さめに設定しました。~
#pre{{
&color(orange){1081行目付近};
mmcache.shm_size="&color(red){4};" ; turck-mmcache
}}
-''/etc/php4/cgi/php.ini (php設定ファイル)の編集''~
turck-mmcacheの値を小さめに設定しました。~
#pre{{
&color(orange){1081行目付近};
mmcache.shm_size="&color(red){4};" ; turck-mmcache
}}
-''再起動''~
apacheを再起動する前に、httpd.confのチェックします。
#pre{{
landisk:/# apachectl configtest
Syntax OK
}}
OKなら再起動します。
#pre{{
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:http://eggplant.ddo.jp/www/phpinfo.php]]をアクセスすると、次のようなphpの情報が画面に出力されます。~
~
&ref(phpinfo1.jpg,nolink);
~
~
さらにphpinfoにMMCacheの項目が現れていることを確認します。~
~
&ref(phpinfo2.jpg,nolink);
~
--MySQLの動作確認~
mysqlshowコマンドを実行して、次のようなデータベースが表示されればOKです。
#pre{{
landisk:~# mysqlshow
+-----------+
| Databases |
+-----------+
| mysql |
| test |
+-----------+
}}
-''MySQLのrootパスワード設定''~
MySQLのrootパスワードを設定しておきましょう。~
&color(red){(注意:MySQLのrootパスワードであり、debianのrootパスワードではありません。) };
#pre{{
landisk:~# &color(blue){mysqladmin -u root password '};&color(red){MySQLのrootパスワード};&color(blue){'};
設定したパスワードでアクセスできるか確認しておきましょう。
landisk:~# &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 40 to server version: 3.23.49-log
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> &color(blue){exit};
Bye
landisk:~#
}}
~
-&color(red){''付録: MySQLデータベースの作成方法''};~
ユーザ名 &color(red){''user''}; 、パスワード &color(red){''passwd''}; というアカウントで、データベース &color(red){''testdb''}; を作成する例を示します。
#pre{{
landisk:~# &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
landisk:~#
できたか確認してみます。
landisk:~# &color(blue){mysqlshow -u};&color(red){''user''}; &color(blue){-p};&color(red){''passwd''}; &color(red){''testdb''};
Database: testdb
+--------+
| Tables |
+--------+
+--------+
landisk:~#
}}
#counter