個人的なweb勉強メモでごめんなさい

HTMLもろくに書けないのに、無謀にもいろいろしてみたいと思ってまして、ノート代わりに書く個人的メモですんません。

2009年4月14日火曜日

openssl設定にまつわるetc

大混乱中

Opensslを設定しようとした。
したこと。

Opensslの存在確認。
→あった

なんか鍵とか作る
→作った

sslのconfファイル設定
→してみた

httpd.conf設定
→してみた


でもうまくいかない。


Opensslをソースからインストール
→できた

鍵の作成
→できない

はじめから入ってたOpensslをアンインストール
→できない

・・・むぅ。

しきり直して調べてみる。

まずソースからOpensslをインストールしようとしたが、日本語サイトからとってきたら、めちゃくちゃ古いバージョンでびびった。

んで、ソースコードでインストールしたやつは削除

○/usr/local/ssl以下を削除


んで、apacheを再コンパイル
→できた

/usr/local/httpd/conf/extra/httpd_ssl.conf

こいつの<VirtualHost _default_なんちゃら:443>
とかいうののdefaultの部分を今回sslを使いたいIPアドレスに変更

そのほかは、大体の予感に従って設定。
鍵の場所とかはきっちりパスを通す。

/usr/local/httpd/conf/httpd.conf

こいつのバーチャルホストの設定部分でIPアドレスを書いてある部分に:80とポート番号を入れつつ、
最後の報のInclude SSLなんちゃらみたいなところのコメントをはずす。

apache再起動。
→エラー


ん?なんで?

apacheのエラーログを見る
→なんかsslのerror_logが見つからないとか書いてる。

作る

もう一回apache再起動
→OK

httpsつけてIPアドレスでアクセスしてみる。
→表示された!!!


ふぅ。

これは覚えておけないかも。


というか昨日からやってるので、もぉ記憶が薄れている・・・。

2008年10月30日木曜日

Modxのチャンクもどき

昨日、急に先輩から課題が出された。

index.php
の中に
[[*hogehoge*]]
と書かれていたら
hogehoge.php
の内容に置き換えて表示されるようにphpを書きなさい的な感じ。

ぇ~。丸一日悩んだ結果、無理でした・・・。

んでヒントもらう。

バッファリングを開始してhtmlを書き始める。
んでその中に[[*hogehoge*]]も書いておく。
バッファリングした文字列を変数に格納。
hogehoge.phpを読み込んで変数に入れる。
[[*hogehoge*]]をhogehoge.phpの内容に変換。
バッファをフラッシュ。

ほぼこんな感じのメールが帰ってきた。

さて。
したこと。

index.php

