量子コンピューターとはなんぞや?と疑問を持たれる人もお客に聞かれて急いで調べるという方もいらっしゃるでしょう。たまたま私は宇宙論が好きで一般相対性理論や特殊相対性理論とカジって来ていましたが宇宙という広大な世界を理解するために必要となった量子力学にも興味を持ち彼此10年以上独学で学んできました。そこに最近になって話題となってきた量子コンピューター。量子力学を学んでいたお陰で以外とすんなり理論的に理解することができました。

量子コンピューターとは何か。

従来のコンピューター(現在市販されているコンピュータ)の(たぶん)100%は同時計算はできません。タスクを同時に処理している様に見せかけてはいますが実際は10のタスクを投げた場合、10のタスクをA,B,C,D,E,F,G,H,IJとしてそれぞれを例えば10当分します。
A1〜A10、B1〜B10・・・、という様に100のタスクになり、A1の次にB1、C1、D1というぐあいに処理しています。結果実際は並列処理は行われていません。これが従来のコンピュータという訳です。

では量子コンピュータではどうか、並列処理が可能なのです。ここに登場するのが量子です。といってもピンと来ませんよね?
原子はご存知と思います、その原子は原子核とその周囲を回る電子などから構成されています。(もっと細かく書きたいところですが長くなるので省略)この電子が現実的に私たちが理解できる様な振る舞いをしません。さ〜ここから訳の分からない量子の世界に入ります。

コペンハーゲン解釈された電子の振る舞い(2重スリット実験の結果の解釈)
観測していないとき、コペンハーゲン解釈では実際に同時に複数箇所に電子が存在している。
観測していない状態の時は雲の様に原子核の周囲を覆っているが、観測した瞬間に一つの粒子となる。
観測していないとき粒子は波であり、観測した時点で一つの点になる。
なんのこっちゃ?とお思いでしょう、ここには書ききれないのでキーワードをググってみてください。
シュレディンガーの猫などもこのパラドックスを野次った表現として有名で面白いのでググってみてくださいね。

電子がいつどこに存在するかの確率(シュレディンガー方程式:波動関数)を使い量子力学上の電子の「重ね合わせ」状態を利用している。
素子2つで22 素子3つで23 と増え素子32個で40億の同時計算が可能になります。
従来のコンピュータではbitが最小単位。
量子コンピューターではquantumbit(キュービット)が最小単位として用いられます。

要は、従来のコンピュータではいくら台数を増やしても足し算にしかならない同時処理計算が、量子コンピュータでは乗算で処理能力が増えていくという訳で、例えて言うなら、現代のスパーコンピューターでも数百年、数千年かかる計算がたったの数分や数時間でできてしまう。これが量子コンピュータです。

そこで問題に浮上するのが現代のセキュリティです。頻繁に「暗号化」という言葉を耳にすると思います。
この暗号化されたデータですが実は解けない訳ではありません。皆さんがネットでカード情報や個人情報を入力して買い物をされる際に大抵のサイトがこの暗号化技術を利用しています。暗号化といっても多様存在しますがすべてアルゴリズムにそって文字が書き換えられている訳ですから素因数分解することで元の入力した文字が浮かび上がります。が、しかしこの素因数分解で解を出すのに現代のスーパーコンピュータを駆使してでも「数千年はかかるから大丈夫?」というのが暗号化です。さて、先ほど簡単にご説明した量子コンピュータ、この数千年かかるはずの素因数分解を数分や数時間で解いてしまうから大変なことが起こります。

現在稼働中の暗号化技術のほぼすべてが量子コンピュータの登場とともに崩壊するのです。一般的なショッピングサイトのセキュリティ、企業の情報セキュリティ、VPN、各国のインターネットに接続された国家機密、新たに施行されるマイナンバー制度のセキュリティ。そうすべてと言っても過言ではないほど現在の暗号化は崩壊します。

