logo
 2003年   2004年   2005年   2006年   2007年   2008年   2009年   2010年   2011年   2012年   2013年   2014年   2015年   2016年 
 9月 
 10月 
 11月 
 12月 
 1月 7月 
 2月 8月 
 3月 9月 
 4月 10月 
 5月 11月 
 6月 12月 
 1月 7月 
 2月 8月 
 3月 9月 
 4月 10月 
 5月 11月 
 6月 12月 
 1月 7月 
 2月 8月 
 3月 9月 
 4月 10月 
 5月 11月 
 6月 12月 
 1月 7月 
 2月 8月 
 3月 9月 
 4月 10月 
 5月 11月 
 6月 12月 
 1月 7月 
 2月 8月 
 3月 9月 
 4月 10月 
 5月 11月 
 6月 12月 
 1月 7月 
 2月 8月 
 3月 9月 
 4月 10月 
 5月 11月 
 6月 12月 
 1月 7月 
 2月 8月 
 3月 9月 
 4月 10月 
 5月 11月 
 6月 12月 
 1月 7月 
 2月 8月 
 3月 9月 
 4月 10月 
 5月 11月 
 6月 12月 
 1月 7月 
 2月 8月 
 3月 9月 
 4月 10月 
 5月 11月 
 6月 12月 
 1月 7月 
 2月 8月 
 3月 9月 
 4月 10月 
 5月 11月 
 6月 12月 
 1月 7月 
 2月 8月 
 3月 9月 
 4月 10月 
 5月 11月 
 6月 12月 
 1月 7月 
 2月 8月 
 3月 9月 
 4月 10月 
 5月 11月 
 6月 12月 
 1月
 2月
 3月
 4月
 
 
アイコンの説明
code:Haemophilus influenzae
ここに書かれていることは無保証です。同じことを行って問題が発生しても、龍義は責任をとりません。

