サーバー関連の最近のブログ記事

オススメするべきサーバまとめ

お客様の条件によって、ロリポップも選択肢に入れてきたが、WordPressを前提とするなら、アップグレードのバックアップでSSHが使えないのがけっこう痛い。

あれこれ理由も含めて忘れないようにメモメモ。

------------------------------(2020.04.06追記)

あれこれやるなら、エックスサーバ

さくらインターネットをメインで使ってきたけど、複数ドメインを運用したときにメアドアカウントの問題がある。@マークの前部が同じものは一つしか使えないばかりか、@以降が違っても同じものと認識されてしまう。例えば「info@hoge.jp」を設定している場合に、同じサーバでfuga.comを運用していれば「info@fuga.com」宛てでメールを送っても「info@hoge.jp」へ届いてしまう。
現実の問題として、一クライアント一契約で使うかぎりは問題になることはほぼ無いのだけれど、感情的にやはりスッキリしない。

同業の仲間の評判を聞いて、必要な要件を満たして金額的にも月額千円ていどと低いので、エックスサーバにしておけば問題なし。

------------------------------(2013.08.06現在)

基本的にオススメするのは、さくらインターネット

スタンダード以上でSSHが使えて、スタンダードなら月額500円ということで、かなり割安感が強い。

ってことで、さくらで決まりでいいんじゃないだろうか?

------------------------------(2013.08.09追記)

さくらの格安プランでは不安があるという場合にはCPIもオススメ

オマケだが、パートナーになっているとマージンも入るので制作会社には嬉しい。

ただ、CPIのウリのひとつ「スマートリリース」機能は、WordPressの場合は意外と面倒。公開前にDB内のURLを書き換える必要があり、本番環境上で別ディレクトリを切って制作するほうが効率的。

スマートリリースの最大のメリットは、プログラムものの場合に、まったく同一の環境でテストできるところか。

------------------------------

DNS切り替えでMXレコードを別にするなど

エックスサーバにウェブサイトを置き、お名前メールにメールサーバを置くという構成でDNS切り替えを行ったのであれこれメモメモ。

結論から書くと、ネームサーバはどこを使っても良くて、AレコードとMXレコードをしっかり分けてあれば大丈夫。

以下、箇条書きでメモ的に

  • お名前ドットコムの中に2種類のネームサーバがあるので混乱しやすいので注意。
    「01.dnsv.jp」と「dns01.gmoserver.jp」が別にある。
  • ネームサーバの選択肢はお名前の二つプラスエックスサーバで3つ
    • お名前メールのコンパネでは細かいDNS設定ができないので、このケースでは使わないほうが良い。
    • 今回はエックスサーバのネームサーバを使い、MXレコードを「mx00.gmoserver.jp」とする設定。
      (00は契約ごとに変わる数字)
  • なりすましメールを防止するためのspfレコードについてはエックスサーバのヘルプから。
  • お名前メールのメールサーバは「mx00.gmoserver.jp」で、00は契約ごとに変わる数字。popやsmtpを見て、そこに付加されている数字を入れればよい。

 

ちょっと便利なLookUp系ツールをメモ

.htaccessでリダイレクトを設定するのにごにょごにょしていたら、削除したはずの.htaccessがイキていてる。どうやらChromeがキャッシュしてしまうらしい。ちょいとハマりかけたのでメモメモ。

【参考サイト】
https://xov.jp/e/83/

最近のChromeは高速化のためかいろいろとキャッシュしてくれちゃうようなので、変だなと思ったら他のブラウザでも動作テストしてみる癖をつけたほうが良さそう。

MTのダンプデータを借り受けたが、カスタムフィールドにイベント担当者の個人名と電話番号が入っていたため、個人情報なので削除してほしいとのこと。phpMyAdminからSQL文を書いて作業できたのでやり方をメモメモ。

まず、MTのカスタムフィールドはもっとごちゃ混ぜで格納されていたと思っていたら、[mt_entry_meta]テーブルに割ときれいな形で収まっていた。なので、このテーブルに対して下記のような文で実行。

