テーマ テンプレート CSS

XOOPSのソースの表示や編集の際は、必ず、ECU-JPに対応したエディターを利用する。
私は、「CotEditor」というMacフリーソフトを利用しています。
www.aynimac.com

1テーマフォルダ「default」をコピーして、「sample」リネーム
 thema.html の中の、<{include files=の部分を、読み取る各ファイルの中身をそのまま置き換える。
1’ theme.htmlの中の、default→$XOOPS_theme に修正
$XOOPS_theme部分には、現在選ばれているテーマ名が自動的に入る

1、1’ テーマの切り替え
互換モジュール→全般設定 「デフォルト・サイトテーマ」で「sample」選択
themes/ ディレクトリからの自動アップデートを有効にする→「はい」を選択

2sampleフォルダの中の、「theme.html」「style.css」を編集

A.ブロックの表示位置の変更-->theme.html でブロックの位置を変更
B.ヘッダ部分に検索窓を配置

C.ヘッダ部分にサイト名とサイト副題を表示(Customizing123P)
D.ヘッダ部分にログインメニューとユーザメニューーを表示する

テンプレートで、サイト管理者だけが見られるようにするには、
#<{if $xoops_isadmin}>

#

#<{/if}>

テンプレートで、登録ユーザだけが見られるようにするには、
#<{if $xoops_isuser}>

#

#<{/if}>

その5 サイトの骨格作り

①モジュールweblogD3で、ニュース配信風に投稿。

weblogD3カテゴリ管理から、カテゴリー作成し、ブログ投稿。


②トップページに、投稿したニュース配信の最新情報を表示させる

管理画面>ALTSYS>ブロック管理>weblogD3を選択
「最新ブログエントリ」というブロックを、表示サイド「中央」に、表示対象を「トップページ」に
 ブロックオプションで、表示内容が設定できる

③サイドバーに、カテゴリーメニューを表示する。

「カテゴリ一覧」というブロックを、表示再度「左」に、表示対象を、「全ページ」に
タイトルは、「ニュース」と指定


④モジュールpico 独立ページ作成

メインメニュー>pico>「コンテンツ作成」
管理画面>ALTSYS>ブロック管理>pico
「コンテンツ一覧」というブロックを、表示再度「左」に、表示対象を、「全ページ」に
タイトルは、「ご案内」と指定

⑤モジュール フォーラム 投稿ツールフォーラム構築

その4 サイト作りの上でのエラー

①新規ユーザを登録。管理者以外でユーザを登録する。
ユーザー名、パスワードを入力すると、登録メールアドレスへ、登録確認メールが届く。
その際、XOOPSよりメールを送付するのだが、エラーが発生。

下記スレッドより、「xoopsmailerlocal.php」を修正
http://www.xugj.org/modules/d3forum/index.php?post_id=3277

197行

  • if ($this->need_encode) {

  1. if ($this->needs_encode) {

208行

  • if ($this->mail_overload) {

  1. if ($this->needs_encode) {


上記2点修正で、エラー表示消える



②ブログ投稿で、エラー表示

phpデバッグ

Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 57439 bytes) in /Applications/xampp/xamppfiles/htdocs/xampp/cube-test/class/smarty/Smarty_Compiler.class.php on line 373

php.ini で、memory_limitを8M→126Mへ


info.phpで確認すると、memory_limitが変更され、エラー起きなくなる。


③ブログの画像ファイル追加のウィンドウで文字化け

ウィンドウのタイトルは、
http://localhost/xampp/cube-test/modules/weblogD3/weblog-imagemanager_post.php?cid=3&caller=imagemanager

info.php で文字情報を確認すると、特に指定していない。

イメージマネージャのウィンドウで部分的に文字化けしており、
safariの表示→テキストエンコーディング→日本語(EUC)を選択
で、文字化けが治る。
とりあえず、safariの設定で、デフォルトを、日本語(EUC)にしておく。

また、MySql5.0はデフォルトでutf8を返すので、EUC-JPを使うXOOPSは文字化けを起こしてしまうらしい。
mysqldatabase.phpを確認
\html\class\database\mysqldatabase.php

96行め
mysql_query("SET NAMES 'ujis'",$this->conn);

確認すると、既に対応していた。


下は、文字コード設定用に、「.htaccess」を設定する方法があり、途中までやったので、余談として記載。

.htaccess ファイルで文字コードを設定する方法がある。以前、このファイルを作るために、ルートユーザ権限を作った。頭に「.」のつくファイルはルートでしか作れないからだ。苦労して作成した割に変化がわからなかった。それは、Apacheの設定ファイル「httpd.conf」の内容を、.htaccessが使用できるように設定していなかったかららしい。(今回PHP入門本で確認)

とりあえず、頭に「.」が付くファイル名は通常権限では扱えないため、「httpd-default.conf」
/Applications/xampp/etc/extra/httpd-default.conf

45行目
AccessFileName mac.htaccess

Order allow,deny
Deny from all

httpd-default.conf」の設定ファイルを有効にするため、「httpd.conf」のコメントアウト#を外す
/Applications/xampp/etc/httpd.conf

490行め
# Various default settings
#Include /Applications/xampp/etc/extra/httpd-default.conf

# Various default settings
Include /Applications/xampp/etc/extra/httpd-default.conf

以上で、「.htaccess」改め「mac.htacess」の準備ができた。


次は、「httpd.conf」で、「.htaccess」が使えるように設定が必要だが、ここはまだやってない
/Applications/xampp/etc/httpd.conf

207行以下

227行 を書き換え
AllowOverride AuthConfig
   ↓
  AllowOverride All


ただ、今回、ふと我に返り、safari文字コード指定とするだけで終わった。


文字コードは、EUCで。

その3 イメージマネージャトラブル回避&モジュールインストール

XOOPSインストール終わり、イメージマネージャで、画像アップを試すも、エラー表示

 

前回試した「apachectl」の「ULIMIT_MAX_FILES」の書き換えでエラー回避できず。

いろいろ検索してみると、php.iniの、「upload_tmp_dir 」を指定してやることが重要だと判明。
(今回、ローカル、xamppの中に、uploads_tempの名前でフォルダ作成)

php.ini
483行目 upload_tmp_dir ="/Applications/xampp/uploads_temp"

再起動で、無事画像アップ完了。


②モジュールのインストール

D3用、「xoops_trust_path」フォルダを、インストールフォルダ以外に作成。
(今回、ローカル、/htdocs/xamppの中に、作成)

インストールフォルダの、「mainfile.php」をエディタで開く
39行
define('XOOPS_TRUST_PATH', '/Applications/xampp/xamppfiles/htdocs/xampp/xoops_trust_path');


各モジュールをDLし、解凍すると、「html」「xoops_trust_path」のフォルダに各モジュールデータが入っているので
「html」は、インストールフォルダの該当フォルダ「modules」等、「xoops_trust_path」の中身は、「xoops_trust_path」にいれておく。

ローカルXOOPSにログインして、管理メニュー「互換モジュール」→「モジュールのインストール」よりインストールする。

今回インストールしたモジュール
altsys-0.5、d3forum-0.8、pico-1.2、weblogD3_1.5.3.4

その1 準備 ーXAMPP MacOSX インストール・設定

①XAMPP MacOSX tar0.72 をダウンロード
Universal Binary 

 *safari 「環境設定」→「ダウンロード後、安全なファイルを開く」のチェックを外す

②XAMPP-MacOSX-0.72 tar.gz の解凍は、StuffIt Expander.appを使わない
 ターミナルで、「gunzip XAMPP-MacOSX-0.72.tar.gz」
 tarに解凍される。
 「tar xf XAMPP-MacOSX-0.72.tar」

  解凍後、「Applications/xampp」フォルダができる。
  「xampp」フォルダを、「Applications」フォルダにいれる。


③コントロールパネル  /Applications/xampp/XAMPP Control Panel.app をダブルクリック 
  All Component → start ボタンクリック
  以下表示される。

  Starting XAMPP for MacOS X 0.7.1...
  XAMPP: Starting Apache with SSL (and PHP5)...
  XAMPP: Starting MySQL...
  XAMPP: Starting ProFTPD...
  XAMPP for MacOS X started.

  
④ URL「http://localhost」に接続  xampp画面表示される

⑤「Status」→ 緑色 「Activated」を確認

⑥「security」 → 赤色 「Unsecure」
 デフォルトだと、セキュリティが脆弱なため、ターミナルからコマンド

  「sudo /Applications/xampp/xamppfiles/mampp security」

「security」 → 緑色 「Secure」を確認

⑦URL「http://localhost」に接続すると、ユーザー パスワード入力画面が表示され、
  設定した、ユーザー名、パスワードを入力 → xampp画面表示される
  phpMyAdmin への接続できない。

 「config.inc.php のホスト、ユーザ名、パスワードが MySQL サーバの管理者から与えられた情報と一致するか確認してください」
  MySQLのメッセージ:
  #1045 - Access denied for user 'root'@'localhost' (using password: NO)
 

 phpMyAdminへ接続できないので、「config.inc.php」の設定を確認。

 *パーミッション変更(UNIXではよく使っていた。ファイルやディレクトリーなどの読み書きの権限を設定している。)
  ターミナルで、
「chmod 660 /Applications/xampp/xamppfiles/phpmyadmin/config.inc.php」と入力。読み書き権限変更。

*「/Applications/xampp/xamppfiles/phpmyadmin/config.inc.php」 の中の、設定を、セキュリティで設定したパスワードなどにちゃんと書き換える。

18行目 $cfg['blowfish_secret'] = '@@@@@@'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

33行目 $cfg['Servers'][$i]['user'] = 'root';

34行目 $cfg['Servers'][$i]['password'] = '@@@@@@';


Mac 再起動。phpMyAdminに再接続するも、状況変わらないが、これでいいはずなので、何回か再起動する。
phpMyAdmin に「別ウィンドウで開く」というリンクがあるので、そこをクリックすると、phpMyAdmin画面が開く
その後、Xampp→ phpMyAdmin で、無事に、エラー無く画面が開いた。

その2 準備 ーDB作成 & XOOPSインストール

phpMyAdmin 新規データベース 作成

MySQL の接続照合順序 eucjpms_japanese_ci 

新規データベースを作成する

「cube_TestDB」照合順序→eucjpms_japanese_ci で作成ボタン

②DBのユーザ作成

「特権」→「新しいユーザを追加する」

ユーザ名:
ホスト(ローカル):localhost
パスワード:

「グローバル特権 」 データのみ 実行ボタン

「データベースに固有の特権」 すべてチェックする 実行ボタン


③「Package_Legacy_2_1_3」をダウンロード
解凍すると、「docs」「extras」「html」のフォルダが表示される。
「/Applications/xampp/xamppfiles/htdocs/xampp 」配下に
 適当な名前でフォルダを作成。そのフォルダの中に、「html」フォルダの中身をコピー。

④「uploads/」、「cache/」、「templates_c/」 はchmod 777
 「mainfile.php」は chmod 666 でパーミッションを変更しておく。

⑤「http://localhost/xampp/****」でアクセスすると、XOOPSインストール画面が表示される。
   ****は「html」の中身をコピーしたフォルダ名

⑥次へで、すすみ、途中、「データベースユーザ名、データベースユーザパスワード、データベース名」を入力
 途中、「サイト管理者、メールアドレス、パスワード」を入力

 次へで進むと、インストール完了。

⑦インストール直後、「以下のモジュールが導入されていません」表示されるので、「pm」をインストール。

 インストール完了画面に、エラー表示

言われるがまま、「/install 」フォルダを削除。

⑧「管理者メニュー」をクリックすると、警告メッセージ表示されている。

[xampp/etc/php.ini」を編集。ローカル環境なので、言われるがまま、「register_globals = Off」に変更する

余談
レンタルサーバでは、「.htassess」を自分のフォルダ内に置けばいいとのことだが、Macだと、頭に「.」が付くファイルは
ルートユーザのみ使えるファイルらしく、OSXでルートユーザを使えるようにしたら、ログイン時に、
「その他のユーザ」というのができて、絵図らがとても怖かったです。ルートユーザは扱いが危険なため、
今の自分のMacOSXではルートは使用できないように設定しなおしました。


mainfile.php のアクセス権 444に ターミナルで、chmod 444 実行

無事、エラー・警告が出なくなり、XOOPS管理画面にログインできた。