さくらインターネット


サイトのssl化の手順

サイトのssl化の手順 覚書

let's encrypt の更新はこちら

さくらのレンタルサーバー かつ wordpress 利用の場合

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

1.さくらのサーバーコントロールから無料SSL証明書を発行

2.Really Simple SSL をインストールして実行

さくらインターネット提供のプラグインも存在するが php のバージョンが違ったので Really Simple SSL をインストールした

参考サイト

https://zenlogic.jp/aossl/operation/wp-plugin/

3.google の Search Console と analytics の設定を変更する

https://candy.fun-net.biz/https-google-search-console-analytics/

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

さくらのレンタルサーバー かつ wordpress でないの場合

-----------------------------------------------------------------------------------------
1さくらのレンタルサーバー wordpress でない場合

1.さくらのサーバーコントロールから無料SSL証明書を発行

2.CSS や 画像ファイル の URL を http → https に変更

SSL証明書を発行後に https のアドレスでページにアクセスすると表示はされるもののレイアウトが崩れる。このとき chrome のアドレスバーには鍵マークでなく「!」になっていた。原因は http CSS や画像ファイルを http で読み込んでいるのが原因なので https に書き換える。

3.htaccess で http → https の301リダイレクトを設定

htaccess に記述
---------------------------------------------------
RewriteEngine on
RewriteCond %{HTTPS} off //RewriteRuleが実行される条件。直後の RewriteRule のみが対象
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]
---------------------------------------------------

4.google の Search Console と analytics の設定を変更する

https://candy.fun-net.biz/https-google-search-console-analytics/

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

さくらのvpsの場合

基本的にここ↓を参考にする

https://knowledge.sakura.ad.jp/10534/

しかしリンク先の解説は CentOS7 を対象としているが、自分が利用しているのは CentOS6.9なのでちょいちょい違うので注意。

ファイアウォールのコマンドは CentOS6.9を利用しているので firewall-cmd ではなく iptables を使う。

iptables の起動状態を確認
-------------------------------------
/etc/init.d/iptables status
-------------------------------------

ssl で利用する 443 ポートが開いていることを確認
-------------------------------------
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:443
-------------------------------------

Let's Encrypt を利用するには Certbot を利用する必要があるのでインストール

コマンド
-------------------------------------
wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto
./certbot-auto
-------------------------------------

その後指示に従う。

途中で、http でのアクセスを https にリダイレクトするか聞かれるが、手動(htaccess)でリダイレクトしたいので「1」を選択

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

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
-------------------------------------------------------------------------------
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
-------------------------------------------------------------------------------
-------------------------------------

インストールが完了したら httpd を再起動

-------------------------------------
service httpd start
-------------------------------------

https でアクセスできるか確認する

二つ契約しているさくらのVPSの片一方がうまく SSL化できなかった。

適用するドメインを選択するこの場面で現在利用してないドメインも選択したのが原因だと思われる。

Which names would you like to activate HTTPS for?
-------------------------------------------------------------------------------
1: one,example.com
1: two,example.com
1: three,example.com
1: four,example.com
1: five,example.com
1: six,example.com
1: seven,example.com
1: eight,example.com
-------------------------------------------------------------------------------

エラーが出てきちんと完了しない場合は、関連ファイルを全部消して再度実行するといい。
削除したファイル1
----------------------------------------------------
rm -rf /opt/eff.org/certbot
rm -rf /etc/letsencrypt
----------------------------------------------------

削除したファイル2
certbot-auto というファイルがいくつかのディレクトリ内にできているのですべて削除
探す場所
----------------------------------------------------
cd /opt/eff.org/
cd /etc/
cd /etc/httpd/conf.d/
----------------------------------------------------

不要ファイルをすべて削除したら再度実行。

コマンド
-------------------------------------
wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto
./certbot-auto
-------------------------------------

さくらVPSでwwwサブドメインのURLを統一(正規化)する

www.○○○.com でアクセスしたときに、○○○.com にリダイレクトする方法

1.www.○○○.com を叩いたら、○○○.com のデータがあるサーバーにアクセスするように、DNS のゾーンの設定をする。

2.○○○.com のサーバー内の vhost.conf などの設定ファイルに以下の記述を追記する。

