2014年10月13日月曜日

さくらVPSで借りているサーバをCentOS7に移行しました。

さくらVPS CentOS6.5のサーバを新たにCentOS 7をクリーンインストールして移行しました。
(6.5から7へUPGRADEもできますが、今後のことも考えてクリーンインストールします。)
LAMP関係は動いて当然なので気にしてないのですが、
・OSGrid opensimサーバ
・画像生成サーバ
の為に、1),2)が動作必須のアプリ&モジュールです。


1) opensim関連
  ○ mono

wget http://download.mono-project.com/repo/xamarin.gpg
rpm --import xamarin.gpg
yum-config-manager --add-repo http://download.mono-project.com/repo/centos/
   yum install mono
      でさくっと入った。(Mono JIT compiler version 3.10.0)
      以前は関連モジュールをコンパイルして入れていました。

 ○ opensim.exe
   CentOS 7 からは、DBは、MySQL→MariaDB へ変更。といっても
   旧データ、設定はそのまま使えて、問題なく動作。

2) 画像関連:
 ○ ImageMagick-perl-6.7.8.9-10.el7.x86_64
 ○ netpbm

   これも問題なくインストール&動作OK

3) VPN pptpd
  CentOS7,firewall-cmdで設定した情報があまりなかったが、なんとなく設定したら簡単に
動いた。(CentOS6.5よりも簡単設定)
 以下、設定メモ

 #yum install pptpd
  /etc/pptpd.conf
    localip 192.168.0.1
    remoteip 192.168.0.234-238,192.168.0.245

  /etc/rsyslog.conf
     *.=debug;\
          news.none;mail.none     -/var/log/pptpd

  systemctl restart rsyslog.service

  /etc/ppp/options.pptpd
  #ms-dns 8.8.8.8
  ms-dns 210.224.163.4
  ms-dns 210.224.163.3

 /etc/ppp/chap-secrets
 # Secrets for authentication using CHAP
 # client        server  secret                  IP addresses
 username * password *

 ファイアウォール設定
 firewall-cmd --add-port=1723/tcp --permanent
 firewall-cmd --add-port=514/udp --permanent
 firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -p 47 -j ACCEPT
 firewall-cmd --zone=public --add-masquerade --permanent
 firewall-cmd --reload

 firewall-cmdで--add-masqueradeを実行するとip_forwardの設定は不要。

 #systemctl start  pptpd.service
 #systemctl enable pptpd.service

4) mondorescue (ISOイメージまるごとバックアップ)

 これは動作しません。まだCentOS7用は出ておりません。
 無理やり、CentOS6用をインストールして使て見ましたがだめでした。
 CentOS 6用をインストールして使うと、grubが無いって怒られます。
 CentOS 7からgrubはgrub2になってる。
 


==以下自分用のコマンドメモです。CentOS7 Sakura == メモ
・RUN LEVEL 3に変更
ln -sf /lib/systemd/system/runlevel3.target /etc/systemd/system/default.target

・いらないサービスはやめる。
systemctl disable abrt-ccpp.service
systemctl disable abrt-oops.service
systemctl disable abrt-vmcore.service
systemctl disable abrt-xorg.service
systemctl disable abrtd.service
systemctl disable atd.service
systemctl disable dbus-org.freedesktop.nm-dispatcher.service
systemctl disable auditd.service
systemctl disable avahi-daemon.service
systemctl disable bluetooth.service
systemctl disable accounts-daemon.service
systemctl disable avahi-daemon.service
systemctl disable dbus-org.freedesktop.ModemManager1.service
systemctl disable dmraid-activation.service
systemctl disable display-manager.service
systemctl disable firstboot-graphical.service
systemctl disable fprintd.service
systemctl disable gdm.service
systemctl disable hypervkvpd.service
systemctl disable hypervvssd.service
systemctl disable irqbalance.service
systemctl disable iscsi.service
systemctl disable ksm.service
systemctl disable ksmtuned.service
systemctl disable libstoragemgmt.service
systemctl disable libvirtd.service
systemctl disable lvm2-monitor.service
systemctl disable mdmonitor.service
systemctl disable microcode.service
systemctl disable ModemManager.service
systemctl disable multipathd.service
systemctl disable nfs-lock.service
systemctl disable packagekit-offline-update.service
systemctl disable rngd.service
systemctl disable rpcbind.service
systemctl disable rtkit-daemon.service
systemctl disable smartd.service
systemctl disable spice-vdagentd.service
systemctl disable sysstat.service
systemctl disable systemd-readahead-collect.service
systemctl disable systemd-readahead-drop.service
systemctl disable systemd-readahead-replay.service
systemctl disable tuned.service
systemctl disable vmtoolsd.service
systemctl disable chronyd
 chronyd ==> ntpdの代わりらしい

