Category Archive: Webサーバ

post by yamamoto | | 0 | 2,770 views

f05d 再 root 化

以前 富士通 f05d を root 化して、debianを入れて開発環境として使っていました。 ポータルウェブアプリ開発セット しかし、ソフトウェア更新を「自動で更新を行う」にしたから、ファームウェアが V08R31C から V11R40A に更新されたから、 root 化が消えてしまいました。fonepad を買って root 化したから、しばらくこちらが放置されました。 最近、内蔵のSDカードが頻繁に容量がいっぱいになって、es ファイルエクスプローラーの 「SD カード解析」機能で解析したところ、 /mnt/sdcard/DCIM の下に2つサムネイルの隠しフォルダがあり、なんと容量が合計2〜3GBも使っていました。恐らく QuickPic とFacebook この二つアプリのせいだと思われます。サムネイルのディレクトリを設定するところが見当たらないので、 やはり root 化してなんとかしないとすごくうざいです。 f05d の再 root 化はこちらのサイトを参考しました。しかし、root 化していても 内蔵の SD カードの fat なので、シンボリックリンクが貼れません。 他にもいい方法あるかもしれませんが、当分 mount -o bind /mnt/sdcard/external_sd/DCIM /mnt/sdcard/DCIM で対応しました。 しかし、毎回端末エミュレータから上記のコマンドを実行するのも大変実用ではないので、BusyBox Installer の Scripter をつかって「Set at boot」にして 起動するときに上記のコマンドを自動的に実行するようにしました。外部の SD カードは32GBもあるから、多分容量いっぱいにはならないだろうと思います。 折角 root 化したから、fonepad にいれた Debian Kit も入れました。もちろん sqlite 版の ...

post by yamamoto | | 0 | 989 views

iPad に WordPress + SQLite

iPad で Web 開発環境を作る のは以前の記事に纏めました。 で、さらに WordPress をインストールできるかを調べたところ、SQLite を使えばできるかもしれないと思い、 インストールしてみました。 まず、こちらのサイトから WordPress 3.1.2をダウンロードします。(3.1.2 以降のバージョンは うまく SQLite のテーブルを作れないので^^;;) 続いて、PDO (SQLite) For WordPress 2.7.0 をダウンロードします。 上記2つのファイルを解凍すると、‘wordpress’ と ‘pdo-for-wordpress’ フォルダになります。 ‘pdo-for-wordpress’ フォルダ内の ‘pdo’ フォルダと ‘db.php’ ファイルを ‘wordpress’ フォルダの下の ‘wp-content’ フォルダに入れます。 ‘wp-content’ フォルダの下に ‘database’ フォルダを作ります。 ‘wordpress’ フォルダのしたにある ‘wp-config-sample.php’ ファイルを‘wp-config.php’ にリネームします。 テキストエディタで ‘wp-config.php’ を開いて編集します。