--------------------------------------------------
# www normalization
ServerAlias www.○○○.com
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.○○○\.com$
RewriteRule ^/(.*) http://○○○.com/$1 [R=301,L]
--------------------------------------------------

なお、△△△.○○○.com のように既にサブドメインがついている URL は対して、www.△△△.○○○.com というサブドメインのサブドメインをつける URL の記述は通常しない。www 自体がサブドメインのため。上記のやり方でも正規化できない。

うまくいかない場合は、ブラウザの情報を削除してからやってみる。はまった。

さくらVPS で pear をインストールしたときの覚書

さくら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
------------------------------

【さくらVPS】PHPセッションファイルの保存場所

さくらVPS に PHP をインストールしたときにPHPセッションファイルの保存先と保存先の指定方法について調べたときの覚書

セッションファイルの保存場所は、 php.ini の session.save_path ディレクティブで指定できる。しかしデフォルトではコメントアウトになっていた。

その状態で phpinfo() を実行すると、 session.save_path の右カラムは no value になっている。

savepath

ターミナルから 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 = "希望の保存先パス"
-------------------------------------------------

さくらVPSで外部ホストからmysqlに接続する

さくらVPSで外部ホストからmysqlに接続するには、接続を許可するユーザーを作ればいい。

参考サイト
MySQLに外部ホストから接続できるように設定する

接続を許可するユーザーを作るSQL
-------------------------------------------------
grant all privileges on 接続を許可するDB名.* to new_user_name@"接続元のホスト" identified by 'password' with grant option;
-------------------------------------------------

grant → 付与。許諾する。mysqlで権限を付与する命令。

all privileges → 全ての権限を与える。

privileges → プリビレッジ。権限の意。

さくらVPSと同じドメインのメールを使う

さくらのVPSをメールサーバーにするよりさくらのメールボックスを利用したほうが簡単なのでその方法。

参考ページ
さくらのVPS-さくらのメールボックスでウェブサイトと同じドメインを使う
さくらメールボックス連結のVPSメールサーバーMX設定
さくらのナレッジ

メールの作成は、さくらのサーバーコントロールパネルから行う
メールアドレスの作成・変更・削除

さくらvpsでphpmyadminをインストールする

さくらのvpsで phpmyadmin をインストールしたときの覚書

phpmyadmin は 下記ページの後半を参考にすればいい。

さくらのナレッジ Webサーバーを構築しよう(2)

しかし説明のとおりインストールすると、標準でインストールされる php5.3 向けの phpmyadmin がインストールしようとしてエラーが出て完了しない。

php5.6 だとこれではインストールできない
-------------------------------------------------
yum install phpmyadmin
-------------------------------------------------

yum install phpmyadmin で依然入れたバージョンを削除するなら簡単にアンインストールできる
-------------------------------------------------
yum remove phpmyadmin
-------------------------------------------------

なので、php のバージョンに合った phpmyadmin をインストールする

php5.6 で yum を使って phpmyadmin をインストール
-------------------------------------------------
yum install -y --enablerepo=remi,remi-php56 phpMyAdmin
-------------------------------------------------

【さくらvps】CentOS6 で php を update

標準リポジトリから php をインストールしたら php5.3 だったので、php5.6 にした時の覚書

現在有効なリポジトリの一覧を表示

コマンド
-------------------------------------------------
yum repolist all
-------------------------------------------------
status が enabled となっているのが有効なリポジトリ

epel は有効になっていた

最新バージョンの php を手に入れるには Remi リポジトリを利用するのがいいらしいので、使えるようにする。

CentOS6系で Remi リポジトリをインストール
-------------------------------------------------
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
-------------------------------------------------
以下ほぼこちら通り:CentOS6/CentOS7にPHP5.6/PHP7をyumでインストール

現在のPHPバージョンを確認
-------------------------------------------------
rpm -qa | grep php
php --version
-------------------------------------------------

現在のphp を削除(しなくても update されるけど念のため)
-------------------------------------------------
yum remove php-*
-------------------------------------------------

PHP5.6をインストール
-------------------------------------------------
yum install --enablerepo=remi,remi-php56 php php-devel php-mbstring php-pdo php-gd
-------------------------------------------------