systemctl list-unit-files | grep enable
cups.path                                   enabled
crond.service                               enabled
cups.service                                enabled
dbus-org.fedoraproject.FirewallD1.service   enabled
dbus-org.freedesktop.NetworkManager.service enabled
dbus-org.freedesktop.nm-dispatcher.service  enabled
firewalld.service                           enabled
getty@.service                              enabled
netcf-transaction.service                   enabled
NetworkManager-dispatcher.service           enabled
NetworkManager.service                      enabled
postfix.service                             enabled
rsyslog.service                             enabled
serial-getty@.service                       enabled
sshd.service                                enabled
cups.socket                                 enabled
dm-event.socket                             enabled
iscsid.socket                               enabled
iscsiuio.socket                             enabled
lvm2-lvmetad.socket                         enabled
default.target                              enabled
multi-user.target                           enabled
nfs.target                                  enabled
remote-fs.target                            enabled
reboot

[[リポジトリー]]
yum install -y epel-release
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
wget http://download.mono-project.com/repo/xamarin.gpg
rpm --import xamarin.gpg
yum-config-manager --add-repo http://download.mono-project.com/repo/centos/

vi /etc/yum.repos.d/CentOS-Base.repo
 [centosplus]
 name=CentOS-$releasever - Plus
 mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra
 #baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
 gpgcheck=1
 enabled=1

wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm
rpm -iUvh rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm


[[yum or make]]
yum install postgre*
yum install mariadb*
yum install php php-cli php-pdo php-mysql php-common php php-cgi php-devel php-gd php-mbstring php-pear php-xmlrpc php-xml php-gd php-pgsql php-json
yum install screen
yum install mono
yum install perl-DBD*
yum install vsftpd
yum install clamd
yum localinstall http://mirror.centos.org/centos/6/os/x86_64/Packages/nkf-2.0.8b-6.2.el6.x86_64.rpm
yum install ImageMagick-*
wget ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz
  http://www.mk-mode.com/octopress/2014/08/07/centos-7-0-installation-of-chrootkit/
  earching for Suckit rootkit... Warning: /sbin/init INFECTED => これは誤動作らしいのでOK
yum install pptpd
yum install ftp
yum remove cronie-anacron =>anacronは嫌い。
yum install cronie-noanacron =>いつものcronにする。
yum install libjpeg*
yum install hdparm

/etc/yum.conf
exclude=kernel* centos* mono*

yumでダウンロード
yumdownloader bash
yum install --downloadonly --downloaddir=/tmp bashでも可能

[[perlモジュール]]
cpan[1]> install Jcode
cpan[2]> install Expect
cpan[1]> install Time::HiRes
cpan[2]> install YAML
install Spreadsheet::ParseExcel
install Spreadsheet::XLSX
install Module::Install
install Module::Install::AuthorTests
install Module::Install::Repository
install Net::Twitter::Lite
install XML::RSS
install JSON::Any
install XML::Simple
install DateTime::Format::HTTP
install LWP::Protocol::https
install Config::Auto
install Net::OAuth

WWquitW-Shorten-3.06
 perl Build.PL
 perl Build
 perl Build install
WWW-Shorten-Bitly-1.17
WWW-Shorten-Google-0.01

[[セキュリティー]]
/etc/ssh/sshd_config
PermitRootLogin no
systemctl reload sshd.service

/etc/hosts.allow
pptpd : ALL

ALL : 127.0.0.1
sendmail : ALL

vsftpd : xxx.xxx.xxx.xxx
.
.
sshd : xxx.xxx.xxx.xxx
.
.
syslogd :  xxx.xxx.xxx.xxx

/etc/hosts.deny
ALL:ALL

/etc/sysconfig/selinux
SELINUX=disabled

