サーバー関連

CPIサーバーでForbiddenが出た場合

テスト環境で構築したWordpressを、CPIサーバーへ移行してきたとき、なぜかForbiddenが発生してサイトが見れなくなりました。

htaccessが原因らしく、削除すると一応見れるんですが、htaccessがないわけにはいきません。

普通にWordpressとしての記述が原因らしいのですが、それも普通だしなぜ?と思って調べたら、こちらのサイトを見つけました。

CPIサーバーで「403 Forbidden」エラーが出た時の対処法

この中で、1つ目だけ試してみたところ、うまく表示されるようになりました。

htaccessに「Options +SymLinksIfOwnerMatch」を追記

シンボリックリンクについての記述みたいですが、シンボリックリンクなんて使ってないのになぜ?

とりあえず、また起こりえるのでメモ書き。

カゴヤの共有サーバーでアップロードファイルの上限を上げる方法

カゴヤでは、専用サーバーの場合、管理画面からアップロードファイルの上限などの設定を行うことができます。

例:

  • memory_limit
  • post_max_size
  • upload_max_filesize

しかし、共有サーバーでは、管理画面においてこれらはロックされており使用することができません。

かといって、

「.httaccess」や「php.ini」ファイルではこれらの設定は変更できません。

しかし、変更自体は実は可能です。

ファイル名が上記と異なるのです。

実際に設定が可能なファイル名は「.user.ini

記述方法は、php.iniと同じです。

例えば、upload_max_filesizeの設定をしたければ下記のように記述します。

upload_max_filesize = 16M

このファイルを、ウェブルートにアップすれば、それ以下のフォルダにおいて上記の設定が反映されます。

しかし、「.user.ini」で設定するというのは、なかなか珍しいですね。

 

参考サイト

PHPバージョンの管理 - KAGOYA Internet Routing

総合管理者 | 2020年09月01日 | コメント(0) | トラックバック(0) | サーバー関連

Movable Type6系でフォルダー・カテゴリーが保存できない【Ajax error: error】

今日、Movable Type6でフォルダーを作成し、「変更を保存」ボタンをクリックしたところ、以下のエラーがアラートで帰ってきました。

Ajax error: error

・・・なにこれ?

さらにカテゴリーのほうでも、同様に上記のエラーが出て保存できない。

どうしてもカテゴリーとフォルダーを追加しなくてならなかったため、phpMyAdminを入れて、そっちでデータベースに直接入れてみようかと思ったところ、なんかこっちでもエラーが出てSQLがちゃんと実行されない!?

MTに引き続きphpMyAdminでも起こるって、ほんとなんだこれ!

と思っていたら、後輩が「もしかして、WAFのせいかも」との一言。

なるほど、可能性はあると思い、サーバーのコンパネに入りWAFの設定を変更したところ、正常に動作するようになりました・・・

あー、冷や汗かいた・・・

WAFってセキュリティ高めてくれるのは良いんですが、どうも苦手です。

ちなみに今回のサーバーはzenlogicでした。

皆さんも注意しましょう。

総合管理者 | 2017年07月11日 | コメント(0) | トラックバック(0) | CMS関連 | サーバー関連

vsftpで設定したサーバにFTP接続できない(パッシブモード)

vsftpをサーバにインストールし、各種設定を行った後、FTP接続しようとしたのですが、なぜか接続できない。

vsftpd.confやchroot_list、hosts.allow、hosts.deny、user_listを確認しても、特に問題なし。

ファイヤーウォールを確認しても、ちゃんと20・21は設定されている。

なぜ・・・

と思い、エラー内容を確認したところ、ログイン自体は成功しているもののLISTでエラーが出ている様子。

ということで、ググってみたら、こちらのページを見つけました。

vsftpでpasvモードでの接続設定 - watuu's diary

/etc/sysconfig/iptables-config に設定が必要とのこと。

このファイルの「IPTABLES_MODULES」を

IPTABLES_MODULES="ip_conntrack_netbios_ns ip_conntrack_ftp ip_nat_ftp"

としたところ、無事接続できるようになりました。

ちなみに、この設定を行っていない場合でも、接続設定がアクティブだと接続できます。

総合管理者 | 2016年02月10日 | コメント(0) | トラックバック(0) | サーバー関連

Linuxでファイルの中に記述さている文字列を検索する方法

