Tag: haik

HAIKのインストーラー

Ubuntu14.04にunzipをインストールした状況で動くかな…。環境を選びます。

public_html 以下に my-inst.php を アップロードし、chmod 644など、PHPプログラムがブラウザで実行出来る権限である事を確認してからブラウザからURLにアクセスすると10秒程度で次のようになります。my-inst.phpの文字コードはUTF-8にして下さい。

HAIK スタート
 
 
パスワードは変更してください。
 
 
 my-inst.php は削除してください。

public_htmlの直下にインストールすることを想定していますが、インストールするpublic_htmlフォルダのパーミッションを707にしなければならないかもしれません。
書き込みが出来ないと「unzip」がインストールされていない旨表示されます。

場合によっては、unzipがインストールされていない事があります。その場合は、

# apt install unzip

また、PHPのマルチバイトライブラリが入っていないとエラーになりますので、その場合は、mbstringモジュールを

# apt install php-mbstring

などでインストールします。Ubuntu22.04だとPHP8が標準でインストールされます。現時点でHAIKはPHP8に対応していません。WEBサイトを検索すると方法がわかると思いますので、PHP7.4をインストールしてください。その場合、

# apt install php7.4-mbstring

などとなります。
インストールしたらWEBサービスを再起動します。apache2なら、

# systemctl restart apache2.service

などとなります。


動作確認

  • LOLIPOPライトプラン・・・haik01フォルダを作成し、my-inst.phpをアップロードして、WEBよりアクセス。インストール後にトップページの表示確認し、管理者ログインしてトップページのテキストを変更した。(2018-05-14)
  • さくらのレンタルサーバーのビジネスプランで動作確認。終了画面で文字化けしたため、metaタグを追加。(2018-05-22)
  • Ubuntu180.04.4 Server版にapache2,phpをインストールしてからこのスクリプトをテスト。利用する場合は、unzipコマンドをインストールした上で実行して下さい。スクリプトにunzipでエラーの時にエラー表示を追加しました。(2020-02-18)


my-inst.php

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
$zipFname = 'https://github.com/open-qhm/qhm/archive/master.zip';
$saveFname = date("Ymd_His_").'temp.zip';
 
 
file_put_contents($saveFname, fopen($zipFname, 'r'));
 
chmod($saveFname, 0606);
 
if (exec('unzip '.$saveFname,$r)==false) {
        print "ERROR: unzip is not installed.";
        exit;
}
 
exec('chmod -R 707 qhm-master');
 
exec('cp -R ./qhm-master/. .',$r);
 
$dirs = array("attach", "backup", "cache", "cacheqblog",
	"cacheqhm", "counter", "diff","trackback","wiki");
 
foreach($dirs as $f) {
	chmod($f, 0707);
}
 
 
exec('rm -fr qhm-master/',$r);
 
unlink($saveFname);
 
print "<a href='./index.php'>HAIK スタート</a><br>";
print "<br>";
print "<br>";
print "パスワードは変更してください。<br>";
print "<pre>";
print "\n";
print "\n\n my-inst.php は削除してください。";
print "<pre>";
 
function printMsgAry($r) {
	print "<pre>".implode("\n", $r)."</pre>";
}
 
?>
</body>
</html>


ダウンロード

  • ファイル名がmy-inst.txtとなっています。my-inst.phpにリネームして利用してください。文字コードはUTF-8にして下さい。


ダウンロード手動用のインストーラー

  • SSL関係のセキュリティ対策関係で上記のインストーラーが動作しない事が多いようです。
  • 新規インストール用のファイル一式のZIPファイルを手動でダウンロードしてFTPクライアントを使って自分でアップロードする場合には以下の様なスクリプトで設定が可能です。
  • wikiフォルダなどデータフォルダ内のファイルで書き込み権限が足りないと思われ、一部修正しました。(2018-10-16)
  • $zipFnameでは既にダウンロードしたqhm-master.zipを利用する設定です。ネットからダウンロードする場合は、ネット上のURL等を指定してください。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
date_default_timezone_set('Asia/Tokyo');
 
#$zipFname = 'https://github.com/open-qhm/qhm/archive/master.zip';
$zipFname = 'qhm-master.zip';
$saveFname = date("Ymd_His_").'temp.zip';
 
 
file_put_contents($saveFname, fopen($zipFname, 'r'));
 
chmod($saveFname, 0606);
 
exec('unzip '.$saveFname,$r);
//printMsgAry($r);
 
//chmod('qhm-master', 0707);
exec('chmod -R 707 qhm-master');
 
exec('cp -R ./qhm-master/. .',$r);
//printMsgAry($r);
 
$dirs = array("attach", "backup", "cache", "cacheqblog",
	"cacheqhm", "counter", "diff","trackback","wiki");
 
foreach($dirs as $f) {
	chmod($f, 0707);
}
 
