Blogブログ

Category: VPS

VPS間でのサーバ引っ越し : 2 バーチャルホスト設定と、SSL化

前回からの続き。 ドメインのDNS変更と、バーチャルホストの設定 先にバーチャルホストの設定から。conf.d/配下にサイトごとに設定を行った。まとめても良かったんだけど。 # vim /etc/httpd/conf.d/mydomain.com.conf 内容 <VirtualHost *:80>    ServerName mydomain.com    DocumentRoot “/var/www/mydomain.com/public_html”    DirectoryIndex index.html index.php    ErrorLog /var/log/httpd/mydomain.com_error_log    CustomLog /var/log/httpd/mydomain.com_access_log combined    AddDefaultCharset UTF-8</VirtualHost> 次はSSL。 SSLの設定 無料のLets Encryptを使うことにします。事前に少し調査。 Lets Encryptについて 参考:https://ssl.sakura.ad.jp/column/free-or-paid/ 無料でも問題ないのか? 同じSSL証明書である以上、強度は同等らしい。 何故無料で運営できているのか? Lets Encryptは寄付により運用できている。 無料であることのデメリットは? フィッシングサイトなどで悪用される場合がある。このため永久的に暗号化を保証できるか微妙ではある。90日で更新が必要。なので自動化が必要になる。寄付なので、サービス終了が起こり得るリスクがある。 導入手順 基本はこれに従ってやればOK.https://letsencrypt.jp/usage/ mod_sslの確認 このコマンドで、 # httpd -M この表示があればOK. ssl_module (shared) 443ポートの確認 iptableで開放されているか確認。 iptables -L httpsの表示があればOK。 ACCEPT     tcp  —  anywhere             anywhere            tcp dpt:https Certbot クライアント準備 Epelを有効に yum install epel-release certbot-autoをインストール # wget https://dl.eff.org/certbot-auto# chmod a+x certbot-auto# ./certbot-auto ./certbot-auto を実行することで、必要なパッケージがダウンロードされる。その後自動的に対話式で証明書作成が始まる。virtualhost設定を取得してドメインリストが表示されるので、該当のものを選択してEnter. 成功すると以下のような表示に。 Congratulations! You have successfully enabled xxxx.com~ pemファイルの格納場所や有効期限も記される。pemは、以下にあるらしい。 /etc/letsencrypt/live/ オプションで、sslの設定ファイルも自動生成可能。今回は生成した。 /etc/httpd/conf.d/mydomain.com-le-ssl.conf で、アクセスしてみるのだが、Virtualhostが反映されない。。。いろいろ調べたところ、自動生成されるSSL用confファイルの、ここだった。。 <IfModule mod_ssl.c><VirtualHost *:443> </VirtualHost></IfModule> これを #<IfModule mod_ssl.c><VirtualHost *:443> </VirtualHost>#</IfModule> これでOK.mod_sslは入っているはずなのだが、どういう意味だったのだろう。。。 ラクしたはずが逆に時間を食うという好例。。 とにかく、これでSSL化はOK.自動更新の設定だな。 自動更新設定 更新は、このコマンド一発でいけそう。 […]

VPS間でのサーバ引っ越し: 1 scp転送からdbのダンプまで