[[ファイアーウォール]]
[root@www ~]# firewall-cmd --state
running
firewall-cmd --add-service=http --permanent
firewall-cmd --add-port=9000/udp --permanent
firewall-cmd --add-port=9001/udp --permanent
firewall-cmd --add-port=9002/udp --permanent
firewall-cmd --add-port=9003/udp --permanent
firewall-cmd --add-port=9000/tcp --permanent
firewall-cmd --add-port=9001/tcp --permanent
firewall-cmd --add-port=1723/tcp --permanent
firewall-cmd --add-port=514/udp --permanent
firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -p 47 -j ACCEPT
firewall-cmd --zone=public --add-masquerade --permanent
firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 1 -s xxx.xxx.xxx.xxx/32 -j ACCEPT


firewall-cmd --reload
firewall-cmd --list-services
[root@www ~]# firewall-cmd --list-all
public (default, active)
  interfaces: eth0
  sources:
  services: dhcpv6-client http ssh
  ports: 9001/udp 1723/tcp 9003/udp 9002/udp 9000/udp 9001/tcp 9000/tcp 514/udp
  masquerade: yes
  forward-ports:
  icmp-blocks:
  rich rules:


GUI
# firewall-config


[[pptpd]]
/etc/pptpd.conf
localip 192.168.0.1
remoteip 192.168.0.234-238,192.168.0.245

/etc/rsyslog.conf

$ModLoad imudp
$UDPServerRun 514

 *.=debug;\
      news.none;mail.none     -/var/log/pptpd
local1.*                                                /var/log/routerlog

/etc/sysconfig/rsyslog
SYSLOGD_OPTIONS="-x -c 5"
#-xはDNS参照しない

/etc/ppp/options.pptpd
#ms-dns 8.8.8.8
ms-dns 210.224.163.4
ms-dns 210.224.163.3

/etc/ppp/chap-secrets
# Secrets for authentication using CHAP
# client        server  secret                  IP addresses
username * ?????? *

systemctl start  pptpd.service
systemctl enable pptpd.service

systemctl stop rsyslog.service
systemctl start rsyslog.service

[root@www log]# netstat -an | grep -i udp | grep 514
udp        0      0 0.0.0.0:514             0.0.0.0:*
udp6       0      0 :::514                  :::*


[[FTP]]
/etc/vsftpd/vsftpd.conf
anonymous_enable=NO
#listen_ipv6=YES
listen=YES

systemctl start vsftpd.service
systemctl enable vsftpd.service

[[http]]

systemctl start httpd.service
systemctl enable httpd.service

apachectl -V
EVENTモードになってないこと。preforkモードで十分です。


::1 internal dummy connection ログ抑制
==
SetEnvIf User-Agent "internal dummy connection" nolog

<VirtualHost *:80>

  ServerName    www.picolix.jp


  ErrorLog      /virtual/lisa/log/error.log
  TransferLog   /virtual/lisa/log/transfer.log
  CustomLog     /virtual/lisa/log/www_access.log combined env=!nolog
==


[[mysql]]

旧サーバ:
mysqldump -ulisa -p?????????????? crenazumina > crenazuminadb-????????.txt
mysqldump -ulisa -p?????????????? lisa > lisadb-????????.txt
mysqldump -ulisa -p?????????????? mwiki > mwikidb-????????.txt
mysqldump -ulisa -p?????????????? opensim > opensimdb-????????.txt
mysqldump -ulisa -p?????????????? opensim073 > opensimdb073-????????.txt
mysqldump -ulisa -p?????????????? wordpress > wordpressdb-????????.txt


/etc/my.cnf.d/server.cnf
[mysqld]
character-set-server = utf8


systemctl start mariadb.service
systemctl enable mariadb.service

mysql -u root -p

set password for root@localhost=password('????????');
CREATE DATABASE opensim DEFAULT CHARACTER SET utf8;
CREATE DATABASE crenazumina DEFAULT CHARACTER SET utf8;
CREATE DATABASE lisa DEFAULT CHARACTER SET ujis;
CREATE DATABASE opensim073 DEFAULT CHARACTER SET utf8;
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8;
CREATE DATABASE mwiki DEFAULT CHARACTER SET utf8;


CREATE USER 'opensim'@'localhost' identified by '????????';
CREATE USER 'lisa'@'localhost' identified by '??????????????';

SET PASSWORD FOR 'opensim'@'www.picolix.jp' = PASSWORD('????????');
GRANT ALL ON *.* TO 'lisa'@'localhost';