php をインストールしたら php.ini の編集も忘れずに

ここを参考にphp.ini で4か所のみ設定する
---------------------------------------
mbstring.language
mbstring.internal_encoding
mbstring.detect_order = UTF-8,SJIS,EUC-JP,JIS,ASCII
expose_php ← on だとレスポンスヘッダーに php のバージョンが表示されてしまうので Off にする
---------------------------------------

自分の環境では以下の2つは設定変更しなかった
---------------------------------------
error_log ← 指定しなくてもサーバーに保存されるようなので指定しない
mbstring.http_input ← 非推奨なので設定しない
---------------------------------------

さくらレンタルサーバーからVPSへの引っ越し手順

さくらレンタルサーバーから vps への引っ越し手順の覚書

引っ越しをするときは、vps の設定をすべて済ませておくこと。php や mysql も使える状態になってから引っ越し作業に取り掛かる。設定に戸惑ってダウンタイムが長くなるのを防ぐため。

vps を借りてからの設定についてはこちら

お名前かさくらどちらかでネームサーバーを変更

共用サーバーを利用していた時はさくら側で設定が必要だったが、vpsの場合、お名前でもさくらでもどちらで設定してもいい

お名前側で設定する場合

さくら側で設定する場合
さくら側で設定する場合 参考2

さくら側で設定する場合、お名前側でさくらのネームサーバーのドメインを参照するネームサーバーとして登録しておく必要がある。
お名前側で一日前にネームサーバーをさくらに指定していた場合、その後さくらでゾーン設定すると実際にページが表示されるまで10分ほどかかった。(即時反映されるかと思ったが意外と時間がかかった)

さくら側で設定する場合、さくらレンタルサーバーでのネームサーバーの指定を解除しておく必要がある。その後二時間は再設定できないので、早く済ませたいならお名前側で設定するほうがいい。

さくらのvpsを借りたらやること

セキュリティの設定
-------------------------------------------------
1.一般ユーザーを追加して、sudo で root権限を与えられるようにする
参考ページ
※初期設定でPort22が使えない場合は、SSHでログインできない。VPSコントロールパネルのコンソールからログインする
※最初ターミナルでログインしようとしたら、port22 が使えないってログインできなかった。yum update したからかお試しから本登録に変更したからログインできるようになった

2.rootでのログインを禁止
参考ページ

3.ssh のポート番号を 22 から変更

iptables の変更も忘れずに!

参考ページ

4.鍵認証の設定

参考ページ
※authorized_keys のパーミッションを 600 にしないとログインできないので注意!

鍵認証を有効にしたらパスワード認証を無効にするのを忘れずに
詳細
パスワードを有効にしたらリスタート
-------------------------------
sudo /etc/init.d/sshd restart
-------------------------------

5.その他の設定も次のサイトのとおり
参考ページ

マルチドメインに対応するところで、/etc/httpd/conf.d/vhost.conf ファイルを作るのは、conf.d ディレクトリに .conf のファイルを作るとデフォルトで読み込まれるから。httpd.conf ファイルにそういう記述がされている。

httpd.conf の抜粋
-------------------------------------------------
# Load config files from the config directory "/etc/httpd/conf.d".
#
Include conf.d/*.conf
-------------------------------------------------

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

上の参考サイトでマルチドメインの設定をするとサーバーのIPアドレスでのアクセスができなくなるので、httpd.confを編集してIPアドレスでアクセスできるようにする。
さくらVPSで複数の独自ドメインを運用する

ServerAlias の記述を加えて、ドメインの www のありなしを統一する。www のリダイレクトは サーバーの設定ファイルか .htaccess で制御。
詳しくはこちらを参考
さくらVPSでwwwサブドメインのURLを統一(正規化)する

ftpクライアントからファイルをアップロード
-------------------------------------------------
ffftp が基本的に sftp 接続できないので fileZilla を使った。

fileZilla でサーバーに繋がったのにアップロードするとエラーになった。公開フォルダの所有者が root なのに、ほかのユーザーでログインしたのが原因。公開フォルダの所有者を変更する。
参考ページ
-------------------------------------------------

1 / 41234