OpenPNE 3.1 を CentOS 5 にインストールしてみました

OpenPNE開発チームの小川です。




前回はレンタルサーバに OpenPNE 3 をインストールする例を紹介しましたが、今回は自分で管理しているサーバへのインストール例として OpenPNE 3.1.0 を最小セットアップ状態の CentOS 5.3 にインストールする手順をご紹介します。



OpenPNE 3.1 の一般的なインストール方法は、OpenPNE3.1 セットアップ手順 をご覧ください。



はじめに

ここで紹介する手順は OpenPNE を動作させる例として最低限の手順しか記載していないので、実際に公開サーバの設定をする際には参考程度にご利用ください。



以下の手順では sudo を使用していますが、sudo の設定をしていない環境では「sudo」の付いているコマンドは「sudo」を抜いて root ユーザで実行してください。



また、ホスト名として sns.example.com を、OpenPNE を管理する一般ユーザとして admin を例にしていますが、環境に合わせて適宜読み替えてください。



ミドルウェアのインストール

Apache, MySQL, Postfix のインストール

yum コマンドを使ってOS標準のパッケージをそのままインストールします。



$ sudo yum install httpd mysql-server postfix



PHP のインストール

PHP に関してはバージョン 5.2.3 以降が必要なので、個別にインストールします。ソースコードからコンパイルしてももちろんよいのですが、今回は oss.oracle.com で公開されている rpm パッケージを利用しました。



$ sudo yum install aspell curl gmp libxslt wget



$ DIST=http://oss.oracle.com/projects/php/dist/files/EL5/i386

$ wget $DIST/php-5.2.9-1.el5.i386.rpm

$ wget $DIST/php-cli-5.2.9-1.el5.i386.rpm

$ wget $DIST/php-common-5.2.9-1.el5.i386.rpm

$ wget $DIST/php-gd-5.2.9-1.el5.i386.rpm

$ wget $DIST/php-mbstring-5.2.9-1.el5.i386.rpm

$ wget $DIST/php-mysql-5.2.9-1.el5.i386.rpm

$ wget $DIST/php-pdo-5.2.9-1.el5.i386.rpm

$ wget $DIST/php-xml-5.2.9-1.el5.i386.rpm

$ sudo rpm -ivh php-*.rpm

準備中... ########################################### [100%]

1:php-common ########################################### [ 13%]

2:php-cli ########################################### [ 25%]

3:php-pdo ########################################### [ 38%]

4:php ########################################### [ 50%]

5:php-gd ########################################### [ 63%]

6:php-mbstring ########################################### [ 75%]

7:php-mysql ########################################### [ 88%]

8:php-xml ########################################### [100%]



APC のインストール(オプション)

PHP の快適な動作にはアクセラレータの導入が欠かせません。ここではセットアップガイドでも推奨されている APC をインストールしてみます。



$ sudo yum install autoconf213 automake gcc make httpd-devel



$ wget $DIST/php-devel-5.2.9-1.el5.i386.rpm

$ sudo rpm -ivh php-devel-5.2.9-1.el5.i386.rpm



$ sudo yum install php-pear

$ sudo pear channel-update pear.php.net

$ sudo pear upgrade-all --ignore-errors

$ sudo pecl install APC

Use apxs to set compile flags (if using APC with Apache)? [yes] : yes

...

install ok: channel://pecl.php.net/APC-3.0.19

configuration option "php_ini" is not set to php.ini location

You should add "extension=apc.so" to php.ini

$ echo "extension=apc.so"
sudo tee /etc/php.d/apc.ini



ミドルウェアの設定

Apache の設定

VirtualHost の設定を httpd.conf の末尾に追加します。



$ sudo vi /etc/httpd/conf/httpd.conf



<VirtualHost *:80>

ServerName sns.example.com

DocumentRoot /var/www/sns/web

<Directory /var/www/sns/web>

AllowOverride All

</Directory>

</VirtualHost>



OpenPNE を設置するディレクトリを作成します。



$ sudo mkdir /var/www/sns

$ sudo chown admin. /var/www/sns



設定ファイルが間違っていないかどうかテストします。



$ sudo /etc/init.d/httpd configtest

Warning: DocumentRoot [/var/www/sns/web] does not exist

Syntax OK



/var/www/sns/web は後の手順で作成するので、この Warning が出るのはよしとして進めます。



デーモンの起動

$ sudo /etc/init.d/httpd start

$ sudo /etc/init.d/mysqld start

$ sudo /etc/init.d/postfix start



MySQL のユーザ設定

まず、root ユーザのパスワードを設定します。new-password の部分は変更してください。



$ mysql -u root



mysql> UPDATE mysql.user SET Password = PASSWORD('new-password') WHERE User = 'root';

Query OK, 3 rows affected (0.00 sec)

Rows matched: 3 Changed: 3 Warnings: 0



mysql> FLUSH PRIVILEGES;

Query OK, 0 rows affected (0.00 sec)



OpenPNE 用に openpne というユーザを作成し、openpne3 というデータベースに対するアクセス権限を与えます。pasuwado の部分は変更してください。



mysql> GRANT USAGE ON *.* TO 'openpne'@'localhost' IDENTIFIED BY 'pasuwado';

