phpMyAdmin がバージョン 4.8.0 からデフォで Twig を使い始めたという話。

 一昨日、 phpMyAdmin を 4.7.9 から 4.8.0 に更新した。公式によると、 ‘it is possible to install phpMyAdmin from our own Composer repository.’ ということらしいが、いまだに自分流の手動インストを行っている。ところでその更新後、 phpMyAdmin のルートディレクトリに tmp というフォルダがあるのに気づいてビックリ。もっとも、これは変なものではなかったのだが……。
“phpMyAdmin がバージョン 4.8.0 からデフォで Twig を使い始めたという話。” の続きを読む

phpMyAdmin や WordPress から MariaDB にセキュア接続する。

 さて、「MariaDB でセキュア接続」が出来たので、自鯖の SQL サーバがセキュアになった。というわけで、 phpMyAdmin と WordPress の設定をそれに合わせて変更する。
 各バージョンは MariaDB 10.2.9 win 32-bit、 phpMyAdmin 4.7.4、 WordPress 4.8.2 で、サーバ機は Windows 7 32-bit HE SP1 である。
“phpMyAdmin や WordPress から MariaDB にセキュア接続する。” の続きを読む

phpMyAdmin4.6.6 にアップデートした。

本日, phpMyAdmin4.6.6 にアップデートしたら,ログイン時に “OpenSSL error: error:0607A082:digital envelope routines:EVP_CIPHER_CTX_set_key_length:invalid key length” というのが出るようになった。
 おそらく, 👉 $cfg[‘Servers’][$i][‘ssl_verify’] のせいではないかと思うのだが……。

 説明部分に, “Disabling the certificate verification defeats purpose of using SSL. This will make the connection vulnerable to man in the middle attacks.” というのが入っているが,自鯖の SQL server と phpMyAdmin は NAT ルータ内にあるし,ユーザも私だけなので,一時しのぎとして, config.inc.php に下記を付け加えて回避することにした。

$cfg['Servers'][$i]['ssl_verify'] = false;

WordPress4.6 が来たよ。

 実は, 1 度失敗した。ブラウザのステータスバーに「完了」が出たのに,進行状態を示すページには初めの 2 行しか出てこなくて,更新してください表示も消えてくれない。そんなわけで,再度チャレンジしたら,「Another update is currently in progress.」をいただいてしまった―ウッウッ。

 FTP 経由で,サイトを見てみたが, .maintenance ファイルがない。何をすりゃいいんだと Google 先生にお伺いを立てたら, ‘Get rid of Another update is currently in progress’ というのがあった。
“WordPress4.6 が来たよ。” の続きを読む

覚え書-#31。

投稿アップデート情報  追記(7/21)

 チョコチョコとサーバソフトのアップデートをした。

  1. ActivePerl-5.22.1.2201 から ActivePerl-5.24.0.2400 に。
    ActivePerl-5.22.1.2201-MSWin32-x86-64int-299574.msi をインストールしてたんだが,今回から msi 形式がなくなっていたので, ActivePerl-5.24.0.2400-MSWin32-x86-64int-300558.exe をインストールしようとしたのだが,下記のエラーが出てうまくいかなかった。

    Error 1723. There is a problem with this Windows Installer package. A DLL required for this install to complete could not be run. Contact your support personnel or package vendor.  Action CheckInstallDir, entry: CheckInstallDirNoBox, library: C:\Users\UserID\AppData\Local\Temp\MSIXXXX.tmp

    “覚え書-#31。” の続きを読む

覚え書-#28。

 PHP7.0.3 が出たので,一昨日アップデートした。 ChangeLog はここね。自鯖は Windows7 HE SP1 x86 なので, php-7.0.3-Win32-VC14-x86.zip をダウンロードした。
 新 php.ini-production の変更点はコメント文のみ。 php.ini について,もっと詳しい情報をという方は,「本家のお世話-#109。(PHP 5.5.16 から PHP 5.6.0 への移行)」をご覧ください。 “覚え書-#28。” の続きを読む

