CentOS サーバー構築 CMS Geeklog

(最終更新日時:2013-05-26 18:29:12)
ブログを開設するため、オープンソースの CMS(コンテンツ管理システム) Geeklog をインストールします。

ダウンロード

Geeklog日本語配布サイト (http://www.geeklog.jp/) から次のファイルをダウンロードします。
Geeklog コアパッケージ
Geeklog 2.0.0-extended-jp-1.0日本語パッケージ拡張版
geeklog-2.0.0-jp-extended-1.0.tar.gz
 (※)下線部は 2013/05/26 現在の最新バージョンです。

データベースの準備

MySQLに Geeklog用のデータベースを作成します。
データベース名 dbgeeklog や接続ユーザー名 usrgeeklog は適宜読み替えてください。

※当サイトの MySQLは、仮想サーバー actmysql.server.localnet で稼動しています。
# MySQLサーバーに接続します
$ mysql -h actmysql.server.localnet -u root -p
Enter password: [MySQLユーザー root のパスワード]
     :
[(none)]> -- Geeklog用のデータベースを作成します
[(none)]> CREATE DATABASE dbgeeklog;

[(none)]> -- Geeklog用の接続ユーザーを作成します
[(none)]> GRANT ALL ON dbgeeklog.*
    -> TO usrgeeklog@gateway.server.localnet
    -> IDENTIFIED BY '作成する接続ユーザーのパスワード';

[(none)]> -- 仮想サーバーで運用している場合は、ローカルからの接続ユーザーも必ず作成しておきます
[(none)]> GRANT ALL ON dbgeeklog.*
    -> TO usrgeeklog@localhost
    -> IDENTIFIED BY '作成する接続ユーザーのパスワード';

[(none)]> quit
Bye

インストール

/usr/local/srcディレクトリでアーカイブを展開し、Geeklogを運用するブログサイトディレクトリにファイルを移動します。
ブログサイトディレクトリ /home/www/vhosts/system-act.com/blog は適宜読み替えてください。
# アーカイブを展開します
$ cd /usr/local/src
$ wget -O geeklog-2.0.0-jp-extended-1.0.tar.gz \
>      http://www.geeklog.jp/downloads/visit.php/geeklog-2.0.0--extended-jp-1.0
$ tar zxvf geeklog-2.0.0-jp-extended-1.0.tar.gz

# Geeklogを運用するブログサイトディレクトリを作成し、ファイルを移動します
$ sudo mkdir -p /home/www/vhosts/system-act.com/blog
$ cd geeklog-2.0.0-jp-extended-1.0
$ sudo cp -R public_html /home/www/vhosts/system-act.com/blog/
$ sudo rm -rf public_html
$ sudo mkdir /home/www/vhosts/system-act.com/blog/private
$ sudo cp -R * /home/www/vhosts/system-act.com/blog/private/

# サイト用の imageディレクトリを作成します
$ cd /home/www/vhosts/system-act.com/blog
$ sudo mkdir public_html/images/custom

# ディレクトリ/ファイルのオーナーとパーミッションを設定します
$ sudo chown -R apache.apache .
$ sudo find . -type d -exec chmod 755 {} \;
$ sudo find . -type f -exec chmod 644 {} \;
$ sudo chmod 757 \
>   private/backups \
>   private/data \
>   private/system/custom \
>   public_html \
>   public_html/backend \
>   public_html/images/articles \
>   public_html/images/custom \
>   public_html/images/topics \
>   public_html/images/userphotos
$ sudo find private/plugins             -type d -exec chmod 757 {} \;
$ sudo find public_html/filemgmt_data   -type d -exec chmod 757 {} \;
$ sudo find public_html/images/library/ -type d -exec chmod 757 {} \;
$ sudo find public_html/layout/         -type d -exec chmod 757 {} \;
$ sudo chmod 666 public_html/siteconfig.php
$ sudo chmod 646 \
>   private/db-config.php \
>   public_html/sitemap.xml \
>   public_html/robots.txt \
>   public_html/admin/plugins/themedit/preview.{css,html} \
>   public_html/backend/geeklog.rss \
>   public_html/captcha/auth_sister.css
$ sudo find private/plugins/    -type f -exec chmod 646 {} \;
$ sudo find private/logs/       -type f -exec chmod 646 {} \;
$ sudo find public_html/layout/ -type f -exec chmod 646 {} \;

データベース情報設定

Geeklog用に作成したデータベースの情報を Geeklogの定義ファイルに設定します。
$ sudo vi /home/www/vhosts/system-act.com/blog/private/db-config.php
----------(vi ここから)----------
     :
$_DB_host = 'actmysql.server.localnet';                 // データーベースサーバーのホスト名です
$_DB_name = 'dbgeeklog';                                // 作成したデーターベース名です
$_DB_user = 'usrgeeklog';                               // データーベースの接続ユーザー名です
$_DB_pass = '接続ユーザーのパスワード';
     :
----------(vi ここまで)----------

HTTPサーバー apache の設定

HTTPサーバー apache に Geeklogを運用するサイトの定義を行います。
当サイト blog.system-act.com を例にしています。
また、blog.system-act.com は DNS設定済とします。
# 仮想ホスト blog.system-act.com を追加します
$ sudo vi /usr/local/apache2/conf/extra/httpd-vhosts.conf
----------(vi ここから)----------
     :
<VirtualHost 192.168.11.11:80>
  ServerName   blog.system-act.com
  ServerAdmin  webmaster@system-act.com
  DocumentRoot "/home/www/vhosts/system-act.com/blog/public_html"
  ErrorLog     "/var/log/httpd/vhosts/system-act.com/blog/error_log"
  CustomLog    "/var/log/httpd/vhosts/system-act.com/blog/access_log" combined env=!nolog
  Include      conf/extra/vhosts/blog.system-act.com.conf
</VirtualHost>
     :
>----------(vi ここまで)----------

# サイトの詳細設定を行います
sudo vi /usr/local/apache2/conf/extra/vhosts/blog.system-act.com.conf
----------(vi ここから)----------
<Directory       "/home/www/vhosts/system-act.com/blog/public_html"
  AllowOverride   Options                               # .htaccessによるオプションの変更を有効にします
</Directory>
----------(vi ここまで)----------

# .htaccessファイルを作成し、サイト固有の設定を行います
$ cd /home/www/vhosts/system-act.com/blog/public_html
$ sudo vi .htaccess
----------(vi ここから)----------
php_flag  display_errors        off                     # エラー表示を無効にします
----------(vi ここまで)----------
$ sudo chown apache.apache .htaccess
$ sudo chmod 646 .htaccess

# 設定を反映させるためHTTPサーバー apache を再起動します
$ sudo service httpd restart

初期設定

ブラウザからインストールしたブログサイトにアクセスして初期設定を行います。
例として http://blog.system-act.com/ にアクセスしています。

(※)クリックすると移動可能な拡大画像がポップアップします。Google Chromeによる画像です。
geeklog01.gif 初期画面です。

install script』をクリックして、次に進みます。
geeklog02.gif 定義ファイルの設定画面です。

Pre-Installation Check (in Japanese)』をクリックして、事前チェックを行います。
geeklog03.gif DB定義ファイル db-config.php の存在チェック画面です。

エラーになっている場合、『ファイルブラウザで探す』をクリックして、手動で検索します。
geeklog04.gif 検索用のファイルブラウザ画面です。

DB定義ファイル db-config.php の存在するディレクトリ『private』をクリックします。
geeklog05.gif 検索完了画面です。

このファイルを使用する』をクリックします。
geeklog06.gif インストールタイプの選択画面です。

新規インストール』をクリックします。
geeklog07.gif 環境チェックの結果画面です。

エラーが表示された場合は、メッセージにしたがって対応します。

問題なければ、『続行する』をクリックします。
geeklog08.gif データベース情報の入力画面です。

・データベースの種類
・データベースのホスト名
・データベースのパスワード

がデータベースの情報設定ファイル db-config.php の内容と一致すれば、データベース名が選択できるようになります。

インストーラへ』をクリックします。
geeklog09.gif サイトの設定情報の入力画面です。

・サイト名
・サイトのスローガン

を入力し、オプションの設定は必要に応じて変更します。
インストール完了後に変更することもできます。

インストール>>』をクリックします。
geeklog11.gif インストールの完了画面です。

管理者アカウントを変更するため、表示されているユーザ名とパスワードで『ログイン』します。
geeklog12.gif セキュリティを考慮し『Admin アカウントのパスワードを変更する』ではなく、アカウント名も変更します。

ユーザー』をクリックします。
geeklog13.gif ユーザー管理画面です。

編集アイコン』をクリックします。
geeklog14.gif ユーザー情報の編集画面です。

ユーザー名を変更し、新しく設定するパスワードを入力します。
必要に応じて氏名やメールアドレスを変更します。

保存』をクリックします。
geeklog15.gif ユーザー情報の編集完了画面です。

初期設定の後処理

ブラウザによる初期設定が終わったら、インストール用のディレクトリを削除し、定義ファイルのアクセス権を変更します。
$ cd /home/www/vhosts/system-act.com/blog
$ sudo rm -rf public_html/admin/install
$ sudo chmod 644 private/db-config.php public_html/siteconfig.php

プラグイン

当サイトでデフォルトから追加でインストールしたプラグインは以下になります。
Japanize日本語化
Autosave自動保存
Assistカスタマイズアシスト
Bannerバナー管理
DataProxyコンテンツデータ取得
Mycaljpサイトカレンダー
Sitemapサイトマップ作成
CustomMenuメニューバーカスタマイズ
jQueryjQuery

最新バージョンのプラグインのアーカイブ(.tar.gz, .tgz, .zip)を開発者サイトからダウンロードしてインストールする場合、アーカイブ展開後のディレクトリはプラグイン名になっている必要があります。
展開後のディレクトリ名にバージョン等が入っている場合は、正しくインストールできません。
また、展開後のディレクトリ名にバージョン等が入っている場合、さらにその下にプラグイン名のディレクトリが存在していることがあります。
その場合は、プラグイン名のディレクトリが展開後のディレクトリになるように、アーカイブを作り直す必要があります。

カスタマイズ

ブログサイトのレイアウトやデザインのカスタマイズを行うには、カスタマイズ用の CSSファイルを作成して行います。
使用するテーマの header.thtmlに、作成したカスタマイズ用の CSSファイルを追加します。

以下の例は、テーマ Denim に対して、カスタマイズ用の CSSファイル custom.cssを作成した場合のものです。
投稿者の情報を表示した際に、ログイン時に入力するユーザー名(ログインID)が表示されています。
セキュリティ的に好ましくありませんので、ユーザー名(ログインID)を表示させないようにします。

アップグレード

Geeklogシステムのバージョンアップによるブログサイトのアップグレードは下記の方法で行います。
# ブログサイトのファイルをバックアップします
$ cd /home/www/vhosts/system-act.com
$ sudo mv blog blogbak

#     :
# (バージョンアップ版の Geeklogシステムをインストールします)
#     :

# ブログサイトの定義ファイルを編集します
$ sudo vi blog/public_html/siteconfig.php
----------(vi ここから)----------
     :
$_CONF['path'] = '/home/www/vhosts/system-act.com/blog/private/';
     :
----------(vi ここまで)----------

# バックアップしたファイルを戻します
# ※ブログサイトの環境により対象ファイルは異なります
$ sudo cp -af  blogbak/private/db-config.php   blog/private/
$ sudo cp -af  blogbak/public_html/.htaccess   blog/public_html/
$ sudo cp -af  blogbak/public_html/sitemap.xml blog/public_html/
$ sudo cp -af  blogbak/public_html/backend/*   blog/public_html/backend/
$ sudo cp -aRf blogbak/public_html/images/articles/*   blog/public_html/images/articles/
$ sudo cp -aRf blogbak/public_html/images/library/*    blog/public_html/images/library/
$ sudo cp -aRf blogbak/public_html/images/custom/*     blog/public_html/images/custom/
$ sudo cp -aRf blogbak/public_html/images/topics/*     blog/public_html/images/topics/
$ sudo cp -aRf blogbak/public_html/images/userphotos/* blog/public_html/images/userphotos/

# ※必要に応じてプラグインをバックアップから戻します
# ※インストールパッケージにバージョンアップされたプラグインが存在することがあります
# ※バックアップから戻すとバージョンダウンすることがあるので注意してください
$ sudo cp -aRf blogbak/private/plugins/xxxxxxxx           blog/private/plugins/
$ sudo cp -aRf blogbak/public_html/admin/plugins/xxxxxxxx blog/public_html/admin/plugins/
$ sudo cp -aRf blogbak/public_html/xxxxxxxx               blog/public_html/

ブラウザからインストールしたブログサイトのインストールスクリプト admin/install/index.php にアクセスして初期設定を行います。
例として http://blog.system-act.com/admin/install/index.php にアクセスしています。

(※)クリックすると移動可能な拡大画像がポップアップします。Google Chromeによる画像です。
geeklog21.gif 初期画面です。

Pre-Installation Check (in Japanese)』をクリックして、事前チェックを行います。
geeklog22.gif インストールタイプの選択画面です。

アップグレード』をクリックします。
geeklog23.gif 環境チェックの結果画面です。

エラーが表示された場合は、メッセージにしたがって対応します。

問題なければ、『続行する』をクリックします。

アップグレードの後処理

ブラウザによるアップグレードが終わったら、インストール用のディレクトリを削除し、定義ファイルのアクセス権を変更します。
$ cd /home/www/vhosts/system-act.com/blog
$ sudo rm -rf public_html/admin/install
$ sudo chmod 644 private/db-config.php public_html/siteconfig.php

フィードバック

記事の内容についてのご質問、ご指摘、その他ご意見等は、下記にてお願いいたします。

System House ACT公式ブログ内記事 : CMS(コンテンツ管理システム) Geeklog 2.0

トラックバックまたはコメントにてお寄せください。

Clip to Evernote
a System House to build an Accounting system by the Computer Technology