■ 5月1日WindowsOther
作った Android のアプリに広告を入れてみようと、AdMob を使ってみた。AdMob に ついては解説している web ページがいくつもあるので割愛して、この AdMob を Android Studio 2 で使うときの解説が見つからなかった。結局、一番に役立った のが、Google の AdMob の登録方法のページで、これをそのままやったらうまく いった。 忘れないためにも、ちょっと別ページにメモしておく。
■ 5月2日WindowsOther
昨日の続き。Nexus S のエミュレータで広告を表示させようとすると、出ない。 横位置に回転させると出てくるし、縦位置だと Not enough space to show ad と 出ているので、どうも横幅が足りなくて出ないみたい。 Nexus S Nexus S の横幅を見てみたら 320dp あって、アプリを作ったとき最初にできる Relative Layout は padding が activity_horizontal_margin で指定されていて 16dp だった。つまり、表示領域は 300dp ということになる。 昨日参考にした AdMob の登録ページにも書いてあるが、バナーの表示には 320×50 の領域が必要なので出ないみたい。padding を 0 にしたら表示されるようになった けれど、全体のバランスが悪くなるし、横が 320dp 端末のためだけに必要なもの なので色々と修正が必要。面倒だな。
■ 5月3日WWWOther
世の中は html5 まっしぐらで、そんな流れのなか pre タグでどうこうやって いるこのページはもう時代遅れなのは重々わかっているのだけど。center タグは だいぶ前に使わないようにしたけど、font タグが残っていた。仕方なく、先月の 後半ぐらいから、font タグをやめて span に色指定を入れるようにしたけど、 やっぱり慣れない感じというか、直感的にわかり辛い感じがする。これはもう 決まりなので慣れないといけないのだろうけど。 そろそろこのページから pre タグも消すべきだろうな。今月はもう無理だから、 来月から考えてみよう。
■ 5月4日WWWNetwork
海外で良く見かける趣味サイト forum のシステムは簡単に導入できるのか少し 調べてみた。どんなシステムがあるのかいくつか眺めて、Burning Board とか phpBB, Simple Machines なんてのを使っていた。どこかに何で動いているとか 比較してくれるサイトが無いか調べると、wikipedia の 英語版にまとめてあった。 Comparison of Internet forum software 殆どが PHP で動いている。Ikonboard と言うのが Perl で動かすようだけど、 更新がされてないし、PHP を使いたくない場合は Java を使うことになるかな。 そうすると、eXo Platform か Syndie になる。eXo Platform を見てみると、 SNS のシステムのようだし、Syndie は匿名性が売りのアプリケーションだから どちらも目的から外れる。 セキュリティ問題のリスクが増えてしまうため、できれば PHP は使いたくない のだけど、どっちを取るかだな。それにしても、日本ではあまりフォーラムの サイトがないのは何でだろう。
■ 5月5日WWWNetwork
世の中の早い流れに乗ってしまうと、直ぐに情報が古くなってしまったり、陳腐化 してしまうし、かと言って流れに逆らうと時代遅れになってしまう。気持ち的には 新しい技術を少しだけ触っておいて、何かあったときに何とかできるというのを 目指している。 そんなことを思っていて、AWS か GCP に手を出しておこうかと思ったが、個人で 手を出すのはハードルが高い。この機会だから何かを始めようと思い、ふと目に 付いたのが WordPress で、一度も触ったことがないので初めてみようかと。 昨日も問題になったのが PHP を使いたくないということ。WordPress も御多分に 漏れず PHP を使っている。逆に言うと PHP を使えるようにしてしまえば、他も 解決すると言えば良い解釈で。途中でやめるかもしれないけど、WordPress を 少し使ってみようかと、調べ始める。
■ 5月6日WWWNetwork
昨日の続き。色々考えていても仕方がないので、PHP をインストールすることに した。手元のサーバは別件で使用中なので、某所のサーバで、環境は。 [root@vjun ~]# cat /etc/redhat-release CentOS release 5.11 (Final) ここで PHP のインストールをすることに。私にしては珍しく、web サーバ自体は RPM のものなので、ここも RPM というか yum であっさり入れることにした。 [root@vjun ~]# yum install php Loaded plugins: fastestmirror Repository 'vz-base' is missing name in configuration, using id Repository 'vz-updates' is missing name in configuration, using id Loading mirror speeds from cached hostfile ~snip~ Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: php i386 5.1.6-45.el5_11 updates 2.3 M Installing for dependencies: gmp i386 4.1.4-10.el5 base 664 k php-cli i386 5.1.6-45.el5_11 updates 2.1 M php-common i386 5.1.6-45.el5_11 updates 155 k Transaction Summary ================================================================================ Install 4 Package(s) Upgrade 0 Package(s) Total download size: 5.2 M Is this ok [y/N]: y ~snip~ MySQL は既に入っているようなので、これだけで大丈夫かな。php.ini とか、 httpd.conf の編集とか。 [root@vjun ~]# cp -p /etc/php.ini /etc/php.ini.org [root@vjun ~]# vi /etc/php.ini [root@vjun ~]# diff /etc/php.ini.org /etc/php.ini 305c305,306 < expose_php = On --- > ;expose_php = On > expose_php = Off 314c315,316 < memory_limit = 128M ; Maximum amount of memory a script may consume --- > ;memory_limit = 128M ; Maximum amount of memory a script may consume > memory_limit = 32M ; Maximum amount of memory a script may consume 501a504 > default_charset = "utf-8" 980a984 > session.entropy_file = /dev/urandom 1125a1130 > mbstring.language = Japanese 1130a1136 > mbstring.internal_encoding = utf-8 [root@vjun ~]# cd /etc/httpd/conf [root@vjun conf]# cp -p httpd.conf httpd.conf_20160506 [root@vjun conf]# vi httpd.conf [root@vjun conf]# diff httpd.conf.20160525 httpd.conf 200a201,203 > # for PHP > LoadModule php5_module modules/libphp5.so > 667a671,673 > # for PHP > AddType application/x-httpd-php .php > これで httpd の再起動と php の動作確認をする。 [root@vjun conf]# /etc/init.d/httpd restart Stopping httpd: [ OK ] Starting httpd: [ OK ] [root@vjun conf]# cd /var/www/html [root@vjun conf]# vi phpinfo.php [root@vjun conf]# cat phpinfo.php <?php phpinfo(); ?> ブラウザでアクセスしたら、無事に動いた。明日は WordPress のインストールを する予定。
■ 5月7日WWWNetwork
昨日の続き。WordPress のインストール、の前に MySQL で DB を作成しておく。 mysqld の起動確認。 [root@vjun ~]# ps -ef | grep mysqld root 32419 32220 0 20:14 pts/1 00:00:00 grep mysqld 動いてないみたいなので、起動。と思ったが、起動スクリプトがない。そもそも mysqld のバイナリはあるのか確認すると、入っていない。mysql の RPM じゃなく mysql-server が必要のようなので、ここも yum でインストール。 [root@vjun ~]# yum install mysql-server Loaded plugins: fastestmirror ~snip~ ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: mysql-server i386 5.0.95-5.el5_9 base 9.8 M Installing for dependencies: perl-DBD-MySQL i386 3.0007-2.el5 base 148 k ~snip~ 設定をして、起動してみた。 [root@vjun ~]# cp -p /etc/my.cnf /etc/my.cnf.org [root@vjun ~]# vi /etc/my.cnf [root@vjun ~]# diff /etc/my.cnf.org /etc/my.cnf 12a13,15 > # charset > character-set-server=utf8 > [root@vjun ~]# /etc/init.d/mysqld start Initializing MySQL database: Installing MySQL system tables... OK Filling help tables... OK To start mysqld at boot time you have to copy support-files/mysql.server to the right place for your system PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER ! To do so, start the server, then issue the following commands: /usr/bin/mysqladmin -u root password 'new-password' /usr/bin/mysqladmin -u root -h vjun password 'new-password' Alternatively you can run: /usr/bin/mysql_secure_installation ~snip~ [ OK ] Starting mysqld: [ OK ] パスワードを付けたり、セキュリティ向上のための mysql_secure_installation を 実行したり。 [root@vjun ~]# /usr/bin/mysqladmin -u root password 'abcdefgh' [root@vjun ~]# /usr/bin/mysql_secure_installation ~snip~ All done! If you've completed all of the above steps, your MySQL installation should now be secure. Thanks for using MySQL! もちろんだけど、abcdefgh なんてパスワードにはしていない。WordPress 用の DB とユーザを作る。 [root@vjun ~]# mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 11 Server version: 5.0.95 Source distribution Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> create database t_lab; Query OK, 1 row affected (0.00 sec) mysql> grant all privileges on t_lab.* to toyota@localhost identified by 'abcd'; Query OK, 0 rows affected (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) mysql> quit Bye WordPress のダウンロードしてくる。 [root@vjun ~]# cd /var/www/html [root@vjun html]# wget -q https://wordpress.org/wordpress-4.5.2.tar.gz [root@vjun html]# tar xfz wordpress-4.5.2.tar.gz [root@vjun html]# cd wordpress [root@vjun wordpress]# cd wordpress 設定が色々必要だけど、眠くなってきたので続きは明日。
■ 5月8日WWWNetwork
WordPress のインストールの続き。解凍までしたので、設定から。 [root@vjun ~]# cd /var/www/html/wordpress [root@vjun wordpress]# cp -p wp-config-sample.php wp-config.php [root@vjun wordpress]# vi wp-config.php [root@vjun wordpress]# diff wp-config-sample.php wp-config.php 23c23 < define('DB_NAME', 'database_name_here'); --- > define('DB_NAME', 't_lab'); 26c26 < define('DB_USER', 'username_here'); --- > define('DB_USER', 'toyota'); 29c29 < define('DB_PASSWORD', 'password_here'); --- > define('DB_PASSWORD', 'abcd'); これでアクセスしてみたら、 403 Forbidden が返ってきた。どこかパーミッションの設定が必要みたい。解凍ディレクトリに readme.html があったのでブラウザでアクセスしてみると、wp-admin/install.php を開くとあったので、アクセスしてみた。 Your server is running PHP version 5.1.6 but WordPress 4.5.2 requires at least 5.2.4. まさかのメッセージが出た。PHP のコンパイルからしないと駄目かな。まず、 PHP の web ページにアクセスしてみた。カレントのバージョンは3つあって、 5.5.35、5.6.21、7.0.6 の3つ。5.2.4 以上だからどれでも良いのだろうけど、 あまり新しくしてもコンパイルできないとかありそうなので、5.6.21 をダウン ロードすることにした。 [toyota@vjun tmp]$ cd [toyota@vjun ~]$ cd /tmp [toyota@vjun tmp]$ wget -q http://jp2.php.net/get/php-5.6.21.tar.bz2/from/this/ mirror [toyota@vjun tmp]$ md5sum php-5.6.21.tar.bz2 141464ce6b297aa2295b8416c6dbd5e5 php-5.6.21.tar.bz2 [toyota@vjun tmp]$ tar xfj php-5.6.21.tar.bz2 [toyota@vjun tmp]$ du -s -k php-5.6.21 153620 php-5.6.21 150MB もあるのか。コンパイルするだけやってみる。 [toyota@vjun tmp]$ cd php-5.6.21 [toyota@vjun php-5.6.21]$ ./configure --help [toyota@vjun php-5.6.21]$ ./configure ~snip~ checking libxml2 install dir... no checking for xml2-config path... configure: error: xml2-config not found. Please check your libxml2 installation. この辺りは面倒なので、RPM にあれば yum で入れてしまおうかと。 [root@vjun ~]# yum search libxml2 ~snip~ =============================== Matched: libxml2 =============================== libxml2.i386 : Library providing XML and HTML support libxml2-devel.i386 : Libraries, includes, etc. to develop XML and HTML : applications libxml2-python.i386 : Python bindings for the libxml2 library libxslt.i386 : Library providing the Gnome XSLT engine libxslt-devel.i386 : Libraries, includes, etc. to embed the Gnome XSLT engine libxslt-python.i386 : Python bindings for the libxslt library python-dmidecode.i386 : Python module to access DMI data python-lxml.i386 : ElementTree-like Python bindings for libxml2 and libxslt redhat-lsb-graphics.i386 : LSB graphics libraries support for CentOS Enterprise : Linux xmlsec1.i386 : Library providing support for "XML Signature" and "XML : Encryption" standards [root@vjun ~]# yum install libxml2 ~snip~ Package libxml2-2.6.26-2.1.25.el5_11.i386 already installed and latest version Nothing to do 既に入っているみたい。libxml2-devel が必要なのかな。libxml2-devel を入れて みることに。 [root@vjun ~]# yum install libxml2-devel ~snip~ Running Transaction Installing : libxml2-devel 1/1 Installed: libxml2-devel.i386 0:2.6.26-2.1.25.el5_11 Complete! 戻って、configure の続きを。 [toyota@vjun php-5.6.21]$ ./configure ~snip~ Thank you for using PHP. config.status: creating php5.spec config.status: creating main/build-defs.h config.status: creating scripts/phpize config.status: creating scripts/man1/phpize.1 config.status: creating scripts/php-config config.status: creating scripts/man1/php-config.1 config.status: creating sapi/cli/php.1 config.status: creating sapi/cgi/php-cgi.1 config.status: creating ext/phar/phar.1 config.status: creating ext/phar/phar.phar.1 config.status: creating main/php_config.h config.status: executing default commands 一旦 make しておいて、その間に必要な configure オプションを調べる。SRPM なんかをダウンロードして、参考にする。php-5.1.6-45.el5_11 の patch って 240 もあったりして、なんだか凄い。そんな間に make は終わり、問題なさそう なので、configure オプションを色々付けて。 [toyota@vjun php-5.6.21]$ ./configure \ --cache-file=../config.cache \ --with-libdir=lib \ --with-config-file-path=/etc \ --with-config-file-scan-dir=/etc/php.d \ --disable-debug \ --with-pic \ --disable-rpath \ --without-pear \ --with-bz2 \ --with-exec-dir=/usr/bin \ --with-freetype-dir=/usr \ --with-png-dir=/usr \ --with-xpm-dir=/usr \ --enable-gd-native-ttf \ --with-t1lib=/usr \ --without-gdbm \ --with-gettext \ --with-gmp \ --with-iconv \ --with-jpeg-dir=/usr \ --with-openssl \ --with-pcre-regex=/usr \ --with-zlib \ --with-layout=GNU \ --enable-exif \ --enable-ftp \ --enable-sockets \ --with-kerberos \ --enable-shmop \ --enable-calendar \ --with-libxml-dir=/usr \ --enable-xml \ --with-system-tzdata \ --with-mhash ~snip~ configure: error: Cannot find OpenSSL's --with-openssl が効いてるのかな。evp.h を探してみた。 [toyota@vjun php-5.6.21]$ find /usr -name evp.h 見つからない。yum で openssl-devel を入れてみて、configure を再実行したら、 checking for PCRE headers location... configure: error: Could not find pcre.h in /usr と。長くなってきたので、続きは明日。
■ 5月9日WWWNetwork
昨日の続き。OS を新しいものにすれば簡単に解決するところもあるのだけど、 借り物サーバなので、そうもいかないし。昨日の最後、configure でのエラー checking for PCRE headers location... configure: error: Could not find pcre.h in /usr 問題のオプションは --with-pcre-regex=/usr でしょう。yum で pcre-devel を インストールして、configure を再実行。 checking for BZip2 support... yes checking for BZip2 in default path... not found configure: error: Please reinstall the BZip2 distribution 同様に bzip2-devel を yum で入れて、再々実行。 checking for GNU MP support... yes configure: error: Unable to locate gmp.h 同様に gmp-devel を yum で入れて、再々々実行。通ったのは通ったのだけど configure: WARNING: unrecognized options: --with-exec-dir, --with-system-tzdata とのこと。問題ないので、make してみる。 [toyota@vjun php-5.6.21]$ make ~snip~ ext/pcre/.libs/php_pcre.o: In function `zm_info_pcre': /tmp/php-5.6.21/ext/pcre/php_pcre.c:133: undefined reference to `php_pcre_versio n' ext/pcre/.libs/php_pcre.o: In function `zm_startup_pcre': /tmp/php-5.6.21/ext/pcre/php_pcre.c:159: undefined reference to `php_pcre_versio n' ext/pcre/.libs/php_pcre.o: In function `php_pcre_grep_impl': /tmp/php-5.6.21/ext/pcre/php_pcre.c:1870: undefined reference to `php_pcre_fulli nfo' /tmp/php-5.6.21/ext/pcre/php_pcre.c:1894: undefined reference to `php_pcre_exec' ext/pcre/.libs/php_pcre.o: In function `make_subpats_table': /tmp/php-5.6.21/ext/pcre/php_pcre.c:199: undefined reference to `php_pcre_fullin fo' /tmp/php-5.6.21/ext/pcre/php_pcre.c:208: undefined reference to `php_pcre_fullin fo' /tmp/php-5.6.21/ext/pcre/php_pcre.c:209: undefined reference to `php_pcre_fullin fo' ext/pcre/.libs/php_pcre.o: In function `php_pcre_replace_impl': /tmp/php-5.6.21/ext/pcre/php_pcre.c:1128: undefined reference to `php_pcre_fulli nfo' /tmp/php-5.6.21/ext/pcre/php_pcre.c:1159: undefined reference to `php_pcre_exec' ext/pcre/.libs/php_pcre.o: In function `pcre_get_compiled_regex_cache': /tmp/php-5.6.21/ext/pcre/php_pcre.c:292: undefined reference to `php_pcre_fullin fo' /tmp/php-5.6.21/ext/pcre/php_pcre.c:424: undefined reference to `php_pcre_compil e' /tmp/php-5.6.21/ext/pcre/php_pcre.c:420: undefined reference to `php_pcre_maketa bles' /tmp/php-5.6.21/ext/pcre/php_pcre.c:442: undefined reference to `php_pcre_study' ext/pcre/.libs/php_pcre.o: In function `php_pcre_split_impl': /tmp/php-5.6.21/ext/pcre/php_pcre.c:1600: undefined reference to `php_pcre_fulli nfo' /tmp/php-5.6.21/ext/pcre/php_pcre.c:1616: undefined reference to `php_pcre_exec' /tmp/php-5.6.21/ext/pcre/php_pcre.c:1680: undefined reference to `php_pcre_exec' ext/pcre/.libs/php_pcre.o: In function `php_pcre_match_impl': /tmp/php-5.6.21/ext/pcre/php_pcre.c:658: undefined reference to `php_pcre_fullin fo' /tmp/php-5.6.21/ext/pcre/php_pcre.c:693: undefined reference to `php_pcre_exec' /tmp/php-5.6.21/ext/pcre/php_pcre.c:712: undefined reference to `php_pcre_get_su bstring_list' /tmp/php-5.6.21/ext/pcre/php_pcre.c:799: undefined reference to `php_pcre_free' /tmp/php-5.6.21/ext/pcre/php_pcre.c:799: undefined reference to `php_pcre_free' ext/fileinfo/libmagic/.libs/softmagic.o: In function `check_fmt': /tmp/php-5.6.21/ext/fileinfo/libmagic/softmagic.c:371: undefined reference to `p hp_pcre_exec' ext/filter/.libs/logical_filters.o: In function `php_filter_validate_regexp': /tmp/php-5.6.21/ext/filter/logical_filters.c:439: undefined reference to `php_pc re_exec' ext/filter/.libs/logical_filters.o: In function `php_filter_validate_email': /tmp/php-5.6.21/ext/filter/logical_filters.c:547: undefined reference to `php_pc re_exec' ext/spl/.libs/spl_iterators.o: In function `zim_spl_RegexIterator_accept': /tmp/php-5.6.21/ext/spl/spl_iterators.c:2073: undefined reference to `php_pcre_e xec' ext/standard/.libs/browscap.o: In function `browser_reg_compare': /tmp/php-5.6.21/ext/standard/browscap.c:401: undefined reference to `php_pcre_ex ec' collect2: ld returned 1 exit status make: *** [sapi/cli/php] Error 1 configure オプションが無いときは make は通ったし、pcre 周りのようなので、 --with-pcre-regex=/usr オプションを外して configure し直し、再々度 make してみたら通った。make test しろとのことなので、やってみた。10215 もの 数のテストを初めて、時間がかかりそうな雰囲気。しばらく放置したら終わった。 結果は惨憺たるもので。 ===================================================================== TEST RESULT SUMMARY --------------------------------------------------------------------- Exts skipped : 42 Exts tested : 37 --------------------------------------------------------------------- Number of tests : 13749 9601 Tests skipped : 4148 ( 30.2%) -------- Tests warned : 3 ( 0.0%) ( 0.0%) Tests failed : 27 ( 0.2%) ( 0.3%) Expected fail : 31 ( 0.2%) ( 0.3%) Tests passed : 9540 ( 69.4%) ( 99.4%) --------------------------------------------------------------------- Time taken : 1476 seconds ===================================================================== 60も fail を抱えて、ちゃんと動作するのかな。試しに、configure オプションを 何も付けずに make して make test してみた。 ===================================================================== TEST RESULT SUMMARY --------------------------------------------------------------------- Exts skipped : 52 Exts tested : 27 --------------------------------------------------------------------- Number of tests : 13749 9055 Tests skipped : 4694 ( 34.1%) -------- Tests warned : 3 ( 0.0%) ( 0.0%) Tests failed : 13 ( 0.1%) ( 0.1%) Expected fail : 31 ( 0.2%) ( 0.3%) Tests passed : 9008 ( 65.5%) ( 99.5%) --------------------------------------------------------------------- Time taken : 1129 seconds ===================================================================== テスト数が少なくなったのもあるけど、少し減った。あの patch の数はここに 結びついてくるものなのかな。ちょっと保留。
■ 5月10日WWWNetwork
昨日作った PHP を使おうかどうか。新しいバージョンの CentOS の PHP を少し 覗いてみることにした。 [toyota@vjun tmp]$ wget http://vault.centos.org/7.2.1511/os/Source/SPackages/ph p-5.4.16-36.el7_1.src.rpm [toyota@vjun tmp]$ mkdir php-5.4.16-36.1.el7_2.1 [toyota@vjun tmp]$ cd php-5.4.16-36.1.el7_2.1 [toyota@vjun php-5.4.16-36.1.el7_2.1]$ rpm2cpio ../php-5.4.16-36.1.el7_2.1.src. rpm | cpio -id 30023 blocks [toyota@vjun php-5.4.16-36.1.el7_2.1]$ less php.spec php.spec にコメントで、 # /usr/sbin/apsx with httpd < 2.4 and defined as /usr/bin/apxs with httpd >= 2.4 とある。どっちのコマンドも無いなと思ったけど、中身を見る限りこれは typo で /usr/sbin/apsx じゃなくて /usr/sbin/apxs の間違い。 どちらにしても、httpd-devel を入れないといけないし、rpm-build も入れないと いけないし、入れたところでコンパイルしてうまく動くとは限らないし。元は WordPress を少し使ってみたいだけなんだけど。wordpress.com を使うとか、 別な方法も含めてちょっと考え直すことにしてみる。
■ 5月11日WWWLinux
ここ何日か作業しているサーバは、DTI と言うか ServersMan@VPS のサーバで、 OS のバージョンがあげられるのか調べてみたら、CentOS 7 とかにできるみたい。 ログインしてみ見てみると。 OS の選択 さらにパッケージの選択で、「ブログセット」と言うのがあって、調べてみると これを入れると WordPress まで入れてくれるみたいで。 パッケージの選択 これを使ったら、今あるデータのバックアップは必要だけど、インストールに 関しては何の苦労もなくできるな。何だか負けたような気分を味わいそうだけど。 とは言え、CentOS 5.11 というのも古いので、新しくする良い機会かもしれない。 今あるデータのバックアップを始めた。 しばらく放っておいたら、バックアップが終わったので、OS を CentOS 7 にして 初期化してみた。 OS の選択 思ったよりも早く、というかすぐに処理は終わって、web でのアクセスも10分後 にはできるようになった。WordPress も入っているようで。 WordPress 昨日までの苦労は何だったという感じ。これはこれで問題ないが、OS を新しく したので、色々と設定をしなきゃいけない。それはまた明日。
■ 5月12日NetworkLinux
レンタルサーバの OS を新しくしたので、その様子の確認。まずは、ディスクの 容量が大丈夫なのか。 [root@dti-vps-srv734 home]# df -k Filesystem 1K-blocks Used Available Use% Mounted on /dev/simfs 14680064 893840 13786224 7% / devtmpfs 262144 0 262144 0% /dev tmpfs 262144 0 262144 0% /dev/shm tmpfs 262144 4180 257964 2% /run tmpfs 262144 0 262144 0% /sys/fs/cgroup これだけ開いていれば大丈夫か。ログイン用のユーザを作成し、root でのログインを 禁止した後、OS で使っているソフトを新しくするため、yum update してみた。 [root@dti-vps-srv734 home]# yum update ~snip~ --> Processing Conflict: systemd-219-19.el7_2.9.x86_64 conflicts initscripts < 9.49.28-1 --> Finished Dependency Resolution Error: systemd conflicts with initscripts-9.49.17-1.el7_0.1.x86_64 You could try using --skip-broken to work around the problem You could try running: rpm -Va --nofiles --nodigest ちょっと調べてみると、既知の問題のようで、initscripts はアップデートを すると問題があるらしく、その依存性がある update ができない感じ。このまま 使うのはちょっと不安なので、最近問題があったものとかネットワーク周りの ものだけ update しておいた。こんな感じ。 yum update openssl yum update openssh yum update httpd yum update php yum update glibc yum update sudo 現在動いているサービスを確認してみる。まずは、ps コマンドの実行をして、 変なプロセスがないか確認。 [root@dti-vps-srv734 ~]# ps -eo pid,command PID COMMAND 1 init -z 2 [kthreadd/37648] 3 [khelper/37648] 62 /usr/lib/systemd/systemd-journald 73 /usr/lib/systemd/systemd-udevd 95 python /usr/local/share/ajaxterm/ajaxterm.py --port=8022 --uid=nobody 96 /usr/sbin/rsyslogd -n 98 /usr/lib/systemd/systemd-logind 99 /bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --syste md-activation 105 /usr/sbin/crond -n 106 /sbin/agetty --noclear tty1 107 /sbin/agetty --noclear -s console 115200 38400 9600 108 /usr/sbin/saslauthd -m /run/saslauthd -a pam -n 2 114 /usr/sbin/saslauthd -m /run/saslauthd -a pam -n 2 363 /usr/sbin/httpd -DFOREGROUND 366 /usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid 395 /bin/sh /usr/bin/mysqld_safe --basedir=/usr 403 /usr/sbin/httpd -DFOREGROUND 601 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir= /usr/lib64/mysql/plugin --log-error=/var/log/mariadb/mariadb.log --pid-file=/va r/run/mariadb/mariadb.pid --socket=/var/ 641 /usr/sbin/httpd -DFOREGROUND 642 /usr/sbin/httpd -DFOREGROUND 643 /usr/sbin/httpd -DFOREGROUND 644 /usr/sbin/httpd -DFOREGROUND 787 /usr/sbin/sshd -D 793 sshd: toyota [priv] 795 sshd: toyota@pts/0 796 -bash 817 su 818 bash 856 ps -eo pid,command 気になるのは ajaxterm.py と、いらなさそうなのは xinetd か。ajaxterm.py を 調べてみると、AirDisplay で使っているとか。んなもん使わないな。ポートの 開き状態について調べたいので、firewalld の確認。 [root@dti-vps-srv734 etc]# systemctl status firewalld firewalld.service Loaded: not-found (Reason: No such file or directory) Active: inactive (dead) [root@dti-vps-srv734 etc]# systemctl status iptables iptables.service - IPv4 firewall with iptables Loaded: loaded (/usr/lib/systemd/system/iptables.service; enabled) Active: active (exited) since Fri 2016-05-27 18:21:01 JST; 4h 2min ago Process: 93 ExecStart=/usr/libexec/iptables/iptables.init start (code=exited, status=0/SUCCESS) Main PID: 93 (code=exited, status=0/SUCCESS) CGroup: /system.slice/iptables.service May 12 21:21:01 dti-vps-srv734 systemd[1]: Starting IPv4 firewall with iptables ... May 12 21:21:01 dti-vps-srv734 iptables.init[93]: iptables: Applying firewall r ules: [ OK ] May 12 21:21:01 dti-vps-srv734 systemd[1]: Started IPv4 firewall with iptables. どうやら、CentOS 7 にも関わらず iptables が動いているようで。DTI はどんな 理由あって iptables にしているのだろう。iptables の状態を確認。 [root@dti-vps-srv734 etc]# iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination 設定なしっぽいな。xinetd と ajaxterm の停止をする。 [root@dti-vps-srv734 etc]# systemctl stop xinetd.service [root@dti-vps-srv734 etc]# systemctl disable xinetd.service rm '/etc/systemd/system/multi-user.target.wants/xinetd.service' [root@dti-vps-srv734 etc]# systemctl stop ajaxterm.service [root@dti-vps-srv734 etc]# systemctl disable ajaxterm.service iptables を使うか firewalld を使うか。iptables の方が慣れていると言えば 慣れているのだけど、これからは firewalld が使われるだろうから、firewalld を入れて使うことに。 [root@dti-vps-srv734 etc]# yum install firewalld ~snip~ Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: firewalld noarch 0.3.9-14.el7 base 476 k Installing for dependencies: dbus-glib x86_64 0.100-7.el7 base 102 k dbus-python x86_64 1.1.1-9.el7 base 206 k ebtables x86_64 2.0.10-13.el7 base 122 k gobject-introspection x86_64 1.42.0-1.el7 base 230 k libselinux-python x86_64 2.2.2-6.el7 base 247 k pygobject3-base x86_64 3.14.0-3.el7 base 285 k python-decorator noarch 3.4.0-3.el7 base 27 k python-slip noarch 0.4.0-2.el7 base 30 k python-slip-dbus noarch 0.4.0-2.el7 base 31 k Transaction Summary ================================================================================ Install 1 Package (+9 Dependent packages) ~snip~ [root@dti-vps-srv734 etc]# systemctl stop iptables.service [root@dti-vps-srv734 etc]# systemctl disable iptables.service rm '/etc/systemd/system/basic.target.wants/iptables.service' [root@dti-vps-srv734 etc]# firewall-cmd --permanent --zone=public --add-service =http FirewallD is not running firewall-cmd は動かさないと設定できないみたい。ちょっと危険だな。動かした 瞬間にネットワークが切れたら、入れなくなってしまうし。仕方ないけど、やる しかない。 [root@dti-vps-srv734 etc]# systemctl start firewalld.service [root@dti-vps-srv734 etc]# firewall-cmd --permanent --zone=public --add-service =http success [root@dti-vps-srv734 etc]# firewall-cmd --permanent --zone=public --add-port=78 90/tcp success [root@dti-vps-srv734 etc]# systemctl enable firewalld.service ブラウザからアクセスできなくなってしまった。reload かければ有効になるかも しれないとやってみた。 [root@dti-vps-srv734 etc]# firewall-cmd --reload 恐れていたことが起きて、ssh の接続が全部切れてしまった。駄目だと思うが、 web の画面からサーバを再起動してみた。やっぱりログインも web での接続も できない。systemctl enable をしたのが失敗だったな。 仕方ない、インストールからやり直すことに。
■ 5月13日NetworkLinux
昨日と同じことをやって、やっぱり firewalld がうまく動作しない。これは私の オペレーションじゃなく、別に原因があるのではないかと疑い出して調べてみると ServersMan@VPS では仮想化に OpenVZ を使っていて、そのため kernel に近い firewalld が使えないのだとか。これでわざわざ iptables が有効になる理由が わかった。 インストール3回目の作業中。今回は iptables にして進める。
■ 5月14日NetworkLinux
インストールが完了して、サーバの設定中。ifconfig も入ってなかったりして、 やろうとしていることがなかなか進まない。 web サーバの設定をしていて少し躓いたのが vhost の設定で、Directory 指定を してもうまくアクセスできなかった。wordpress の設定を確認してみると、 Require all denied と入っていたので、調べてみると Apache 2.4 からアクセス制限の記述が問題の ようで、httpd.conf に。 <Directory /> AllowOverride none Require all denied </Directory> の記述があるので、そこが効いてしまっている。vhost の Directory 指定中に Require all denied を入れてアクセスできるようになった。 あとは、iptables の設定をすれば落ち着く感じかな。
■ 5月15日WWWOther
ゴールデンウィークの写真を Picasa web でアップロードしようと思い、アクセス してみたら、無くなってしまっており Google フォトの画面にになった。そう 言えば、完全に終了するというニュースを見た気がした。後継の Google フォトを 使って、写真をアップロードすることに。 Google フォトになって操作がだいぶ変わったので慣れなく、特にアルバムの扱いが 変わったところが気になった。Picasa web はアルバムありきの写真だったけど、 Google フォトではアルバムが無くても写真はアップロードできる。この辺りを すぐにわからなかったのが戸惑ったところかな。 しばらく使ってみるけど、コロコロ変えられるのも困りもの。Google リーダの ときを思い出した。
■ 5月16日Windows
Windows10 への無償アップデートの期限が2016年7月28日ということで、残りが 2か月ちょっと。ずっと XP を使っていて、Windows 8 に変えてようやく慣れて 来た頃なので躊躇しているのだけど、時代が時代なのでアップデートすべきなの だろうな。期限が近いとバタバタとして忘れてそうだし、Microsoft のサイトが 重くなるのも心配なので、そろそろアップデートしておこうかな。悩むところでは あるのだけど。
■ 5月17日WWW
WordPress が使える環境になったので、ようやく動かし始めた。設定をしようと したら、更新してくださいと出てきた。 4.5.2 が利用可能 バージョンを上げることで、どこかが動かなくなってしまう可能性があるし、 そもそも更新自体面倒そうだな、なんて思いながらも更新するべきなんだろうと 「更新してください」の部分をクリックしたら、あっさりと更新してくれた。 この便利さが WordPress が使われる理由の1つなんでしょう。プラグインの更新も 出てきているので、クリックしたらあっさりと更新されるし。これは確かに便利。 初めてで慣れないけど、設定とか最低限の外観の設定をしたりして、なんとか 動かせるところまで持っていけた。あとはコンテンツか。
■ 5月18日WWW
昨日の続き。WordPress で Contact Form 7 というものがあったので、それを 使って contact form を付けてみたは良いが、メールで送信するのがデフォルトの ようで。メールじゃなくて、管理画面で見られたりできるようにできないものかと 探してみると、Contact From DB というプラグインがあった。これを入れてみたが DB にも送信されるが、メールを送信しないようにはできない。 私のやり方が悪いだけかもしれないけど、痒い所に手が届かない。もうちょっと 調べてみよう。
■ 5月19日WindowsWWW
ある jpeg ファイルを Photoshop で開いたら、ガイドが出てきた。exif を見て みると、元は Photoshop CS2 で保存されたファイルみたい。jpeg にそんな機能を 入れることができないと思っていたが、拡張領域を使っているのかな。試しに 手元のファイルでガイドラインを入れて jpeg で保存し、再度 Photoshop で開いて みた。 Photoshop やっぱり保存されていた。Photoshop 以外で開くと見えないので、拡張領域を 使っているのだろうな。Photoshop で保存するときは気を付けよう。
■ 5月20日Windows
昨日今日と PC が固まってしまうという珍しいことがおきた。これまでは年に せいぜい2回しかなかったので、気温のせいなのか先週の Windows Update の せいなのか偶然なのか、しばらくこまめに保存をしながら様子をみる必要が出て きている。偶然であることを願いながら。
■ 5月21日WWW
久しぶりにこのページというか tatsuyoshi.net 配下のアクセス解析のページを 確認すると、えらい画面の解像度が低いアクセスが増えている。数で言うと 1/3 に 迫る勢い。何だこれはと、OS を見てわかった。Android のアクセスか。 個人的には、良く5インチとかの小さな画面で見るなと感心してしまうぐらいで、 21インチと比べると 1/18 ぐらいの大きさになるし。解像度はおいて、単純に 大きさだけで考えると、21インチのモニタの方が18倍の情報を表示できるのに。 入力もキーボードの方が早いし、と色々考えてしまうのは歳をとったせいか。
■ 5月22日Other
ポケットにデジカメを入れて作業をしていた。何気なく、工具を当ててしまい、 ポケットの中だから大丈夫かなと思いながら、デジカメを見てみた。TG-620 の 液晶が見事に割れてしまった。 BT3-05S これじゃ防水が効かないだろうし、修理に出しても本体よりも高くなるから、 買い替えコースになってしまう。Tough という名前が付いていても壊れるときは 壊れるな。 どうしよう、新しいのを買おうかどうか。
■ 5月23日Other
自動二輪車の整備に使っているライダーズメンテナンスツールセットという工具 セットのヘキサゴンソケットの先端部分を留める六角穴付き止めねじ(いもねじ) がいつの間にかどこかに言った。このソケット自体は BT3-05S という製品。 BT3-05S このねじだけ入手できないかとホームセンターで探したり、KTC のカタログで 見てみたけど、見つからないので KTC に電話で問い合わせてみた。 KTC の人曰く、この部品だけでは売っていないとのこと。なので、入手するには 先端部分の交換ビットを買うか、ホームセンターなんかのネジ売り場でいもねじを 入手する必要があると。何故交換できるようにしているのかと聞くと、先端部分は 消耗部品なので、交換できるようにしているのだって。 例えば今回の部品自体は BT3-05S で、この先端を交換する場合は T-05 という 先端部分を買うことになる。それぞれの値段が BT3-05S は770円、T-05 は450円 で、その差は320円。どう考えるか難しいところだけど、緩むのでときどき締めて あげなきゃいけなくて、今回のように取れてどっかに行ってしまうならば、一体に した方が良いと思う。その方が部品点数が減って値段も安くなるだろうし。
■ 5月24日Windows
キーボードを掃除するので、一時的にキーボードを HHKB Lite2(USB) にした。 キーボード配列が日本語になってしまっているので、101 に変更しようかと、 デバイスマネージャーで変更してみた。 デバイスマネージャー 「HID キーボードデバイスから」、「標準 PS/2 101/102 キーボード」に変更 してみた。 ドライバ - ソフトウェアの更新 警告が出たけど、気にせずインストールする。 ドライバーの更新警告 ドライバーの更新が終わったら、キーボードが全く使えなくなってしまった。 デバイスマネージャーで確認してみると、警告マークが出ている。 デバイスマネージャー プロパティを見てみたら、 システム リソースが不足するため、API を終了できません。 と出ている。 キーボードのプロパティ 何だか長くなりそうなので、キーボードデバイスを元に戻して、一時的なもの なので、キーボードのキー配列は我慢することにした。[_]と[|]の入力が辛い。
■ 5月25日WWW
wikipedia の表なんかを見ていると、動的に並び替えができるようになっている。 wikipedia が採用しているぐらいだから、ひょっとして table タグだけでできるの ではないかと調べてみたら、JavaScript で実現しているのだと。ちょっとがっくり しながらも、JavaScript で簡単に書けるか調べてみたる。単純に実現するなら、 思ったよりも簡単にできるかも、ということでやってみた。 できたのはこんな感じ。 JavaScript 25行ぐらいでできるとは。
■ 5月26日WWW
「^」の文字を上下反転させたかったので、div タグで transform を使って回転 させて表示できた。こんな感じ。右に寄ったので、table タグで囲ったけど。
^
これを span タグでインラインで入れたかったのだけど、transform はインライン 要素だと効かないようで。下は span タグでやってみた結果。 ^ どうにかならんものかな、と思って調べてみると、span タグにインライン指定 display:inline-block を追加すればできるのだとか。やってみた。
^
できた。html も奥が深い。
■ 5月27日LivaLinux
しばらく問題なく可動していた Liva に接続できなくなった。ping を投げてみると 返ってくるので、ネットワークの問題ではなさそう。電源を入れ直してみたけど、 起動していないのか ping の応答もなくなった。 仕方なく HDMI のケーブルと、キーボードを接続してみた。起動は特に問題なく、 大丈夫かなと思って、ケーブルとキーボードを取り外した。で、外から ssh で 接続してみようとしたら、やっぱり駄目。問題の根が深そう。現在の kernel は USB が使えないようにしているので、kernel を切り替えて起動しないといけない。 時間がかかりそうだな、ということで続きは明日にした。
■ 5月28日LivaLinux
昨日の続き。USB が使える Kernel で起動して、sshd を起動してみる。 [root@mygeeto system]# systemctl start sshd Error getting authority: Error initializing authority: Error calling StartServi ceByName for org.freedesktop.PolicyKit1: Timeout was reached (g-io-error-quark, 24) Failed to start sshd.service: Connection timed out 前段で問題が起きているみたい。org.freedesktop.PolicyKit1 は何のサービスで 起動しているのかと言うと、どうも polkit.service みたい。 [root@mygeeto system]# cat polkit.service [Unit] Description=Authorization Manager Documentation=man:polkit(8) [Service] Type=dbus BusName=org.freedesktop.PolicyKit1 ExecStart=/usr/lib/polkit-1/polkitd --no-debug polkitd を手動で叩いてみる。 [root@mygeeto system]# /usr/lib/polkit-1/polkitd Successfully changed to user polkitd 22:39:23.739: Loading rules from directory /etc/polkit-1/rules.d 22:39:23.740: Loading rules from directory /usr/share/polkit-1/rules.d 22:39:23.743: Finished loading, compiling and executing 2 rules Entering main event loop Connected to the system bus 22:39:23.749: Acquired the name org.freedesktop.PolicyKit1 on the system bus ここで止まってしまった。そもそも、ここで止まったのが正しいのかどうかさえ 良くわからない。 色々見て行くうちに、今月13日に yum update したのが問題だったようで、試しに yum history undo 5 と undo してみたけど、エラーが出て You could try using --skip-broken to work around the problem You could try running: rpm -Va --nofiles --nodigest と返ってきたりして。 どうしたものかと web で探してみたら、polkit のユーザがないと起きうるエラー らしい。/etc/passwd で確認してみたら、ユーザは居た。 systemctl で確認してみると、この影響で httpd も postfix も起動してなくて、 困った状態。sshd も httpd も systemctl を使わずに直接叩いて実行すれば動く ので、polkit が必要とも思えないのだけど、systemctl というか systemd が どう絡んで polkit を必要と判断しているのか解析中。init.d にスクリプトが あった頃の方がわかりやすかったな。
■ 5月29日LinuxWWW
302 リダイレクトをしようと .htaccess ファイルを作って置いた。ブラウザで 試してみたら、Internal Server Error が起きる。error.log を確認すると。 /home/toyota/www/.htaccess: RewriteEngine not allowed here と出ている。httpd.conf の設定を見直し。こんな設定になっていた。 <Directory "/home/toyota/www/"> AllowOverride none Options none Require all granted <Directory> AllowOverride に FileInfo を追加した。 <Directory "/home/toyota/www/"> AllowOverride FileInfo Options none Require all granted </Directory> これでアクセスしてみたら、リダイレクトされない。ログを確認してみる。 AH00670: Options FollowSymLinks and SymLinksIfOwnerMatch are both off, so the RewriteRule directive is also forbidden due to its similar ability to circumvent directory restrictions : /home/toyota/www/ となっていたので、Options に FollowSymLinks か SymLinksIfOwnerMatch の どちらかを有効にしないといけないみたい。転送先ディレクトリのオーナが異なる ので、FollowSymLinks の設定にした。 <Directory "/home/toyota/www/"> AllowOverride FileInfo Options FollowSymLinks Require all granted </Directory> これでエラーはなくなったが、リダイレクトされない。.htaccess はこんな設定に なっている。 RewriteRule ^/$ /orange/ [R=301,L] httpd.conf では、 DirectoryIndex index.html になっているので、 RewriteRule ^/index.html$ /orange/ [R=301,L] の設定にしてみても状況変わらず。DirectoryIndex との連携がうまくいってない のかもしれないなと調べてみた。どうも、最初の / はいらないみたい。 RewriteRule ^$ /orange/ [R=301,L] にすることで、うまくリダイレクトされるようになった。
■ 5月30日ElectricOther
最近使っていなかったモバイルバッテリーをたまには使わないとな、と思って 引っ張り出してきて、スマートフォンに接続した。しかしである、よく考えて みると、モバイルバッテリーの中は 3.7V で、スマートフォンのバッテリーも 3.7V ある、何でわざわざ 5V に昇圧してから降圧させてるんだろうとおかしな 無駄に気が付いた。多分、これで 10% ぐらい効率が悪くなっている気がする。 スマートフォンの電池はあまり抜くことが無くなったし、どうすれば効率が良く なるのか考えてしまったが、結局のところ 5V は悪くないかと思ってきた。
■ 5月31日Other
電池の持ちがどうこうと言っていたワイヤレスマウス BSMOW08 だけど、ここの ところ左クリックがうまく反応しない現象が出てきた。右クリックならまだしも、 左クリックだから、クリックしたつもりで操作してイラっとくることが何度か。 1年も使ってないのに、もう壊れかけてくるとは。次に買うマウスを考えておく 必要がありそう。
21st projects Tatsuyoshi Networks Prompt Works
by Tatsuyoshi since 2003