mysql -u lisa -p?????????????? crenazumina < crenazuminadb-????????.txt
mysql -u lisa -p?????????????? lisa < lisadb-????????.txt
mysql -u lisa -p?????????????? opensim < opensimdb-????????.txt
mysql -u lisa -p?????????????? opensim073 < opensimdb073-????????.txt
mysql -u lisa -p?????????????? wordpress < wordpressdb-????????.txt
mysql -u lisa -p?????????????? mwiki <  mwikidb-????????.txt &

[[postgrtesql]]

旧サーバ:
pg_dump lisa -f pgdump????????.tgz -F c -Z 0 -v -U lisa
pg_dump lisa2 -f pgdump????????-lisa2.tgz -F c -Z 0 -v -U lisa

yum install postgresql postgresql-server postgresql-libs postgresql-devel postgresql-contribsu - postgres
initdb --encoding=EUC_JP --no-locale
c
systemctl enable postgresql.service

-bash-4.2$ createuser -s -d -r -P lisa
Enter password for new role:
Enter it again:??????????????

-bash-4.2$createdb lisa
-bash-4.2$createdb lisa2


-bash-4.2$ psql
psql (9.2.7)
Type "help" for help.

postgres=# \du
                             List of roles
 Role name |                   Attributes                   | Member of
-----------+------------------------------------------------+-----------
 lisa      | Superuser, Create role, Create DB              | {}
 postgres  | Superuser, Create role, Create DB, Replication | {}

postgres=# \l
                             List of databases
   Name    |  Owner   | Encoding | Collate | Ctype |   Access privileges
-----------+----------+----------+---------+-------+-----------------------
 lisa      | postgres | EUC_JP   | C       | C     |
 postgres  | postgres | EUC_JP   | C       | C     |
 lisa2     | postgres | EUC_JP   | C       | C     |
 template0 | postgres | EUC_JP   | C       | C     | =c/postgres          +
           |          |          |         |       | postgres=CTc/postgres
 template1 | postgres | EUC_JP   | C       | C     | =c/postgres          +
           |          |          |         |       | postgres=CTc/postgres

postgres=# ALTER USER postgres encrypted password '??????????????';
ALTER ROLE
postgres=# ALTER USER lisa encrypted password '??????????????';
ALTER ROLE

/var/lib/pgsql/data/pg_hba.conf
local   all         lisa      md5

systemctl restart postgresql.service

[root@www data]# psql -d lisa -U lisa
Password for user lisa:
psql (9.2.7)

[root@www db]# pg_restore -d lisa -U lisa pgdump????????.tgz
Password:
pg_restore: [archiver (db)] Error while PROCESSING TOC:
pg_restore: [archiver (db)] Error from TOC entry 508; 2612 16388 PROCEDURAL LANGUAGE plpgsql lisa
pg_restore: [archiver (db)] could not execute query: ERROR:  language "plpgsql" already exists
    Command was: CREATE PROCEDURAL LANGUAGE plpgsql;

[root@www db]# pg_restore -d lisa2 -U lisa pgdump????????-lisa2.tgz
Password:

-bash-4.2$ psql -U lisa
Password for user lisa:
psql (9.2.7)
Type "help" for help.

lisa=# \l
                             List of databases
   Name    |  Owner   | Encoding | Collate | Ctype |   Access privileges
-----------+----------+----------+---------+-------+-----------------------
 lisa      | postgres | EUC_JP   | C       | C     |
 postgres  | postgres | EUC_JP   | C       | C     |
 lisa2     | postgres | EUC_JP   | C       | C     |
 template0 | postgres | EUC_JP   | C       | C     | =c/postgres          +
           |          |          |         |       | postgres=CTc/postgres
 template1 | postgres | EUC_JP   | C       | C     | =c/postgres          +
           |          |          |         |       | postgres=CTc/postgres
(5 rows)

lisa=# \d
                         List of relations
 Schema |                  Name                  |   Type   | Owner