Query OK, 0 rows affected (0.00 sec)



mysql> GRANT ALL ON openpne3.* TO 'openpne'@'localhost';

Query OK, 0 rows affected (0.00 sec)



ファイアーウォールの設定

外部から HTTP でアクセスできるよう設定します。



$ sudo system-config-securitylevel-tui



「カスタマイズ」 → 「WWW (HTTP) 」にチェック → 「OK」 → 「OK」



OpenPNE 3.1 のインストール

ソースコードのダウンロード

SourceForge.net の OpenPNE プロジェクトのページから OpenPNE 3.1.0 の zip アーカイブをダウンロード・展開します。



$ sudo yum install unzip

$ cd /var/www/sns

$ wget http://nchc.dl.sourceforge.net/sourceforge/openpne/OpenPNE-3.1.0.zip

$ unzip OpenPNE-3.1.0.zip



キャッシュファイルの削除

OpenPNE 3.1.0 の zip アーカイブには誤ったキャッシュファイルが含まれている可能性があるので、念のためキャッシュファイルの削除をしてください。(3.1.0 バージョン固有の問題で、通常のインストールでは必要ありません)



$ cd OpenPNE-3.1.0

$ rm cache/*



プラグインインストール

OpenPNE 3.1.0 では初期データの登録処理の関係上、openpne:install タスクを実行する前に opPlugin:sync タスクを実行してあらかじめプラグインをインストールしておく必要があります。



せっかくなので、先日リリースされたばかりの opDiaryPlugin も一緒にインストールしておきましょう。



$ php symfony opPlugin:sync

$ php symfony opPlugin:install --stability=beta opDiaryPlugin



openpne:install タスクの実行

$ php symfony openpne:install



openpne:install タスクを実行すると DB のセットアップに必要な情報を聞かれるので、サーバ環境に合わせて入力していきます。



Choose DBMS (mysql, pgsql or sqlite)

使用する DBMS の種類を入力します。

ここでは、「mysql」と入力します。

Type database username

データベースのユーザ名を入力します。

作成した MySQL のユーザ名「openpne」を入力します。

Type database password (optional)

データベースのパスワードを入力します。

作成した MySQL ユーザのパスワード「pasuwado」を入力します。

Type database hostname

データベースサーバのホスト名を入力します。

ここでは「localhost」と入力します。

Type database port number (optional)

データベースのポート番号を入力します。未入力の場合は DBMS ごとのデフォルト値が使用されます。

ここでは未入力のまま Enter を押します。

Type database name

データベース名を入力します。

ここでは例として「openpne3」と入力します。

Type database socket path (optional)

データベース接続に使用するソケットのパスを入力します。

ここでは未入力のまま Enter を押します。

最後に入力した内容の確認をします。問題なければ「y」を入力します。



The DBMS mysql

The Database Username openpne

The Database Password ******

The Database Hostname localhost

The Database Port Number

The Database Name openpne3

The Database Socket



Is it OK to start this task? (y/n)y



公開ディレクトリの設定

ここまでの手順で OpenPNE 3 が動作する状態になっているので、公開ディレクトリにシンボリックリンクを作成します。



$ cd /var/www/sns

$ ln -s OpenPNE-3.1.0/web



ブラウザからアクセス

ブラウザから「http://sns.example.com/」にアクセスして OpenPNE 3 のログイン画面が表示されれば OK です。(初期アカウントはセットアップガイドにある通り、sns@example.com / password となっています。変更して使ってください)



また、管理画面は「http://sns.example.com/pc_backend.php」へアクセスすれば表示されます。(初期アカウントはセットアップガイドにある通り、admin / password となっています。変更して使ってください)



前のページ 次のページ

コメント:5

kawakami 09-06-02 (火) 20:00 すばらしいチュートリアルです。

私のようなスキルの人間でも、2時間くらいでインストールできました。

本当に助かりました。



手嶋守 09-08-02 (日) 18:26 20090802現在、パッケージの配置が変更されていました。



DIST=http://oss.oracle.com/projects/php/dist/files/EL5/i386



wget $DIST/php52-5.2.10-2.el5.i386.rpm

wget $DIST/php52-cli-5.2.10-2.el5.i386.rpm

wget $DIST/php52-common-5.2.10-2.el5.i386.rpm

wget $DIST/php52-gd-5.2.10-2.el5.i386.rpm

wget $DIST/php52-mbstring-5.2.10-2.el5.i386.rpm

wget $DIST/php52-mysql-5.2.10-2.el5.i386.rpm

wget $DIST/php52-pdo-5.2.10-2.el5.i386.rpm

wget $DIST/php52-xml-5.2.10-2.el5.i386.rpm



ゲン・テイ・チー 09-08-06 (木) 19:01 皆様



Openpne3.xを使いたいです。

携帯から画像の投稿などをできるようにしたいです。

メールサーバの設定がわかりませんでした。

教えていただけませんか。



(私はベトナム人ですから、日本語がまだ下手です)



よろしくお願いいたします。



John 09-09-10 (木) 17:47 現在はなぜかmbstringが見つからないですね。

wget $DIST/php52-mbstring-5.2.10-2.el5.i386.rpm



匿名 10-02-24 (水) 2:59 ギブアップ。

XOOPSにトライします。