Hatena::ブログ(Diary)

日々雑事&備考録 このページをアンテナに追加

御用の向きは、TKXまで
tkx.dark あっと gmail.com

2003 | 09 | 10 | 11 | 12 |
2004 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2005 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2006 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 09 | 10 | 11 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2011 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2012 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2013 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2014 | 01 | 02 | 03 | 04 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2015 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2016 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2017 | 01 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2018 | 01 |

2017-10-07

[]rsky版からopen774版に切替

rsky版の更新が数年前に止まり、5chへの追随等も行われていないので open774版に移行

->参考情報 GitHub - open774/p2-php: ServerSide 2ch viewer


基本は2015年に構築した手順をほぼそのまま踏襲すれば良いが

PHPの推奨Verが7.*になり5.xの動作確認終了も近いようなので、PHPのVerUpも実施

-> 2015-07-03 - 日々雑事&備考録


環境Scientific Linux 6.x + Apache + PHP 7.x


PHP 5.6 -> 7.1 VerUp

  1. 現在の5.6パッケージを確認
    # rpm -qa | grep php
  2. PHP 5.6パッケージを削除
    # yum remove php*
  3. PHP 7.1パッケージの確認
    # yum search php71
  4. PHP 7.1パッケージのインストール (パッケージについては現在の種類をそのまま踏襲)
    # yum install php71u php71u-common php71u-cli php71u-json php71u-mbstring php71u-pdo php71u-process php71u-xml


open774版 rep2インストール

  1. 現在環境を丸ごとmvで退避
    # cd www/html
    # mv p2-php p2-php-rsky
  2. 本体クローン
    # git clone git://github.com/open774/p2-php.git
    # cd p2-php
  3. 依存ライブラリダウンロード
    # curl -O http://getcomposer.org/composer.phar
    # php -d detect_unicode=0 composer.phar install
  4. アクセス権の変更
    # chmod 0777 data/* rep2/ic
  5. 退避していたデータの復旧
    # cp -pr ../p2-php-rsky/data .
  6. チェックコマンド実行
    # php scripts/p2cmd.php check
# php scripts/p2cmd.php check
PHP Version:
  7.1.9: OK
PHP Extensions:
  curl: OK
  dom: OK
  json: OK
  libxml: OK
  mbstring: OK
  pcre: OK
  pdo: OK
  pdo_sqlite: OK
  phar: OK
  session: OK
  spl: OK
  zlib: OK
php.ini directives:
  safe_mode = : OK
  register_globals = : OK
  magic_quotes_gpc = : OK
  mbstring.encoding_translation = 0: OK
  session.auto_start = 0: OK


rep2の設定変更

  1. 基本ブラウザから設定変更可能だが、conf_admin.inc.php だけ設定変更できないので
    # vi conf/conf_admin.ini.php
    display_threads_num を 150 -> all


rep2の更新方法

  1. Updateコマンドを実行
    # cd www/html/p2-php
    # php scripts/p2cmd.php update
  2. 上記は以下コマンドを実行してるのと同等
    # git pull
    # php -d detect_unicode=0 composer.phar self-update
    # php -d detect_unicode=0 composer.phar update

2017-05-04

[]2chproxy.plアップデート

先月後半のread.cgi 6系から7系(7.0.0)へのアップデートに続いて、7.0.1にアップデートされていたので

2017-04-24

[]2chproxy.plアップデート

2chのread.cgiが 6.x.x -> 7.0.0に変更されたので、その対処

2015-11-22

[]また仕様変更されたので

2chの書き込み確認ページのformにaccept-charset="Shift_JIS"が追加されたようで
formの置換ができてないようです。 

というわけで、書き込みができず


修正方法が書いてあったので修正

post.php 746行目を