覚え書-#26。

 HTTP/2 にかまけているけれども, MariaDB 10.1.8 のインストールについても書いておこう。アップデートではないよ。 PHP5.6.15,phpMyAdmin4.5.1,ActivePerl-5.20.2.2002 も昨日まとめて面倒見たので,それについても触れておく。 “覚え書-#26。” の続きを読む

本家のお世話-#116。(phpMyAdmin 4.5.0.2へアップデート)

 9/23 に phpMyAdmin 4.5.0.0, 9/24 に 4.5.0.1, 9/24 に 4.5.0.2 が出ましてん。なんちゅう目白押し。ハハハ。これが ChangeLog さんでやんす。 4.5.0.0 はあれこれと改良されてるが, 4.5.0.1 と 4.5.0.2 は単なる bugfix version ス。 “本家のお世話-#116。(phpMyAdmin 4.5.0.2へアップデート)” の続きを読む

本家のお世話-#111。(phpMyAdmin 4.3.1へアップデート)

 12/5 に phpMyAdmin 4.3.0 が 12/8 に 4.3.1 が出た。で,昨日, 4.2.13.1 から 4.3.1 にアップデートした。 ChangeLog はこんな感じ。 4.3.0 はいろいろと改良されているみたいだが, 4.3.1 は単なる bugfix バージョン。

 いつも通り, phpMyAdmin-4.3.1-english.zip をダウンロードして解凍。古い config.inc.php を新しくできた phpmyadmin フォルダにコピーし,すべてをサーバにアップロードする。(「Windows7上にWamp系WebServerを建てる-#3。」参照。)

 古い config.sample.inc.php (=Ver.4.2.x) と新しいのを比べたら, 1 行減って, 1 行増えていた。

/* Storage database and tables */ のところ
 減った行
     // $cfg[‘Servers’][$i][‘designer_coords’] = ‘pma__designer_coords’;

 増えた行
     // $cfg[‘Servers’][$i][‘central_columns’] = ‘pma__central_columns’;

4.3.1 の警告
4.3.1 の警告
 しょっぱなにログインすると,「The phpMyAdmin configuration storage is not completely configured, some extended features have been deactivated. Find out why. Or alternately go to ‘Operations’ tab of any database to set up it there」が出た。前半は,いつもの環境保管領域に関しての注意書きだが,後半が増えている。要するに,手作業でセットアップをやってもいいよってことダネ。

 「Find out why」をクリックすると,右図のように問題点が表示される。また,対処法も書いてある。表題の日本語のみ,ちょっと,変だね。

     高度な機能の設定する簡単な方法:

     Create the needed tables with the ./examples/create_tables.sql.
     作ったテーブルにアクセスできる pma ユーザを作成します。
     設定ファイル (config.inc.php) で高度な機能を有効にします。 config.sample.inc.php に
     ある設定例をコピーするといいでしょう。
     更新した設定ファイルを読み込むために phpMyAdmin にログインし直します。

 下記のことをやった。

  1. 古い config.inc.php のままで,新バージョンに root として,ログオンする。
  2. phpmyadmin データベース上での, controluser(Default : pma) の特権に ALTER を追加する。
  3. 新しい, create_tables.sql をインポートする。データベース名 (Default : phpmyadmin) や controluser 名 (Default : pma) をいじっている場合は,インポート前に, create_tables.sql を編集しておく。(「phpMyAdmin 環境保管領域」参照。)
  4. ログアウト。
  5. 前の config.inc.php を編集する。
    • 削除する行
           $cfg[‘Servers’][$i][‘designer_coords’] = ‘pma__designer_coords’;
    • 追加する行
           $cfg[‘Servers’][$i][‘central_columns’] = ‘pma__central_columns’;
  6. 再度, root としてログオン。
  7. テーブル pma__designer_coords を削除する。

 以上。

 ところで, central columns についての説明が central_columns にあるが,読んでも使い方がよくわからない。どうやったら,記録できるのか???

初めての VPS-#3 (CentOS7 上に LAMP を構築)。

 はやぶさ 2 の打ち上げ,再延期になっちゃいましたねぇ。 12 月 3 日 (水) 13 時 22 分 04 秒の予定だそうです。三度目の正直で,今度こそ晴れてほしいなぁ。

 さて, SELinux を有効にしたままで, CentOS7 上に LAMP を構築しようと思う。
 LAMP 構築に先立って,以下の 3 4 つをやった。

  1. $ sudo vi /etc/pam.d/su
    下記の行をアンコメントする。
    #auth required pam_wheel.so use_uid –>> auth required pam_wheel.so use_uid
    これで, Wheel Group 外のユーザは ‘su’ コマンドを使っても, root にはなれなくなった。
  2. $ sudo vi /etc/aliases
    ファイルの最下行をアンコメントし,ユーザ名を変更する。
    #root: marc –>> root: centos
    $ sudo newaliases
    これで,ユーザ centos が root 宛てのメールを受け取れるようになった。
  3. タイムゾーンをチェックする。
    $ sudo timedatectl status
    特に,問題なし。
    $ sudo systemctl status chronyd.service
    結果に, “System clock wrong by 1.088336 seconds, adjustment started” というのがあったので, /etc/chrony.conf を編集した。
    $ sudo vi /etc/chrony.conf
    中に “# Use public servers from the pool.ntp.org project.” と書いてあったので, pool.ntp.org に行ってみたら,使い方があった。その指示に従って, ‘+’ の 4 行を追加し, ‘-’ の 4 行を削除した。
    +server 0.pool.ntp.org iburst
    +server 1.pool.ntp.org iburst
    +server 2.pool.ntp.org iburst
    +server 3.pool.ntp.org iburst
    server 0.centos.pool.ntp.org iburst
    server 1.centos.pool.ntp.org iburst
    server 2.centos.pool.ntp.org iburst
    server 3.centos.pool.ntp.org iburst
    サービスを再起動して,確認。
    $ sudo systemctl restart chronyd.service
    $ sudo systemctl status chronyd.service
    よくなった。
  4. パッチ自動更新用。
    $ sudo yum install yum-cron
    $ sudo vi /etc/yum/yum-cron.conf
     行番号 20: apply_updates = no –>> apply_updates = yes
    $ sudo systemctl start yum-cron.service
    $ sudo systemctl enable yum-cron.service

1 Apache Httpd のインストール   2 MariaDB のインストール   3 PHP のインストール
4 phpMyAdmin のインストール   5 vsftpd のインストール

 
||Apache Httpd のインストール||

  1. $ sudo yum install httpd
    インストールされたバージョンは, httpd.x86_64 2.4.6-18.el7.centos だった。
  2. /etc/httpd/conf/httpd.conf を編集する。
    $ sudo vi /etc/httpd/conf/httpd.conf
     
    :set nu’ で行番号を表示する。

    • 行番号 42: Listen 80 –>> Listen Server_global_IP:80
    • 行番号 86: ServerAdmin root@localhost –>> ServerAdmin My_email_address
    • 行番号 95: #ServerName www.example.com:80 –>> ServerName VPS_DomainName:80
    • 行番号 119: DocumentRoot "/var/www/html" –>> DocumentRoot "/home/centos/www/html"
    • 行番号 124: <Directory "/var/www"> –>> <Directory "/home/centos/www">
    • 行番号 131: <Directory "/var/www/html"> –>> <Directory "/home/centos/www/html">
    • 行番号 144: Options Indexes FollowSymLinks –>> Options FollowSymLinks
    • 行番号 151: AllowOverride None –>> AllowOverride FileInfo Indexes Limit
      うちの場合,この行の変更は, WordPress のためである。
    • 行番号 164: DirectoryIndex index.html –>> DirectoryIndex index.php index.html
  3. 注) exstra.conf の場所: /etc/httpd/conf.d
    デフォルトの exstra conf : autoindex.conf, userdir.conf, welcome.conf
  4. 注 2) module.conf の場所: /etc/httpd/conf.modules.d/
  5. 注 3) log ファイルのローテートの設定をしていないのだが, Apache Httpd が自動でやってくれているようだ。(サーバを 1 日以上稼働したのち, /var/log/httpd/ を見たら,日ごとの log になっていた)。いつからこうなったんだろう?それとも, CentOS7 固有の機能なのか?
  6. 通常,ユーザのホームディレクトリのパーミッションは 700 であるが, httpd のアクセスを許可するために, 701 にしておかなくてはいけない。このことは, userdir.conf に書いてあった。
    $ chmod 701 centos
  7. DocumentRoot をユーザホームディレクトリに割り当てたので, httpd がアクセスできるように, SELinux の設定を変更する。これについての情報は, httpd_selinux(8) にあった。しかし, CentOS7 で見ようとしたら httpd_selinux(8) が空だったんだが,どうしてだろう。
    この際,オンラインの httpd_selinux(8) をご覧あれ。
    $ sudo setsebool -P httpd_enable_homedirs on
    $ sudo systemctl start httpd.service
    サービスを起動したら,エラーメッセージ “Job for httpd.service failed. See ‘systemctl status httpd.service’ and ‘journalctl -xn’ for details.” が出ちゃった。ユーザディレクトリに ‘www’ と ‘html’ を作るのを忘れてた。ユーザ centos として,以下の作業をやった。
    [centos@localhost ~]$ mkdir www
    [centos@localhost ~]$ cd www
    [centos@localhost www]$ mkdir html
    ここで,両ディレクトリの context を確認しておく。
    $ ls -Z
    drwxrwxr-x. test test unconfined_u:object_r:httpd_user_content_t:s0 www
    $ ls -Z
    drwxrwxr-x. test test unconfined_u:object_r:httpd_user_content_t:s0 html
  8. 再度, $ sudo systemctl start httpd.service
  9. $ sudo firewall-cmd --permanent --zone=public --add-service=http
    Httpd テストページ
    Httpd テストページ
    $ sudo firewall-cmd --reload
    $ sudo systemctl enable httpd.service
    注 4) 各 Well-Known-Port の設定は,前もって済んでいるみたいだ。そんなわけでポート 80 についての firewall-cmd はいらない模様。
  10. http://VPS_DomainName/ にアクセスすると,右の図のようなページが見えるはずである。

