CentOS のコマンド関係等で細かい Tips をメモしておきます。
Apache の起動確認
CentOS7 以上の場合、 systemd があるので systemctl が使用できるのですが、それ以外の方法として。
# # apachectl -V
Server version: Apache/2.4.6 (CentOS)
Server built: Nov 16 2020 16:18:20
Server's Module Magic Number: 20120211:24
Server loaded: APR 1.4.8, APR-UTIL 1.5.2
Compiled using: APR 1.4.8, APR-UTIL 1.5.2
Architecture: 64-bit
Server MPM: prefork
threaded: no
forked: yes (variable process count)
Server compiled with....
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
-D APR_USE_SYSVSEM_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D DYNAMIC_MODULE_LIMIT=256
-D HTTPD_ROOT="/etc/httpd"
-D SUEXEC_BIN="/usr/sbin/suexec"
-D DEFAULT_PIDLOG="/run/httpd/httpd.pid"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_ERRORLOG="logs/error_log"
-D AP_TYPES_CONFIG_FILE="conf/mime.types"
-D SERVER_CONFIG_FILE="conf/httpd.conf"
起動確認。
この他 apachectl restart httpd 等が可。
リダイレクトによる追記
echo hoge piyo >> text.txt
>> で末尾追記。 > では既存ファイルの上書きになってしまうので注意。
kill -9 で複数プロセスを終了させる
プロセスを停止させる際に、親子で複数のプロセスが連動している場合、一個ずつ kill -9 するのは面倒です。しかし、 kill -9 はコマンド1つにつきプロセスIDを1つしか指定できないようです。
ここで、 pgrep と xargs を組み合わせることで複数指定ができます。指定の仕方としては pgrep <プロセス名> | xargs kill -9 という形。
# pgrep httpd
14
26
27
28
29
30
例えば httpd のプロセスが上の例に用に複数ある場合は……。
# pgrep httpd | xargs kill -9
#
これで一発で停止させられます。
SSL通信で Apache のエラーログに [error] Oops, no RSA, DSA or ECC server certificate found for ‘example.jp:0’?! と出力される
Apache で自己証明のSSL証明書を設定している際に、以下のようなエラーに遭遇。
[error] Oops, no RSA, DSA or ECC server certificate found for ‘example.jp:0’?!
仮想ホストの設定に SSLEngine on を足すとエラーが出なくなりました。
<VirtualHost *:443>
# 略
SSLEngine on # 追加
SSLCertificateFile /etc/ssl/certs/localhost.crt
SSLCertificateKeyFile /etc/ssl/certs/localhost.key
# 略
</VirtualHost>