2009-02-27 (金)
Posted at: 00:16:37 - Posted by: yashikiba - Category: CMS
PocketBBSのホームページ:
<PocketBBSとは? - pocket9>
この掲示板ツールは、PHPとSmarty、それにデータベースとしてMySQLかPostgreSQLを使用するものです。
インストールの方法は上記のサイトに詳しく書かれているので、すぐに設置できると思いますが、「アプリケーションのエイリアス名」については、注意する点があります。
例えば、ユーザディレクトリにインストールする際は、次のようにすると思います。
* /home/user/public_html/に「pocketbbs」フォルダをアップロードする場合です。
--------------------------------------------------------------
(省略)
/**
* アプリケーションのエイリアス名(DocumentRootの場合は'/')
*/
define('POCKET_APL_ALIAS', '/user/'); → ユーザ名のパスを指定します。
--------------------------------------------------------------
このツールは動作も軽快なフリーの掲示板です。
2009-02-09 (月)
Posted at: 00:20:09 - Posted by: yashikiba - Category: CMS
<インナースペース通信>には、「bitcube」のことについて少し書いているのですが、このブログでは、以前、「インストールできなかった」という記事しか載せていません。
そこで、インストール時のエラーに対応したことのメモを書いておきます。
「bitcube」のホームページ:
<bit cube - ホームページ更新システム bitcube Ver2.0 ライノ>
※デフォルトのドキュメントルート(/var/www/html)に設置する場合は、以下の変更は必要ないと思いますが試していません。
1.bitcubeのルートパスの設定。
* ここでは、http://xxx.yyy.zzz/user(ユーザディレクトリ)/bitcube/配下にインストールするものとします。
* デフォルトのドキュメントルート(/var/www/html、または、/var/www/)にインストールするなら、ホームページの手順通りでうまく行くと思います。
bitcubeを/home/user/public_html/bitcubeディレクトリにインストールします。
すると、そのままでは管理画面にアクセスできないと思います。
・config.phpの設定を変更します。
(/home/user/public_html/bitcube/bc_manager/config/config.php)
--------------------------------------------------------------
// php設定
require_once("./config/php.ini.php");
// パス情報設定
require_once("./config/system.path.php");
// デフォルトのumask
define("UMASK_VAL",0);
// 記事番号登録予約時間(秒)
define("ENTRY_RESERVE_TIME",3600);
// アクセスログ使用ディスク領域
define("LOG_SIZE",100000000);
// アクセスログ分割数
define("LOG_DIV",10000);
// ページ閲覧数連続更新防止時間(秒)
define("PAGE_VIEW_INVALID_TIME",5);
// サーバ情報 → ここを自分のサーバに合わせて変更します。
define("CURRENT_HTTP_SERVER","http://".$_SERVER["HTTP_HOST"]."/");
↓ 以下のように変更。
define("CURRENT_HTTP_SERVER","http://".$_SERVER["HTTP_HOST"]."/user/bitcube/");
※CMSのルートディレクトリが、ユーザディレクトリの/user/bitcube/であるため。
--------------------------------------------------------------
2.「管理画面」以外のページの表示とアクセスの不具合。
・「1.」の設定だけでは、まだ、「新規記事」の作成時の表示が崩れたり、「記事」へのアクセスができないなどのエラーが出ます。
・「.htaccess」ファイルの編集します。
(/home/user/public_html/bitcube/.htaccess)
* /home/user/public_html/bitcube/bc_manager/.htaccessではありません。
* viを使いroot権限で編集します。
(.htaccessファイルのオーナーがapacheなので。)
--------------------------------------------------------------
(省略)
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteBase /user/bitcube → この行を追加します。
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^bc_test/image/(.*) bc_manager/data/4/$1
(省略)
--------------------------------------------------------------
・以上で、「新規記事」の作成、トップページの作成が可能になります。
3.「HOME」へのリンクをこのCMSのトップページに設定する。
ここまでの修正だと、HOMEリンクやタイトルにアクセスすると、ドキュメントルートのindex.htmlが表示されてしまいます。
これに対応するためテンプレートを修正しますが、インストールした人の好みでリンク先を決めます。
また、bitcubeの各「更新セット」には、「トップページ」、「カテゴリ」と「詳細」の3種類のテンプレートがあるので、新規に「更新セット」を追加するたびに同じ編集をする必要があります。
※編集例としては、テンプレートの<h2><a href="/index.html">HOME</a></h2>の箇所はすべて、自分のホームページに変更しておく方法などがあります。
4.「更新セット」追加時のエラーについて。
* 新しい「更新セット」、言い換えると、「ジャンル」を作成した場合、その動的URLを静的URLに変換する設定が自動で「.htaccess」ファイルに施されますが、そのとき、上記の「.htaccess」ファイルが上書きされて、追加しておいた「RewriteBase」の行が消えてしまいます。
そのため、再び、bitcubeのページにアクセスできなくなります。
・私としては、bitcubeの仕様がよく分からないので、このことについては何か間違ったことをしているのかなとも考えています。
* 以下に、一時的な対処法を書いて見ました。
--------------------------------------------------------------
(1) 新しい「更新セット」を作成します。
(2) 「新規記事」を作成する前に、.htaccessファイルの内容を確認します。
(3) 上記ファイル内の、「RewriteBase」の行が削除されているので、再度、「RewriteBase /user/bitcube」を追加します。
(4) その作業の後、「.htaccess」のオーナーとパーミションが、apache:apache、666であることを確認しておきます。
(5) 「更新セット」を追加するたびに、「1.」~「4.」までの作業を行います。
(6) 「新規記事」を作成・投稿してアクセスし、正常かどうかを確認します。
--------------------------------------------------------------
以上で、アクセス関連のエラーには対応できると思います。
私の設置例:
<bitcubeのインストール>
(未編集)
2008-03-05 (水)
Posted at: 06:16:57 - Posted by: yashikiba - Category: CMS
たまたま、
「脆弱性を修正した Drupal 6.1 がリリース-DrupalJapan」のページを見ました。
このサイトは、Drupalをインストールする際に見つけたものですが、今回のアップグレードでは、大変お世話になりました。
以下、引用です。
-----------------------------------------------------
<6.0からのアップグレード方法>
1.まず既存の Drupal インストールディレクトリ以下のすべてのファイルと、データベースのバックアップを取ります 。
2.ダウンロードしたファイルを任意のディレクトリに解凍します 。
3.上記ファイルで既存の Drupal を上書きします 。
4.update.php を実行します 。
-----------------------------------------------------
私の場合、PostgreSQLのデータベースのバックアップから調べなければなりませんでした。ところが、個別のデータベースディレクトリ(の名前)を探してもありません。
/usr/local/pgsql/data/base に格納されているのは確かなので、pg_dumpコマンドでバックアップしました。
※ MySQLなら、/var/lib/mysql配下に各データベースのディレクトリがあるのですが。
新しいバージョンのDrupalでの上書きが終わったところで、上記4.の「update.phpの実行」をするとエラーがでました。
Access Denied
Drupalではアップグレードするときには、/sites/default/default.settings.php と /sites/default/settings.php の「$update_free_access」 値をFalseからTRUEに変更する必要があるというエラーです。
update.phpをデフォルトで実行して、Drupalのアップデートが終了した時点で、すぐに、「$update_free_access = TRUE;」を「FALSE」に変更した後、パーミションも「444」に戻しておく必要がありました。
(もっとも、そうしないとエラーが出ますが。)
以上で、基本的にはアップデートは終わりますが、エラーはいろいろ出ます。
一部のファイルで元のファイルの変更部分が消されてしまったり、パーミションが変わって書き込めなくなったりします。
それでも、重大な作業ミスはほとんどDrupalのアップデートプロセス自体がユーザに教えてくれるので、GPLソフトはすごいなと感心してしまいます。
多くの有志の人たちがこのCMSソフトの発展のために係わっているのだなとよく分かりました。
完全なひとり言になってしまいました。(^ ^;
2008-02-22 (金)
Posted at: 03:32:01 - Posted by: yashikiba - Category: CMS
Drupalで作ったHPで日付を表示させました。
IE7で「2008年」となっていたので、なんとも思わなかったのですが、
今日FireFoxで見てみると「108年」。
2000年問題の頃はPCも持っていなかった私ですので、仕方ないなと思っています。
対応としては、
1.当然、getFullYear()関数を使う。
しかし、古いブラウザだと上記の関数に対応していないようです。
(getFullYear()関数は比較的新しい関数ですので。)
2.getYear()関数をそのまま使う。
以下のようにするのが、いちばん簡単です。
var now = new Date();
var Y = now.getYear();
if (Y < 1900) Y += 1900;
※ if(now.getFullYear)の値で、getFullYear関数の有効・無効を調べられるので、
if (!now.getFullYear) {
Y = now.getYear();
if (Y < 1900) Y += 1900;
} else {
Y = now.getFullYear();
とすることもできます。
* 参考/引用
「もし・・・」
* 奥村晴彦氏 (三重大学教育学部(情報教育課程)教授)
追記
JavaScriptのファイルを修正してFireFoxでページを再表示させてみると、
うまく行きません。IE7では修正がうまく行きます。
おかしいと思って調べてみると、FireFoxはIE7と比べると「物持ちがいい」ようです。
Cacheをクリアすると、すぐに変更が反映されました。
特に、私は、JavaScriptを外部ファイルとしていたからかもしれませんが。