OpenPNE 3.1 を CentOS 5 にインストールしてみました
05 / 30 土曜日 2009
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 となっています。変更して使ってください)
コメント:1
- kawakami 09-06-02 (火) 20:00
-
すばらしいチュートリアルです。
私のようなスキルの人間でも、2時間くらいでインストールできました。
本当に助かりました。
トラックバック:0
- この記事のトラックバックURL
- http://www.openpne.jp/archives/2127/trackback/