--------+----------------------------------------+----------+-------
 public | blog_url_conv_data                     | table    | lisa
 public | blog_url_conv_data_seq_seq             | sequence | lisa
 public | blog_url_conv_data_url-crenazumina_seq | sequence | lisa
 public | comsearch_release_seq                  | sequence | lisa
 public | dmoz_link_cnt                          | table    | lisa
 public | dmoz_link_robot                        | table    | lisa
 public | eki_data                               | table    | lisa
 public | nouki_mst                              | table    | lisa
 public | pazdora                                | table    | lisa
 public | pazdora_kskill_m                       | table    | lisa
 public | pazdora_skill_m                        | table    | lisa
 public | pazdora_type_m                         | table    | lisa
 public | secondlife_history                     | table    | lisa
 public | share_d                                | table    | lisa
 public | sozai_dmoz_art_m                       | table    | lisa
 public | syouhin_data                           | table    | lisa
 public | testnouse                              | table    | lisa
(17 rows)

-bash-4.2$ psql -U lisa
Password for user lisa:
psql (9.2.7)
Type "help" for help.

lisa=# \c lisa2
You are now connected to database "lisa2" as user "lisa".
lisa2=# \l
                             List of databases
   Name    |  Owner   | Encoding | Collate | Ctype |   Access privileges
-----------+----------+----------+---------+-------+-----------------------
 lisa      | postgres | EUC_JP   | C       | C     |
 postgres  | postgres | EUC_JP   | C       | C     |
 lisa2     | postgres | EUC_JP   | C       | C     |
 template0 | postgres | EUC_JP   | C       | C     | =c/postgres          +
           |          |          |         |       | postgres=CTc/postgres
 template1 | postgres | EUC_JP   | C       | C     | =c/postgres          +
           |          |          |         |       | postgres=CTc/postgres
(5 rows)

lisa2=# \d
        List of relations
 Schema |  Name   | Type  | Owner
--------+---------+-------+-------
 public | share_d | table | lisa
 public | user_m  | table | lisa
(2 rows)


[[CRON]]
/etc/crontab
PERL5LIB=/root/perl5/lib/perl5:/home/shoichi/perl5/lib/perl5:
↑これがないと、perlスクリプトがエラーです。

/etc/cron.d/0hourly
全て#
/etc/cron.d/dailyjobs
全て#

systemctl stop crond.service
systemctl start crond.service
# run-parts
45 * * * * root run-parts /etc/cron.hourly
46 3 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
59 23 * * * root /virtual/lisa/cron/analog_rotate.sh > /dev/null 2>&1
2,12,22,32,42,52 * * * * root /virtual/lisa/cron/cron1.sh > /dev/null 2>&1

[[postfix]]
/etc/postfix/main.cf
mynetworks = 127.0.0.0/8 , xxx.xxx.xxx.xxx/32

systemctl stop postfix.service
systemctl start postfix.service


[root@www cron.daily]# pwd
/etc/cron.daily
[root@www cron.daily]# ln -s /virtual/lisa/cron/syschk.sh syschk.sh
[root@www cron.daily]# ln -s /virtual/lisa/cron/viurscheck-clama.sh viurscheck-clama.sh
dns-x86.tar.gz
cp dnstran /usr/bin/
cp analogurldecode/usr/bin/analogurldecode
analog-6.0.tar.gz 置き換える
cp analog /usr/bin/analog


[[シンボリックリンク]]
ln -s /bin/mono /usr/local/bin/mono
ln -s /bin/perl /usr/local/bin/perl
ln -s /usr/bin/convert /usr/local/bin/convert


[[メモ]]
GNOME 日本語フォルダーを英文字に
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/a077changelang.html
teraterm
 設定‐その他の設定‐ANSIカラー以外全部外す
/usr/lib/systemd/system
/lib/systemd/system

[root@www cron.daily]# hdparm -t /dev/vda2
/dev/vda2:
 Timing buffered disk reads: 486 MB in  3.03 seconds = 160.40 MB/sec
[root@www23254ue backup]# hdparm -t /dev/vda2
/dev/vda2:
 Timing buffered disk reads:  10 MB in  3.58 seconds =   2.79 MB/sec
 Timing buffered disk reads: 124 MB in  3.01 seconds =  41.13 MB/sec


[[サービス]]
----------------------------------
[root@www ~]# cd /usr/lib/systemd/system
[root@www system]# cat opensim.service
[Unit]
Description=opensim Server
After=mariadb.target

[Service]
Type=notify
EnvironmentFile=/etc/opensim.env
ExecStart=/usr/bin/screen -S $PROGNAME -d -m $MONO $OSGRID/OpenSim.exe
ExecStop=/usr/bin/screen -S $PROGNAME -p 0 -X stuff $'quit\n' 1> /dev/null 2>&1