||MariaDB のインストール||

  1. $ sudo yum install mariadb-server mariadb
    インストールされたバージョンは, mariadb.x86_64 1:5.5.40-1.el7_0 と mariadb-server.x86_64 1:5.5.40-1.el7_0 だった。
  2. $ sudo systemctl start mariadb
  3. $ sudo mysql_secure_installation
    Enter current password for root (enter for none): <<-- [Enter] キーを打つ。 Set root password? [Y/n] <<-- [Enter] キーを打つ。 New password: <<-- root のパスワードを設定。 Re-enter new password: <<-- パスワードの確認 = もう一度打つ。 以下の項目については, [Enter] キーを打つ⇩。 Remove anonymous users? [Y/n]
    Disallow root login remotely? [Y/n]
    Remove test database and access to it? [Y/n]
    Reload privilege tables now? [Y/n]
  4. $ sudo systemctl enable mariadb.service

||PHP のインストール||

  1. $ sudo yum install php php-mysql php-mbstring
    インストールされたバージョンは, php.x86_64 5.4.16-23.el7_0.3 , php-mbstring.x86_64 5.4.16-23.el7_0.3 , php-mysql.x86_64 5.4.16-23.el7_0.3 だった。
    php.conf はインストール時に,自動的に /etc/httpd/conf.d に作られる。
  2. /etc/php.ini を編集する。
    $ sudo vi /etc/php.ini
     
    :set nu’ で行番号を表示する。

    • 行番号 243: output_buffering = 4096 –>> output_buffering = Off
    • 行番号 314: disable_functions = –>> disable_functions ="shell_exec, suexec, passthru"
    • 行番号 375: expose_php = On –>> expose_php = Off
    • 行番号 811: allow_url_fopen = On –>> allow_url_fopen = Off
    • 行番号 878: ;date.timezone = –>> date.timezone ="Asia/Tokyo"

    注 5) additional.ini の場所: /etc/php.d
    デフォルトの additional ini: curl.ini, fileinfo.ini, json.ini, mbstring.ini, mysql.ini, mysqli.ini, pdo.ini, pdo_mysql.ini, pdo_sqlite.ini, phar.ini, sqlite3.ini, zip.ini

  3. $ sudo systemctl restart httpd.service