Linuxでファイルの中に記述されている文字列の検索方法です。(タイトルのまま)

まずはTeraTermなどで、サーバにSSH接続してください。

検索したいフォルダまで移動してください。

下記のコマンドを実行してください。

find ./ -type f -name "*.(拡張子)" -print | xargs grep '(検索ワード)'

  • -name "*.(拡張子)":
    特定の拡張子のファイルのみを対象としたい場合は、拡張子も入力してください。
  • grep '(検索ワード)':
    検索したい文字列を入力してください。

例:PHPファイルの中身にhogeが記述されているファイルを検索。

find ./ -type f -name "*.php" -print | xargs grep 'hoge'

 

参考サイト

 

総合管理者 | 2015年11月02日 | コメント(0) | トラックバック(0) | サーバー関連

リバースプロキシ超便利!(専用サーバに限る)

日進月歩のWEB業界。

次々に新しい技術が出てきて、めまぐるしい限りです。

どこまでついていけることやら。

しかしふと後ろを見てみると、結構取りこぼしている知識ありませんか?

ということで、最近知ったリバースプロキシについて。

 

このような事例があったとします。

とある会社で、サーバを移転し、ウェブサイトを一新することになりました。

しかし、その会社は多くの店舗をもっており、しかも店舗ごとにウェブサイトを持っています。

しかし、ドメインは1つで

  • http://www.○○○○.co.jp

が本体のサイト。

各店舗のサイトが、

  • http://www.○○○○.co.jp/□□□□
  • http://www.○○○○.co.jp/△△△△
  • http://www.○○○○.co.jp/××××

フォルダ構造になっているのでした。

さて、本体サイトの準備は出来たのですぐにでも公開したい!

しかし、他の店舗のサイトはまだ出来ておらず、しかも移行が難しいコンテンツもある。

「はやくしてくれ。」

「いやいや待ってください。そもそも移行自体が難しいコンテンツもあるんです。」

という問答の末、

「早く公開したいから、とりあえず、会社本体サイトだけでも新サーバで公開してくれんか?」

と来てしまいました。

さて、こんなときどうするか。

こんなときこそリバースプロキシですよ!(ただし移行先が専用サーバに限る。)

 

STEP.1

まず、元々のサーバ用に、サブドメインを取得し、割り当てておきます。

http://hoge.○○○○.co.jp/

 

STEP.2

新サーバのhttpd.confを開き、

<VirtualHost *:80>
ServerName www.○○○○.co.jp

</VirtualHost>

の中に、

ProxyPass 公開パス 転送先URL
ProxyPassReverse 公開パス 転送先URL

を追記します。

公開パスは、各店舗のフォルダです。

転送先URLは、サブドメインを割り当てた各店舗のURLです。

つまりこうなります。

ProxyPass /□□□□ http://hoge.○○○○.co.jp/□□□□
ProxyPassReverse /□□□□ http://hoge.○○○○.co.jp/□□□□

ProxyPass /△△△△ http://hoge.○○○○.co.jp/△△△△
ProxyPassReverse /△△△△ http://hoge.○○○○.co.jp/△△△△

ProxyPass /×××× http://hoge.○○○○.co.jp/××××
ProxyPassReverse /×××× http://hoge.○○○○.co.jp/××××

 

STEP.3

追記後はApacheを再起動して、DNSを切り替えます。(あらかじめhostsファイルを編集して、DNS切り替え後の状態を確認しておくと良いでしょう。)

 

これで、本体サイトは新サーバで稼動し、各店舗のサイトは旧サーバへ転送されます。

これがただの転送ならば、URLがサブドメインになってしまいますが、リバースプロキシならば、ドメインが「www.○○○○.co.jp」のまま、旧サーバのページを開きます。

 

う~ん、便利だ。

 

参考サイト

総合管理者 | 2015年10月17日 | コメント(0) | トラックバック(0) | サーバー関連

ゾーン設定の更新でエラー

Doレジでゾーン設定の更新の更新を行おうとしたところ、下記のエラーが出てしまいました。

[filepath]:XX: file does not end with newline
zone XXXXX.XXX/IN: loaded serial 1508171633
OK

XXは、設定によって変わります。

コピーしたものにドメインを追加し、Serialを変えただけなのに何でかな~と思ったら、案外簡単なところで引っかかってました。