(https://api.wordpress.org/secret-key/1.1/salt/にアクセスすれば、下記のようなランダムのキー等が得られます)

‘wordpress/wp-content/pdo’ フォルダにある‘wp_install.php’ in a text editor and rep を開いて編集します。     $message = __(‘<strong><em>Note that password</em></strong> ...

post by yamamoto | | 0 | 1,204 views

Apache2 rewrite 開発環境を iPad の lighttpd に移行する

MacBook pro の php 開発環境を iPad に移してどこでも開発できるようにしたいという目標でチャレンジしてみました。 開発しているシステムは、MVC(モデル/ビュー/コントローラー)の枠組みを利用したもので、URI を rewrite して、 index.php から URI に対して応答するコントローラーとメソッドを呼び出しますから、Webサーバの rewrite 機能が必須です。 それから、モデルからはデータベースではなく xml ファイルに対して読み取りと書き込みを DOM で行いました。 MacBook pro の Apache のルートではなく /APP に設置する形で開発を進んでいます。 /APP/.htaccess の中身は下記の通りです。 Options +FollowSymLinks RewriteEngine On RewriteBase /APP/ RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule !\.(pdf|ico|gif|jpg|png|css|html|xml)$ index.php 一方、lighttpd では .htaccess は対応していません。iPad で Web 開発環境を作るのはこちらの記事をご参照ください。 まず、rewrite をオンにするために /etc/lighttpd2.conf を編集する必要があります。mod_rewriteの記載がなければ、追加してください。 server.modules = ( "mod_cgi","mod_indexfile","mod_dirlisting", "mod_accesslog","mod_rewrite" ) 続いて、rewrite の変換ルールを追加します。

これで MacBook と同じ動きができます。

post by yamamoto | | 0 | 2,180 views

Web Proxy CGI によるプライベートネットワーク内の Web サーバの公開

【ご注意】この方法を利用する際に、セキュリティをよく考慮した上て、自己責任でやって下さい。 やりたいこと 既に公開されている web サーバが(例:www.myweb.com)あります。 ルータの NAT のポート 80 に設定されていないプライベートネットワーク内の別の web サーバ(例:192.168.4.80)もあります。 これを www2.myweb.com として公開したいのです。 使用した方法(他にも方法あると思いますが) CGIProxy を www.myweb.com に設置し、www.myweb.com から 192.168.4.80 をアクセス方法です。 手順 CGIProxy をダウンロードします。 nph-proxy.cgi を編集します。 許可するサーバの設定(192.168.4.80をリストに追加します) @ALLOWED_SERVERS= ('192.168.4.80') ; 拒否するネットワークを編集します。(ルータ192.168.4.1をリストに追加します) @BANNED_NETWORKS= ('127', '192.168.4.1', '172', '10', '169.254', '244.0.0') ; ルータへのアクセスを拒否しないとルータの設定ページが公開してしまうからです。 これで、URLを http:/www.myweb.com/cgi-bin/nph-proxy.cgi/30/http/192.168.4.80/ で外から 192.168.4.80 をアクセスすることが可能です。 30 のところは適当に数字をいれてください。しないと下記のメッセージの画面が出てきます。 WARNING: Entering non-anonymous area! www.myweb.com のリダイレクトの設定 vi /etc/apache2/sites-enabled/000-default 下記を追加します。     <VirtualHost *:80>     DocumentRoot /var/www/www2/     ServerName www2.myweb.com       # Other directives here     Redirect / http:/www.myweb.com/cgi-bin/nph-proxy.cgi/30/http/192.168.4.80/     </VirtualHost>  /etc/init.d/apache2 restart apache2 を再起動します。 基本認証のページをアクセスすると下記の画面が出てきます。

post by yamamoto | | 0 | 680 views

一行コマンド apache2のプロセスをすべて kill

root@debian:~# ps -A | grep apache2 |awk '{print "kill -9 "$1}' > temp.sh ; sh temp.sh

post by yamamoto | | 0 | 808 views

php gd thumbnail.php サブネイル

thumbnail.php   <?php     $file_path = isset($_GET['file']) ? htmlspecialchars($_GET['file']) : null;     // JPEG画像を読み込む     $im_inp = ImageCreateFromJPEG($file_path);     $ix = ImageSX($im_inp);    // 読み込んだ画像の横サイズを取得     $iy = ImageSY($im_inp);    // 読み込んだ画像の縦サイズを取得     $ox =  isset($_GET['x']) ? htmlspecialchars($_GET['x']) : 150;           // サイズ変更後の横サイズ     $oy = ($ox * $iy) / $ix;   // サイズ変更後の縦サイズ          // サイズ変更後の画像データを生成     $im_out = ImageCreateTrueColor($ox, $oy);     ImageCopyResized($im_out, $im_inp, 0, 0, 0, ...

post by yamamoto | | 0 | 1,258 views

sshfs の実験

ローカルの Debian squeeze から 他の遠隔の ssh サーバにあるフォルダをローカルのディレクトリのように使うのは、sshfs があります。 で、WordPress の実体を ssh サーバに置く場合、ちゃんと動けるかを実験してみました。 1.ssh サーバにパスフレーズのなし、公開鍵を入れておく。(/home/youraccount/.ssh/authorized_keys) 2.ローカルの Debian の設定 sshfs のインストール sudo apt-get install sshfs autossh のインストール sudo apt-get install sshfs sshfs のマント先の作成 mkdir /var/www/yourWordpress www-data のホームディレクトリーの作成 sudo mkdir /home/www-data sudo chown www-data:www-data /home/www-data #www-dataホームディレクトリ、ログインシェルを/bin/bashに変更 sudo vi /etc/passwd sudo mkdir /home/www-data/.ssh sudo chmod 700 /home/www-data/.ssh このディレクトリの下に秘密鍵を置く www-data でマントできるようにする sudo usermod -G fuse www-data sudo chmod g+rwx /dev/fuse Debian を再起動する 3.sshfs でマントしてみる sshfs -o IdentityFile=/home/www-data/.ssh/privatekey -o ssh_command=autossh -o nonempty sshuser@your.ssh.server:/home/sshuser/public_html/wordpress /var/www/yourWordpress 出てきたメッセージに対して、「yes」を答える wordpress ...

post by yamamoto | | 0 | 958 views

自宅サーバでVPSサービス?!

アメリカのポストンで不動産の紹介をやっている義理の弟がサイト作りたいので相談しに来ました。 このブログのサーバを貸し出すのもいいのですが、やはり仮想サーバを作って貸し出したほうがいいかなと思って さくらインターネットのVPS 1Gのようなスペックで作りました。 Macmini 2011 に Debian のみを稼働させるのもできますが、家は lion server も使いたいので、 VMwareの上で Debian の Xen 仮想サーバをVPSとして作ったのです。ちょっと複雑ですが。。。 LVS+Heartbeat+ldirectordで構築した仮想ロードバランサー2台、Web サーバ1台、database サーバ1台、VPS1台、計5台を稼働させても 8GBのメモリは3.2GBの余裕があります。CPU使用率は10%以下に収まります。 リモートアクセスで Lion server を使ったほうがCPUとメモリのリソースを喰いますね。^^;  

post by yamamoto | | 0 | 1,220 views

iPad で Web 開発環境を作る

もちろん、いう必要がありませんが、cydia が使えるのが前提です。必要なものは下記の通りです。 lighttpd Lighttpd SBSettings Toggle lighttpd の設定ファイルを作ってくれる PHP Perl OpenSSH OpenSSL textastic Textastic Code Editor AppLinks /var/www のシンボルリンクを簡単に Textastic の Documents の下に作るため ln -s /var/www /var/mobile/AppLinks/Textastic.app/Documents/www Safari htmlファイル、phpやperl のプログラムは、Textastic Code Editor で編集し、実行は Safari 等のブラウザで確認する。

post by yamamoto | | 0 | 670 views

旧 www.9ten.net 移行

ムームードメインで設定した下記のサイトを自宅サーバに移行しました。 https://sites.google.com/a/9ten.net/www/ いまこの2つのドメインが同じサーバになっています。 home.9ten.net www.9ten.net 設定方法です。 google apps のドメイン管理からサイトを開きます。 ウェブアドレスのマッピングをクリックします。 www.9ten.net をチェックして、「マッピングを削除」をクリックすれば完了です。 ムームードメインのDNS管理画面から、下記を変更すれば、完了です。 www CNAME ghs.google.com www A 180.131.110.219