-----
UPDATE `mt_entry_meta` SET entry_meta_vchar_idx = '' WHERE entry_meta_type = 'field.event_person';
-----
(mt_entry_metaをUPDATE entry_meta_vchar_idxを’’(空白)にSET entry_meta_type が'field.event_person'のデータを)

これを名前と電話番号でそれぞれ実行。

CPI|SSIを.htmlファイルで使用する

CPIのACE01 で、ssiは「.shtml」じゃないと使えず.htaccessでも変更はできませんという記述を見かけた気がしてたのだけど、実際に「.html」でもSSIを使えるように設定できたのでメモメモ

<FilesMatch \.html$> 
SetHandler server-parsed 
</FilesMatch>

-----

【追記】

.htaccessで変更できないのは古いタイプのものであり、ACE01は上記の記述方法をサポートが案内している。
http://acesr.doc.secure.ne.jp/other/tips-htaccess/#ssi

さくらインターネットでダンプデータをインポートしようとしたら16Mの制限を大きく超えていてphpMyAdminが使えなかった。SSHでインポートしたので、手順をメモメモ。

 

SSHで接続後、、、

◆mySQLにログイン
mysql --host=[DBサーバ] --user=[ユーザ名] --password=[パスワード]

◆個別のDBに入る
use [DB名];

◆sqlファイルをインポート
source /hoge/huga/hogehoge.sql;

 

show databases;
show tables;

などで確認しながら進める

◆mySQLから抜ける
\q
※バックスラッシュはひらがなの「ろ」のキー

 

----------------------------------

CPIの場合はポート番号が必要。その場合は下記のように
mysql --host=[DBサーバ] --user=[ユーザ名] --password=[パスワード] ----port=3307

----------------------------------

【追記】

これ、phpMyAdminでインポートすればエラーが出る場合に、SSHだとエラーが出てても分かりにくいために不具合の元になる可能性あるから慎重に使う必要ある。今度そのあたり経験多い人に効いてみよう。

さくらインターネットは無料で常時ssl化できるようになった。

なのでhtaccessリダイレクトでhttpsへ、さらにwww付きに統一しようとしたら意外に手間取った。
しかも、結果的にうまくいったものの、充分に理解できていない感もあるので、書いたソースをここにメモメモ。

 

## ssl & www ##
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(hoge\.com)$ [NC] 
RewriteRule (.*) http://www.hoge.com%{REQUEST_URI} [R=301,L] 
RewriteCond %{HTTP:X-Sakura-Forwarded-For} ^$
RewriteRule ^(.*)$ https://www.hoge.com/$1 [R=301,L]

 

さらに、ドメインの設定も行った。
通常は一つの登録でwwwありと無し両方が生きる設定にするが、今回はあえて「hoge.com」と「www.hoge.com」を別々に登録。
※ただしつなげるディレクトリは同じ場所へ

ドメインが変わる時、リニューアルでURLが変わる時の.htaccessへの記述方法をメモメモ。

 

◆引っ越しなどで恒久的なリダイレクト(301リダイレクト)

  • サイト全体をリダイレクトする場合
    Redirect permanent / 移転先URL
  • 特定のページをリダイレクトする場合
    Redirect permanent /転送元URL 転送先URL

 

◆メンテナンスなどのための一時的なリダイレクト(302リダイレクト)

  • サイト全体をリダイレクトする場合
    Redirect temp / 移転先URL
  • 特定のページをリダイレクトする場合
    Redirect temp /転送元URL 移転先URL

 

※転送元URLは.htaccess起点のパス
※転送先URLはhttp://からのURL

 
もしmod_rewriteが使えるサーバーなら、RewriteEngine~を使ったリダイレクトで特定のブラウザだけをリダイレクトするといった複雑な条件指定も可能。

常時SSLの基礎知識