サーバーの引っ越しのログ。複数バーチャルホストでWPを運用しており、その他いくつかスタティックなサイトもある状態。 移動後、更にSSL化も行う おおまかな手順 ファイルの転送 DBのダンプ・リストア バーチャルホスト設定 ドメインのDNS設定変更 SSL設定 ファイルの転送 これはscpを使う。 SCPを使ったサーバ間のデータ移動 参考:http://www.atmarkit.co.jp/ait/articles/1701/27/news009.html ローカルのファイルをリモートへ転送またはリモートのファイルをローカルへ取得という2つの方法がとれるが、今回は旧サーバから新サーバへ転送させる。また、新サーバへの認証は鍵認証となる。 鍵認証の準備 旧サーバでkey genする old serverにログインし、key genする。今だけの利用なので、passphraseはブランク。 ローカルマシンにダウンロード。 このとき777にしないと落とせなかった。 Oldの方のAuth_keyとマージ ssh-copy-idを使う。 ssh-copy-id -i id_rsa.hoge {user}@{host} の書式でサーバに公開鍵を送ることができる。参考:https://qiita.com/sakanashi/items/542ae428d9de9c7c59dc今回の場合はこんなかんじ。 # ssh-copy-id -p 0000 -i /path/to/local/id_rsa.pub user@000.000.000.000 するとssh-copy-idが使えないといわれた汗なので、homebrewでインストール # brew install ssh-copy-id 再度実行すると不具合。 /usr/local/bin/ssh-copy-id: ERROR: failed to open ID file ‘/path/to/local/id_rsa’: No such file or directory    (to install the contents of ‘/path/to/local/id_rsa.pub’ anyway, look at the -f option) とのことなので、おとなしく-fオプションをつける。 # ssh-copy-id -f -p 11223 -i /path/to/local/id_rsa.pub user@000.000.000.000 そしたら成功。 Number of key(s) added:        1 サーバーに入ってみると、ちゃんとauthorized_keyが更新されている。 SCPでファイル転送 書式は、 scp option -i 秘密鍵 コピーしたいファイルパス 受取先パス なので、旧サーバへログインし、 # scp -r -p -P 0000 -i /home/admin/.ssh/id_rsa /path/to/docroot admin@example.net:/path/to/new/docroot こんな感じで、ドキュメントルートをそれぞれ転送。事前に新サーバに転送先のディレクトリを作っておくこと。所有者もログインユーザになるように。もし別ユーザの所有だったら修正しておく。 chown admin:admin -R /path/to/new/docroot/ 次はDB。 DBのダンプ・リストア ダンプを取って、そのまま移動。 dumpデータ取得 全データのdump # mysqldump -u root -p -x –all-databases > dump.sql DBを選択してdump # mysqldump –default-character-set=utf8 -u root -p database_name > dump.sql 複数Tableを選択してdump # mysqldump –default-character-set=utf8 -u root -p database_name table_name1 table_name2 > dump.sql 復元する # mysql -u root -p < dump.sql 新サーバで作成を確認し、各ユーザーでのログインも確認する。既に同じユーザがいる場合、PWが上書きされるので注意。その場合はこれで戻す。 […]

Sakura VPS LAMP環境構築から監視まで

個人開発環境を久々整えました。折角なのでログを残します。 構築する環境 sakura vps Cent OS 6.9 PHP 5.6 Logwatch&DenyHostsでの監視設定 起動して、初回のログイン 管理画面から起動。起動したら、Terminalからsshでログイン。 ssh root@000.000.000.000 !もしログイン出来ない場合 過去に、起動直後にログインできない場合があった。 port 22: Connection refused ブラウザ管理画面からもコンソールを立ち上げてみたが、固まっている。 Updating RPMS on system: これはRPMの更新をかけているとのこと。少しこのまま待ってみると、入れるはず。 仮パスワードの変更と、開発用ユーザの作成 メールで送られてきた仮のパスワードは変更して、開発用のユーザーを追加。 パスワード変更 # passwd# Changing password for user root.# New password:# Retype new password:# passwd: all authentication tokens updated successfully. 成功したら、別タブを立ち上げてログインチェック。 # ssh root@000.000.000.000# root@000.000.000.000’s password: OK! 開発用ユーザ追加 # useradd your_user_name# passwd your_user_nameNew password:Retype new password:passwd: all authentication tokens updated successfully. 成功したら、別タブを立ち上げでログインしてみる。 # ssh your_user_name@000.000.000.000your_user_name@000.000.000.000’s password: OK! sudoの設定 追加したユーザーにroot権限を与える。まずはyour_user_nameをwheelグループに追加する。 # usermod -G wheel your_user_name sudo設定ファイルを編集する。 # visudo %wheel ALL=(ALL) ALL ~ のコメントを外し、wheelグループのユーザに実行権限を付与。 ## Allows people in group wheel to run all commands%wheel ALL=(ALL) ALL 保存したら別タブを立ち上げ、先程作ったユーザでログイン。適当なコマンドを実行してみて、OKだったら成功。 # ssh your_user_name@000.000.000.000# your_user_name@000.000.000.000’s password:# sudo hogehoge SSH接続設定 パスワード覚えたくないので、鍵認証でのみログイン可能にする。 クライアントで鍵を作成する。 クライアントPCで公開鍵設置用のディレクトリ作成 # mkdir ~/.ssh# chomd 700 ~/.ssh# cd ~/.ssh 鍵の作成 # ssh-keygen -t rsa -v ここで秘密鍵のファイル名を入力。デフォルトはid_rsa。パスフレーズも聞かれるのでメモしておく。 Enter file in which to save the key (/Users/yourpath/.ssh/id_rsa):Enter passphrase (empty for no passphrase): これで生成される。 Your identification has been saved in /Users/yourpath/.ssh/id_rsa.Your public key has been saved in /Users/yourpath/.ssh/id_rsa.pub. […]