量子コンピュータの開発と同時に次世代の暗号化も開発されるでしょう、是非次世代暗号化が先に開発されてほしいものですね。

 

この度、弊社サーバー及び再販サーバーのコントロールパネルに使用しているPLESKをアップグレードいたしました。

そのため、既存の管理マニュアルと操作画面が異なりますのでご注意ください。

ご不明な点はお電話またはメールにて受け付けております。

バージョンアップ後のPLESKは現在11.5.30となります。

SSH公開錠設定編 ] [ LAMP環境構築編 ] [ PHP/MySQLアップデート ] [ webminインストール ]
phpMyAdminインストール ] [ vsFTPdインストール ] [ ssh接続ポート変更 ]
[ Aipoインストール代行 ]

VPSサーバ Plesk 環境への yum インストール

PLESKがインストールされたサーバーではyumは(最近は)インストールされていません。
どうやらPLESKがPHPやMySQLを利用している都合上 #yum update を行うと壊れるらしい。

#yum update を絶対に行わない!ことを前提として自己責任でyumをインストールしまょう。

yum はRPMパッケージをダウンロードしてインストールします。
またyumだけではなくphython関連のモジュールもインストールする必要があります。

■1.パッケージを探す
インストールするパッケージはCentOSなどのバージョンにより異なります。
OSのバージョンは次のコマンドで確認できます。

—————————
# cat /etc/redhat-release
CentOS release 5.3
—————————

このようになればCentOSのバージョン5.3が入っています。

それでは必要なパッケージを探します。
次のURLを開いてみましょう。

http://ftp.iij.ad.jp/pub/linux/centos/

OSのバージョン番号と同じ階層(番号)を見に行きます。
因みに5系はすべて 5/ に集約されています。

5/os と進みOSのBIT数と同じものへ進みます。
OSのbit数を確認するには次のコマンドで調べます。

—————————
# uname -a
—————————
 

「 x86_64 」とあれば64bit
「 i686 i386 」などとあれば32bitです。

5/ → os/ → x86_64/ → CentOS/ と進むとズラリとファイルが表示されます。
ここから必要なパッケージを探すわけですが次のリストに沿って探してみてください。

「Ctrl」+「F」キーで検索するとよいでしょう。

■1-1.パッケージ名に「m2crypto」が付くもの
当時点では「m2crypto-0.16-9.el5.x86_64.rpm」でした。
http://ftp.iij.ad.jp/pub/linux/centos/5/os/x86_64/CentOS/m2crypto-0.16-9.el5.x86_64.rpm

■1-2.パッケージ名に「python-elementtree」が付くもの
当時点では「python-elementtree-1.2.6-5.x86_64.rpm」でした。
http://ftp.iij.ad.jp/pub/linux/centos/5/os/x86_64/CentOS/python-elementtree-1.2.6-5.x86_64.rpm

■1-3.パッケージ名に「python-sqlite」が付くもの
当時点では「python-sqlite-1.1.7-1.2.1.x86_64.rpm」でした。
http://ftp.iij.ad.jp/pub/linux/centos/5/os/x86_64/CentOS/python-sqlite-1.1.7-1.2.1.x86_64.rpm

■1-4.パッケージ名に「python-urlgrabber」が付くもの
当時点では「python-urlgrabber-3.1.0-6.el5.noarch.rpm」でした。
http://ftp.iij.ad.jp/pub/linux/centos/5/os/x86_64/CentOS/python-urlgrabber-3.1.0-6.el5.noarch.rpm

■1-5.パッケージ名に「yum」がありバージョン番号が続く名のもの
当時点では「yum-3.2.22-40.el5.centos.noarch.rpm」でした。
http://ftp.iij.ad.jp/pub/linux/centos/5/os/x86_64/CentOS/yum-3.2.22-40.el5.centos.noarch.rpm

■2.パッケージダウンロード
以上のリストができたらサーバーへwgetします。

