年商1億円以下のスモールビジネスを営んでいる方向けの、メールマガジンを創刊することにしました。2012年2月創刊予定で、毎週日曜配信予定です。最近、コワーキングスペースで色々な方と会っていますが、ちょっとしたことがそうした自営業の方に役に立つのだなあ、と感じさせられたので、やってみることにした次第。

あまりスモールビジネスと縁のない会社員の方からすると、一人で年間1億、というと何だか大風呂敷のように見えるかも知れませんが、実はそんなことはありません。むしろ、経営も現場もぜんぶひっくるめて一人で切り盛りする規模としては、年商1億円というのはちょうど良い目標です。ですから、ベタですが、「年商1億円までに必要な3つの考え方」というタイトルに決めました。

起業を志している方向けにもう少し補っておきます。利益率は商売によって大きく異なりますので、「続けていけるギリギリのライン」は個々に計算しておく必要があります。集めた資金が尽きる前にそれはまず必達。その先、商売として一人前のラインがだいたい年商1億円。ただし、万が一、年商1億円で「続けていけるギリギリのライン」を達成できないような商売なら、ちょっと根本的に利益構造に問題がありそうです。で、ビジネスモデルを一段進化させて(わかりやすく言えば、店舗ならFC展開とか多店舗展開とかを進めて)、体勢を整えて利益率を上げながら目指す先が年商10億円、という感じです。

そういう成長段階を前提とすると、「年商1億円を目指している」という段階は、コンサルとしてお付き合いするのが難しい規模なんですが、とても大事な時期なのです。お会いしてちょっとした話をするのも良いのですが、この層はまた、プレイヤーの数もものすごく多いわけで、セミナーですらもどかしいのです。それで、メルマガ、というわけです。

メルマガというと、それなりの規模のプロジェクトのサービスの一部としてやったことはあるのですが、メルマガのみをサービスとして提供するのは初めてです。通常の大企業の中でのプロジェクトとは違って、読者の当事者意識のレベルは半端無く高いと確信していますので、現地現物を見ながらディスカッションできない部分は、その当事者意識で補って、日々のお仕事に活かして頂ければ幸いです。

メールマガジン「年商1億円までに必要な3つの考え方」をよろしくお願いいたします。

 

いくつものサイトを作ったとしても、基本的なプラグインのセットは同じだったりすると思うのですよ。一人で複数のWordPressサイトを作ろうとした時、初めの設定に時間がかかる気がします。同じ組み合わせのプラグインをインストールして、設定をぽちぽちいじって、ということをしようとすると、心が折れます。雛形をつくっておいてコピーできればいいんだけどな、とは誰もが思うことでしょう。

また、もう少し凝った話として、ポート8080でテスト用のWordPressサイトを立ち上げて、そこで記事を更新したりテーマをいじったりして、本サイトにがっつりコピーしたい、というニーズもあると思うんですよ。そういう時の基本的なやり方って、そう凝った話ではないので誰かがスクリプトを書いているだろう、と思ってGoogleで探してみたのですが、案外なかったのです。

なんだか初心者の方が質問しているページはあったのですが、コピーサイトを立ち上げようとしているのではないかと疑われていたりしてかわいそうでした。インターネット怖いですね。

というわけで、WordPressサイトのコピーの仕方です。

#! /bin/sh

#WordPressのDBと中身をコピーし、その内容を全コピー
#これを使う前提として、
#同一サーバ上で複数ドメインの運用をしている
#各ドメインのサイトは、決まったディレクトリ以下に、
#ドメイン名そのままのディレクトリ内に収めている
#ということがあります。
#
#自動処理することを想定して作業するなら、名付けは規則的なほうが良いので、
#下記のようなルールを前提としています。
#・データベース名はドメイン名の.と-と:を_に置換した名前
#・ディレクトリ名はドメイン名の:を_に置換した名前

#DBに接続するユーザ名
DBUSER=************
#DBに接続するパスワード
DBPASSWORD=************
#各ドメイン用ページの共通パス
HTDOCSPATH=/var/www/htdocs/domains