if (!preg_match('{^\\.\\./test/(sub)?bbs\\.cgi(?:\\?guid=ON)?$}', $form->getAttribute('action'), $matches)) {

から

if (!preg_match('{^\\.\\./test/(sub)?bbs\\.cgi(?:\\?guid=ON)?$?(?: accept-charset="?Shift_JIS"?)?}', $form->getAttribute('action'), $matches)) {

2015-11-18

[]2chの仕様変更

違う potatoだけhtmlの仕様が変わって今までのhtml2dat系では取得できない
たぶん他の鯖も順次そうなる
potato対応した版のプロクシ使うかAPIアクセスが必要 

read.cgiが 06系が新しい鯖っぽいな

2015-11-14

[]開発版を追いかける

ちょっとメモ

-> 2015-08-03 - 日々雑事&備考録


# cd p2-php
# php scripts/p2cmd.php update --alldeps

これは下記コマンドを個別に実行するのと等価です。

# git pull
# php -d detect_unicode=0 composer.phar selfupdate
# php -d detect_unicode=0 composer.phar update

2015-08-03

[]Gitを追いかける

初期に git clone でバイナリーを引っ張ってきたのは良いが

その後のUpdateを追いかける方法をメモ


いや、git全然触った事ないから、さっぱりわからんので・・・


現在のブランチを確認

# cd p2-php
# git branch -v
* master e12a5df 使用するDB_DataObjectのバージョンを1.11.2に


自分のローカルファイルを修正すると差分が発生するので確認

# git status
# On branch master
# Changed but not updated:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#       modified:   conf/conf_admin.inc.php
#
no changes added to commit (use "git add" and/or "git commit -a")
# git diff
--- a/conf/conf_admin.inc.php
+++ b/conf/conf_admin.inc.php
@@ -88,7 +88,7 @@ $_conf['updatan_haahaa'] = 1;       // (1)
 $_conf['p2status_dl_interval'] = 7; // (7)

 // <83>X<83><8C><83>b<83>h<83>T<83>u<83>W<83>F<83>N<83>g<88><U+A5D7><82>?f<83>t<83>H<83><8B><83>g
-$_conf['display_threads_num'] = 150; // (150)
+$_conf['display_threads_num'] = all; // (all)

 // <94><C2> menu <82>?L<83><83><83>b<83>V<83><85><82><F0><8D>X<90>V<82><B9><82><B8><82>??<9D><82>
 $_conf['menu_dl_interval'] = 1;     // (1)


設定に問題がなければ 俺コミット

# git commit -a -m 'conf_admin.inc.php'
[master 3aacc12] conf_admin.inc.php
 Committer: root <root@rep2.(none)>
Your name and email address were configured automatically based
on your username and hostname. Please check that they are accurate.
You can suppress this message by setting them explicitly:

    git config --global user.name "Your Name"
    git config --global user.email you@example.com

If the identity used for this commit is wrong, you can fix it with:

    git commit --amend --author='Your Name <you@example.com>'

 1 files changed, 1 insertions(+), 1 deletions(-)


ログを確認

# git log
commit 3aacc121f6a01ef4dde77e5e27805c159c752ba0
Author: root <root@rep2.(none)>
Date:   Tue Aug 4 03:20:09 2015 +0900

    conf_admin.inc.php

commit e12a5dfc32f29015bee8f183eac952e7a2a1229c
Author: Ryusuke SEKIYAMA <rsky0711@gmail.com>
Date:   Tue Apr 23 08:52:11 2013 +0900

    使用するDB_DataObjectのバージョンを1.11.2に
<省略>


リモートブランチから pull

# git pull --rebase
Current branch master is up to date.

rebase を指定しているので origin/master から最新を取り込んで、自分の設定をコミットされなおし

2015-07-04

[]2chproxy.pl のサービス化

再起動時に一々手動で上げるのが面倒臭かったので

超お手軽起動スクリプト作成


/etc/init.d/2chproxy を以下で作成

#!/bin/bash
#
# 2chproxy      This shell script takes care of starting and stopping
#               2chproxy (perl script).
#
# chkconfig: 2345 80 02
# description: 2chproxy is the Proxy daemon.

# Source function library.
. /etc/init.d/functions

process=2chproxy
prog=/usr/local/bin/2chproxy.pl
lockfile=/var/lock/subsys/$process

start() {
        echo -n $"Starting $process: "
        $prog -daemon
        RETVAL=$?
        echo
        [ $RETVAL -eq 0 ] && touch $lockfile
        return $RETVAL
}

stop() {
        [ "$EUID" != "0" ] && exit 4
        echo -n $"Shutting down $process: "
        killproc $prog
        RETVAL=$?
        echo
        [ $RETVAL -eq 0 ] && rm -f $lockfile
        return $RETVAL
}

# See how we were called.
case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  status)
        status $prog
        ;;
  restart|force-reload)
        stop
        start
        ;;
  reload)
        exit 3
        ;;
  *)
        echo $"Usage: $0 {start|stop|status|restart}"
        exit 2
esac


/etc/init.d/2chproxy の属性変更

# chmod 755 /etc/init.d/2chproxy
# chown root:root /etc/init.d/2chproxy


で、単体での起動確認実施してから、chkconfig でサービス組込

# /etc/init.d/2chproxy status
2chproxy.pl is stopped
#
# /etc/init.d/2chproxy start
Starting 2chproxy:
#
# /etc/init.d/2chproxy status
2chproxy.pl (pid 2160) is running...
#
# ps -ef | grep 2ch | grep -v grep
root      2160     1  0 14:10 ?        00:00:00 /usr/bin/perl /usr/local/bin/2chproxy.pl -daemon
#
# /etc/init.d/2chproxy stop
Shutting down 2chproxy:                                    [  OK  ]
#
# /etc/init.d/2chproxy status
2chproxy.pl is stopped
#


# chkconfig --add 2chproxy
# chkconfig --list 2chproxy
2chproxy        0:off   1:off   2:on    3:on    4:on    5:on    6:off


後は再起動して、ちゃんと起動してくるかの確認


