cronの「tput: No value for $TERM and no -T specified」というエラーの原因と対処

October 21,2020 11:55 PM
Category:[Linux]
Tag:[cron, Linux]
Permalink

cronの「tput: No value for $TERM and no -T specified」というエラーの原因と対処方法を紹介します。

1.問題点

Linuxのcronでtputコマンドを含むbashスクリプトを実行すると、「tput: No value for $TERM and no -T specified」というエラーが発生します。

test.sh

#!/bin/bash
 
export PATH=$PATH:/usr/sbin/
tput cub 1

注:実際は標準入力を伴うカーソル移動スクリプトですが、問題点を明確にするために最小限の記述にしています。

参考:シェルスクリプトで動作するコマンドラインインタフェース>

cronメールの結果

Date: Fri, 16 Oct 2020 17:22:01 +0900 (JST)
Status: RO
 
tput: No value for $TERM and no -T specified

このエラーを解消する方法がわかりません。

ということで、cronの「tput: No value for $TERM and no -T specified」というエラーの原因と対処方法を紹介します。

2.原因

tputは、$TERM変数を調べて現在のターミナルを判別し、正しい制御シーケンスを生成できるようにしています。

cronから実行されているときはターミナルが存在ないため、tputでエラーが発生するようです。

3.対処方法

TERM変数をcronに記載します。

00 * * * * export TERM=xterm; /home/foo/test.sh

cronメールの結果

Date: Fri, 16 Oct 2020 17:36:01 +0900 (JST)
Status: R
 