KillSignal=SIGCONT
PrivateTmp=true

[Install]
WantedBy=multi-user.target

----
/etc/opensim.env
----
PROGNAME=OpenSim
OSGRID=/projects/opensim
MONO=/usr/local/bin/mono
export MONO_THREADS_PER_CPU=125
export LANG=C
ulimit -s 262144

[[ネットワーク]]

nmtui
nmcli c d "System eth0" ; sudo nmcli c u "System eth0"
nmcli c d "ens33" ; sudo nmcli c u "ens33"



2014年10月11日土曜日

さくらのVPS 遅すぎ。

さくらのVPS(1G)を2台借りていますが、内1台がなんとなく以前から動作が遅かった。というか遅すぎでした。
今回、2台ともCentOS7をクリーンインストールしました。(CentOS6.5から7への移行でいろいろ面倒でしたが)
で、遅かった1台で、改めてhdparmで速度測定。
# hdparm -t /dev/vda2
/dev/vda2:
Timing buffered disk reads:   4 MB in  3.25 seconds =   1.23 MB/sec
使い物にならないぐらい激重に遅い。
もう一台は、
[root@www log]# hdparm -t /dev/vda2
/dev/vda2:
Timing buffered disk reads: 488 MB in  3.00 seconds = 162.41 MB/sec
で問題ありません。
ペナルティー制限が掛けられているのかと思い、さくらに問いあわせ致しましたが、「お各様の仮想サーバについて確認いたしましたところ、同居する他の仮想サーバにてやや負荷が高い状態が発生しておりましたため、その影響を受けた可能性がございます。」との回答。
ん~。。。これだと使えないじゃないですか!
15時間ぐらい、hdparm -t /dev/vda2を10秒置きに取ってみたグラフが↓
図1:
図2:さくらのVPSコントロールパネル:リソース情報:DISK I/O




図1:青はいいと思われる、www.picolix.jpの方で赤はだめなもう一つのVPSサーバ。
平均で4倍も違う。200MB/sec以上出ている時間帯もあるので、これは他の共有して
いるVPSが常に過負荷にあるのだと思います。(図2は、上位モニターから見た図で
同じ傾向です。当然ですが・・)

ようは、はずれのグループを引いている。。。諦めがつきました。
ということで、この1台のVPSは解約しようと思っています。ちょうど11月がサーバ更新時期ですので。もし借りるとしたら今後はGMOを試そうかと思っています。


2014年10月4日土曜日

Google Playで個人アプリ開発者まで住所公開が必須になる

実際の連絡先住所の追加 消費者保護法遵守のため、2014 年 9 月 30 日より [設定] ページへの実際の住所の追加が必要になります。 住所を追加すると、すべてのユーザーに対して Google Play のアプリ詳細ページでこの住所が表示されます。 実際の住所が変更になった場合は、必ず [設定] ページの情報を更新してください。
Google Play DeveloperConsoleの[設定] ページを見たら、住所欄が追加されていました。 このページの住所欄の説明だと、
連絡可能な現在の有効な住所を入力してください。アプリやアプリ内アイテムを販売する場合は、Google のデベロッパー利用規約と消費者保護法に基づいて住所を入力する必要があります。この利用規約に違反すると、アカウントまたはアプリの販売が停止される場合があります。住所が変わった場合は必ず、この情報を最新のものにしてください。メールや住所を入力することで、Google がアプリと一緒にその情報を公開、開示することに同意したことになります。
のようになっています。



私は1本フリーCrenaCam で公開していますが、フリーでも住所を公開しないとだめなんだろうか? まあ、住所は書かないでおこう。BANされてもいいや、この際。

2014年9月22日月曜日

opensim.exeのwindowsでのサービス起動

Windows Azureの仮想サーバ(Windows 2008 Server R2)で、opensim.exeを使い、JOGRID(Japan Open Grid)に接続しているのですが、Windows Azureでは保守メンテで月1回程度また不定期にサーバがリブートされます。
リブート後は、都度ログインして手動でopensim.exeを起動して面倒なので、サービス起動するようにしました。
最初、sc createで無理からサービス登録しましたが起動せず。
しょうがないので、昔作った「サービスからプログラムを自由に起動できる」アプリを使用しました。
(自分用のメモを兼ねていますので分かりずらいかも。上級者向けです><)

