/***************************************************************/    uni2(SSDベース)へのMySQLインストール /***************************************************************/ ●MySQL本体のインストール yum install -y mysql-server /* MySQLサーバー */ yum install -y mysql-devel /* MySQL クライアントをコンパイル*/ /* する場合に必要なライブラリと */ /* インクルードファイル */ ●MySQLの初期化 +mysql_install_dbスクリプトで初期化 su - /usr/bin/mysql_install_db ※すべての権限を管理する mysql データベースと、MySQL のテストに 使用できる test データベースを作成します。さらに、 mysql_install_dbを実行するユーザと rootユーザの権限エントリ も作成します。これらのエントリはパスワードなしで作成されます。 ●MySQLの自動起動 MySQLを起動する /etc/init.d/mysqld start ※次回からは/etc/init.d/mysqldとして起動スクリプトがコピーされているので, OS起動時に自動的にMySQLが起動する. はずだが、reboot後に自動起動しなかった→chkconfigで確認 su - chkconfig --list : : mysqld 0:off 1:off 2:off 3:off 4:off 5:off 6:off : : 0〜6全てのrunレベルがoff OS起動時に自動起動したいのでレベル5でonにしよう chkconfig --level 5 mysqld on 確認 chkconfig --list : : mysqld 0:off 1:off 2:off 3:off 4:off 5:on 6:off : : OK! ●rootにパスワードをかける ※以下は一般ユーザでも実行できる /usr/bin/mysqladmin -u root password '*********' ●ユーザーを追加 * rootでログイン mysql -u root -p Enter password: ******* * 登録ユーザーの確認 mysql> select user,host from mysql.user; +------+---------------------------------+ | user | host | +------+---------------------------------+ | root | 127.0.0.1 | | root | dhcp174.mtk.ioa.s.u-tokyo.ac.jp | | root | localhost | +------+---------------------------------+ 3 rows in set (0.00 sec) * 匿名ユーザを削除する mysql> DELETE FROM mysql.user where user=""; Query OK, 2 rows affected (0.00 sec) * 一般ユーザーを作成 mysql> GRANT SELECT,INSERT,DELETE,UPDATE,CREATE,DROP,FILE,ALTER,INDEX ON *.* TO anir@localhost IDENTIFIED BY '@tacama'; mysql> GRANT SELECT,INSERT,DELETE,UPDATE,CREATE,DROP,FILE,ALTER,INDEX ON *.* TO anir@'%' IDENTIFIED BY '@tacama'; * ユーザーの追加を有効に mysql> flush privileges; ※PRIVILEGES mysqlデータベースの権限テーブルから権限を再読み込みする。 * 確認 mysql> SELECT * FROM mysql.user; +---------------------------------+------+------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+----------+------------+-------------+--------------+---------------+-------------+-----------------+----------------------+ | Host | User | Password | Select_priv | Insert_priv | Update_priv | Delete_priv | Create_priv | Drop_priv | Reload_priv | Shutdown_priv | Process_priv | File_priv | Grant_priv | References_priv | Index_priv | Alter_priv | Show_db_priv | Super_priv | Create_tmp_table_priv | Lock_tables_priv | Execute_priv | Repl_slave_priv | Repl_client_priv | Create_view_priv | Show_view_priv | Create_routine_priv | Alter_routine_priv | Create_user_priv | ssl_type | ssl_cipher | x509_issuer | x509_subject | max_questions | max_updates | max_connections | max_user_connections | +---------------------------------+------+------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+----------+------------+-------------+--------------+---------------+-------------+-----------------+----------------------+ | localhost | root | 5807b0f557b34ff2 | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | | | | | 0 | 0 | 0 | 0 | | dhcp174.mtk.ioa.s.u-tokyo.ac.jp | root | | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | | | | | 0 | 0 | 0 | 0 | | 127.0.0.1 | root | | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | | | | | 0 | 0 | 0 | 0 | | localhost | anir | 21c0e75663135825 | Y | Y | Y | Y | Y | Y | N | N | N | Y | N | N | Y | Y | N | N | N | N | N | N | N | N | N | N | N | N | | | | | 0 | 0 | 0 | 0 | | % | anir | 21c0e75663135825 | Y | Y | Y | Y | Y | Y | N | N | N | Y | N | N | Y | Y | N | N | N | N | N | N | N | N | N | N | N | N | | | | | 0 | 0 | 0 | 0 | +---------------------------------+------+------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+----------+------------+-------------+--------------+---------------+-------------+-----------------+----------------------+ 5 rows in set (0.00 sec) ●不用なデータベースを削除 * データベースの現状を確認 mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | test | +--------------------+ 3 rows in set (0.00 sec) * 不用なデータベースを削除 !!!!!! drop database mysql; !!!!! <= 過去の失敗、やらない。mysqlを消してはいけない!! drop database test; !!!!!! Query OK, 17 rows affected (0.00 sec)!!!!! Query OK, 0 rows affected (0.00 sec) * データベースのリストを表示 mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | +--------------------+ 2 row in set (0.00 sec) ●作成したユーザではいりなおす * 一度、でる mysql> exit Bye * 作成したユーザーでログイン mysql> mysql -u anir -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 7 to server version: 5.0.27-Max Type 'help;' or '\h' for help. Type '\c' to clear the buffer. OK! ●osyo(MAX38)のデータベースをインポートする * osyoのMySQLデータディレクトリのバックアップ ssh osyo -l root cd /home/max38/BACKUP/MYSQL/ mysqldump -u root -x --all-databases -p > mysql.20080702 # これですべてのデータベースのバックアップが可能。 # 特定のデータベースのみのバックアップの場合は、 # $ mysqldump -u root データベース名 -p > dump.sql 所有権、パーミッションを他のバックアップと揃えた chown max38 mysql.20080702 chown :max38 mysql.20080702 chmod 664 mysql.20080702 #で、uni2へ転送 #scp mysql.20080702 root@uni2: #osyoの設定が京都出張時のままであり、osyoからのssh,scpが普通にできなかったのでIP直打ちで対処 scp mysql.20080702 root@157.82.120.226 * uni2のMYSQLへバックアップを復元 ---------------------------------------------------- mysqldumpのすべてのデータベースのバックアップを復元するには、 $ mysql -u root -p < dump.sql のように、mysqlクライアントにファイルの内容をリダイレクトしてあげるだけです。 特定データベースのみの復元は $ mysql -u root データベース名 < dump.sql ---------------------------------------------------- /etc/init.d/mysqld start mysql -u root -p < mysql.20080702 Enter password: * 復元を確認 mysql -u anir -p SHOW DATABASES; +--------------------+ | Database | +--------------------+ | information_schema | | max38_env | | max38_status | | mysql | +--------------------+ OK! * ところが、MySQLサーバを再起動するとパスワードが違うと言われて読めなくなってしまう… どうやら、max38のユーザ情報ですべて上書きされたらしい。 rootもmax38のパスワードで起動できた。 なので、再度ユーザー情報追加。 GRANT SELECT,INSERT,DELETE,UPDATE,CREATE,DROP,FILE,ALTER,INDEX ON *.* TO anir@localhost IDENTIFIED BY '@tacama'; GRANT SELECT,INSERT,DELETE,UPDATE,CREATE,DROP,FILE,ALTER,INDEX ON *.* TO anir@'%' IDENTIFIED BY '@tacama'; 確認 SELECT * FROM mysql.user; +-----------+-------+------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+----------+------------+-------------+--------------+---------------+-------------+-----------------+ | Host | User | Password | Select_priv | Insert_priv | Update_priv | Delete_priv | Create_priv | Drop_priv | Reload_priv | Shutdown_priv | Process_priv | File_priv | Grant_priv | References_priv | Index_priv | Alter_priv | Show_db_priv | Super_priv | Create_tmp_table_priv | Lock_tables_priv | Execute_priv | Repl_slave_priv | Repl_client_priv | ssl_type | ssl_cipher | x509_issuer | x509_subject | max_questions | max_updates | max_connections | +-----------+-------+------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+----------+------------+-------------+--------------+---------------+-------------+-----------------+ | localhost | root | 16c787a20677d285 | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | | | | | 0 | 0 | 0 | | meijin | root | | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | | | | | 0 | 0 | 0 | | localhost | max38 | 16c787a20677d285 | Y | Y | Y | Y | Y | Y | N | N | N | Y | N | N | Y | Y | N | N | N | N | N | N | N | | | | | 0 | 0 | 0 | | % | max38 | 16c787a20677d285 | Y | Y | Y | Y | Y | Y | N | N | N | Y | N | N | Y | Y | N | N | N | N | N | N | N | | | | | 0 | 0 | 0 | | localhost | anir | 5807b0f557b34ff2 | Y | Y | Y | Y | Y | Y | N | N | N | Y | N | N | Y | Y | N | N | N | N | N | N | N | | | | | 0 | 0 | 0 | | % | anir | 5807b0f557b34ff2 | Y | Y | Y | Y | Y | Y | N | N | N | Y | N | N | Y | Y | N | N | N | N | N | N | N | | | | | 0 | 0 | 0 | +-----------+-------+------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+----------+------------+-------------+--------------+---------------+-------------+-----------------+ 6 rows in set (0.00 sec) /***************************************************************/   uni2(SSDベース)へApache2, PHP等のインストール /***************************************************************/ ●Apache2 http://park1.wakwak.com/~ima/centos4_apache0001.htmlの天下り * Apache2をインストール yum install httpd * 動作確認 Webブラウザでhttp://localhost(uni2)でApacheのWebページが見れるか確認 * 自動起動 chkconfig --level 345 httpd on ●PHPのインストール (1)ソースコードを入手 以下のURLから最新安定版をダウンロード http://www.php.net/downloas.php (2)コンパイル、インストール ファイルを/usr/local/srcにおく 解凍 $ cd /usr/local/src $ tar zxvf php-5.2.6.tar.gz $ cd php-5.2.6 $ ./configure --with-apxs2=/usr/sbin/apxs --with-zlib --enable-mbregex --enable-mbstring --enable-trans-sid --enable-soap --with-xmlrpc --with-xmlreader →このままではエラーがでる apxsがないとお叱りをうけた 探してみると/usr/sbinにない!yumでhttpd-develをインストール $ yum install httpd-devel 再度トライ $ ./configure --with-apxs2=/usr/sbin/apxs --with-zlib --enable-mbregex --enable-mbstring --enable-trans-sid --enable-soap --with-xmlrpc --with-xmlreader OK! $ make $ su $ make install これでインストール完了 エラーメッセージが出ていないことを確認 (4)PHPとApacheとの連携を行う httpd.confを修正 $ emacs /etc/httpd/conf/httpd.conf 748: #AddDefaultCharset UTF-8 AddDefaultCharset none 770: AddType application/x-httpd-php .php 空行に挿入 (5) Apacheを起動(再起動)する $ /etc/rc.d/init.d/httpd restart [root@uni2 ~]# /etc/rc.d/init.d/httpd start httpd を起動中: httpd: Syntax error on line 206 of /etc/httpd/conf/httpd.conf: Cannot load /usr/lib/httpd/modules/libphp5.so into server: /usr/lib/httpd/modules/libphp5.so: cannot restore segment prot after reloc: Permission denied [失敗] となる (「SELinuxポリシーが適用されて、エラーの出たライブラリのセキュリティコンテキストが適切に設定されていない」ということらしい) から $ sudo chcon -c -v -R -u system_u -r object_r -t textrel_shlib_t /usr/lib/httpd/modules/libphp5.so としてやる $ /etc/rc.d/init.d/httpd start 起動した OK! (6)動作確認 次のファイルの表示を試してください info.phpファイル を/var/www/html/においてやる ブラウザで http://localhost(uni2)/info.phpが見れて、「PHP Version 5.2.6」以下が見れればOK! ●JGRAPHのインストール * GD (perlモジュール) がインストールされていることを確認 cd /usr find `perl -e 'print "@INC"'` -name '*.pm' -print | grep GD /usr/lib/perl5/5.8.8/i386-linux-thread-multi/GDBM_File.pm /usr/lib/perl5/5.8.8/i386-linux-thread-multi/GDBM_File.pm ./lib/perl5/5.8.8/i386-linux-thread-multi/GDBM_File.pm なので入っているよう。 * JGRAPHをダウンロード。 http://www.asial.co.jp/jpgraph/download.php より、jpgraph-2.3.tar.gz(PHP5にのみ対応)をダウンロード cd /usr/src wget http://www.asial.co.jp/jpgraph/download.php?download=jpgraph-2.3.tar.gz # mv download.php\?download\=jpgraph-2.3.tar.gz jpgraph-2.3.tar.gz * インストール先の確認 http://localhost(uni2 etc.)/info.phpによると include_path -----> .:/usr/local/lib/php となっている。よって、JpGraphのコードは/usr/local/lib/php以下にインストールすることにする * ファイルの展開 cd /usr/local/lib/php tar zxfv /usr/src/jpgraph-2.3.tar.gz mv ./jpgraph-2.3/src ./JpGraph rm -rf ./jpgraph-2.3 * JpGraphのフォント情報の修正 /usr/local/lib/php/JpGraph/jpg-config.inc.php を編集し、実際にインストールされているフォントを指定する cd /usr/local/lib/php/JpGraph/ cp jpg-config.inc.php jpg-config.inc.php.org emacs -nw jpg-config.inc.php として、以下のようにする。 ..... DEFINE("MBTTF_DIR","/usr/share/fonts/alias/TrueType/"); ..... //DEFINE('GOTHIC_TTF_FONT','ipag.ttf'); DEFINE('GOTHIC_TTF_FONT','gothic-mr-iso8859-1.ttf');