CentOS
ある日突然WEBページが表示されなくなった。
表示されなくなったサイトとは別のサイトのお問い合わせメールから知る。
アクセスするが確かに表示されない。2つ契約しているVPSサーバーのもう片方は問題なく表示できる。表示できないサイトと同じサーバーで運営している別サイトも表示できず。
さくらのVPSサーバーのコントロールパネルにはログイン可能。
特に問題も当たらず。
さくらのコールセンターに問い合わせる。
サーバーには問題ないとの答え。
ただ、ポート80(http)と443(https)が不通で通信ができてないとのこと。
問題を解決するにはポートを開放するか、apache の状態を確認しろと助言をもらう。
ターミナルからサーバーにアクセス。
apacheの状態を確認
//コマンド
----------------------------
/etc/init.d/httpd status
----------------------------
//結果
----------------------------
httpd status unknown due to insufficient privileges.
----------------------------
権限がないという事で root に変更して確認
//結果
----------------------------
httpd は停止しています。
----------------------------
やっぱり動いてなかった。
//apache を起動
----------------------------
service httpd start
----------------------------
//結果
----------------------------
httpd を起動中
----------------------------
無事WEBページを表示できた。
カテゴリー:CentOS, さくらインターネット, サーバー設定
mailコマンドでメールを見る
ターミナルにログインして
---------------------------------------
mail
---------------------------------------
ローカルに受信したメールのタイトルや日時などの情報の一覧が出る。
受信したメールが多くて一画面に収まらない場合
次のページへ移動
---------------------------------------
z
---------------------------------------
前のページへ戻る
---------------------------------------
z-
---------------------------------------
メール内容を表示
---------------------------------------
p 999(メール番号を指定)
---------------------------------------
カテゴリー:CentOS
運営しているサイトのお問い合わせフォームからメールが届かなくなった。
さくらのVPSのサーバー名(hostname)を変更した後からメールが届いていない。
---------------------------------------------------
localhost.localdomain → 運営サイトのドメイン(~~.info)
---------------------------------------------------
ターミナルから maillog を見ると以下の記述
---------------------------------------------------
dsn=5.1.1, status=bounced (unknown user: "renraku")
---------------------------------------------------
ネットで調べると /etc/postfix/main.cf の設定を変えればいいとあるので変更
(参考: https://qiita.com/myzkyy/items/cfb6b1f95eb6af6261ec)
mydestination はローカルに送る送り先を指定するディレクティブ
---------------------------------------------------
mydestination = $myhostname, localhost.$mydomain, localhost
↓↓↓↓↓↓↓
mydestination =
---------------------------------------------------
postfix を再起動。
---------------------------------------------------
/etc/init.d/postfix restart
---------------------------------------------------
メールを再送して確認。OK。
カテゴリー:CentOS, さくらインターネット
サーバーを再起動したら mysql に繋がらなくなった。
サイトにアクセスしたときに表示された PHP のエラーメッセージ
-----------------------------------------------------------
Warning: mysql_set_charset(): No such file or directory in /var/www/libs/~~~~
Warning: mysql_set_charset(): A link to the server could not be established in /var/www/~~~~~
ConnectError!DB Error: connect failed
-----------------------------------------------------------
ターミナルから mysql にログインすると次のエラー
-----------------------------------------------------------
Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
-----------------------------------------------------------
socketファイルというものが無いのが原因のよう。
ターミナルから mysql を再起動するとsocketファイルが作られるらしいので、再起動して解決。
-----------------------------------------------------------
sudo /etc/init.d/mysqld restart
-----------------------------------------------------------
参考サイト
https://qiita.com/kanohisa/items/564035efd74d9c75bdcb
カテゴリー:CentOS, mysql
前提
php で composer が使える状態である
composer の導入はこちら
1.ComposerでStripeライブラリをインストールする
2.ファイルの設置
メインで参考にしたページ
https://qiita.com/p_s_m_t/items/a69dfbc75804fe86ad9c
ファイル内でライブラリをロードするときの注意点
ComposerでStripeライブラリをインストールした場合
-------------------------------------------------
require_once('/stripe_test/vendor/autoload.php');
-------------------------------------------------
Composerを使わず、手動でStripeライブラリをダウンロードしてサーバーに置いた場合
-------------------------------------------------
require_once('/stripe_test/stripe-php/init.php');
-------------------------------------------------
デフォルトのファイル名が違うので間違えないように
カテゴリー:CentOS, PHP, さくらインターネット
php の mb_send_mail 関数で一部のメールが送れない。
yahoo メール宛てには送れるのに、独自メールが送れない。
--------------------------------------------------
環境
送信元:さくらのVPS WEBサーバーより mb_send_mail を利用
--------------------------------------------------
mb_send_mail 関数自体はエラーを吐かず、正常に終了する。
ターミナルでメールエラーを確認
--------------------------------------------------
cd /var/log/maillog
--------------------------------------------------
エラーっぽい箇所の抜粋
--------------------------------------------------
May 29 12:14:51 localhost postfix/smtp[32237]: 70ED82C028C: to=, relay=○○.sakura.ne.jp[49.212.235.97]:25, delay=0.08, delays=0.02/0/0.04/0.02, dsn=5.1.8, status=bounced (host ○○.sakura.ne.jp[49.212.235.97] said: 553 5.1.8 ... Domain of sender address apache@localhost.localdomain does not exist (in reply to MAIL FROM command))
--------------------------------------------------
検索して見つけた対処法
設定してなかった mb_send_mail 第五引数に "-fプロバイダメールアドレス" を指定。
第五引数はエラーがあった場合にメールを送信するメールアドレス。
これで送信できるようになった。
ちなみに別で契約しているもう一つのさくらVPSでは 第五引数がなくても送信できている。サーバーの設定を変えることでも問題解決できそうだ。
参考
https://okwave.jp/qa/q4822148.html
https://b-risk.jp/blog/2013/01/php_mb_send_mail/
追記
ezweb を使っている方から仮登録メールが届かないという連絡が問い合わせフォームからあった。
SPF の設定が何のが原因か?
----------------------------------------
"v=spf1 +ip4:web公開サーバーのipアドレス +mx ~all"
----------------------------------------
参考
https://qiita.com/ryounagaoka/items/931081c74b5c7a9b2bff
spfの確認
http://mxtoolbox.com/spf.aspx
追記2
gmail 宛てに送ったら迷惑メールに振り分けられたら
gmail から メールヘッダーを確認。
Received-SPF の部分が softfail になっていたらそれが原因。
ip6 対応のサーバーから送信した場合、SPF の設定に ip6 を追加する必要がある。
参考
https://www.nalabo.net/blog/2013/06/18/148
カテゴリー:CentOS, PHP, さくらインターネット, サーバー設定
php の mb_send_mail 関数でメールが送れない。他のサーバーでは送れるのでスクリプトのエラーではない。
ターミナルから送ろうとするとエラーが出た。
こう打つ
--------------------------------------------------------------------
[root@localhost ~]# echo "test" | /usr/sbin/sendmail -t -i ○○@yahoo.co.jp
--------------------------------------------------------------------
//↓出たエラー
--------------------------------------------------------------------
sendmail: fatal: parameter inet_interfaces: no local interface found for ::1
--------------------------------------------------------------------
↓このページのようにしたらできた。
https://qiita.com/cs_sonar/items/706a9204cba1a8e99cb1
postfix はメールを送るためのソフト。
カテゴリー:CentOS, PHP
自宅サーバーのインターネットがつながらなかった。
デフォルトゲートウェイに ping を打つと Destination Host Unreachable と返ってくる。
ルーターの電源を入れた直したらつながった。
カテゴリー:CentOS, サーバー設定
さくらVPS で pear をインストールしたときの覚書
現在インストールされているパッケージの確認
------------------------------
pear list
------------------------------
インストールできるパッケージの一覧
------------------------------
pear list-all
------------------------------
インストールされた pear のバージョンを確認
------------------------------
pear version
------------------------------
PEAR-1.9.4 がインストールされた。
DB パッケージをインストールする
------------------------------
pear install DB
------------------------------
DBパッケージをインストールするには pear のバージョンが 1.10.4 以上でないといけないエラーが出る。
こことかいろいろ見ながら最後に強制アップデートできた。
------------------------------
pear upgrade --force PEAR
------------------------------
カテゴリー:CentOS, さくらインターネット
さくらVPS に PHP をインストールしたときにPHPセッションファイルの保存先と保存先の指定方法について調べたときの覚書
セッションファイルの保存場所は、 php.ini の session.save_path ディレクティブで指定できる。しかしデフォルトではコメントアウトになっていた。
その状態で phpinfo() を実行すると、 session.save_path の右カラムは no value になっている。

ターミナルから phpinfo を見る場合
-------------------------------------------------
cat /etc/php.ini | grep session.save_path
-------------------------------------------------
実際のセッションファイルは左カラムに記載されているパスにある。
セッションファイルのあるパス
-------------------------------------------------
/var/lib/php/session
-------------------------------------------------
で、このパス(/var/lib/php/session)はどこで設定しているのかというと、php.conf ファイルになる。
-------------------------------------------------
cat /etc/httpd/conf.d/php.conf
-------------------------------------------------
php.conf 内の記述
-------------------------------------------------
php_value session.save_path "/var/lib/php/session"
-------------------------------------------------
セッションファイルの保存先を変更したいなら、php.ini の session.save_path のコメントアウトを外して有効にすればいい。
変更前
-------------------------------------------------
;session.save_path = "/tmp"
-------------------------------------------------
変更後
-------------------------------------------------
session.save_path = "希望の保存先パス"
-------------------------------------------------
カテゴリー:CentOS, PHP, さくらインターネット