2024-10-01
諸般の事情により引っ越したのでざっとメモ。
・さくらサーバはCOREのようにC言語バイナリCGIは動かせない。よってPHPで書き直し。
拡張子.cgiを.phpにリダイレクトするには.htaccessに以下のように書く。
RewriteEngine on RewriteBase / RewriteRule ^(.*).cgi$ $1.php [R=301,L]
なお、httpアクセスをhttpsへ、またhogeserver.netをwww.hogeserver.netへそれぞれリダイレクトする設定は自分でhtaccessに書かずとも、さくらインターネットコントロールパネルのドメイン設定
マルチドメインとして利用する
www.が付与されたサブドメインも利用する
HTTPSに転送する
www.hogeserver.net に転送する
という項目があるのでそれにチェックすれば、自動で行ってくれる。なお「SSL設定→Lets Encrypt」は、移行元のサーバーのDNSをさくらインターネットに向けてから割とガッツリ24時間以上経過しないとアドレス変更が認識されず、無料サーバ証明書が作れないので落ち着いて待ったほうがいい。
さらに「WAF設定変更」でこれを「利用する」にすると、CGIフォームPOSTの制限がキツくなりほとんどの投稿はエラーとなるため、POSTしたい場合一時的にチェックを外すなどの対処が日宇町。
・以下の作業は大きいので別記事とした。
さくらインターネットでPython MecabをCGIから使う
さくらインターネットのPHPでAnalytics-G4 APIを使う
・CORESERVERはMariaDBだが、さくらはMySQLであるため、ダンプファイルの変換が必要。といっても当方はMariaDBの先頭コメント行「*/--」だけがMySQLでは存在せずエラーとなったので、そこの変換だけでよかった。
sed 's/^\/\*/-- /g' mydb.dmp > mydb_new.dmp
・php.iniの有効化
さくらもSSHでコンソールログインでき直接phpコマンドも打てるが、デフォルトではエラーが起こっても画面に何も表示されない。php.iniを有効化しなくてはいけない。
コントロールパネルのスクリプト設定→php.ini設定にて行う。ここで設定しないと内容は有効にならないので注意。コンソールターミナルで直接ディレクトリにphp.iniを置いてもシステムには反映されない。
display_errors = Off error_reporting = "2047" log_errors = On error_log = "/home/hogeuser/log/php-error.log"
などとする。デフォルトの置き場所は$HOME/www/php.iniになっているはずである。display_errorsは公開前などはデバッグのためOnで、公開したらOffにしておいたほうがいいだろう。この場合、エラーはブラウザにはHTTP 500で返る。
・外部からのメール自動受信・削除設定
CORESERVERにメールを蓄積し外部から自動で取得するこちらの設定に修正が必要。
さくらのヘルプページによると、
https://help.sakura.ad.jp/mail/2140/
メールサーバのポート番号は995であるので、getmailrcで明示的に指定する必要がある。
$HOME/.getmail/getmailrc
[options] verbose = 0 # POPしたメールをサーバから削除する場合 delete = true [retriever] # POP3 over SSLで受信する場合 type = SimplePOP3SSLRetriever # 受信ポートを指定したい場合 #port = 8110 port = 995 # メールサーバ (契約のFTPサーバアドレス) server = hogeserver.sakura.ne.jp # ユーザ名(追加したメールアドレス) username = hogeuser@hogeserver.sakura.ne.jp # パスワード (上記メールアドレスのパスワード) password = XXXXXX [destination] type = Maildir path = ~/Maildir/
さくらのコントロールパネルでメール→メールアドレス一覧→パスワード設定、で該当メアドのパスワードを設定しておくこと。
※本記事内容の無断転載を禁じます。
ご連絡は以下アドレスまでお願いします★
さくらインターネットでPython MecabをCGIから使う
さくらインターネットのPHPでAnalytics-G4 APIを使う
インクルードパスの調べ方
【Git】特定ファイルを除外する.gitignore
【Ubuntu/Debian】NVIDIA関係のドライバを自動アップデートさせない
【Python】Spacyを使用して文章から出発地と目的地を抜き出す
HomeBrewでApache2を入れて自動起動つきで動かしPHPモジュールと連携する
macOSに標準付属のApacheを自動起動つきで動かす
HomeBrewでPostgreSQLを入れて自動起動つきで動かす
Windows版Google Driveが使用中と言われアンインストールできない場合
【C/C++】小数点以下の切り捨て・切り上げ・四捨五入
進研ゼミチャレンジタッチをAndroid端末化する
Windows11+WSL2でUbuntuを使う【2】ブリッジ接続+固定IPの設定
Googleスプレッドシートで図形をコピーして使いまわすには
【Linux】iconv/libiconvをソースコードからインストール
【Apache】サーバーに同時接続可能なクライアント数を調整する
Pythonで処理にかかった時間を計測するには
Windows11のコマンドプロンプトでテキストをコピーする