||phpMyAdmin のインストール||

  1. phpMyAdmin がほしいんだが, base, extras, updates リポジトリにはなかったので, ‘epel’ を追加することにした。
    $ sudo yum install epel-release
  2. $ sudo yum install phpmyadmin
    インストールされたバージョンは, phpMyAdmin.noarch 4.2.11-1.el7 だった。
    phpMyAdmin.conf はインストール時に,自動的に /etc/httpd/conf.d に作られる。
  3. /etc/httpd/conf.d/phpMyAdmin.conf を編集する。
    $ sudo vi /etc/httpd/conf.d/phpMyAdmin.conf

    うちの phpMyAdmin.conf は下記のような感じ。
    # phpMyAdmin - Web based MySQL browser written in php
    #
    # Allows only localhost by default
    #
    # But allowing phpMyAdmin to anyone other than localhost should be considered
    # dangerous unless properly secured by SSL

    Alias /phpMyAdmin /usr/share/phpMyAdmin
    Alias /phpmyadmin /usr/share/phpMyAdmin

    <Directory /usr/share/phpMyAdmin/>
       AddDefaultCharset UTF-8

       <IfModule mod_authz_core.c>
         # Apache 2.4
         <RequireAny>
           Require ip my_global_IP
           Require host my_mobile_host
         </RequireAny>
       </IfModule>
    </Directory>

    <Directory /usr/share/phpMyAdmin/setup/>
       <IfModule mod_authz_core.c>
         # Apache 2.4
         <RequireAny>
           Require ip my_global_IP
           Require host my_mobile_host
         </RequireAny>
       </IfModule>
    </Directory>

  4. $ sudo systemctl restart httpd.service