シマンテックのオンラインセミナーを見たので、自分用まとめメモ
https://www.jp.websecurity.symantec.com/event/
-------------------------------------------------------
 
実はSSLはいまはほぼ使われてなくて、TLSに置き換わっている。
ただし「常時SSL」という言葉は一般に使われている。
 
-------------------------------------------------------
常時SSLのメリット
-------------------------------------------------------
 
◆通信速度が速くなる。
使われるプロトコル「HTTP/2」が同時に多重接続できるなどで優秀なため速くなる。
CPUなどのサーバスペックが良くなっているので暗号化のためのオーバーヘッドは無視できるレベル。
 
◆SEO対策
Googleが優遇すると明言したため。
劇的な効果ではないが全ページに効くというのもポイント。
 
--間違ったSSLを入れるとサチコが警告するのでチェックすること
 
◆従来から認められている価値。
 -- ユーザの安心感の向上
 -- セキュリティの効果
 
◆ウェブアプリなど制作管理の効率化
HTTPとHTTPSが混在するより、HTTPSだけのほうが管理が楽なのは当然。
 
◆ログ解析の精度が向上
httpsのリンク元からhttpに来た場合にリファラ―を渡さない場合があるため。
 
-------------------------------------------------------
実際によくある不具合としては、SSL非対応のツール類が入るとエラーが表示される。
  -- HTMLタグで他サイトから引っ張ってくるバナー
  -- JSやCSSを他サイトから読み込む場合
 
 -------------------------------------------------------
 
みんながhttpsになってくるので、取り残されるととても不利になる。
 
今後、HTTPSは当然で、今後の差別化は認証されたHTTPS。
 
HTTPSは通信経路の暗号化だけなので、システムの脆弱性をカバーするわけではない。
WordPressのアップデートなど、それはそれで必要。

 

具体的な手順を探すのに意外と手間取ったので、ここにメモメモ。

-----------------------------------

1. あらかじめ管理画面からDBを作成しておく。

2. (ssh接続時の)カレントディレクトリにsqlファイルをアップロード。

3. ssh接続する

4. mysqlにログイン
% mysql --host=mysql***.db.sakura.ne.jp --user=**アカウント名** --password=**DBパスワード**

5. DBを選択
mysql> use ***作成したDB名***

6. データをインポート
mysql> \. **sqlファイル名**

 

[mysql & SSH] リファレンスページ

sshでmysqlを扱うのに、手ごろなリファレンスページを見つけたのでメモメモ。

http://www.bitscope.co.jp/tep/MySQL/quickMySQL.html

 

【VM】サーバONで自動起動させる設定

サーバをONしたり再起動させたとき、apacheやら何やらOFFっているので、サーバONと同時に起動させていく設定

vi /etc/rc.d/rc.local

で、下記を追記する

-------------

/etc/rc.d/init.d/iptables stop
/etc/init.d/mysqld start
/etc/init.d/httpd start
/etc/init.d/vsftpd start

 

SSHで使うコマンド覚書

apacheの起動・再起動関係

  • apacheの起動 : apachectl start
  • apacheの起動(SSLを利用する場合) : apachectl startssl
  • apacheの再起動 : apachectl restart
  • apacheの停止 : apache stop

事前の準備

VMをインストールしておく

