まだプログラマーですが何か?

プログラマーネタとアスリートネタ中心。たまに作成したウェブサービス関連の話も http://twitter.com/dotnsf

Cybozu Office 10 を Linux にインストールした時に躓いた所を記載しておきます。

基本的にはインストールマニュアルに書いてある通りに進めたつもりでした。OS(CentOS) をインストールして、Apache HTTPD サーバーを導入して起動しておいて、でダウンロードしたインストールモジュールを実行。これだけでインストールできるはず。


やってみると実行直後にこのようなメッセージが表示されます。ここは Y を選択。
cbo_01

その直後にこのようなエラーメッセージが表示されて、プロンプトが戻ってしまいます。
cbo_02


「GLIBCのバージョンを検出できませんでした。」とな・・・
一応、Cybozu 的には動作環境として「GLIBC 2.5 以上」を挙げています。
で、このサーバーに入っている GLIBC のバージョンは 2.12 。なので問題はないはず・・・

色々調べてもよく分からず、念のため無理やり GLIBC 2.5 へダウングレードしたりもしたけど、状況は変わらず。うーん・・・もうちょっとヒントがあればなあ・・・・・



・・・で、偶然気付いたのですが、このターミナルの画面のスクロールバーを上にあげてみると・・・
cbo_07

なんと隠れていたエラーメッセージ発見!
cbo_03

"/lib/ld-linux.so.2: bad ELF interpreter" ってエラーメッセージは以前に遭遇したことがあるのですぐに原因がわかりました。インストール前提に ld-linux.so.2 ライブラリが必要なんだけど、それがない場合に表示されるエラーです。

というわけで、サクっと ld-linux.so.2 をインストール:
# yum install ld-linux.so.2

再度インストーラーを実行。すると今度は先に進み、試用許諾契約画面へ。
cbo_04

インストール開始~
cbo_05

で、無事インストールできました、と。
cbo_06


インストールマニュアルのどこかに書いといてほしい。




 

前回は MySQL の導入について紹介したので、今回は MariaDB を紹介します。

MariaDB は MySQL 互換の RDB です。WordPress などの、MySQL を前提としたアプリケーションも MariaDB を使って動かすことができます。


MariaDB にも言えることですが、MySQL もコミュニティエディションは無料で使うことができるオープンソースのデータベースサーバーソフトウェアです。では MariaDB の存在意義はどこにあるのでしょう?

もともとコミュニティの中で成熟してきた MySQL は後に Sun Microsystems に買収され、そして現在は Oracle の下にあります。この「先が見えない」状態をよしと思わない、MySQL 開発者を中心とした有志によって、新たに開発が進められている MySQL の互換DB、それが MariaDB です。

稼働実績も増えてきており、例えば英語版およびドイツ語版 Wikipedia では MySQL から MariaDB に切り替えられています。また Fedora 19、Open SuSE 12.3、RHEL 7 などのメジャーな Linux ディストリビューションでも搭載 DB が MySQL から MariaDB に変更されています。


では CentOS への MariaDB のインストール手順を紹介します。現在の CentOS 6.x ではまだ標準 DB は MySQL であり、そのまま yum でインストールできるわけではありません。

まずは MariaDB をインストールするための PGP Key をインポートします:
# rpm --import https://yum.mariadb.org/RPM-GPG-KEY-MariaDB

またリポジトリ設定を自分の環境にあった内容で編集します(以下は MariaDB 10.0.8 を CentOS 6.x の x86_64 向けにインストールするための設定):
# vi /etc/yum.repos.d/mariadb.repo

[mariadb]
name=MariaDB
baseurl=http://yum.mariadb.org/10.0.8/centos6-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
enabled=1

ここまでの準備ができると yum で MariaDB をインストールできるようになります:
# yum -y install MariaDB-devel MariaDB-client MariaDB-server

インストールが完了したら MariaDB を起動します。MySQL のデーモン名は mysqld でしたが、MariaDB では mysql になっています:
# /etc/init.d/mysql start
Starting MySQL. SUCCESS!

インストールはこれだけ。インストールの後のセットアップは MySQL でのケースとほぼ同じなので省略します。




 

CentOS に MySQL をインストールする手順を紹介します。一応 RDB を2回に分けて説明する予定で一回目の今回は MySQL を、次回は MariaDB を紹介する予定です。

まずはインストール:
# yum install mysql-server

これだけ、簡単すぎ。 起動と起動時設定も以下の2行できてしまいます:
# /etc/init.d/mysqld start
# chkconfig mysqld on

これだけだとあまりにも簡単すぎるので、インストール後のセットアップについても触れておきます。

まずは root ユーザーでサーバーにアクセスします。最初はパスワードなしでログインできます:
# mysql -u root
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 7975
Server version: 5.1.71 Source distribution

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

とりあえずパスワードを設定しておきましょう。以下の例では localhost の root ユーザーに 'P@ssw0rd' というパスワードを設定しています(localhost 以外からのアクセスについては後述):
mysql> set password for root@localhost=PASSWORD('P@ssw0rd');

ついでに UTF-8 で使えるデータベースを1つ作成しておきます:
mysql> create database sampledb default character set utf8;

quit コマンドいったんログアウトして、再度今度はパスワードを指定して、先ほど作成した sampledb データベースにログインします:
# mysql -u root -p sampledb
Password: (パスワード入力)
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 7975
Server version: 5.1.71 Source distribution

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

この sampledb データベースにアクセスする専用のユーザーを1つ作ります。ユーザー名は user_sample、パスワードを pass_sample としています。このユーザーには外部からのアクセスも許可しています:
mysql> grant all privileges on sampledb.* to user_sample@'%' identified by 'pass_sample';

この応用で、root ユーザーに外部アクセスを許可するのであればこのようにします(同じパスワードを指定しています):
mysql> grant all on *.* to root@"%" identified by 'P@ssw0rd' with grant option;

ついでにおまけ。一度導入した MySQL の root のパスワードを忘れてしまった、など、現在の MySQL 環境を一度捨てて、新たにイチから環境を作り直したい、というケースもあると思います。 そんな時に「一度削除して、再インストールすればいいや」ということで、
# yum remove mysql-server
# yum install mysql-server

で再導入できる、、、というわけにはいかないのでした。yum  でインストールした MySQL を yum で remove しても、管理用のデータベースが /var/lib/mysql/ 以下に残っていて、これが残った状態で再インストールしても設定情報は変わらないのでした。

というわけで、MySQL の再導入には、上記コマンドによる再インストール後に以下の様な手順が必要になります:
# /etc/init.d/mysqld stop (MySQL サーバーを止める)
# cd /var/lib/mysql (管理用データベースがあるフォルダに移動)
# mv mysql mysql-old (管理用データベースをリネームして削除)
# mysql_install_db (新しく管理用データベースを作成)
# /etc/init.d/mysqld start (MySQL サーバー起動)

注意点としては、この段階で root ユーザーのパスワードもリセットされ、パスワード無しの状態に戻ってしまいます。すぐにパスワードを設定するようにしましょう。


 

このページのトップヘ