用意するもの、
http://icebar.cloudapp.net/service.zip
ダウンロード後、c:\serviceに展開する。
(展開フォルダーはどこでも良いですが、以下の説明は、c:\service配下に置いた場合として説明しています。)


==梱包内容==
simple.exe  ----- simpleサービス本体プログラム
kill.exe    ----- プロセス停止プログラム
process.lst ----- 自動起動したいプロセス一覧リスト(simple.exeが参照する)
install.bat ----- インストール
uninstall.bat ---- アンインストール
startup.bat ----- サービスプログラム起動
stop.bat    ----- サービスプログラム停止
jogrid.bat  ----- OpenSim.32BitLaunch.exeの起動

事前にopensimの環境設定がされていることが前提です。(OSは64ビットです。)



1) opensimの設定変更

 opensimを停止し、以下の2ファイルを修正して、opensimをREST コンソールモードに変更します。
 (サービスで起動するためコンソール画面は出てきません。そのかわりに、サーバを操作したい時は、OpenSim.ConsoleClient.exeでサーバに接続して操作します。)

 OpenSim.ini
 [Network]
    ConsoleUser = "xxxx"
    ConsolePass = "zzzzzz"
    console_port = 8003


  OpenSim.ConsoleClient.ini
  [Startup]
    user = xxxx
    host = localhost
    pass = zzzzzz

  ・xxxxとzzzzzzはOpenSim.iniとOpenSim.ConsoleClient.ini同じに設定
 ・hostはlocalhostで認識しなければローカルIPアドレスを記載する。
    私の場合は、10.0.0.12
 ・ポートは、使っていないTCPポートを指定。通常8003で可


2) simpleサービスのインストール

 ●インストール前に以下の設定ファイルを確認。
 a) process.lst
    C:\Windows\System32\cmd /c C:\service\jogrid.bat
  
  ※C:\service以外のフォルダーの場合は、C:\serviceを書き換えてください。

  b) jogrid.bat
    SET OPENSIM_PATH=C:\projects\jogrid-opensim-08152014.v0.8.1.3a643e2\bin

  ※opensim.exeがあるフォルダーにOPENSIM_PATH=以下を書き換えて下さい。

  [メモ] cdで、opensim.exeのある場所にディレクトリー移動しています。
  opensim.exeはサービスから起動することを想定していませんので、
  これをしないと、opensim.*.iniが見つけられずエラーとなります。

 c)install.bat

  sc config simpleservice type= own start= auto depend= MySQL

   ※データベースにsqliteを使っている場合は、depend= MySQLの指定は外す。
   私は、MySQLを使っているので、MySQLが起動した後に、simpleserviceが起動するようにします。
   そうしないと、先にopensimが立ち上がると、データベース接続エラーがでるので。

 ●install.batの実行

  cmd.exeでDOS窓を出して、
  c:\>
    c:\>cd \service
    c:\service>insatll 実行

  「OpenService failed - 指定されたサービス・・存在しません」
   と表示されても無視して下さい。(インストール済みの場合は削除後にインストールされます。)

  ※サンプル画面では、jogrid.batの次にSMAILでメール送信しています。
   無くて構いません。最後に、ChangeServiceConfig SUCCESSと表示されればOKです。


  サービスの登録確認と設定変更
  「管理ツール」-「サービス」で「Simple Service」をダブルクリックし
   プロパティーー「ログオン」を表示し、アカウントにログインユーザとパスワードを設定してOKとする。



  ※普通は、ローカルシステムアカウントのままで良いのですが、Windows Azureの Windwos 2008 Server R2を日本語化して使うと、
   SYSTEMアカウントのシステムロケールが日本にならないので、ローカルユーザのアカウントを使います。

  ※サービスに登録されただけでまだこの段階では OpenSim.32BitLaunch.exeは起動していません。   

3) サービスを起動して、OpenSim.32BitLaunch.exeを動かす。

  「サービス」から開始としても良いのですが、ここではDOS窓から
  startup.batを実行してみます。

  ※起動後、process.lstを変更した場合は、
   stop.bat / startup.batを実行する必要があります。

  ※サービス画面から開始はできますが停止はできません。
   OpenSim.32BitLaunch.exeが停止できないためsimpleserviceが
   ずっと待ち状態となります。
   stop.batで止めて下さい。

