Archive for the ‘CentOS’ Category

CentOS に Redmine 1.0 をインストールする手順

Redmine をインストールするため、heteml に RubyGems をソースコードからインストールしたり、rake を入れた後で heteml では結局無理っぽい感じで、VPS に乗り換えて、DNS や CentOS をいじくり回しサーバーを何度も止めて、ネームサーバーを作ったり、いろんなことを勉強し、とうとう最終ラップです。

以下のページが大変参考になりますが、一部私がつまづいたところをメモします。
Redmine 0.9のインストール手順 | Redmine.JP Blog

必要なパッケージのインストール

既にインストールされているかと思いますので、適宜自分の環境にないものをインストールしていきましょう。無理にアップデートとかする必要はないです。

worker MPMに切り替える

高速化とメモリの節約のために、ApacheのMPMをデフォルトのprefork MPMからworker MPMに変更したところ、私の環境では PHP から MySQL に接続できなくなりました。そのため、私の環境ではこの作業はスキップしました。

テーブル作成でエラーが発生する

# rake db:migrate RAILS_ENV=production
(in /var/lib/redmine)
rake aborted!
RubyGem version error: rack(1.1.0 not ~> 1.0.1)

(See full trace by running task with –trace)

以下のページを参考に、action_controller.rb を編集しました。
Ubuntu 9.10 にRedmineを構築する – dominion525の日記

あとはドキュメントルートをしっかり public 以下に設定してあげれば完了です。

私の場合は、いろいろと面倒が起こったりして結局一日使いました。
使ってるサーバーの管理ツールの BlueOnyx が困ったちゃんでして。

今後は Redmine の使い方などもメモしていきたいと思います。

CentOS で cron を設定する方法

cron は定期的に処理をさせる際に大変便利です。
以下の記事を参考に勉強させて頂きました。

cron の設定ガイド
CentOSでのcronの使い方。 – 今日も元気にlinux – mylinuxグループ

まず cron が動いているかを確かめる。

1
2
$ /etc/rc.d/init.d/crond status
crond (pid xxx) を実行中...

もし動いてなければ以下のようにして起動します。

1
2
$ /etc/rc.d/init.d/crond start
crondを起動中:

cron を設定します。

1
crontab -e

既定のエディタが起動するので以下のように設定する。
今回の例は PHP を実行します。

00 0 * * * php /path/to/hoge.php

ここで設定したものは /var/spool/cron 以下に作られますが、編集する際は crontab -e で同じようにエディタで開いて編集ができますので、そちらが一般的です。

また、cron の実行ログについては /var/log/cron に書かれていくので、本当に動いているのかを確認するにはこちらを確認しましょう。

PHP で Apache からだと include ができるのに CIL からだとできない場合の解決策

ブラウザからアクセスすると普通に動くのに、コマンドラインから PHP を直接叩くと include が上手くできない。
@endo55 @kiyotchi さんからのアドバイスによると、open_basedir か PHP のセーフモード ON, OFF に問題があるとのこと。

ちなみに PHP を叩いたときは以下のエラーが出る。

php /home/.sites/1000/5555/web/path/to/mail.php
PHP Warning: include(): open_basedir restriction in effect. File(/home/.sites/1000/5555/web/path/to/config.php) is not within the allowed path(s): (/tmp/:/var/lib/php/session/) in /home/.sites/1000/5555/web/path/to/mail.php on line 2
PHP Warning: include(/home/.sites/1000/5555/web/path/to/config.php): failed to open stream: Operation not permitted in /home/.sites/1000/5555/web/path/to/mail.php on line 2
PHP Warning: include(): Failed opening ‘/home/.sites/1000/5555/web/path/to/config.php’ for inclusion (include_path=’.:/usr/share/pear:/usr/share/php’) in /home/.sites/1000/5555/web/path/to/mail.php on line 2

PHP ファイルの中身は以下のようになっています。

ちなみに include するだけの PHP ファイルの内容は以下。

1
2
<?php
include('/home/.sites/1000/5555/web/path/to/config.php');

ちなみに現在の open_baseurl の設定は以下。
これが各サイト毎に設定されているもので、この変な番号は、今回のサイト専用のディレクトリ。

php_admin_value open_basedir /tmp/:/var/lib/php/session/:/home/.sites/1000/5555/

以下は php.ini の設定内容です。

open_basedir = /tmp/:/var/lib/php/session/

ここで、注目したいのが、各サイト用に設定されているものは、Apache 経由でアクセスされたときしか読み込まれず、CIL から実行すると php.ini だけが読み込まれるため、サイト用のディレクトリに存在するファイルを読み込むことができていないという点です。