if [ $# -eq 3 ] ; then
     #3引数(SRCDOMAIN, DSTDOMAIN, SRCSYMBOL)
     SRCDOMAIN=$1

     DSTDOMAIN=$2

     DSTFOLDER=`echo $DSTDOMAIN | sed "s/:/_/g"`
     SRCFOLDER=`echo $SRCDOMAIN | sed "s/:/_/g"`

     SRCSYMBOL=$3

     DSTSYMBOL=`echo "wp_"$DSTFOLDER | sed "s/\./_/g"`
     DSTSYMBOL=`echo $DSTSYMBOL | sed "s/\-/_/g"`
     DSTSYMBOL=`echo $DSTSYMBOL | tr \'[A-Z]\' \'[a-z]\'`
elif [ $# -eq 2 ] ; then
     #2引数(SRCDOMAIN, DSTDOMAIN)
     SRCDOMAIN=$1

     DSTDOMAIN=$2

     DSTFOLDER=`echo $DSTDOMAIN | sed "s/:/_/g"`
     SRCFOLDER=`echo $SRCDOMAIN | sed "s/:/_/g"`

     SRCSYMBOL=`echo "wp_"$SRCFOLDER | sed "s/\./_/g"`
     SRCSYMBOL=`echo $SRCSYMBOL | sed "s/\-/_/g"`
     SRCSYMBOL=`echo $SRCSYMBOL | tr \'[A-Z]\' \'[a-z]\'`

     DSTSYMBOL=`echo "wp_"$DSTFOLDER | sed "s/\./_/g"`
     DSTSYMBOL=`echo $DSTSYMBOL | sed "s/\-/_/g"`
     DSTSYMBOL=`echo $DSTSYMBOL | tr \'[A-Z]\' \'[a-z]\'`
else
     #それ以外はエラー表示
     echo "wp_db_copy.sh SRCDOMAIN DSTDOMAIN [SRCSYMBOL]"
     exit 1;
fi

#'.'を正規表現と誤認しないようにエスケープする
ESCAPED_SRCDOMAIN=`echo $SRCDOMAIN | sed 's/\./\\\./g'`
ESCAPED_SRCFOLDER=`echo $SRCFOLDER | sed 's/\./\\\./g'`
echo "SRCDOMAIN" $SRCDOMAIN
echo "SRCSYMBOL" $SRCSYMBOL
echo "ESCAPED_SRCDOMAIN" $ESCAPED_SRCDOMAIN
echo "DSTDOMAIN" $DSTDOMAIN
echo "DSTSYMBOL" $DSTSYMBOL
echo

#DBの受け皿の準備
mysql -u $DBUSER -p$DBPASSWORD -e "create database $DSTSYMBOL;"
echo "created database" $DSTSYMBOL

#ダンプ→シンボル置換→ドメイン名置換→リストア
mysqldump -u $DBUSER -p$DBPASSWORD -n $SRCSYMBOL \
| sed -e "s/$SRCFOLDER/$DSTFOLDER/g" \
| sed -e "s/$SRCSYMBOL/$DSTSYMBOL/g" \
| sed -e "s/$ESCAPED_SRCDOMAIN/$DSTDOMAIN/g" \
| mysql -u $DBUSER -p$DBPASSWORD $DSTSYMBOL
echo "Copied database" $SRCSYMBOL "->" $DSTSYMBOL

#ファイルの複製
if [ ! -d $HTDOCSPATH/$DSTFOLDER ] ; then
     mkdir -m 775 $HTDOCSPATH/$DSTFOLDER
     chown -R www:www $HTDOCSPATH/$DSTFOLDER
fi
cp -Rfa $HTDOCSPATH/$SRCFOLDER/* $HTDOCSPATH/$DSTFOLDER
echo "Copied files" $HTDOCSPATH"/"$SRCFOLDER "->" $HTDOCSPATH"/"$DSTFOLDER

sed -i -e "s/$SRCSYMBOL/$DSTSYMBOL/g" $HTDOCSPATH/$DSTFOLDER/wp-config.php
sed -i -e "s/$ESCAPED_SRCDOMAIN/$DSTDOMAIN/g" $HTDOCSPATH/$DSTFOLDER/wp-config.php
sed -i -e "s/$ESCAPED_SRCFOLDER/$DSTFOLDER/g" $HTDOCSPATH/$DSTFOLDER/wp-config.php

echo $SRCDOMAIN "->" $DSTDOMAIN "Completed."

ほとんど異常処理していませんので、「スクリプトを読めば分かる」人だけが参考にして下さい。それから、このやり方はだいぶ乱暴な手口なので、例えば、Google Analyticsのキャンペーンコードなんかがそのままコピーされてしまいますし、DBManagerとかのように、「有効化」時に実行しなくてはならないPHPコードをコピースクリプトから呼んであげなくてはならない場合もありますので、そういう処理は別途書いてみて下さい。

あまりにも情報がない割に、したい人がたくさんいそうな作業ですので、参考までに情報公開してみました。では。

 

*.jsファイルや*.cssファイルをひとまとめにしてくれて、非常に魅力的なプラグイン、Head Cleanerですが、大変悩ましいことにちょっと気むずかしいのです。

ページが表示されなくなったり、書式が乱れたり、という現象が、同時に導入するプラグインによって発生してしまうようです。じっくりプラグインのソースを読み込むようなことはなかなか出来ないので、相性が悪いプラグインやテーマは使わない、という手抜きな運用。

今のところ、プラグインでは「External Links 4.0.6」、外観テーマでは「River of Silver 1.0.4」がアウトでした。どちらも、Head Cleanerと比べたら魅力に乏しかったので、Head Cleanerが生き残っています。ちなみに、Head Cleanerの設定は漢の「全部乗せ」。External Linksとの干渉を突き止める過程でHead Cleanerの設定も色々いじっていたのではありますが、ダメな時はほとんどどう設定をいじったところでダメ、という状態でしたので、もう腹を括りました。Head Cleanerは全て活かすか、全て殺すかにしよう、ということで、今のところ生存中です。

「WP super cache」との相性問題なんかは宜なるかな、という感じですが、上に上げた2つは、なんだかじっくり見てみれば何とかなるかも知れないな、とは思います。気が向いたらソースも追ってみますが、一人でダイブしたくないので、Googleでちょいちょい他の方や作者様の動向を見ながら、様子見中。なお、ウェブサーバがNginxで、キャッシュも利かせていますので、「External Links」については、そのあたりも原因の一端かも知れません。もしそうだとしたら、根が深いので深入りしたくない感じ。ただし、「River of Silver」との干渉は、Apache2上のあんまり手をかけていないサーバでも発生しています。

というわけで、ぐだぐだ話ですが、ちょっとしたプラグインの話でした。

 

久々に、WEB系の作業をやっているついでに、自分用に新たに契約したさくらVPSを色々といじっておりました。保有ドメインもごっそり持ってきて、ちょっとしたものを細々と作れるような環境を整えたので、yoko-mizo.comも復活させることにしました。

その昔、一応telnetでサーバにログインできる割には非常に安価なアプジオの共用サーバを借りていた頃に立ち上げてから、もう何年も放置されていたドメインです。個人用メールアドレスも、アプジオからアプレッツに変わり、その後Google Appsに引っ越しましたが、ずっとこのドメインです。このドメインは元々メールが主目的なので、ウェブサイトはたまに現れては消える感じだったのですが、WordPressが楽しいので、何だか復活させたくなりました。

個人ウェブサイトはしょっちゅう作りかけを放置するたちなので、またそうなるかも知れませんが、細々と更新するつもりなので、是非よろしくお願いします。備忘録的な内容と、我が家の公認?食材の紹介あたりをメインのコンテンツにしようと思います。

では。

© 2012 yoko-mizo.com Suffusion theme by Sayontan Sinha