——————————–
wget http://ftp.iij.ad.jp/pub/linux/centos/5/os/x86_64/CentOS/m2crypto-0.16-9.el5.x86_64.rpm
wget http://ftp.iij.ad.jp/pub/linux/centos/5/os/x86_64/CentOS/python-elementtree-1.2.6-5.x86_64.rpm
wget http://ftp.iij.ad.jp/pub/linux/centos/5/os/x86_64/CentOS/python-sqlite-1.1.7-1.2.1.x86_64.rpm
wget http://ftp.iij.ad.jp/pub/linux/centos/5/os/x86_64/CentOS/python-urlgrabber-3.1.0-6.el5.noarch.rpm
wget http://ftp.iij.ad.jp/pub/linux/centos/5/os/x86_64/CentOS/yum-3.2.22-40.el5.centos.noarch.rpm
——————————–

■3.インストール
ダウンロードが完了したら依存パッケージをインストールします。

——————————–
rpm -ivh m2crypto-0.16-9.el5.x86_64.rpm
rpm -ivh python-elementtree-1.2.6-5.x86_64.rpm
rpm -ivh python-sqlite-1.1.7-1.2.1.x86_64.rpm
rpm -ivh python-urlgrabber-3.1.0-6.el5.noarch.rpm
——————————–

ようやくyumをインストールします。
GPGキーから認証のためのキーをインポートしインストールします。

——————————–
rpm –import http://ftp.iij.ad.jp/pub/linux/centos/5/os/x86_64/RPM-GPG-KEY-CentOS-5
rpm -ivh yum-3.2.22-40.el5.centos.noarch.rpm
——————————–

これでyumのインストールが完了です。

【【【 Plesk環境で yum updateは禁止です 】】】

[ Aipoインストール代行 ]

SSH公開錠設定編 ] [ LAMP環境構築編 ] [ PHP/MySQLアップデート ] [ webminインストール ]
phpMyAdminインストール ] [ vsFTPdインストール ] [ ssh接続ポート変更 ]

 

EC-Cube2.12系の納品書にお届日時を追加する方法
 
対象ファイル /data/class/SC_Fpdf.php
お届け先情報の下へ以下を追加します。
 
////////////////////////// 追加 ///////////////////////////
$objShip = new SC_Helper_Purchase_Ex();
$this->arrShip = $objShip->getShippings($this->arrDisp['order_id']);
     
for($i =0; $i < count($this->arrShip); $i++){
if (substr($this->arrShip[$i]["shipping_date"],0,4) > 0) {
$text = "お届け日 ". substr($this->arrShip[$i]["shipping_date"],0,4) . "年" . substr($this->arrShip[$i]["shipping_date"],5,2) . "月" . substr($this->arrShip[$i]["shipping_date"],8,2) . "日";
} else {
$text = "お届け日 指定なし";
}
$this->lfText(125, 125, $text, 10);
if (!empty($this->arrShip[$i]['shipping_time'])) {
$text = "時間帯  " . $this->arrShip[$i]['shipping_time'];
} else {
$text = "時間帯  指定なし";
}
$this->lfText(125, 129, $text, 10);
}
///////////////////////////////////////////////////////////
 
これで、納品書の【注文日】の右側へお届日と時間帯が表示されます。
 

VPSサーバー(PLESK)環境へのAipo(グループウェア)インストール編

Aipoのインストール代行はこちら

smileyAipoとは

株式会社エイムラックにより開発・提供されたオープンソースのグループウェアです。
組織体で情報共有などに利用できる便利ものって感じですね。
弊社でも自社用にと思いインストールしてみました。
結構あっけなくインストール出来たのでこれありです。
サーバーが無い方用にクラウドサービスもあるようですね。
無料利用させていただくのでちょっと宣伝染みてますが。
 

【Aipo機能概略】