<?php
ob_start();
?>
<html>
省略
[[*hogehoge*]]
省略
</html>
<php
$hoge = ob_get_contents();
ob_end_clean();
include("hogehoge.php");
$hogeho = str_replace("[[*hogehoge*]], $hogehoge, $hoge);
echo $hogeho;
?>


んで、hogehoge.php

<?php
$hogehoge = "<p>なんたらかんたら</p>";
?>


こんな感じで無事終了。

はぁ。。提出期限に間に合ってよかった。。。

2008年10月27日月曜日

MODxのテンプレート変数

MODxを使うにあたって、資料とかを読んでも、どうもテンプレート変数というものが
理解できていなかったんだけど、今日先輩の説明を聞いてやっと半分くらい理解した。

要は

リソースの管理の「テンプレート変数」で、変数を作っておいて、
それをテンプレートの中に[*templete*]と書いておけば
それぞれのページの編集画面で、その場所に入れるものを書けたり
選べたりする、と。


例えば、それぞれのフォルダごとに異なるスタイルシートを反映させたい時は

doc_cssとか名前をつけてテンプレート変数を作っておく。

テンプレートの中で
<link href="[*doc_css*]" ~>
と書いておけば、ページの編集画面で、どのcssをそこに入れるか入力したり
プルダウンで選んだりできるわけですよ。

やべ、すんげぇ便利そ。

でもしらなかったから、今まですんげ~無駄なことしてた・・・。

んで、本読むとウイジェットとか@バインディングとか書いてあって
混乱中。

むぅ。

2008年10月8日水曜日

あ、

ネタが前の投稿とかぶってた・・。

混乱っぷりがよくわかるのぅ。

まぁ、archive.phpだけじゃなく、他のindex.phpやらsingle.phpでも使えるということで。

wordpressでカテゴリ毎に表示を変えたい場合

管理画面の

デザイン>テーマエディタ

ここで変えたいデザインのファイルのデザインが影響するタグに

class="<?php $cat = get_the_category(); $cat = $cat[0];{echo $cat->category_nicename;} ?>"

これを入れる。

例えば、カテゴリのアーカイブでそれぞれデザイン変えたかったら、
archive.php
の中の最初の方で

<div id="ほにゃらら" class="category_nicename;} ?>">

ってやればいい。

あとはCSSを工夫する。

文中の<>は半角に変えるのだ。

2008年10月3日金曜日

カテゴリごとの表示を分ける方法

これは簡単みたい。

http://akaandmore.com/blog/archives/12

ここを参考にしてみたら、classを分けることができました。
あとはcssいじくりまわすだけだ~。

がんばるぞ~。

pieXとDNS設定

wordpressIntegratorを入れてしたかったこと。

1,トップページにWordPressのタイトル一覧を作る
2,新着情報と日記のカテゴリで記事を投稿し、それぞれを別のページのごとく振る舞わせる。

1,に関して。
WordPressIntegratorのスニペットコールで表示させようかと思ったら、
タイトルだけ!とか、続きを読む、とか件数の設定とかができない模様。

さてどうしよう。。。と悩んだ結果、RSSのフィードを読み込んで
表示させればいいじゃん、と思いつく。(思いついただけ。仕組みはまだよくわからない)

早速、RSSをうまく表示してくれるスニペットを探すと、
pieXというよさげなもの発見!

http://www.petit-power.com/permalink/piex-v06.html
これのv.0.7を使用することに。

やり方は↑のページと
http://www.liolion.info/modx/resource/piex.html

こちらという、バリバリ公式フォーラムなんかでもご活躍のお二人のページを参考にする。
変数やらパラメータやら、相変わらず慣れない言葉にギクシャクしながらも
なんとか設置。

試してみると~。

feedが見つからないってさ・・・。

んで、エラーメッセージに書いてあるRSSフィードのURLをコピペして
ブラウザで見てみると・・・ん?普通に表示されるじゃん。

なぜだ?

試しに違うサイトのRSSを試してみる。

うぉ~!表示されるじゃん!すごいじゃん!

んで、も一回自分のでtry!

feedが見つからないってさ。。。

何故じゃ。どうしてじゃ。

散々悩みに悩んだ結果、ある一つの仮説が浮かぶ。

今、windowsは先輩の用意したDNSを読みに行っている。
しかし!果たしてfedoraさんはどのDNSを読みに行っているのだ?
もしかして、プロバイダのDNSを読みに行っているのではないのか?

これが仮説。

んで、fedoraさんにターミナルからアクセス。

いろいろ調べた結果、
/etc/resolv.conf

ここにDNSの設定が書かれているらしい。

よしよし見てみよう。

・・・やっぱそうか!
はっきりくっきりとプロバイダのDNSのIPが書かれていた。

これはいかん。すぐ書き直す。

そして再try!


表示された!!やった~!


というのが昨日までの出来事。


今日、続きをしようとしたら、

・・・。またfeedが見つからないってさ。

念のためfedoraのDNS設定を確認。

ぁ、元に戻ってる。。。

何故じゃ。どうしてじゃ。

早速修正。念のためrebootしてみる。

やっぱり元に戻ってる。。。


さて、調査隊はかくしてGoogle先生にいろんな質問をぶつけることになるわけです。

結局見つけたのは

cd /etc/sysconfig/network-scripts/ifcfg-eth0

ここにDNSが書かれていて、しかもこれはrc.localで起動時に読み込まれるように自分で設定したファイルだったからでした。。。

んでもって、ここのDNSも先輩DNSに変更。そしてreboot。

ぉ~!ちゃんと反映されている!!

ちゅうわけで、1,はクリア。


次にカテゴリ毎のページ。
これは非常に簡単でした。
カテゴリクリックすりゃ、そのカテゴリだけのページが出てくる。

んで、気に食わない表示は、
wp-content/themes/default

この中のarchive.phpを見て、よく変数の意味を考えて
ちょこちょこ変えればいいだけ。

良かった良かった。

んだけど、別のページ扱いってことは、それぞれにテンプレートを
あてがわないといけないってことよね?

・・・どうすりゃいいの?

というわけで、これから調べながら、なんとかしてみます。

2008年10月1日水曜日

確認

どうせ個人メモ。いろいろ確認しておこう。


現状
web制作見習い
・xhtml+cssでなんとか自分の思い描いた形のページは作れる。
・ネットに蔓延しているSEOの知識はなんとか仕入れている。
・illustratorやphotoshopでwebデザインや画像修整はなんとかしているがセンスがない。
・flashは紙芝居的な初歩的な何かは作れる。Actionscriptはまだいじれない。

これから
目指すものは、ちゃんと自分でも制作ができるwebディレクター(ジェネラリスト的な何か)
・まずfedoraを構築してlinuxやらwebサーバやら何やら組めるようになり、トラブルにも対応できるようになる
・PHP+MySqlで考えたことは組めるようになる
・PHP+postgreSqlで考えたことは組めるようになる
・FlashはActionScriptも含めできるようになる
・Javascriptを使えるようになる。
・Ajaxに結び付ける
・CMSとか使いこなせるようになる。
・Ruby on railsでいろいろできるようになる。
その他
・英語聞ける、話せるようになる
・リードギター弾けるようになる
・MacかPCでDTM
・ラッピング検定

webは仕事も絡んでいるのでとびとびだけど
ここにメモして、後から思い出せるようにするのが
このblogの目的。

役立たずのジャンクなblogですんません。。。

WordpressIntegrator

今回もはまりまくり・・・。

まずwordpress日本語版の2.6.2をインストール。
これは驚くほど簡単。

今度個人的なサイト構築にも使ってみようかな・・・。

そんなことを考えながら、
http://nanabit.net/modx/wordpress-integrator.html

ここでWordpressIntegrator1.2をDLして、
指示に従ってプラグインだの、スニペットだのを作っていく。

さぁアクセス!


ふむ。MODx Parse Errorなんぞ出て怒られる。
どうやら、サーバにアクセスしたけどタイムアウトだよ。ば~か!

って言われてる。

馬鹿って言う方が馬鹿なんじゃぃ!
と、誰もバカって言ってないのに泣き怒りしながら原因追究。

どうやらWordpress側のファイルに問題がある模様。

wp-includesの中のcron.phpに

$argyle = @fsockopen('ssl://' . $parts['host'], $port, $errno, $errstr, 0.01);
だの
$argyle = @ fsockopen( $parts['host'], $port, $errno, $errstr, 0.01 );
だの書いてあって、これの最後に記述してあるタイムアウトへの時間が短すぎる模様。

0.01 → 0.1に修正

するとまた違うMODx Parse Error。。。

バカって言うh(以下略)

対処の仕方は
http://tkfm.net/log/eid334.html

ここに書いてあった。
この情報はとても自分の状況にぴったりフィット!

結局、なんとか表示されるところまでこぎつけました。

ふぅ。。。

さて、テンプレート作って装飾すっかなぁ。

2008年9月30日火曜日

modxの移行とかPHPの再コンパイルとか

先日作ったバーチャルホストの一つはお客様が使っているmodxの環境を再現して
それにいろいろつけたり外したり、いじったりいじられたりをしていかないといかんので、
まずは、それをすることにする。

で、何を思ったのか、ふとpostgresqlを入れたくなってインストール。

でもそういやPHPインストールするときにpostgresqlのオプション付けてない・・・。

というわけでPHPを再度./configureすることになる。

make disclean
して

んで
./configure
オプションは、上書きなのかどうかよくわからんかったので、必要なものは改めて全部書いてスタート。

んで順調に
make
make install
と相成りましたとさ。

さて、modxさね。


まずは、客先のmodxのmanager画面でキャッシュをクリア。

すかさず、sshで全ファイルをローカルにダウンロード。
さらにwebminを使ってsqlのdumpファイルをゲット。

そいでもってfedoraに・・・fedoraに・・・。

ん?どうやってアップするんだ?

というわけでOpenSSLをインストール。
これはそんなに難しくなかったので割愛。
たぶん、もう一回やる時もネット見ながらやればなんとかなりそうな感じ。

んで。

/usr/local/mysql/bin/mysql -u xxx -p

これでmysqlの操作に入って
CREATE DATABASE xxx
で、xxxというデータベース作る。

ぁ、もちろん、mysqlインストールした後に、
ユーザーとパスワードは作っているのですよ。

今回は、お客様のmodxとユーザー名もパスワードも同じにしたので
modxの設定ファイルはいじる必要なし。

ssh使ってそのままアップ。

んで、Mysqlにdumpファイルをインポートせねば。

せねば・・・。


せねば・・・・・・・・・。


ん?

どうやって?


というわけで、PHPmyAdminなるものをfedoraへインストール。

これもまぁ、ネットとか見ながらやれば、また入れれるでしょう。
特にトラブルなし。

そして、インポートへ。



・・・できない。

どうしても固まってしまう。

なぜだ。。。

調べても出てこない。
なぜだgoogle先生よ!

サイズも2MB以内だし。

よくわからないので、ここはコマンドでインポートすることに。

まずは、sshでわかりやすい場所にdumpファイルをクライアントからアップ。

んで、

/usr/local/mysql/bin/mysql -u xxx -p yyy < ファイルの場所

って感じでなんとかインポート。

そして、記念すべき初linuxで初modxにアクセス!!


ログイン画面出た!

ログイン!

でも、文字化けしまくり・・・。

文字化けに関しては、なんかいろいろややこしいみたいで。
いろんな情報みながらやってみたけど、どうにもならず。

こればっかりは、手作業で直すしかないのだろうか。

とりあえず保留。


んで、とりあえず1個ファイル作ってみる。


cannot openなんたらかんたら・・・。

反映はするけど、キャッシュファイルがどうにも開けないらしい。

というわけでパーミッションやらファイル所有者やら、いろいろ見てみたものの
できない。

おかしい。

ふと思いついてapacheの設定ファイルを見る。

ん?

Allowoverride None

これって.htaccessを無効にしてるんじゃ?


試しに
AllowOverride FileInfo Options
にしてみる。

うまくいった!!

そして現在に至るのだ。

次はwordpressとmodxの連携をしなければ。
がんばってみよ~。


ふぅ・・・。