Sakura VPS FTPでIP制限

vsftpd.confでIPアドレスの制限を行います。 tcp_wrappersの確認 /etc/vsftpd/vsftpd.conf で、tcp_wrappersの記述を確認します。 tcp_wrappers=YES となっていれば、hosts.allow hosts.deny によるアクセス制限を行います。   hosts.deny の編集 /etc/hosts.deny で一度全ての接続を拒否します。 vsftpd : ALL #全ての接続を拒否   hosts.allowの編集 /etc/hosts.allowで特定IPの接続のみ許可します。 vsftpd : 000.000.000.000 #000.000.000.000からの接続を許可する   以上で完了です。非常に簡単ですね。  

macでのバーチャルホスト設定方法(XAMPP)

ローカルマシン内のみで動作するドメインを割り当てる場合のログです。 (xampp利用の場合) ファイルを2つ割り当てて、サーバの再起動を行うという流れになります。 1.httpd-vhosts.conf ホストの設定を行います。 ローカルマシンなので、最低限の設定のみ行います。 ■path /Applications/XAMPP/xamppfiles/etc/extra/httpd-vhosts.conf ファイル内にコメントされた状態の以下の部分をコピーしコメントを外して、下に加えていきます。 ## ##ServerAdmin postmaster@dummy-host2.localhost ##DocumentRoot “C:/xampp/htdocs/dummy-host2.localhost” ##ServerName dummy-host2.localhost ##ServerAlias www.dummy-host2.localhost ##ErrorLog “logs/dummy-host2.localhost-error.log” ##CustomLog “logs/dummy-host2.localhost-access.log” combined ## このような感じです。 . . . DocumentRoot “D:/htdocs/site1” ServerName site1.localhost   ※tips: vimの複数行のコピー・ペースト 「V」 でvisual line mode. 「j」 を押してヤンク開始したい行を指定。「y」をおして、最後の行を指定。 「p」を押すと、カーソルの後ろにヤンクした行がペーストされます 2.hosts URLの名前解決を行います。 ■path /private/etc/hosts 127.0.0.1 localhost となっているところの次に以下の行を追加し、上書き保存します。 127.0.0.1 site1.localhost 後はapatchを再起動します。 XAMPPの場合はコンパネから行えますが、terminalからの方が速いですね。 sudo /Applications/XAMPP/xamppfiles/xampp […]

sakura VPS 基本開発環境設定手順 FTP編

FTP。ガッツリハマりました。 まだ釈然としない部分もあるのだが、今後のためにめも。 参考:http://plusblog.jp/6601/ まずは入っているか確認 rpm -qa vsftpd インストール yum -y install vsftpd ※削除方法も yum -y remove vsftpd 再起動 sudo /etc/rc.d/init.d/vsftpd start 自動起動設定 sudo chkconfig vsftpd on sudo chkconfig –list vsftpd vsftpd          0:off   1:off   2:on    3:on    4:on    5:on    6:off ランレベル 0 システムの停止 ランレベル 1 シングルユーザモード ランレベル 2 マルチユーザモード (NFSマウントなし) ランレベル 3 マルチユーザモード (通常 : コンソールログイン) ランレベル […]