さくらVPSのドメイン設定方法

■はじめに

本記事は、さくらVPSの利用方法がある程度わかっている前提で記載しています。

また、さくらVPSを契約している方を対象としています。

ドメインの設定

1.さくらVPSコンソール(以降、コンソール)を開く。

2.コンソールの左のメニューから、「ドメイン取得・転入」を押下する。

3.欲しいドメインを入力して、「検索」ボタンを押下する。

4.取得したいドメインの「申し込む」ボタンを押下する。(このボタンがない場合には、他者が既に取得している為、別ドメインを使用する必要があります。

5.以降、画面の手順にしたがって、支払情報などを記載する。

6.ドメインが取得できたら、以下のリンク先にアクセスする。

https://secure.sakura.ad.jp/menu/domain/

7.取得したドメインが「利用中」になるまで、数時間〜48時間かかるようなので、それまで待機する。

8.利用中になったら「ゾーン編集」を押下する。

9.「さくらインターネットのネームサーバに設定する(簡単設定)」に設定したいIPアドレスを入力して、「送信する」を押下する。

10.エントリ名「@」のタイプ「A」にIPが設定されていればOKです。

サーバーへSSHで接続し以下のコマンドを実行する。(Apacheの場合)

vi /etc/httpd/conf.d/vhost.conf

編集モードに変更し、以下をコピペする。

※「domain-name.com」はそれぞれのドメインに変更する。

NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot /var/www/html
ServerName domain-name.com
</VirtualHost>

Gitを都度パスワード入力しなくていいように設定【CentOS7】

■はじめに

CentOS7でGitをクローンした後、「git pull」などを行うと、都度パスワードを求められます。

ここでは、毎回パスワードを求められないように設定する方法を記載します。

■手順

cdコマンドで対象の「.git」が入っているディレクトリに移動します。

以下のコマンドを実行します。

git config credential.helper store

これで、設定が終わりました。

あとは、「git pull」などを実行してみてください。

※1回目はパスワードを求められる場合がありますので、ご注意ください。

Apatchの再起動時にSSLのパスワードを求められないようにする方法【CentOS7】

はじめに

SSLを設定すると、Apatchの再起動の時に毎回SSLのパスワードを求められてしまいます。
これのせいで、Apachのデーモン化しても起動され無くなってしまいます。
ここでは、Apach再起動時のSSLのパスワードの入力をなくす方法を記載します。

手順

「cd」コマンドにて、SSLの「.key」ファイルがおいてある階層に移動します。

cd [SSLのkeyがある階層]

念のために、keyファイルをバックアップします。

cp [file_name].key [file_name].key.bk

keyファイルからパスフレーズを外して上書き保存する。
※上書き保存するために、以下のコマンドの[file_name]は同一の名前にしてください。

openssl rsa -in [file_name].key -out [file_name].key

これで、SSLのパスワードが外れて、Apach再起動時に毎回パスワードを求められることがなくなりました。
本来であれば、SSLPassPhraseDialogなどを使用するのが正しいのでしょうが、私の環境では使用できなかったため。。。

無料のSSL証明書を設定する方法【CentOS7】

■はじめに

無料のSSL証明書を設定するにあたり、ドメインを設定しておく必要があります。

CentOSApatchの設定などが終わっており、http通信ができる前提です。

■手順

SSHでサーバーに接続する(rootユーザーに切り替えてください)

以下のコマンドでファイアーウォール にhttpsが空いていることを確認する。(「services」の部分に「https」があればOK)

firewall-cmd --list-all

以下のコマンドで無料SSLのインストールをする。

yum install certbot python2-certbot-apache

以下のコマンドでドメインに無料SSLを反映する。(以下は「example.com」の例です。)

certbot --apache -d example.com

色々質問されるので、それぞれ回答していく。(以下は私が実施した際の質問です。)

Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel):
  →メールアドレスを入力する。
-------------------------------------------------------------------------------
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf. You must agree
in order to register with the ACME server at
https://acme-v01.api.letsencrypt.org/directory
-------------------------------------------------------------------------------
(A)gree/(C)ancel:
  →A(利用規約に同意する)
-------------------------------------------------------------------------------
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about EFF and
our work to encrypt the web, protect its users and defend digital rights.
-------------------------------------------------------------------------------
(Y)es/(N)o:
  →Y(SSL証明書発行元にメールアドレスを公開する)
-------------------------------------------------------------------------------
1: Easy - Allow both HTTP and HTTPS access to these sites
2: Secure - Make all requests redirect to secure HTTPS access
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel):
  →2(httpへのアクセスをhttpsにリダイレクトする)

これで、SSLの証明書は設定できたので、以下のコマンドでhttpdを再起動する。

systemctl restart httpd

ブラウザで以下のURLでアクセスしてみてください。(以下はexample.comの場合です。自身のドメインに書き換えてください)