最後の行は空行にしなくてはならないみたいです。

○正解

XXX   IN    A    XXX.XXX.XXX.XXX
MAIL        IN    A    XXX.XXX.XXX.XXX
(空行)

×間違い

XXX   IN    A    XXX.XXX.XXX.XXX
MAIL        IN    A    XXX.XXX.XXX.XXX(ここで終わっている)

 

総合管理者 | 2015年08月17日 | コメント(0) | トラックバック(0) | サーバー関連

wp_list_categories・get_categoriesでデータが取得できない

WordPressであり、Wordpressとは関係ない話。

WordPress管理画面の「カテゴリー」画面で、カテゴリー一覧にまったく表示されない現象になってしまいました。

wp-config.phpでデバッグをtrueにしても、Noticeが並ぶだけで何もエラーは表示されない。

フロントエンドでも、wp_list_categories・get_categoriesが使えない状態に。

これまでの経験でいえば、カテゴリーの並び替え系プラグインが原因で、一度並び替えを行って保存すると直ることが多いのですが、今回はそれでも直らない。

仕方ないので、Wordpress本体の中身を追っていくうち、wp-includes/taxonomy.phpの中にあるfunction get_termsにSQLが書かれていたので、出力して、phpMyAdminで実行したところ、以下のエラーが表示されました。

Got error 28 from storage engine

調べてみたところ、サーバの容量が不足していると起こる現象のようです。

参考元:MySQLで「Got error 28 from storage engine…」と出るときの対処法

Tera Termで「df -h」を実行したところ、確かに100%になってました・・・

クライアントのサーバなので、勝手にファイルを削除するわけにもいかないから、とりあえず削除してよいか問い合わせているところ。

まさかこんなところが原因とは。

プラグインやテーマが原因かと思って、切ったりつけたり編集したり、無駄に時間食った・・・

総合管理者 | 2015年03月15日 | コメント(0) | トラックバック(0) | CMS関連 | DB関連 | サーバー関連

SuPHP使ってるときはphp.confいらないよ

手間取ったのでメモ。

PHPのバージョンをアップしたところ、PHPがモジュールモードになってしまい、実行権限がapacheになってしまいました。(もともとSuPHPを使っていたので、実行権限はユーザごとになっていた。SuPHPを使うためには、PHPをCGIモードにする必要がある。)

CGIモードにするには、ということでいろいろ調べてphp.confをいじりまくったのですが、全然CGIモードにならない!

効いていないわけではないっぽいけど、やっぱりモジュールモードのままで散々手こずったのですが、FTPで/etc/httpd/conf.d/フォルダを除いてみたところ、一発で解決しました。

そこにあったのは「mod_suphp.conf」

こいつだけでよかったのです。

「php.conf」なんていらなかったのです。

多分バージョンアップしたときに、勝手にできたのでしょう。

「php.conf」をリネームし、無効化してから、Apache再起動したところ、無事CGIモードに切り替えることができました。

あ~あ・・・・

ちなみに、PHPがモジュールモードかCGIモードかを見極める方法は、phpinfoの「Server API」を確認すればOKです。

ここが、「CGI/FastCGI」ならCGIモード、「Apache 2.0 Handler」ならモジュールモードです。

 

さくらインターネットに大容量のDBデータをインポートする

さくらインターネットに標準で用意されているphpMyAdminは、インポートするファイルの容量に限界があります(16MB)。

さてどうしたものか、sqlを実行するPHPプログラムでも作ってみるかと思ったのですが、・・・まてよ?

phpMyAdminをサーバのウェブ領域にアップして、そっちを使ったらいいんじゃね?

ってことで、phpMyAdminをダウンロードし、サーバにアップロードして試したところ普通にうまく行きました。

PHPのアップロードサイズはデフォルトでは数MB程度ですが、コントロールパネルの「PHP言語に関する設定>PHP設定の編集」で

memory_limit = 〇M
post_max_size = 〇M
upload_max_filesize = 〇M

と記述することにより、好きに設定できるので(限界はあると思いますが)インポートファイルの容量は(よほどでない限り)気にすることはありません。

インポートが完了したらアップしたphpMyAdminを削除して完了。

よかったよかった。

Copyright(c) 2010 - 2024 ダリの雑記