・タイムライン
・スケジュール
・共有ToDo
・更新情報タイムカード
・アドレス帳
・掲示板
・ブログ
・ワークフロー
・伝言メモ
・共有フォルダ
・Webメール
・報告書
・ユーザー名簿 などなどオープンソースなのに機能多彩ですね。
 
 
では、早速Aipoをインストールしましょう。
 
用意するものは
・パソコン(Webサーバでもローカルでも動きます)blush
 Linux系 Windowsでもってとこもいいですね。
 
今回はVPS環境でPLESKがインストールされたサーバーへインストールしました。
既にLAMP環境で稼働中の提供サービスがありましたので下調べはしましたが、
結果なにも干渉しないようなのでいきなり本番環境へ~っ!?(ちょっと不安)
 
早速ファイルをダウンロードと行きたいところですがインストールする環境を先に確認。
 

【Server環境】

まずCPUとOSのBit数を調べます。
 
——————-
$ cat /proc/cpuinfo
——————-
とコマンドを打つとずらずらとシステムのCPUの情報が表示されます。
この中の『 flags 』を見てください。
いろいろと書かれている中に『 lm 』とあれば64bitOSが動く(であろう)CPUと思って大丈夫です。
次に、
 
——————-
$ uname -a
——————-
この結果の中に
「 x86_64 」とあれば64bit
「 i686 i386 」などとあれば32bitです。
 
次に必要なライブラリが揃っているか確認します。
# su でスーパーユーザーへなってからインストールしましょう。
 
確認は
——————-
# yum list installed | grep make
# yum list installed | grep gcc
# yum list installed | grep readline-devel
# yum list installed | grep zlib-devel
# yum list installed | grep nmap
——————-
 
これで何も表示されないものはインストールされていません。
足りないものをサクッとインストールしましょう。
 
ライブラリインストール
——————-
# yum install make
# yum install gcc
# yum install readline-devel
# yum install zlib-devel
# yum install nmap
——————-
 
私の場合は、readline-devel、zlib-devel、nmapが足りなかったのでこの3つをインストールしました。
 
yum がインストールされていない方はこちらもご参照ください。
 
次にどこにインストールするかを決めます。
公開ディレクトリにインストールする必要はありません。
(結局は設定した場所を公開するんですが・・・)
Aipoをサーバー所有者が利用するのであれば変な話どこでもいけます。
私はユーザーを作成してそこへAipoをインストールしました。
Apacheと干渉しないディレクトリがよいのかと思います。
 
ということでユーザー作成
 
——————-
# useradd ユーザー名
# passwd ユーザー名
New UNUX password: パスフレーズ
Retype new UNIX password: パスフレーズ
passwd: all authentication tokens updated successfully.
——————-
 
ユーザーを作ったのでユーザーディレクトリへインストールしたいと思います。
さあ、これでサーバー側の準備は整いました。
 

【Aipoダウンロード】

http://www.aipo.com/ へ行ってファイルをダウンロードします。
 
私の場合は「Linux 32bit版」をダウンロードさせてもらいました。
 
ダウンロードしたファイルは私の場合は「aipo7020ja_linux32.tar.gz」
これを先ほど作成したユーザーディレクトリへアップロードします。
アップロードが完了したらいよいよインストール開始です。
 
アップロードした先は
/home/ユーザー名/aipo7020ja_linux32.tar.gz
 

【Aipoファイル展開】

まずは解凍します。
 
——————-
# cd /home/ユーザー名/
# tar -xvzf aipo7020ja_linux32.tar.gz -p
——————-
 
解凍するとさらに中に圧縮ファイルが存在します。
これを更に解凍。
 
——————-
# cd aipo7020ja_linux
# tar -xvzf aipo7020.tar.gz
——————-
 
するとディレクトリ「aipo」が出現します。
このままでは厄介なのでユーザーディレクトリ直下へ移動します。
 
——————-
# mv /home/ユーザー名/aipo7020ja_linux/aipo /home/ユーザー名/
——————-
 
これでインストールに必要なファイルが /home/ユーザー名/ に
来ましたのでインストール用スクリプトを実行しインストールします。
 
おっと! /home/ユーザー名/ ディレクトリを実行可能なパーミッションにしてください。
私は chmod 711 でインストールしました。
 
——————-
# chmod 711 /home/ユーザー名
——————-
 

【Aipoインストール】

改めてインストール用スクリプトを実行しインストールします。
 
——————-
cd /home/ユーザー名/aipo/bin
sh installer.sh
——————-
 
非常に長々とインストールが実行されます。
流れるコマンド画面を見ているとなんか不安になりますが・・・
 
==Aipo7.0.2.0インストール終了==
user:aipo_postgres
pass:********
directory:/home/ユーザー名/aipo/postgres
port:****
Aipo URL: http://***.***.***.***:81/aipo/
#
 
この様にインストールが完了します!
 
おや?ポートが81ですと。
と驚くなかれ既にApacheが80ポートを使っているのでこれで正解。
 
iptables で81ポートを開放してあげましょう。
80ポートへ変更も可能ですが社内で使うので問題な~し。
今回のサーバーには「Parallels Power Panel」が入っているので
こちらでポートを開放しました。
Webminがあればそれで、それもなければ
iptablesコマンドで開放しましょう。
 
——————-
# iptables -A INPUT -p tcp –dport 81 -j ACCEPT
——————-
 

【Aipoの自動起動設定】

サーバーを再起動するとAipoは停止した状態となりますので、
サーバー起動時に一緒にAipoも起動するよう設定します。
 
——————-
cd /etc/rc.d/init.d/
vi aipo
——————-
 
とたたいてviエディッタでファイル「aipo」を作ります。
 
—File aipo の中身——————–
#!/bin/sh
# chkconfig: 2345 99 1
# description: Aipo
# processname: Aipo
start(){
 /home/ユーザー名/aipo/bin/startup.sh
 return 0
}
stop(){
 /home/ユーザー名/aipo/bin/shutdown.sh
 return 0
}
case $1 in
 start)
    start
    ;;
 stop)
    stop
    ;;
esac
—file aipo————————–
 
実行権限を与え、自動起動の登録を行います。
 
——————-
# chmod +x /etc/rc.d/init.d/aipo
——————-
 
実際に実行できるかを確認
 
——————-
# /etc/rc.d/init.d/aipo start
——————-
Starting Aipo Version 7.0.2.0
Aipo URL: http://***.***.***.***:81/aipo/
こんな風にでたら起動OKです。
 
自動起動登録をします。
# chkconfig aipo on
# chkconfig –list aipo ←登録を確認
 
 
因みに次の様なエラーが表示されることがありますが、無視して大丈夫です。
eth0: error fetching interface information: Device not found
 
これでAipoのコマンドからの起動/停止は次の様に行えます。
 
スタート
# /etc/rc.d/init.d/aipo start
ストップ
# /etc/rc.d/init.d/aipo stop
 
 
ここまででAipoのインストールは完了!です。
 

【Aipoへファーストコンタクト】

ではではAipoにログインしてみましょう。
ファーストコンタクトは次の様に行います。
(マニュアルに書かれているとおり!)
 
自分のサーバーのIPアドレスでまずは接続してみましょう。
 
ブラウザから
http://***.***.***.***:81/aipo/ へアクセス
お~!ちゃんとログイン画面が表示されました。(よかった~)
まずは「管理者」でログインします。
 
ユーザー名に「 admin 」、パスワード「 admin 」を入力します。
ボタン「 ログイン 」をクリックします。
インストール完了直後はユーザー管理よりユーザー作成を行ってください。
 
これでVPS環境のPLESK稼働中サーバーへのAipoのインストールが完了しました。
ざっと作業時間は1時間程かな?って
これ書いてる時間が一番長かった気がする・・・
 
他の提供中のサービスもひととおり確認し問題が無いことを確認!一安心です。
 
使い慣れたらカスタマイズとかしていきたいですね。