||vsftpd のインストール||

  1. $ sudo yum install vsftpd
    インストールされたバージョンは, vsftpd.x86_64 3.0.2-9.el7 だった。
  2. Edit /etc/vsftpd/vsftpd.conf.
    $ sudo vi /etc/vsftpd/vsftpd.conf
     
    :set nu’ で行番号を表示する。

    • 行番号 12: anonymous_enable=YES –>> anonymous_enable=NO
    • 行番号 82: #ascii_upload_enable=YES –>> ascii_upload_enable=YES
    • 行番号 83: #ascii_download_enable=YES –>> ascii_download_enable=YES
    • 行番号 100: #chroot_local_user=YES –>> chroot_local_user=YES
    • 行番号 101: #chroot_list_enable=YES –>> chroot_list_enable=YES
    • 行番号 103: #chroot_list_file=/etc/vsftpd/chroot_list –>> chroot_list_file=/etc/vsftpd/chroot_list
    • 行番号 128: –>> local_root=www/html
  3. $ sudo setsebool -P ftp_home_dir on
    local_enable=YES をアンコメントしている場合は, on にするようにと, vsftpd.conf に書いてあった。
  4. $ sudo vi /etc/vsftpd/chroot_list
    chroot_list に ‘admin’ を追加した。
  5. “chroot_~” をアンコメントして,一般ユーザとして, FTP 経由でアクセスしたら, 500 OOPS: vsftpd: refusing to run with writable root inside chroot() が出た。
    で, allow_writeable_chroot=YES を vsftpd.conf に追加。この情報は, 500 OOPS: vsftpd: refusing to run with writable root inside chroot() Login failed on debian (魚拓です)からもらった。
    行番号 104: –>> allow_writeable_chroot=YES
  6. $ sudo systemctl start vsftpd.service
    $ sudo systemctl enable vsftpd.service
    $ sudo firewall-cmd --permanent --zone=public --add-service=ftp
    $ sudo firewall-cmd --reload