起動スクリプトが、なんか変な感じなんだけど

perlのお作法がわからんし、一応動いてるからこれで(ヒドい

2015-07-03

[]rep2を 2015年3月以降の仕様に対応

基本はココを参照したんですが

-> 【備忘録】rep2を2015年3月以降の2ちゃん仕様にする方法(11月21日さらに追記) – PC好き、ガジェット好き、平凡な日常大好き


Githubp2-phpの手順を php scripts/p2cmd.php check まで実行する

2017/10/08 修正 rsky版からopen774版に切替の為 -> 2017-10-07 - 日々雑事&備考録

1.1 本体をclone
  # git clone git://github.com/rsky/p2-php.git
  # cd p2-php

1.2 依存ライブラリをダウンロード
  # curl -O http://getcomposer.org/composer.phar
  # php -d detect_unicode=0 composer.phar install

1.3 Webサーバが書き込めるようにディレクトリのアクセス権をセット
  (CGI/suEXECIやCLI/Built-in web serverでは不要)
  # chmod 0777 data/* rep2/ic

1.4 Check
  # php scripts/p2cmd.php check


phpのVerが低かったので、一旦VerUp作業を実施してから、Checkを実行


上記 Checkまで実行して全てOKになるまで頑張る(は?

# php scripts/p2cmd.php check
PHP Version:
  5.6.10: OK
PHP Extensions:
  curl: OK
  dom: OK
  json: OK
  libxml: OK
  mbstring: OK
  pcre: OK
  pdo: OK
  pdo_sqlite: OK
  phar: OK
  session: OK
  spl: OK
  zlib: OK
php.ini directives:
  safe_mode = : OK
  register_globals = : OK
  magic_quotes_gpc = : OK
  mbstring.encoding_translation = 0: OK
  session.auto_start = 0: OK


このままだと、直接 2ch.net に dat を読みにいこうとしてエラーになるので、Local Proxyを立てて Proxy が生成している dat を読みにいかせる


rep2 に対応している proxy ということで、2chproxy.pl を設置

# cd /var/tmp
# git clone git://github.com/yama-natuki/2chproxy.pl.git
# cd 2chproxy.pl
# cp -p 2chproxy.pl /usr/local/bin/.

# cd /usr/local/bin
# wget https://raw.githubusercontent.com/yama-natuki/2chproxy.pl/master/2chproxy.pl
# chown apache:apache 2chproxy.pl
# chmod 755 2chproxy.pl


2chproxy.pl の記述を二カ所変更

DEDICATED_BROWSER => "rep2",

DAT_DIRECTORY => "$ENV{HOME}/public_html/rep2/data/",


で、2chproxy.pl の起動確認をした所、またエラー・・・

# /usr/local/bin/2chproxy.pl
Can't locate HTTP/Daemon.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at ./2chproxy.pl line 36.
BEGIN failed--compilation aborted at ./2chproxy.pl line 36.


どうやら、perl の http-daemon モジュールが無いようなのでインストール

# yum install perl-HTTP-Daemon-SSL.noarch

で、起動確認した所無事起動してきました\( ̄∇ ̄)/

# /usr/local/bin/2chproxy.pl
listen to http://localhost:8080/

というわけで、サービス化をするのは明日にしてデーモンモードで起動して rep2 の動作確認

# /usr/local/bin/2chproxy.pl -daemon

[]php入替

上記、新仕様のp2を入れようとした所 php 依存ライブラリインストールで・・・

This package requires php >=5.3.6 but your PHP version (5.3.3) does not satisfy that requirement.

と怒られてしまいました


Scientific Linux 6.6には、php 5.3.3系までしか入ってないようなので、上記Verを別途インストール

  1. http://dl.iuscommunity.org/pub/ius/stable/Redhat/6/x86_64/ から
    ius-release-x.x-x.ius.el6.noarch.rpmepel-release-x-x.noarch.rpm のVerを確認
  2. # wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/6/i386/ius-release-1.0-10.ius.el6.noarch.rpm
    # wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/6/i386/epel-release-6-5.noarch.rpm
    を実行 (本日時点のVer)
  3. インストール
    # rpm -Uvh *rpm
  4. 現在インストール済みの php を削除
    # rpm -qa | grep php
    # yum erase php-cli php php-common php-mbstring
  5. php 5.6系をインストール(取り敢えずそこそこ最新って事で/5.3系の最新がなかったとも言う)
    # yum install php56u-cli php56u-common php56u php56u-mbstring php56u-pdo
  6. 上記を実行すると依存関係で、ほぼ必要なパッケージは入るかな

2014-09-07

[][]自宅サーバーで rep2

試行インストールしてみたのでメモ


環境は先日構築した SL6.5に対して、パッケージを追加

yum install httpd php php-mbstring


/var/www/html 以下に rep2パッケージを展開


以下省略(ぉい

1086762
サーチ:
キーワード:
Amazon.co.jpアソシエイト