・バーチャルボックスのインストール(https://www.virtualbox.org/wiki/Downloads

OSを準備

・CentOS 【CentOS-6.5-i386-minimal.iso 29-Nov-2013 21:12 324M】
http://ftp.iij.ad.jp/pub/linux/centos/6.5/isos/i386/

=============================
下記に注意しながら次へ次へで進む感じ
=============================

サーバを新規作成

  • タイプ -- Linux
  • バージョン -- RedHat

LANポートの設定

  • cd /etc/sysconfig/network-scripts
  • vi ifcfg-eth0
      ONBOOT を 「yes」
  • vi ifcfg-eth1
      4行足す
      #BOOTPROTO=dhcp
      BOOTPROTO=static
      IPADDDR=192.168.56.101
      NETMASK=255.255.255.0

=============================
各種アプリケーションのインストール
=============================

アパッチのインストール

yum -y install httpd

  • yum -- パッケージのインストール
  • httpd -- アパッチ

IPテーブルを止める  /etc/rc.d/init.d/iptables stop

アパッチをスタート /etc/rc.d/init.d/httpd start

アパッチの状態を調べる /etc/rc.d/init.d/httpd status 

phpのインストール

  • yum -y install php php-gd php-mbstring php-mysql

mySQLのインストール

  • yum -y install mysql-server
  • 日本語の場合は文字化け防止のために、設定ファイルに下記を追記
    character-set-server=utf8

  • 設定ファイルは、/etc/my.cnf
  • mysql_secure_installation
  • 「etc/rc.d/rc.local」に下記2行を追記
    /etc/rc.d/init.d/iptables stop
    /etc/init.d/mysqld start

その他

  • FTP : vsftpd
  • 解凍 : unzip

 

mod_rewriteを使えるようにする

http://centoshome.seesaa.net/article/118972004.html

# vi /etc/httpd/conf/httpd.conf で、「# AllowOverride controls what directives may be placed in...」の下にある 「AllowOverride」を 「None」から「All」に変更する

 

=============================
小枝系
=============================

公開ディレクトリ : /var/www/html

VIの使い方メモ

  • i で書き込みできる状態に
  • :q -- 終了
  • :wq -- 書き込んで終了

動いているソフトの強制終了 : ctr+c

電源を切る : shutdown -h now

元ネタ

http://piyopiyocs.blog115.fc2.com/blog-entry-512.html

-----------------------------

下記からDL

http://www.apachefriends.org/download.html

インストールは、「次へ次へ」。

雰囲気で作業を進めて、終了。

-----------------------------

  • ポートを使ってるSkypeなどのアプリケーションを終了してから立ち上げること。
  • セキュリティの設定で文字化けが発生するので、下記参照にて修正
    http://fu-tara.com/wordpress000230/
  • データベースの設定は下記参照
    http://www.adminweb.jp/xampp/mysql/index5.html
    ※XAMPPのコンパネから「admin」ボタンでphpMyAdminを起動してすすめていく
  •  

WindowsにApacheをインストールのメモメモ

WordPressをアップグレードする際にはDBとサーバ内ファイルをバックアップする必要がある。このうちサーバ内ファイルをバックアップするのに、FTPダウンロードしていたが時間がかかりすぎる。

要はアップグレードしてヘグった時に元に戻せれば良いので、この部分をSSHでサーバ内にコピーすることにした。

以下はその手順メモ。

  1. TeraTermでSSH接続
    http://support.sakura.ad.jp/manual/rs/others/ssh.html
  2. ディレクトリをコピー
    http://www.jitaku-server.net/basic_command.html
    http://www.leosv.jp/manual/ssh2.html
  3. データベースをローカルにDL
  4. WordPress管理画面からアップグレードのボタンをポチる。
  5. 確認して問題がなければ終了
    (-- 問題があればバックアップから元にもどす)

 

逆引きUNIXコマンド

http://linux.just4fun.biz/%E9%80%86%E5%BC%95%E3%81%8DUNIX%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89.html

 

スマートリリースは便利な機能だが、DB内にあるURLを書き換えてくれるわけではないので、WordPressをリリースするとちとややこしい。

今回の手順を忘れないようにメモメモ。

  1. FTPバックアップ&DBダンプでバックアップ
  2. DBダンプをテキストエディタで開き、ドメイン名を一括置換
  3. サーバ管理画面から新しいDBを作成して、置換後のダンプデータをインポート

ここでスマートリリースをかける
次に本番サイト上で修正

  1. htaccessを開いて記述変更(ベーシック認証を削除)
  2. wp-config.phpを開いて、DB名のところを新しいDBに修正

あとは、新しいサイトを開いて各種確認

  • メールフォームの送信ができるか?

お名前サーバのメモメモ

お名前でドメイン&サーバを利用しているクライアント。ネットショップのため、他社のサーバにサブドメインを振っていた。

この時、メールが使えない状態だったのを解消すべく試行錯誤したのでメモメモ。

:::::::::::::::::::::::::::::

ドメインNaviでいろいろと操作するも、どうもうまくいかない。サポートに問い合わせると

 

--------
なお、弊社指定ネームサーバー以外でのご利用は技術的には可能
でございますが、サポートはおこなっておりませんのでご了承ください。
--------

とつれない返事。

最終的に、お名前サーバ側の管理画面からサブドメインを作ってDNS設定をできることを見つけたので、それで対応。

DNSの話はAレコードだけならまだしも、MXレコードとか絡んでくるとサーバ素人にはかなり困難と覚えておこう。

結局、「shop.xxxxx.com」は動いているが、その開発領域の「dev,shop.xxxxx.com」は設定できず。とりあえず今回は時間がないのでここまでとしておくしかない。

CPIサーバーの管理系

CPIサーバの管理画面は、ロリポ・ヘテムルなどと比べて分かりにくい。
基本的な使い方の部分でひっかかったところをメモメモ。

-----------------------------------------------------------
 FTPアカウントの作成・設定
-----------------------------------------------------------

◆最初に管理画面からFTPアカウントを作成

ホーム > テストサイト用設定> FTP/ファイル管理 > FTPアカウントの設定 
 または
ホーム > 公開サイト用設定> FTP/ファイル管理 > FTPアカウントの設定

◆FTPソフトを設定

・FTP サーバー名 : IPアドレス(管理画面右の「契約情報」から拾う)
※テストサイト・公開サイトとも共通

・FTPアカウント・パスワード : 設定したものを入力

わかりにくいのは、公開サバでもテストサバでも、FTPサーバが同一ということ。
どちらの画面から作ったかで、そのアカウントがどちらに接続されるかが設定されるっぽい。

 

 

-----------------------------------------------------------
 データベースの情報
-----------------------------------------------------------

データベース名 : 
ホーム > 公開サイト用設定 > データベース >MySQLデータベースの追加・削除
で確認できる
 
ユーザ名 : 登録時の書式から(お客様IDと同じ)
 
パスワード : 登録時の書式から
 
データベースのホスト名 : localhost ※つながらない場合は「127.0.0.1」
 
 

 

-----------------------------------------------------------
 スマートリリース
-----------------------------------------------------------

スマートリリースの操作は、管理画面からではないので注意。
※ここから探そうとするとハマる。
 
ユーザー管理ポータルへログインしたら「スマートリリース」へ進む。
 

-----------------------------------------------------------
 各種情報・操作の見つけ方
-----------------------------------------------------------

◆公開ドメイン・テストドメインの見方

ホーム > お客様情報 > プログラムのパスとサーバの情報

◆Basic認証

ホーム > テストサイト用設定 > 制作ツール > アクセス制御 (BASIC認証) 

AblenetでEC-CUBEのパーミッション

AblenetにEC-CUBEをインストールで大ハマり。

AblenetのFAQの説明のままインストールするとアクセス可能なディレクトリに/data/を置くことになってしまうので、正しい場所にインストールしてみた。そうしたらFFFTPでアップロード後、ファイル群のパーミッションを全部変更する必要が。FAQではCGIツールでパーミッション変更をかけるように書いてあるが、インストールディレクトリが違うためか、このツールが動作しないw

膨大な数のパーミッション変更をどうしようか思い悩んだ末、FFFTPの環境設定からアップロードした際に同時にパーミッション設定することで解決しました。

アーカイブ

ウェブページ

「紺屋の白袴」とはまさにこの事。見にくいしスマホ対応もまだしていません。そのうちやります。そのうちにね。

エフスタジオの中の人は株式会社メキメキに在籍しています。