https://example.com

■無料SSLの更新

無料のSSL証明書は3ヶ月で期限が切れます。

いちいち手動で更新させるのはめんどくさいので、自動で更新する方法を記載します。

以下のコマンドを実行し、cronを起動します。

crontab -u root -e

cronに以下を設定します。

0 0 * * * /usr/bin/certbot renew

これで、毎日0時に証明書を確認し、更新できる場合には自動で更新されるようになります。(有効期限の30日前から更新が可能です)

cronでサーバーを毎日指定時間に再起動させる方法【CentOS7】

■はじめに

サーバーを定期的に再起動させて、予期せぬ不具合を防ぎたいと思いますよね。

でも、いちいちVPNのコンソールなどで再起動するのはめんどくさい。。。

そんな時に便利なのが、cronです。

ここでは、cronの設定を説明します。

cronの環境変数の設定に関しては「こちらの記事」をご確認ください。

■手順

CentOSSSHで接続する。

rootユーザーに切り替える(rootでSSH接続した場合は不要)

以下のコマンドを実行し、cronの設定を開く

crontab -u root -e

上記の環境変数設定のあとで、以下のように追加すると、サーバー再起動ができます。(以下は、毎日深夜0時0分にサーバー再起動する処理です。)

0 0 * * * reboot

以下がcronの全量です。

0 0 * * * reboot

cronに環境変数を設定する方法【CentOS7】

■はじめに

cronを使用していると、〜comannd Not foundなどをよく見かけます。

これは、cronにPATHが通っていないために起きる問題です。

ここでは、cronに環境変数を設定する方法を記載します。

■手順

CentOSSSHで接続する。

rootユーザーに切り替える(rootでSSH接続した場合は不要)

以下のコマンドを実行し、環境PATHを取得する。(表示されたパスをコピーするなりして保存しておいてください)

echo $PATH

以下のコマンドを実行し、cronの設定を開く

crontab -u root -e

一番上の行に以下を追加する。(cronは環境変数がほとんど設定されていないので。)

PATH=「echo $PATH で取得した値」

Gitを都度パスワード入力しなくていいように設定【CentOS7】

■はじめに

CentOS7でGitをクローンした後、「git pull」などを行うと、都度パスワードを求められます。
ここでは、毎回パスワードを求められないように設定する方法を記載します。

■手順

cdコマンドで対象の「.git」が入っているディレクトリに移動します。
以下のコマンドを実行します。

git config credential.helper store

これで、設定が終わりました。
あとは、「git pull」などを実行してみてください。
※1回目はパスワードを求められる場合がありますので、ご注意ください。

httpにアクセスした際にhttpsを表示させる方法【CentOS7】

■はじめに

httpにアクセスした際にhttpsで表示させる方法を記載します。

.htaccess」を使用するので、「.htaccess」が使用できるようにしておいてください。(まだの人は、こちらから)

■手順

.htaccess」に以下を記載することで、httpにアクセスした際にhttpsで表示できます。

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

試しに、httpでアクセスしてみてください。

findコマンドでディレクトリ配下のファイル名を検索する方法【CentOS7】

■はじめに

サーバーで、指定のディレクトリ配下の「〜」を含むファイル名を検索したい場合があります。

ここでは、findコマンドを使用して、上記の要件を満たすコマンドを記載します。

■手順

以下のコマンドがディレクトリ配下のファイル名検索です。

[ファイル名]の部分に任意のファイル名を記載してください。

【コマンド】
$ find ./ -name "*[ファイル名]*" -type f
【例】
$ find ./ -name "*index*" -type f

「.htaccess」の有効化する方法【CentOS7】

■はじめに

Apacheを使用していると、様々な場面で「.htaccess」を利用したい場面がでてきます。

ここでは、「.htaccess」を使用するまでの手順を記載します。

※サーバーの用意や、Apacheのインストールは行っている事を前提とします。

■手順

以下のコマンドを実行し、「httpd.conf」を編集する。

$ vi /etc/httpd/conf/httpd.conf

以下のコマンドを実行し、「AllowOverride」を探します。(100行目付近にあります。)

$ /AllowOverride

「None」を「All」に変更します。

【変更前】

<Directory />
AllowOverride None
Require all denied
</Directory>

【変更後】

<Directory />
AllowOverride All
Require all denied
</Directory>

これで、「.htaccess」の有効化は完了しました。

「/var/www/html」配下に「.htaccess」を作成して利用してください。

※ルートのパスを変更している方は、ルートのパスに作成してください。

■動作確認

.htaccess」が本当に利用できるか確認したい場合は、以下を記載してください。

Redirect /google/ http://www.google.com

これで、以下のURLにアクセスする事で、Googleのサイトに遷移すれば、「.htaccess」が正常に動作していることが確認できます。

【URL】
http://[ドメイン名]/google/
【例】
http://example.com/google/