「サーバー」カテゴリーアーカイブ

さくらのVPSに導入したWordPressでRSSのFeedや、個別記事のページが404 not foundになったら

WordPressでRSSフィードが取得できない時に疑うこと

ワードプレスでは自動でRSSを出力してくれる。その取得URLは下記の通り、

http://example.com/feed/
http://example.com/feed/rss/
か、
http://example.com/?feed=rss
http://example.com/?feed=rss2

他にもあるが、どうでもいいので割愛。

マネージド・レンタルサーバーであれば多分このエラーはレアケース。

ちゃんと指定してもRSSが取得できないケースがある。
VPSにインストールした場合は割とある。
その原因は .htaccess にある。

 

症状

・RSSが取得できない
・直接RSSのURLを見に行くと404エラー(そりゃ取得できる訳もない)
・個別記事も404
・カテゴリーなども404

 

確認

サーバー内(FTPソフトなどで見る)Wordpressのフォルダの .htaccess をダウンロードして中身を見てみよう。

# BEGIN WordPress
<ifmodule mod_rewrite.c=”">
RewriteEngine On
RewriteBase /wp/
RewriteRule ^index\.php$ ? [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

大体こんな感じのものが書かれているはず。

書かれてなければコピペして上書きアップロードで完了。

書かれてるのにダメな場合もある。
よくあるパターンはVPS使っていて .htaccess が無効になっている場合。

 

VPSで個別記事が404になる時の解決法

.htaccess が無効になっているのを有効化する方法。通称黒い窓を触る必要がある。

さくらのVPSで説明するが、他のVPSでもやり方は割と同じ。


さくらの会員メニューにログインする。

「契約情報」→「契約サービス一覧」→「サーバ設定」→「コンソールの中のシリアルコンソール」

なお、シリアルコンソールでなくてもやり方は同じ。

基本的には、マウスは使えない、コピペなど普通にはできない。

キーボードの矢印とコマンドとエンターでやっていく。

[root@www~]#

となっている状態で

vi /etc/httpd/conf/httpd.conf

と入力して(何回か)エンター。

ずらーっと英語が出て来るので

/AllowOverride

とコマンドを打てば検索できる。

「n」 で次の検索結果へ、「N」で前へ検索していく。

# AllowOverride controls what directives may be placed in .htaccess files.
# It can be “All”, “None”, or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride None

この 「None」 を 「All」 に変更する。

「i」をキーボードで押すとインサートモードになる。

つまり書き換えができる。

インサートモードで「バックスペース」で削除、普通に記入して

記入し終わったらインサートモードを止める。

「ESC」 でインサートモード終了。

続いて mod_rewrite の検索。

/LoadModule rewrite_module

LoadModule rewrite_module modules/mod_rewrite.so の先頭に # がついていれば、その # を削除。

# はコメントアウトなので、 # の行は無視される。

インサートモードを解除(コマンドモードで)

「:wq」エンターで、上書き保存。

[root@www~]# となってるところで、

service httpd restart エンター

で、 httpd を再読み込み。

これで、.htaccess が効くようになり、404は解消されるはず。

この記事も読まれています

WordPressが外部からの攻撃で nav-menu.php が書き換えられた場合の対処法

WordPressにマルウェアを送り込むソースを埋め込まれた時の対処法

JPCERT/CC や サーバーの管理会社から、下記のようなメールが届いた場合は要注意。

<div id=”zqtf” style=”display:none”>67 76 90auc 72 1-8 a7 bm,as4等の文字列が埋め込まれています。
※当該 URL を確認する際は、十分お気をつけください。確認する際は、
ブラウザのスクリプト機能を無効にするなど、影響ない環境で、
ご確認ください。
※上記は、http と :// の間を空けております。
※当該コードは Internet Explorer で確認しております。
同様の改ざんは WordPress や Joomla などの CMS を使用したサイトで確認
されており、”//istart” や “//iend” のような文字列が埋め込まれていまし
た。CMS に関連するファイルを一度ご確認願います。

でも、対応は簡単なので、すぐに対処しよう。

JPCERT/CCとは?

一般社団法人 JPCERTコーディネーションセンターの略で、簡単に言うと、セキュリティ関連の注意喚起をしている機関。

 
 

原因と攻撃の経路

これは、Wordpress 4.4系より前バージョンのセキュリティホールを狙ったものだ。もちろんサーバーの状況などにより、Wordpress4.3以前のバージョンでも攻撃されない場合もある。

ちなみに、ロリポップ、お名前.comは特に多くの被害が報告されている。

→ マルウェアを埋め込まれると、ブラウザでのデータのやり取りが外部に送信されるので、メールフォームなどを設置している場合は特に注意が必要。

簡単に特定でき、修正もできるので、被害が発生する前に対処しよう。

WordPressの場合
/wp-includes/nav-menu.php
/wp-admin/includes/nav-menu.php

この2種類のファイルが狙われ、ソースコードの中に //istart//iend というコードが埋め込まれてしまう。

acreport-cms_01

FTPソフトで、/wp-includes/nav-menu.php/wp-admin/includes/nav-menu.php の2つのファイルを確認し、 istart と検索して、該当があれば攻撃されている。

//istart から //iend までのソースを全て削除すれば、ひとまず脅威はなくなる。

その後、再度同じ被害にあわないように、WordPressを最新にアップデートしておくこと。

既にWordpressが最新の場合は、サーバーの設定に問題がある。

海外からの管理画面や、コアファイルへのFTPアクセスをを全て拒否する設定する。
管理画面にBASIC認証を設定する。

などの対策が有効。

 

この記事も読まれています

【SEO対策・アルファSSL】お名前.comのSSL適用後に必要な3つのステップ

月額100円のアルファSSLのSEO効果を最大限に引き出そう

関連記事:
30秒で終わる月額100円のSSLの導入方法はコチラ

お名前.comのアルファSSLを適用し、httpsでアクセスできるようになっても、それで終わりではもったいない。

サイトを最適化する3つの手順を紹介。

1. .htaccessの設定

wing

SSLの設定が完了した後、 https://xxxxxxxxxx.com で自分のサイトにアクセスしてみて、httpsでアクセスが出来るようになっていたら、今までのように、http でアクセスがあった時にも https に一本化されるようにしておきたい。

RewriteEngine On
RewriteBase /
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

.htaccess に上記の記述を追加しよう。

今.htaccessが無い場合は、 このSSL.txtをダウンロードして、FTPなどでサーバーにアップしよう。

サーバーにアップ後、ファイル名を .htaccess に変更することを忘れずに!
 

 

2. URLの書き換え

https-image
次に今あるURLを全て書き換えた方がいい。

相対パスの場合は特に変更は必要ないが、絶対パス、つまり「 http://xxxxxxxx.com/image.jpg 」のようになっている場合は、これを全て、https に変更しておく。

WordPressの場合などは、プラグインのSearch Regexなどを使って、一括で「http://」を、「https://」に書き換えると楽だ。

ただし、外部リンクまでhttpsに変えてしまわないように注意!
 

 

3. WordPressの設定URL

普通のHTMLやPHPで作ったサイトの場合はこのステップ3は必要ないが、Wordpressで作ったサイトの場合には、Wordpressの設定も変更しておかなければならない。

管理画面の「設定」→「一般」の中の

WordPress アドレス (URL)
サイトアドレス (URL)

wp-address
の2箇所も https://~ に変更しておこう!

この記事も読まれています

お名前.comのアルファSSLを導入したらアクセスが伸びた!

SSL導入したら何がいいの?

 
 
SSLを導入することは、一昔前までは、ページのデータのやりとりを暗号化してセキュリティ向上をはかる手段だったのだが、Google、Yahooが、相次いでSSL対応しているかどうかをサイトの検索順位に考慮すると発表した。
 
 
これで一気にSSL化の加速が進み、またSSLの導入価格も大幅に安くなった。年額1000円程度でも導入できるので、アクセスアップのためにも是非導入したい。
 
ssl-onamae
 

お名前.comの月額100円のSSLでhttpsにしよう

 
 
大手IT企業のGMOが提供するレンタルサーバーのお名前.comでもSSLの導入が月額100円でできる。サーバーそのものの価格や安定性も業界トップクラスなので、是非検討したい。
 
共用サーバーSD-01、共用サーバーSD-02、共用サーバーSD-11、共用サーバーSD-12
レンタルサーバーはこの4つがあるが、このうち、01と02は現在は提供されていない旧プランなので、アルファSSL(月額100円のもの)は導入できない。
 
この場合は共用サーバーSD-12にアップグレードするしかない

サーバーの月額がSD-11の倍(月額1800円)かかるものの、アルファSSLが10個まで無料なので、SD-12もかなりお得だ。
 
 
手順も超簡単SD-11(別途月額100円必要)でも、SD-12(10個まで無料)でも手順は同じ。
 
 

1. お名前.comにログイン

まずはログイン、お名前.comのレンタルサーバーのサーバーNaviにログインしよう。
onamae-ssl1

画面左のメニューからご利用サービス確認をクリック。
onamae-ssl2
 
 

オプションを追加する

オプション [追加する] をクリックする。
onamae-ssl3
 
 

独自SSLを追加する

 

独自SSL(アルファSSL)の左にチェックを入れ、「次へ」をクリック。
onamae-ssl4

ドメインを選んで「次へ」をクリック。
onamae-ssl5

 
 

確認メールが届く

 

[お名前.com] アルファSSLオプションお申込み確認 xxx.com というタイトルでメールが届く。
内容はこんな感じ
───────────────────────────────────
■サービス内容■
───────────────────────────────────
ドメイン名…………..: xxx.com
[合計]――――――――――――――――――――――――――――――――
アルファSSLオプション..: 108円
======================================================================
合計……………………………….: 108円
※上記の金額は、すべて税込金額です。

 
 

クレジットカードの決済や、口座引き落としがある

 
決済完了のメールが届く。とりあえず1年分のお金は引き落とされる。

───────────────────────────────────
■ご請求/領収明細内容■
───────────────────────────────────
会員ID…………………………….: xxxxxx
[ご請求/領収明細]―――――――――――――――――――――――――――――
xxx.com
独自SSL(アルファSSL) 2016年2月-2017年2月ご利用分 1 1,404円
======================================================================
お支払い金額……………………: 1,404円

 
 

httpsでアクセスできるようになる

 

決済完了のメールが届いてから、自分のサイトにhttpsでアクセスしてみよう。

http://oreno-url.com/ だった場合、自分で
https://oreno-url.com/ と入力してみよう。

アクセスアラート(エラー画面のようなもの)が表示される場合は、まだサーバー設定が完了していない。
決済完了から、15分~数時間かかるので、しばらくしてからもう一度、https でアクセスしてみよう。

問題なくアクセスできたら設定完了!

この記事も読まれています