ホーム

CentOS7.3 ApacheにSSL証明書を導入

必要なパッケージのインストール


# yum -y install httpd openssl mod_ssl
# yum -y install git

Let’s Encrypt Client のインストール


# git clone https://github.com/letsencrypt/letsencrypt
# cd letsencrypt
# ./letsencrypt-auto --help

これで必要なパッケージが自動でインストールされる。

SSL証明書の作成

Apacheを停止する。

# systemctl stop httpd.service

対象のドメイン名を「www.example.com」の場合は以下のようにコマンドを実行する。

# ./letsencrypt-auto certonly --standalone -d www.example.com


./letsencrypt-auto has insecure permissions!
To learn how to fix them, visit https://community.letsencrypt.org/t/certbot-auto-deployment-best-practices/91979/
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator standalone, Installer None
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel):owner@example.com

上記のようにメールアドレスを求められるので、
メールアドレスを入力する。


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

利用規約の同意が求められるので、「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 our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y

「Y」を入力する。


Obtaining a new certificate
Performing the following challenges:
http-01 challenge for www.example.com
Waiting for verification...
Cleaning up challenges

IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/www.example.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/www.example.com/privkey.pem
Your cert will expire on 2020-06-09. To obtain a new or tweaked
version of this certificate in the future, simply run
letsencrypt-auto again. To non-interactively renew *all* of your
certificates, run "letsencrypt-auto renew"
- Your account credentials have been saved in your Certbot
configuration directory at /etc/letsencrypt. You should make a
secure backup of this folder now. This configuration directory will
also contain certificates and private keys obtained by Certbot so
making regular backups of this folder is ideal.
- If you like Certbot, please consider supporting our work by:

Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le

以上で、SSL証明書が作成された。

作成されたファイルを確認する。

# cd /etc/letsencrypt/live/www.example.com
# ls
cert.pem ←サーバ証明書
chain.pem ←中間証明書
fullchain.pem ←サーバ証明書+中間証明書
privkey.pem ←サーバ秘密鍵

ssl.confを以下のように変更する。

#/etc/httpd/conf.d/ssl.conf
SSLCertificateFile /etc/letsencrypt/live/www.example.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/www.example.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/www.example.com/chain.pem

httpd.confを以下のように変更する。

#/etc/httpd/conf/httpd.conf
NameVirtualHost *:80
NameVirtualHost *:443


ServerAdmin root@www.example.com
DocumentRoot /var/www/html
ServerName www.example.com


SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/www.example.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/www.example.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/www.example.com/chain.pem

ServerAdmin root@www.example.com
DocumentRoot /var/www/html
ServerName www.example.com

Apacheを起動する。


# systemctl start httpd.service

Apacheがうまく起動しない場合は、記述が間違っていることが考えられる。
その場合は、

# service httpd configtest

でエラーが無いか、確認する。

ブラウザでサイトにアクセスした時に、自動でhttpsにリダイレクトする設定