$files = array("qhm.ini.php","qhm_access.ini.txt","qhm_users.ini.txt");
 
foreach($files as $f) {
	chmod($f, 0606);
}
 
 
$dirs = array("attach", "backup", "cache", "cacheqblog",
	"cacheqhm", "counter", "diff","trackback","wiki");
foreach($dirs as $f) {
	exec('chmod 706 ./'.$f.'/*');
}
 
 
//print $saveFname;
 
exec('rm -fr qhm-master/',$r);
//printMsgAry($r);
 
unlink($saveFname);
 
print "<a href='./index.php'>HAIK スタート</a><br>";
print "<br>";
print "<br>";
print "パスワードは変更してください。<br>";
print "<pre>";
print "\n";
print "\n\n my-inst.php は削除してください。";
print "<pre>";
 
function printMsgAry($r) {
	print "<pre>".implode("\n", $r)."</pre>";
}
 
?>
</body>
</html>


ダウンロード

  • ファイル名がinst20181016.txtとなっています。my-inst.php等にリネームして利用してください。文字コードはUTF-8にして下さい。
  • public_html以下などに設置(アップロード)し、ブラウザからアクセスします。アップロードしたフォルダのパーミションが757や777でないとフォルダが作成出来ません。775の場合は一度、777にしてからインストールを実行し、終了したら775に戻してください。




パーミッションの変更

  • 2019-02-09
  • 上記でインストールした場合に、FTPでファイルをダウンロードして改変してアップロードしたくてもパーミッションの関係でアップロードする事が出来ません。UbuntuやCentOSでは次のようなスクリプトをPHPのindex.phpがあるフォルダにアップロードして実行すると、書き換えが出来るようになります。
  • adjust_permission.php
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    </head>
    <body>
    <?php
     
    $dirs = array("attach", "backup", "cache", "cacheqblog",
    	"cacheqhm", "counter", "diff","trackback","wiki",
    	"plugin","lib","js","image","skin","swfu");
     
    print "<pre>";
    foreach($dirs as $f) {
    	print "chmod({$f}, 0707);\n";
    	chmod($f, 0707);
    }
     
    print str_repeat("-*",20)."\n";
     
     
    $dirs = array("plugin","lib","js","image","skin","swfu");
     
    foreach($dirs as $f) {
    	print "$f:";
    	$cmd ="chmod -R 707 $f"."/*";
    	exec($cmd,$ret);
    	print "*";
    	$cmd ="chmod -R 606 $f"."/*.php";
    	exec($cmd,$ret);
    	print "*";
    	$cmd ="chmod -R 606 $f"."/*.js";
    	exec($cmd,$ret);
    	print "*";
    	$cmd ="chmod -R 606 $f"."/*.css";
    	exec($cmd,$ret);
    	print "*";
    	$cmd ="chmod -R 606 $f"."/*.html";
    	exec($cmd,$ret);
    	print "*";
    	$cmd ="chmod -R 606 $f"."/*.png";
    	exec($cmd,$ret);
    	print "*";
    	$cmd ="chmod -R 606 $f"."/*.jpg";
    	exec($cmd,$ret);
    	print "*";
    	$cmd ="chmod -R 606 $f"."/*.gif";
    	exec($cmd,$ret);
    	print "*";
    	$cmd ="chmod -R 606 $f"."/*.txt";
    	exec($cmd,$ret);
    	print "*";
    	$cmd ="chmod -R 606 $f"."/*.json";
    	exec($cmd,$ret);
    	print "*";
    	$cmd ="chmod -R 606 $f"."/*.woff";
    	exec($cmd,$ret);
    	print "*";
    	$cmd ="chmod -R 606 $f"."/*.woff2";
    	exec($cmd,$ret);
    	print "*";
    	$cmd ="chmod -R 606 $f"."/*.ttf";
    	exec($cmd,$ret);
    	print "*";
    	$cmd ="chmod -R 606 $f"."/*.svg";
    	exec($cmd,$ret);
    	print "*";
    	$cmd ="chmod -R 606 $f"."/*.eot";
    	exec($cmd,$ret);
    	print "o\n";
    }
     
     
     
    print "</pre>";
     
     
     
     
    ?>
     
    </body>
    </html>


adjust_permission.php などにリネームして使って下さい。

実行すると次のような画面が表示されます。

chmod(attach, 0707);
chmod(backup, 0707);
chmod(cache, 0707);
chmod(cacheqblog, 0707);
chmod(cacheqhm, 0707);
chmod(counter, 0707);
chmod(diff, 0707);
chmod(trackback, 0707);
chmod(wiki, 0707);
chmod(plugin, 0707);
chmod(lib, 0707);
chmod(js, 0707);
chmod(image, 0707);
chmod(skin, 0707);
chmod(swfu, 0707);
-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
plugin:**************o
lib:**************o
js:**************o
image:**************o
skin:**************o
swfu:**************o