3) 動作確認
 1分ぐらい待ってから、OpenSim.ConsoleClient.exeを起動してプロンプトが出ればOK



  ※早すぎると、opensimが起動しきれていないので、ポート8003で待ち状態
   となっていないためOpenSim.ConsoleClient.exeがエラー落ちしますが、
   問題ありません。時間を空けて再度OpenSim.ConsoleClient.exeを起動して
   ください。

 以上で完了です。サーバが起動すればログオンしなくても自動起動します。

4) 停止方法:stop.bat
  simpleserviceを停止させます。
  OpenSim.32BitLaunch.exeのプロセスを強制停止します。

 ※OpenSim.32BitLaunch.exeを複数動かしている場合、全て停止します

5) アンインストール方法:uninstall.bat

 
  サービスの登録を削除します。

 ※stop.batを実行した後、uninstallすると、
  「指定されたサービスはインストールされたサービスとして存在しません。」
   と表示されますが、問題ありません。

2014年9月20日土曜日

Windows Azure Windows Server 2008の日本語化時のサービスプログラムのシステムロケールの挙動


Windows Server 2008R2 SP1複数言語ユーザー インターフェイス言語パック
http://www.microsoft.com/ja-jp/download/details.aspx?id=2634
 Windows言語設定変更
  地域と言語(display languag):
   形式、キーボードと言語
   管理 システムアカウント、システムロケール
  すべて日本語を選択
 
Windoすべて日本語を選択 Server 2008 R2 向け Internet Explorer 11 言語パック
http://www.microsoft.com/en-us/download/details.aspx?id=40904
  すべて日本語を選択

に設定したけど、サービスプログラムから起動したアプリは、システムロケールを日本としてくれない。

・ログインのコンソール画面から、crenahtml2jpg.exeを起動してWEB画面をキャプチャー:日本語キャプチャーされる。(正常)

【 タイトル:World of Tanks ? 無料オンラインゲーム】



・サービスプログラムからcrenahtml2jpg.exeを起動して、WEB画面をキャプチャー:英語圏からのようにキャプチャーされる。
WEBのタイトルも日本語が英語になってるので、英語圏からのアクセスとして認識されてしまってる。

【タイトル:World of Tanks ? Free Online Game】


たぶんアプリが、システムロケールを認識できてないと思われるが、解消方法は今のところ不明><。Azureでの運用はあきらめるか・・
逆に英語圏(US)から見た場合の日本のサイトということで使えるかも。



※サービスを「ログオン」-「アカウント」でいつもログインしている
  ユーザに設定したら、とりあえずOKとなった。(9/22追記)

2014年9月15日月曜日

MAC BootCampのwindows7でいつのまにか輝度変更できず。最高輝度になったままに。

MacBook (13-inch, Aluminum, Late 2008) BootCamp3.3のwindows7でいつのまにか輝度変更できず。
最高輝度になったままになってしまった。
F1,F2キーで輝度のバーはスライダーするものの画面は変わらず、BOOTCAMPのパネルの輝度調整でも同じで変化せず。
NVRAM/PRAM をリセット,SMCのリセットしてもだめ。
また、最高輝度の状態で長時間動かしていると画面が白っぽく霧がかかったようになり最後は真っ白になってしまう。
(何回かディスプレイの蓋を閉めて、開けると元にもどる。)
ディスプレイドライバーを古いバージョンに戻してみたら輝度調整できるようになり、画面が白くなる現象もなくなった。

コントロールパネルのデバイスドライバーでディスプレイの「ドライバーを元に戻す」としたら、
一つ前に戻ると思ったら削除状態と同じになってしまった。
=>仕方がないので、以前NVIDIAからダウンロードしてバックアップをとっておいた、
280.26-notebook-win7-winvista-64bit-international-whql.exe
をインストールしていたら正しく動作した。

バージョンダウン前のドライバー(このバージョンだと輝度調整できず、最高輝度のまま)
331.82-notebook-win7-winvista-64bit-international-whql.exe

バージョンを落とした。(このバージョンだと輝度調整OK)
280.26-notebook-win7-winvista-64bit-international-whql.exe





2014年8月16日土曜日

LINE Creators に登録しました。(その1)

LINE Creators Marketに登録すべく、LINEのスタンプ作成しました。

夏休みを利用して、スタンプ40個(かわいい、日常系です)を作成、1週間かかった。
先ほどリクエストして、審査待ちです。審査通ったら公開します。

https://creator.line.me/ja/guideline/