そのため、php.ini の open_basedir をコメントアウトすることで解決することができます。
この点に関しては @kiyotchi @tfmagician さんによってアドバイスいただきました。
本当に感謝、感謝です…!

最後に @tfmagician さんから以下のようなアドバイスを。

良かった良かったw サーバ設定は私もかなり悩んだので…最後におせっかいですが、サーバ設定に悩んだときは”ログの場所を把握して、ログをしっかり見ること、ログを検索にかけること”、これだけわかってればだいたい解決します^^

アドバイスまで頂いてお腹いっぱいです。

今回の件は主に以下の方々にご協力をいただきました。
様々な件でいろいろと @ を飛ばしていただいたため、判別が難しく、漏れがあるかもしれませんが、@kiyotchi さん、@tfmagician さん、@endo55 さん、@mapoyon さん、@mitukiii さん、@amanotomoki さん、@iis_hara さん、@shuchi_555 さん、@nntsugu さん、@yo4ukey さん、@sanonosa さん、本当に助けていただいてありがとうございました。

CentOS を10年前のノート PC にインストールしてみるの巻

自宅サーバーやオープンソースの無料 OS に憧れて CentPC を中学生の頃に使っていたビンテージノート PC にインストールしてみました。いやー。途中で vi を使うところが出てきたんですが、vim 使いレベル1の私には楽勝でした。vim 覚えると世界が変わりますよ。もう秀丸は使わなくなってしまいましたが、秀丸は秀丸で大切な友達です。

以下、CentOS5インストール(以下、参考サイト)を参考に、躓いた部分をまとめていきます。

ちなみに Windows が入っていますが、アンインストールは少し面倒なので、ドライブ C をフォーマットすることで対応します。CentOS をインストールするにあたって、途中でドライブをフォーマットするか選べますので、その際にやっちゃえば良いかと思います。

CentOS のダウンロード

ダウンロードページより CentOS をダウンロードします。

参考サイトで紹介されているよう、CentOS-5.4-i386-bin-1of6.iso ~ CentOS-5.4-i386-bin-6of6.iso をダウンロードし、合計6枚のインストールディスクを作成するのも良いですが、CentOS-5.4-i386-bin-DVD.iso をダウンロードし、1枚のインストー ルディスクにまとめることも可能です。

CentOS のインストール

BIOS を設定し CD から BOOT できるようにしておく必要があります。大体起動してから BIOS 画面にいけば、どの順番でドライブをチェックしていくか選べるはずだった気がします。

Could not find kernel image : linux

参考サイトでは boot: と表示されたら、空 Enter で良いと書いてありますが、実際に私は Could not find kernel image : linux と表示され先に進めませんでしたが、以下を参考に解決しました。
CentOS 5 Unknown keyword in config file Could not find kernel image : linux 防備録 – (株)mic社長「もはや猫日記」:foobar

1
boot:vmlinuz initrd=initrd.img

kernel panic- not syncing: VFS: unable to mount root fs on unknown wn=block(8,3)

CentOSインストール時に kernel panic- not syncing: VFS: unable to mount root fs on unknown wn=block(8,3) 発生 情報過多!供給過多!わたしIT業界の迷い子です。

メモリが足りないと発生する現象だそうです。メモリの利用用量を変更すれば良いとのことでしたが、私の環境ではそれもできず。もう一度やり直したらインストールすることができました。

Desktop – Gnome

参考サイトでは、Desktop – Gnome のチェックを外せとありますが、こちらは OS を GUI で操作できるパッケージです。こちらをインストールしなければコマンドラインしか操作できない結末になりますので、まずは CentOS インストールして楽しみたいという場合は、こちらのチェックは外さずに。

後からインストールすることも可能なんですが、難しいです。yum コマンドを使うそうですが、その yum コマンドが私の環境では実行できませんでした。仕方ないので、もう一度再インストールしました。

CentOSのyumがうまくできない時はこちらの方法で解決できるそうですが、できませんでした。

読んでおくと良いサイト

私は IP アドレスやホスト名といった、なんかその辺などの知識がまだまだ浅はかなので、ホスト名などは DHCP で自動取得などにしています。初期設定でいいやと思って OK! OK! していたんですが、ipv6 有効だと良くないことがあるみたいですね。少し弄ったら、後でこっちの CentOS5 インストールを読みながら再インストールにチャレンジです。

あと、本日 @sanonosa さんが Twitter でぼそぼそっとLinuxでそこそこ安全かつ楽にサーバを立てる方法を読むと良いよなんて言っていたので、こちらも読んでみたいですね。

@sanonosa さんカッコイイですよね。私も将来はこんな大人になりたいと尊敬の眼差しです。

  • Date: 2010-3-26 (金) 1:54:41
  • Category: CentOS
  • Tags: