テーマ テンプレート 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) {
↓
- if ($this->needs_encode) {
208行
- if ($this->mail_overload) {
↓
- if ($this->needs_encode) {
上記2点修正で、エラー表示消える
②ブログ投稿で、エラー表示
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
その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管理画面にログインできた。