httpd.conf(VirtualHostの場合はconf.d/*.conf)に以下を追記する。

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

SQL Server 2019 テーブルのデータをINSERT文でエクスポート

SSMSを起動、ログインし、対象のデータベースを右クリック。

「タスク」→「スクリプトの生成」を順にクリックする。

sqlserv_tbl_bk_01

 

「次へ」をクリック。
sqlserv_tbl_bk_02

 

「特定のデータベースオブジェクトを選択」を選び、下のテーブル一覧からエクスポートするテーブルを選択する。
sqlserv_tbl_bk_03

 

ファイル名を確認し、必要に応じて変更する。
その後、「詳細設定」をクリック。
sqlserv_tbl_bk_04

 

「スクリプトを作成するデータの種類」を選択する。
デフォルトでは、「スキーマのみ」が選択されているが、これはテーブル構造のみのエクスポートになる。
データをエクスポートする場合は、「スキーマとデータ」または「データのみ」を選択する。
sqlserv_tbl_bk_05

 

「次へ」をクリック。
sqlserv_tbl_bk_06

 

「次へ」をクリック。
sqlserv_tbl_bk_07

 

ファイル作成中の画面。処理が終わるまで、しばらく待つ。
sqlserv_tbl_bk_08

 

完了時の画面。
「完了」をクリックして画面を閉じる。
sqlserv_tbl_bk_09

PostgreSQL スキーマの切り替え

現在のスキーマを表示

# select current_schema();

 

スキーマ一覧表示

# \dn

 

スキーマの切り替え

# SET search_path = スキーマ名;

 

フロッピーディスクのフォーマット(Windows10)

フロッピーディスクをフォーマットするコマンド

format a: /T:80 /N:9

IISでindex.phpをデフォルトドキュメントに設定する

IISでindex.phpをデフォルトドキュメントに設定する

IIS_index.phpをデフォルトドキュメントに

 

 

 

 

 

 

 

 

 

 

 

 

 

「既定のドキュメント」をダブルクリックして設定画面を開く。

 

 

IIS_index.phpをデフォルトドキュメントに_2

 

 

 

 

 

 

「追加」をクリック。

 

 

IIS_index.phpをデフォルトドキュメントに_3

 

 

 

 

「index.php」を入力し、OKをクリック。

 

 

IIS_index.phpをデフォルトドキュメントに_4

 

 

 

 

 

 

 

 

IISにrewriteモジュールを追加(Windows Server 2016)

IISにrewriteモジュールを追加(Windows Server 2016)

[日本語]

https://www.microsoft.com/ja-jp/download/details.aspx?id=7435

[英語]

https://www.microsoft.com/en-us/download/confirmation.aspx?id=47337

 

上記ダウンロードサイトURLより、rewrite module 2.0 をダウンロードする。

Windows Server 2016, 2019, Windows10では、日本語版がインストールできない。

その為、表示は英語になってしまうが、英語版をインストールする。

(※レジストリを変更すれば、日本語版もインストール可能。)

 

ダウンロードした「rewrite_amd64.msi」を実行する。

rewrite-module-2.0-install-1

 

 

 

 

 

 

 

 

 

 

「I accept the terms in the License Agreement.」にチェックを入れて、

「Install」をクリック。

 

 

rewrite-module-2.0-install-2

 

 

 

 

 

 

 

 

 

 

「Finish」をクリック。

 

 

 

 

Windows Server 2016 にIIS+PHP7.3をインストール

Windows Server 2016 にIIS+PHP7.3をインストール

php7.3をダウンロードする。
PHP の公式サイトにアクセスし、「Downloads」ページを開く。

php.net -> download

 

 

 

 

 

 

 

 

 

 

「Windows downloads」をクリック。

 

php.net.windows-download

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Windows+IISの場合は、「Non Thread Safe」を選択。

Zipファイルをダウンロードする。

解凍したフォルダを、Dドライブ直下に移動し、フォルダ名を「php」に変更する。

D:\php

 

「インターネット インフォメーション サービス (IIS) マネージャ」を起動する。

IISマネージャ

 

 

 

 

 

 

 

 

 

 

「ハンドラー マッピング」を開く。

 

 

ハンドラーマッピング-モジュールマップの追加

 

 

 

 

 

 

 

 

「モジュールマップの追加…」をクリック。

 

 

モジュールマップの追加_php

 

 

 

 

 

 

 

 

 

 

上図のように入力し、「OK」をクリック。

 

 

 

phpフォルダ内の、

php.ini-development

または

php.ini-production

を「php.ini」のファイル名でコピーする。

 

php.ini-developmentとphp.ini-productionの違いは、

基本的にはメッセージ関係の設定があるか無いか。

エラーメッセージを表示したければ、php.ini-devalopmentをコピーする。

 

 

これで、IISのサイト上でPHPが利用できるようになる。

 

PowerShell を管理者権限で起動(Windows Server 2019)

PowerShell を管理者権限で起動

Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

PS C:\Users\administrator> mkdir c:\nfs-share

ディレクトリ: C:\

Mode LastWriteTime Length Name
—- ————- —— —-
d—– 2019/XX/XX 13:37 nfs-share

PS C:\Users\administrator> new-nfsshare -name “nfs-share” `
>> -path “c:\nfs-share” `
>> -enableunmappedaccess $true `
>> -authentication Sys

Name Availability Path
—- ———— —-
nfs-share Standard (not clustered) c:\nfs-share

PS C:\Users\administrator> Grant-NfsSharePermission -Name “nfs-share” `
>> -ClientName “192.168.x.xx” `
>> -ClientType “host” `
>> -Permission “readwrite” `
>> -AllowRootAccess $True
PS C:\Users\administrator> Get-NfsShare -Name “nfs-share”

Name Availability Path
—- ———— —-
nfs-share Standard (not clustered) c:\nfs-share

PS C:\Users\administrator> Get-NfsSharePermission -Name “nfs-share”

Name ClientName Permission AllowRootAccess
—- ———- ———- —————
nfs-share 192.168.x.xx READ, WRITE True
nfs-share All Machines DENY ACCESS False

PS C:\Users\administrator>

WindowsクライアントからNFS接続

コマンドプロンプトから実行する。

>mount -o mtype=hard 192.168.x.x:/home/nfs-share V:
V: は 192.168.x.x:/home/nfs-share に正常に接続しました

現在マウント中のディレクトリを表示する。
>mount

Local Remote Properties
——————————————————————————-
V: \\192.168.x.x\home\nfs-share UID=-2, GID=-2
rsize=131072, wsize=131072
mount=hard, timeout=0.8
retry=1, locking=yes
fileaccess=755, lang=SHIFT-JIS
casesensitive=no
sec=sys

NFSサーバーの設定

・/etc/exportsに共有設定を追加

書式
共有するディレクトリ 接続可能なIPアドレス(オプション)

オプション
 ro: 読み取りのみ
 rw: 読み書き可能
 no_root_squash: デフォルトでは、クライアント マシン上のユーザー root によって行われたファイル要求は、そのサーバー上のユーザー nobody によって行われたかのように扱われる。



/home/nfs-share 192.168.0.1(rw,no_root_squash)

 

サーバーの起動

NFS を起動する。


/etc/init.d/nfs start

※Portmapと関連 rpc デーモンは、NFS を起動する前に実行されている必要があります。

/etc/exports の変更

NFS サーバーが既に実行されているときに /etc/exports に変更を加えた場合は、nfsd/etc/exports の読み取りを強制して、変更を適用する必要があります。コマンド プロンプトから、次のように入力します。

usr/sbin/exportfs -ra