?[1D

"?[1D"はtputが正常に動作した結果です。

4.参考サイト

参考サイトは下記です。ありがとうございました。

Comments [0] | Trackbacks [0]

Adobe Premiere Proで「A low-level exception occurred in:Adobeプレイヤー(Player:x)」となる場合の対処

October 17,2020 11:55 PM
Category:[Premiere Pro]
Tag:[Adobe, PremierePro]
Permalink

Adobe Premiere Proで「A low-level exception occurred in:Adobeプレイヤー(Player:x)」となる場合の原因と対処方法

1.問題点

Adobe Premiere Proでテロップを挿入しようと思い、新規タイトルを作成して、タイムラインパネルにドラッグしたところ、「A low-level exception occurred in:Adobeプレイヤー(Player:5)」というエラーが発生しました(キャプチャは「Player:6」ですが発生時は「Player:5」)。

エラーが発生するとテロップ表示もできませんが、再生もできなくなります。

ということで、Adobe Premiere Proで「A low-level exception occurred in:Adobeプレイヤー(Player:x)」となる場合の原因と対処方法を紹介します。

2.原因

原因はAdobe Premiere Pro v14.1のバグのようです。

参考サイト:エラーがでて映像が再生されない

3.対処方法

レンダラーを「Mercuy Playback Engine - ソフトウエア処理」に変更します。以下変更手順です。

「ファイル」→「プロジェクト設定」→「一般」をクリック。

「レンダラー」をクリック。

「Mercuy Playback Engine - ソフトウエア処理」を選択して「OK」をクリック。

これでタイトルを作成して、タイムラインパネルにドラッグしてもエラーが発生しなくなります。

Comments [0] | Trackbacks [0]

ノートン製品の自動延長を停止する方法

October 2,2020 11:55 PM
Category:[Windows]
Tag:[Norton]
Permalink

ノートン製品の自動延長を停止する方法を紹介します。

1.はじめに

ノートンからメールが届いて、そのとき製品が自動延長になっていることを知りました。

ということで、ノートン製品の自動延長を停止する方法を紹介します。

2.ノートン製品の自動延長を停止する

ノートン製品の自動延長を停止するには、「【シマンテックストア】自動延長サービス・課金完了のご案内」というメールを開き、メール本文にある「保険詳細ページ」のリンクをクリック。

(クリックで拡大、以下同様)

開いたページの右上にある「注文情報の確認」をクリック。ページのURLはhttps://www.nortonstore.jp/orderstatus/です。

注文番号とメールアドレスを入力して「次へ」をクリック。

入力する注文番号は、メール本文の「自動延長サービス対象製品」の「自動延長加入時のご注文番号」を設定します(次の画面で「自動延長サービスの申込状況確認・停止手続き」が表示されなければ、もうひとつの注文番号でやり直してみてください」)

「自動延長サービスの申込状況確認・停止手続き」をクリック。

「自動延長」の「停止」をクリック。

「自動延長サービスを停止してもよろしいですか?」というポップアップが表示されるので「はい」をクリック。

停止が選択されたことを確認して、一番下の「停止」をクリック。

自動延長サービスの停止内容確認画面になります。

アンケートを入力して一番下の「停止」をクリック。

ポップアップが表示されるので「停止する」をクリック。

自動延長サービスの停止完了画面が表示されます。これで作業完了です。

Comments [0] | Trackbacks [0]

iPhoneのsafariで日本語に翻訳する方法

September 20,2020 11:55 PM
Category:[iPhone]
Tag:[]
Permalink

iPhoneのsafariで日本語に翻訳する方法を紹介します。

1.翻訳手順

設定の前に翻訳手順を示します。

任意の海外サイトを開いて、URL欄をタップ。

お気に入りの一覧が表示されるので「Google翻訳」をタップ。

これで翻訳されました。

ということで、2枚目のスクリーンショットに表示された「Google翻訳」の設定方法を次項で紹介します。

2.設定方法

まず「Google翻訳」の元になるページを「お気に入り」へ設定します。ここではGoogle検索のページを開き、下にある真ん中のアイコンをタップ。

「お気に入りに追加」をタップ。

右上の「保存」をタップ。

次に、保存したページをGoogle翻訳用の内容に変更します。下にある「ブックマーク」アイコンをタップ

ブックマーク一覧画面が表示されるので、右下の「編集」をタップ。

保存した「Google」が一番下に表示されているので、それをタップ。

ブックマーク編集画面が表示されるので、名前を「Google翻訳」に変更。

URL欄をタップして、右側の×印をタップ。

これでURLが削除されるので、タップして下のURLをペーストしてください。

javascript:q=location.href;void(location.href='http://translate.google.com/translate?hl=ja&sl=auto&u='+q);

このように表示されたことを確認して、左上の「お気に入り」をタップして前の画面に戻ります。

編集した「Google翻訳」の右側にあるアイコンを長押しタップして一番上にドラッグ。

一番上に移動したら、右下の「完了」をタップ。これで設定完了です。

Comments [0] | Trackbacks [0]

Windows10+XAMPP起動時に「Error: Cannot create file "C:\xampp\xampp-control.ini". アクセスが拒否されました」となる不具合の対処方法

September 11,2020 11:55 PM
Category:[Windows]
Tag:[Windows, XAMPP]
Permalink

Windows10+XAMPP起動時に「Error: Cannot create file "C:\xampp\xampp-control.ini". アクセスが拒否されました」となる不具合の対処方法について紹介します。

1.問題点

Windows10にインストールしたXAMPPの起動(xampp-control.exe)時、言語選択のダイアログが表示されます。

が、このあと、「Error: Cannot create file "C:\xampp\xampp-control.ini". アクセスが拒否されました」というエラーが表示されます。

ただしXAMPP自体はこのあと正常に立ち上がります。

ということで、Windows10+XAMPP起動時に「Error: Cannot create file "C:\xampp\xampp-control.ini". アクセスが拒否されました」となる不具合の対処方法について紹介します。

2.原因

おそらく原因は管理者権限でXAMPPが起動できていないためと思われます。

3.対処方法

管理者権限でエディタを開きます。ここではメモ帳で行ってみます(他のエディタでも構いません)。

「スタート」→「Windowアクセサリ」をクリックして開き、「メモ帳」を右クリックして「その他」→「管理者として実行」を選択。

「このアプリがデバイスに変更を加えることを許可しますか?」と聞かれるので「はい」をクリック。

メモ帳の「ファイル」→「開く」を選択。

右下のファイルの種類を「すべてのファイル」に変更して、C:\xampp直下にあるxampp-control.iniを選択して、「開く」をクリック。

「Language=」の行を「Language=en」に変更して保存します。

これでXAMPPを起動すれば言語の選択やエラーが表示されずに起動します。

4.その他

XAMPPを起動する場合、xampp-control.exeを右クリックして「管理者として実行」を選択すると、日本語の画面が表示されます。

ただしこの方法ではMySQLやApacheが正常に起動しないようです。

Comments [0] | Trackbacks [0]

Workflowプラグイン(個別多段階承認版)

September 1,2020 11:55 PM
Category:[ワークフロー]
Tag:[MovableType, Plugin, Workflow]
Permalink

Movable Type 7対応のWorkflowプラグイン(個別多段階承認版)を現在開発中です。

1.機能

以前、「Movable Type「Workflowプラグイン」に記事単位のワークフロー機能追加」をリリースしましたが、今回は記事単位のワークフロー用の多段階承認グループの作成機能を追加します。

グループ作成で下記の用に多段階承認ユーザーを改行区切りで設定します。

記事をワークフロー対象にします。

この記事を承認待ち状態にすると「承認依頼」フィールドが表示され、承認グループを選択します。

さきほど作成した承認グループを選択すると、グループに登録されているユーザーが表示されます。一番上のユーザーから多段階承認になります。

承認依頼をするとステータスが承認待ちになります。

2.プラグインのダウンロード

Workflowプラグインの詳細については下記のリンクからどうぞ。

Workflowプラグイン
Workflowプラグイン

Comments [0] | Trackbacks [0]

Windows10+XAMPP+Merburyでメールを送信する方法

August 18,2020 11:55 PM
Category:[Windows]
Tag:[Mercury, Windows10, XAMPP]
Permalink

Windows10+XAMPP+Mercuryでメールを送信する方法を紹介します。

1.はじめに

Windows10+XAMPPでメールを送信する必要が生じました。

調べたところ、XAMPPにバンドルされているMercuryというメールソフトを設定すれば送信可能になるようです。

ただ現在、ほとんどのISPは、「OP25B(Outbound port 25 Blocking)」というスパムメール対策のため、ポート25番を利用したメールを遮断しています。

そこでMercuryは、PC内部からの送信メールを、ISPのメール送信サーバにめがけて送信することで、外部へのメール送信を実現しているようです。

ということで、Windows10+XAMPP+Mercuryでメールを送信する方法を紹介します。

2.Windows10+XAMPP+Mercuryでメールを送信する

XAMPPを起動後、Mercuryの「Start」をクリック。

(クリックで拡大、以下同様)

セキュリティ警告が表示されるので「アクセスを許可する」をクリック。

Mercuryの「Admin」をクリック。

「Configuration」→「Protocol modules...」をクリック。

「MercuryS SMTP server」と「MercuryC SMTP relaying client」の2つをチェックし、他のチェックを外して「OK」をクリック。

「Configuration」→「MercuryS SMTP Server」をクリック。

「Connection control」タブの「Do not permit SMTP relaying of non-local mail」のチェックを外して「OK」をクリック。

これで設定画面をすべて閉じます。Mercuryが停止するので、Mercuryをもう一度起動して「Admin」をクリック。

「Configuration」から「MercuryC SMTP Client」をクリック。

「SMTP "Smart" Host details」に中継する送信メールサーバの情報を設定します。ここでは私の利用しているSo-netの送信メールサーバの情報を設定します。

Smart host name:ISPの送信メールサーバを(ここでは"mail.so-net.ne.jp")設定
Connection port/type:"587"および「SSL encryption via STARTTLS commanmd」を設定

また、「Credentials for SMTP Authentication if required」に中継する送信メールサーバの認証情報を設定します。

Login username:ユーザー名
Password:パスワード

設定完了後、Mercuryが停止するので、Startをクリックして再度起動します。これで今までの設定が反映された状態でMercuryが起動します。

最後に、メールを送信するアプリケーションにMercuryの送信メールサーバ情報を設定します。PHPを利用する場合は、php.iniに次の内容を設定します。

[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = localhost
; http://php.net/smtp-port
smtp_port = 25
 
; For Win32 only.
; http://php.net/sendmail-from
sendmail_from = (送信元メールアドレス)

私はMovable Typeから送信するため、mt-config.cgiに下記の設定を追加します。

MailTransfer smtp
SMTPServer localhost
SMTPPort 25

これでPHPアプリケーションやMovable Typeからメールを送信し、送信先のメールアドレスに届いていればOKです。

4.参考サイト

参考サイトは下記です。ありがとうございました。

Comments [0] | Trackbacks [0]

さくらのVPSに送信メールサーバを設定する方法

August 11,2020 11:55 PM
Category:[Linux]
Tag:[Linux, SMTP]
Permalink

さくらのVPSに送信メールサーバを設定する方法を紹介します。

1.はじめに

VPSにインストールしたMovable Typeからメールを送信する必要が生じました。

が、契約しているVPSにはメールに関する設定を何も行っていません。

色々調べたところ、送信メールサーバにはPostfixが簡単らしいので、これを使うことにしました。

sendmailは色々大変らしいです。

ということで、さくらのVPSに送信メールサーバを設定する方法を紹介します。

2.Postfixのインストール

yumコマンドでPostfixをインストールします。

# yum -y install postfix

3.main.cfの編集

Postfixの設定ファイル、main.cfをvimで編集します。

# vim /etc/postfix/main.cf
# INTERNET HOST AND DOMAIN NAMES
#
# The myhostname parameter specifies the internet hostname of this
# mail system. The default is to use the fully-qualified domain name
# from gethostname(). $myhostname is used as a default value for many
# other configuration parameters.
#
#myhostname = host.domain.tld
#myhostname = virtual.domain.tld
myhostname = mail.hogehoge.com ←追加、ドメイン名は何でも動くみたい
 
# The mydomain parameter specifies the local internet domain name.
# The default is to use $myhostname minus the first component.
# $mydomain is used as a default value for many other configuration
# parameters.
#
#mydomain = domain.tld
mydomain = hogehoge.com ← 自ドメイン名を追加
 
# SENDING MAIL
#
# The myorigin parameter specifies the domain that locally-posted
# mail appears to come from. The default is to append $myhostname,
# which is fine for small sites.  If you run a domain with multiple
# machines, you should (1) change this to $mydomain and (2) set up
# a domain-wide alias database that aliases each user to
# user@that.users.mailhost.
#
# For the sake of consistency between sender and recipient addresses,
# myorigin also specifies the default domain name that is appended
# to recipient addresses that have no @domain part.
#
#myorigin = $myhostname
#myorigin = $mydomain
myorigin = $mydomain ← メール送信時、送信元メールアドレスの@以降にドメイン名を付加する設定
 
# The inet_interfaces parameter specifies the network interface
# addresses that this mail system receives mail on.  By default,
# the software claims all active interfaces on the machine. The
# parameter also controls delivery of mail to user@[ip.address].
#
# See also the proxy_interfaces parameter, for network addresses that
# are forwarded to us via a proxy or network address translator.
#
# Note: you need to stop/start Postfix when this parameter changes.
#
#inet_interfaces = all
#inet_interfaces = $myhostname
#inet_interfaces = $myhostname, localhost
inet_interfaces = all ← localhostをallに変更(外部からのメール受信を許可)
 
# The mydestination parameter specifies the list of domains that this# machine considers itself the final destination for.
#
# These domains are routed to the delivery agent specified with the
# local_transport parameter setting. By default, that is the UNIX
# compatible delivery agent that lookups all recipients in /etc/passwd
# and /etc/aliases or their equivalent.
#
# The default is $myhostname + localhost.$mydomain.  On a mail domain
# gateway, you should also include $mydomain.
#
# Do not specify the names of virtual domains - those domains are
# specified elsewhere (see VIRTUAL_README).
#
# Do not specify the names of domains that this machine is backup MX
# host for. Specify those names via the relay_domains settings for
# the SMTP server, or use permit_mx_backup if you are lazy (see
# STANDARD_CONFIGURATION_README).
#
# The local machine is always the final destination for mail addressed
# to user@[the.net.work.address] of an interface that the mail system
# receives mail on (see the inet_interfaces parameter).
#
# Specify a list of host or domain names, /file/name or type:table
# patterns, separated by commas and/or whitespace. A /file/name
# pattern is replaced by its contents; a type:table is matched when
# a name matches a lookup key (the right-hand side is ignored).
# Continue long lines by starting the next line with whitespace.
#
# See also below, section "REJECTING MAIL FOR UNKNOWN LOCAL USERS".
#
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain ← 自ドメイン宛メールを受信できるよう、行末に$mydomainを追加
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain,
#       mail.$mydomain, www.$mydomain, ftp.$mydomain
 
# DELIVERY TO MAILBOX
#
# The home_mailbox parameter specifies the optional pathname of a
# mailbox file relative to a user's home directory. The default
# mailbox file is /var/spool/mail/user or /var/mail/user.  Specify
# "Maildir/" for qmail-style delivery (the / is required).
#
#home_mailbox = Mailbox
#home_mailbox = Maildir/
home_mailbox = Maildir/ ← メール格納形式をMaildir形式にする
 
# SHOW SOFTWARE VERSION OR NOT
#
# The smtpd_banner parameter specifies the text that follows the 220
# code in the SMTP server's greeting banner. Some people like to see
# the mail version advertised. By default, Postfix shows no version.
#
# You MUST specify $myhostname at the start of the text. That is an
# RFC requirement. Postfix itself does not care.
#
#smtpd_banner = $myhostname ESMTP $mail_name
#smtpd_banner = $myhostname ESMTP $mail_name ($mail_version)
smtpd_banner = $myhostname ESMTP unknown ← メールサーバーソフト名の隠蔽化

また、SMTP認証設定と受信メールサイズ制限のため、以下を最終行へ追加します。

smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions =
    permit_mynetworks
    permit_sasl_authenticated
    reject_unauth_destination
message_size_limit = 10485760

4.master.cfの編集

Postfixの設定ファイル、master.cfをvimで編集します。

# vim /etc/postfix/master.cf
# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (100)
# ==========================================================================
smtp      inet  n       -       n       -       -       smtpd
#submission inet n       -       n       -       -       smtpd
submission inet n       -       n       -       -       smtpd ← SUBMISSIONポート有効化
#  -o smtpd_tls_security_level=encrypt
#  -o smtpd_sasl_auth_enable=yes
  -o smtpd_sasl_auth_enable=yes ← SUBMISSIONポートでSMTP認証有効化

5.SMTP認証設定

SMTP認証にシステムのユーザー名、パスワードを使用する場合の方法を示します。

# yum -y install cyrus-sasl

CentOS 6.xの場合

# /etc/rc.d/init.d/saslauthd start
# chkconfig saslauthd on ← 自動起動設定の場合はこちら

CentOS 7.xの場合

# systemctl start saslauthd
# systemctl enable saslauthd ← 自動起動設定の場合はこちら

6.存在しないユーザー宛メールの破棄設定

# vim /etc/postfix/main.cf

ファイルの最後に下記を追加(存在しないユーザー宛メールをunknown_userへ配送)

local_recipient_maps =
luser_relay = unknown_user@localhost

unknown_user宛メールを破棄します。

# echo unknown_user: /dev/null >> /etc/aliases

/etc/aliasesの変更を反映します。

# newaliases

これで/etc/aliasesに下記の1行が追加されます。

unknown_user: /dev/null

7.テストメール送信

さくらVPSのサーバーから外部の任意のメールアドレスにメールを送信します。

# smtp-source -v -f "" -t "hoge@xxx.so-net.ne.jp" 127.0.0.1:25

これで下記のように表示されて、メールが届いていればOKです。

smtp-source: name_mask: all
smtp-source: vstream_tweak_tcp: TCP_MAXSEG 16384
smtp-source: <<< 220 mail.hoge.com ESMTP unknown
smtp-source: HELO wwwXXXXXXX.sakura.ne.jp
smtp-source: <<< 250 mail.hoge.com
smtp-source: MAIL FROM:<>
smtp-source: <<< 250 2.1.0 Ok
smtp-source: RCPT TO:<hoge@xxx.so-net.ne.jp>
smtp-source: <<< 250 2.1.5 Ok
smtp-source: DATA
smtp-source: <<< 354 End data with <CR><LF>.<CR><LF>
smtp-source: .
smtp-source: <<< 250 2.0.0 Ok: queued as 661F541A90
smtp-source: QUIT
smtp-source: <<< 221 2.0.0 Bye

届いたメールの本文は次のようになっていました。差出人や件名は空でした。

La de da de da 1.
La de da de da 2.
La de da de da 3.
La de da de da 4.

8.Movable Typeの設定

これで完璧かどうかわかりませんが、外部にメールを送信できました。

なお、Movable Typeにはインストール時に「SMTPサーバー」を設定します。

あとから設定するには、mt-config.cgiに下記の3行を設定します。

MailTransfer smtp
SMTPServer localhost
SMTPPort 25

9.参考サイト

参考サイトは下記です。ありがとうございました。

Comments [0] | Trackbacks [0]

VirtualBoxのCentOSにMySQLインストール・起動とrootパスワード設定

July 27,2020 11:55 PM
Category:[VirtualBOX]
Tag:[CentOS, MySQL, VirtualBOX, Windows]
Permalink

VirtualBoxのCentOSにMySQLインストールし、起動してrootのパスワード設定までの手順です。

かなり雑な手順かもしれませんのであしからず。

CentOSのバージョンは8.1.1911_x86_64で、MySQLは8.0.17です。

1.mysqlおよびmysql-serverのインストール

yumでインストールします。mysql-serverをインストールしないと2項のサービス起動でmysqldが見つからないので気を付けましょう。

[root@localhost ~]# yum install mysql
 :
インストール済み:
  mysql-8.0.17-3.module_el8.0.0+181+899d6349.x86_64               mariadb-connector-c-config-3.0.7-1.el8.noarch
  mysql-common-8.0.17-3.module_el8.0.0+181+899d6349.x86_64
 
完了しました!
[root@localhost ~]# yum install mysql-server
 :
インストール済み:
  mysql-server-8.0.17-3.module_el8.0.0+181+899d6349.x86_64
  mecab-0.996-1.module_el8.0.0+41+ca30bab6.9.x86_64
  mysql-errmsg-8.0.17-3.module_el8.0.0+181+899d6349.x86_64
  protobuf-lite-3.5.0-7.el8.x86_64
 
完了しました!

2.mysqld起動

mysqldを起動します。

[root@localhost ~]# systemctl start mysqld
[root@localhost ~]# systemctl status mysqld
● mysqld.service - MySQL 8.0 database server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; disabled; vendor preset: disabled)
   Active: active (running) since Mon 2020-04-13 21:18:42 JST; 21min ago
  Process: 6509 ExecStartPost=/usr/libexec/mysql-check-upgrade (code=exited, status=0/SUCCESS)
  Process: 6373 ExecStartPre=/usr/libexec/mysql-prepare-db-dir mysqld.service (code=exited, status=0/SUCCESS)
  Process: 6349 ExecStartPre=/usr/libexec/mysql-check-socket (code=exited, status=0/SUCCESS)
 Main PID: 6466 (mysqld)
   Status: "Server is operational"
    Tasks: 40 (limit: 11492)
   Memory: 406.0M
   CGroup: /system.slice/mysqld.service
           mq6466 /usr/libexec/mysqld --basedir=/usr
 
 4月 13 21:18:30 localhost.localdomain systemd[1]: Starting MySQL 8.0 database server...
 4月 13 21:18:31 localhost.localdomain mysql-prepare-db-dir[6373]: Initializing MySQL database
 4月 13 21:18:42 localhost.localdomain systemd[1]: Started MySQL 8.0 database server.

3.rootパスワード設定

ノンパスワードでmysqlを実行し、rootユーザーにパスワードを設定します。"USE mysql"は不要かもしれません。

[root@localhost ~]# mysql -u root
mysql> USE mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
 
Database changed
mysql> ALTER USER 'root'@'localhost' identified BY '任意のパスワード';
Query OK, 0 rows affected (0.00 sec)
 
mysql> quit
Bye

ちなみに、下記の方法ではエラーになります。

mysql> update mysql.user set password=password('任意のパスワード') where user='root';
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '('任意のパスワード') where user='root'' at line 1

理由は、password() 関数がMySQL 5.67までで廃止されているからのようです。

4.参考サイト

参考サイトは下記です。ありがとうございました。

Comments [0] | Trackbacks [0]

Windows10で「あ」や「A」の表示を消す方法

July 13,2020 11:55 PM
Category:[Windows]
Tag:[IME, Windows10]
Permalink

Windows10で「あ」や「A」の表示を消す方法を紹介します。

1.問題点

Windows10では、文字入力モードを切り替えるたびに「あ」や「A」が画面中央に表示されて、邪魔です。

が、これを消す方法がわかりません。

ということで、Windows10で「あ」や「A」の表示を消す方法を紹介します。

2.「あ」や「A」の表示を消す方法

「あ」や「A」の表示を消すには、タスクバーにあるIMEアイコンを右クリック。

「プロパティ」をクリック。

「画面中央に表示する」のチェックを外して「OK」をクリック。

これで「あ」や「A」が画面に表示されなくなります。

Comments [0] | Trackbacks [0]

Thunderbirdの「受信ファイル」が消えた場合の対処

July 3,2020 12:03 AM
Category:[Windows]
Tag:[Thunderbird, Windows]
Permalink

Thunderbirdの受信ファイルが消えた場合の対処方法を紹介します。

1.問題点

Windows10でThunderbirdを使っています。

メールを受信すると、ウイルスを含んだメールが紛れていたようで、検疫で削除されてしまいました。

メールの一覧にタイトルは表示されますが、メール本文は表示されません。

また、メールが保存されるはずのフォルダ

C:\Users\<ユーザー名>\AppData\Roaming\Thunderbird\Profiles\xxxxxx.default-release\Mail\pop.so-net.ne.jp

に、本来であればInboxという、受信トレイに対応するファイルがあるはずですが、Inbox.msfというメール概要ファイルしかありませんでした。

ということで、Thunderbirdの受信ファイルが消えた場合の対処を紹介します。

なお、セキュリティソフトはインストールしていない状態で、Windowsセキュリティのみを利用している場合の方法になります。

2.対処方法

「スタート」→「Windowsセキュリティ」をクリック。

「許可された脅威」をクリック。

「保護の履歴」をクリック。

「脅威が削除されました」をクリック(画像は復元後のため文言が異なっています)。

「このアプリがデバイスに変更を加えることを許可しますか?」というダイアログが表示されるので「はい」をクリック。

このあと、選択した項目が開き、「復元」ボタンと「削除」ボタンが表示されるので、「復元」をクリックすれば、元のフォルダにInboxファイルが復元されます。

3.注意事項

なお、復元したInboxを使ってThunderbirdからメールを開くと、ウイルスに感染する可能性があるので、怪しいファイルはメールの本文を開かず、右クリックで削除してください。

Comments [0] | Trackbacks [0]

Apache+mod_proxy+PSGIでMovable TYpeを利用する方法

July 1,2020 12:03 AM
Category:[VPS]
Tag:[Apache, mod_proxy, MovableType, PSGI]
Permalink

Apache+mod_proxy+PSGIでMovable TYpeを利用する方法を紹介します。

さくらVPSで動作確認しています。

1.前提

サーバおよびMTのパスは次の通りです。

  • ドキュメントルート:/var/www/html
  • CGIルート:/var/www/cgi-bin
  • MTインストールパス:/var/www/cgi-bin/mt
  • MTスタティックパス:/var/www/cgi-bin/mt/mt-static
  • mt.pid配置ディレクトリ:/var/www/cgi-bin/mt/pids

また、cpanm/Plack/Starmanのインストールは完了している前提で話を進めますがざっとコマンドだけ並べておきます。

$ sudo yum -y install perl-ExtUtils-MakeMaker
$ sudo curl -L http://cpanmin.us | perl - --sudo App::cpanminus
$ sudo cpanm --sudo CGI::Compile
$ sudo cpanm --sudo Plack
$ sudo cpanm --sudo Task::Plack
$ sudo cpanm --sudo XMLRPC::Transport::HTTP::Plack
$ sudo cpanm --sudo CGI::Parse::PSGI
$ sudo cpanm --sudo CGI::PSGI

2.ディレクトリの作成

pidファイル配置用のディレクトリを作成します。

$ mkdir -p /var/www/cgi-bin/mt/pids

pidファイルはmt.psgi起動時にパラメータ指定で自動生成されるファイルです。

ディレクトリの権限は変更しなくても大丈夫だと思いますが、mt.psgi起動時にpidファイルが/pids配下に生成されない場合は権限を適宜変更してください。

ここではCGIルート配下に作成していますが、ドキュメントルート配下に作成しても動作します。

3.Apacheの設定ファイルを変更

Apacheの設定ファイル(/etc/httpd/conf/httpd.conf)をエディタで開き、下記の設定をファイルの最後の方に追加します。

<IfModule mod_proxy.c>
    ProxyPass        /cgi-bin/mt/ http://localhost:5000/cgi-bin/mt/
    ProxyPassReverse /cgi-bin/mt/ http://localhost:5000/cgi-bin/mt/
</IfModule>

ProxyPassはリモートサーバをローカルサーバの名前空間にマップするディレクティブです。

上記の設定ではhttp://xxx/cgi-bin/mt/へのリクエストをhttp://localhost:5000/cgi-bin/mt/へのリクエストに変換します。

ProxyPassReverseは、ApacheにHTTPリダイレクト応答のLocation, Content-Location, URIヘッダの調整をするディレクティブです。

もし、mt-staticパスとCGIパスが同じ場合は、次のようにします。

<IfModule mod_proxy.c>
    ProxyPass        /cgi-bin/mt/mt-static/ !
    ProxyPass        /cgi-bin/mt/ http://localhost:5000/cgi-bin/mt/
    ProxyPassReverse /cgi-bin/mt/ http://localhost:5000/cgi-bin/mt/
</IfModule>

最初のProxyPassディレクティブで、指定されたパスを除外します。

4.Apacheの再起動

2項の設定が終わったらApacheを再起動します。

$ sudo service httpd restart
[sudo] password for xxxxx:
Stopping httpd:                                            [  OK  ]
Starting httpd:                                            [  OK  ]

5.mt-config.cgiの修正

mt-config.cgiに環境変数PIDFilePathを追加します。

PIDFilePath /var/www/cgi-bin/mt/pids/mt.pid

Movable TypeをPSGIで運用する際に、プロセスID (PID) の指定する環境変数です。

6.mt.psgiの起動

starmanを使ってmt.psgiを起動します。

$ cd /var/www/cgi-bin/mt
$ starman -l 127.0.0.1:5000 --pid /var/www/cgi-bin/mt/pids/mt.pid ./mt.psgi
2020/06/20-15:20:55 Starman::Server (type Net::Server::PreFork) starting! pid(12736)
Binding to TCP port 5000 on host 127.0.0.1 with IPv4
Setting gid to "500 500 10 500"

--pidオプションで指定するファイルは、PIDFilePath環境変数の値をそのまま設定します。

7.MTの管理画面にアクセス

http://xxx/cgi-bin/mt/mt.cgi

にアクセスして、ログイン画面が表示されればOKです。

Comments [0] | Trackbacks [0]

killコマンドでメッセージを出力させない方法

June 21,2020 11:55 PM
Category:[Linux]
Tag:[Linux]
Permalink

killコマンドでメッセージを出力させない方法を紹介します。

1.問題点

次のサンプルスクリプト(foo.sh,bar.sh)を用意します。

foo.sh

#!/bin/bash
 
bar.sh &
pid=$!
 
kill $pid >/dev/null 2>&1
sleep 1

bar.sh

#!/bin/bash
 
while [ 1 ]
do
    sleep 1
done

foo.shを実行するとbar.shのkillコマンドでメッセージが表示されます。

実行結果

# ./foo.sh
./foo.sh: 7 行: 59318 Terminated              bar.sh

メッセージを表示させないようにしたいのですが方法が分かりません。

2.対処

foo.shにwaitコマンドを追加します。

foo.sh

#!/bin/bash
 
bar.sh &
pid=$!
 
kill $pid
wait $pid 2>/dev/null
sleep 1

実行結果

# ./foo.sh
Comments [0] | Trackbacks [0]

「psql: FATAL: Peer authentication failed for user "postgres"」が表示された場合の対処

June 3,2020 11:55 PM
Category:[PostgreSQL]
Tag:[PostgreSQL]
Permalink

「psql: FATAL: Peer authentication failed for user "postgres"」が表示された場合の対処について紹介します。

1.はじめに

LinuxでPostgreSQLを起動して"hoge"というデータベースを作成しました。

# su - postgres
-bash-4.2$ createdb --owner postgres hoge
-bash-4.2$ exit

次にpsqlで接続しようとしたところ、「psql: FATAL: Peer authentication failed for user "postgres"」をいうエラーに遭遇しました。

# psql -q -U postgres -d hoge
psql: FATAL:  Peer authentication failed for user "postgres"

ちなみにpostgresユーザーで接続すればOKになります。

# su - postgres
最終ログイン: 2020/05/21 (木) 10:39:57 JST日時 pts/4
-bash-4.2$ psql -q -U postgres -d hoge
hoge=#

Linuxユーザーから直接接続する方法がわかりません。

ということで、「psql: FATAL: Peer authentication failed for user "postgres"」が表示された場合の対処について紹介します。

2.原因

postgresのhba (host base authentication) 機能で、peer認証がオンになっているためです。

peer認証では、ローカルからのアクセスはLinuxのユーザーとパスワードがpostgresのものと同じでないとエラーになるようです

3.対処方法

ここではローカルアクセスのpeer認証をオフにする方法を示します。

peer認証を設定しているファイル「pg_hba.conf」を探します。

# find / -print |grep pg_hba.conf
./var/lib/pgsql/data/pg_hba.conf

vimで開きます。

# vim /var/lib/pgsql/data/pg_hba.conf

「local」の行の一番右側が「peer」担っていると思います。

# TYPE  DATABASE        USER            ADDRESS                 METHOD
 
# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            ident
# IPv6 local connections:
host    all             all             ::1/128                 ident

これを「trust」に変更します。「trust」は接続を無条件で許可することを意味します。

# TYPE  DATABASE        USER            ADDRESS                 METHOD
 
# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            ident
# IPv6 local connections:
host    all             all             ::1/128                 ident

編集後、postgresqlを再起動。

# service postgresql restart
Redirecting to /bin/systemctl restart postgresql.service

これで下記のようにLinuxユーザーから直接接続できるようになります。

# psql -q -U postgres -d hoge
hoge=#

4.参考サイト

参考サイトは下記です。ありがとうございました。

Comments [0] | Trackbacks [0]

LinuxにPostgreSQLをインストールする方法

May 26,2020 11:55 PM
Category:[PostgreSQL]
Tag:[PostgreSQL]
Permalink

LinuxにPostgreSQLをインストールする方法を紹介します。

ここではyumではなく、rpmパッケージを使います。

ネットでいろいろ調べましたが、yumで一発でインストールする方法はないようです。

CentOSのサイトの、

https://buildlogs.centos.org/c7.1708.u.i386/postgresql/20171208163247/9.2.23-3.el7_4.x86_64/

にある、下記の3つのパッケージをダウンロードして、Linuxサーバにアップロードします。

postgresql-9.2.23-3.el7_4.x86_64.rpm
postgresql-libs-9.2.23-3.el7_4.x86_64.rpm
postgresql-server-9.2.23-3.el7_4.x86_64.rpm

今回ダウンロードしたバージョンは9.2.23ですが、お使いのLinuxに合うバージョンを選んでください。

次にrpmコマンドでインストールします。

# rpm -ivh postgresql-9.2.23-3.el7_4.x86_64.rpm postgresql-libs-9.2.23-3.el7_4.x86_64.rpm postgresql-server-9.2.23-3.el7_4.x86_64.rpm
準備しています...              ################################# [100%]
更新中 / インストール中...
   1:postgresql-libs-9.2.23-3.el7_4   ################################# [ 33%]
   2:postgresql-9.2.23-3.el7_4        ################################# [ 67%]
   3:postgresql-server-9.2.23-3.el7_4 ################################# [100%]

これでインストールされました。

余談ですが、いきなりpsqlコマンドで接続すると下記のエラーに遭遇します。

# psql
psql: サーバに接続できませんでした: そのようなファイルやディレクトリはありません
ローカルにサーバが稼動していますか?
Unixドメインソケット"/var/run/postgresql/.s.PGSQL.5432"で通信を受け付けていますか?

initdbコマンドで初期化します。

# service postgresql initdb
Hint: the preferred way to do this is now "postgresql-setup initdb"
Initializing database ... OK

サービスをスタートします。

# service postgresql start
Redirecting to /bin/systemctl start postgresql.service

サービスをスタートできたか、確認します。

# service postgresql status
Redirecting to /bin/systemctl status postgresql.service
● postgresql.service - PostgreSQL database server
   Loaded: loaded (/usr/lib/systemd/system/postgresql.service; disabled; vendor preset: disabled)
   Active: active (running) since 木 2020-05-21 10:32:31 JST; 7s ago
  Process: 26454 ExecStart=/usr/bin/pg_ctl start -D ${PGDATA} -s -o -p ${PGPORT} -w -t 300 (code=exited, status=0/SUCCESS)
  Process: 26448 ExecStartPre=/usr/bin/postgresql-check-db-dir ${PGDATA} (code=exited, status=0/SUCCESS)
 Main PID: 26457 (postgres)
   CGroup: /system.slice/postgresql.service
           tq26457 /usr/bin/postgres -D /var/lib/pgsql/data -p 5432
           tq26458 postgres: logger process
           tq26460 postgres: checkpointer process
           tq26461 postgres: writer process
           tq26462 postgres: wal writer process
           tq26463 postgres: autovacuum launcher process
           mq26464 postgres: stats collector process
  
 5月 21 10:32:30 test systemd[1]: Starting PostgreSQL database server...
 5月 21 10:32:31 test systemd[1]: Started PostgreSQL database server.
Comments [0] | Trackbacks [0]
 1  |  2  |  3  |  4  |  5  | All pages