日本 IP の VPN を OpenVPN + Linode でサクッと構築する方法
- 2020 11/21
DigitalOcean API 経由で droplet (サーバー) を 10 個より多い数を作成しようとすると You cannot create more than 10 droplets at a time エラーが発生しました。
個人開発者にとってサーバー代は地味に痛い出費ですよね。そんなエンジニアのみなさまに ConoHa というサーバーが株主優待割引が適用できるのでオススメです。
今までサーバの環境構築は手動でやっていたのですが、そろそろ構成ツールを使って自動化できるようになりたいなと思う今日このごろです。
思うだけではダメで、行動しなければ!ということで、さくらのVPSの2週間無料のお試し期間へ登録しました。
さくらのVPSで契約したサーバを初回起動して ssh すると Connection refused エラーで接続できませんでした。
エラーメッセージ: Connection refused
$ ssh root@160.16.55.xxx ssh: connect to host 160.16.55.xxx port 22: Connection refused |
仕方ないので、さくらのVPS専用の「VPSコントロールパネル」からサーバに接続して、コンソールを確認してみると Updating RPMS on system が出力されているところで処理が止まっていました。
調べてみたところ、初回起動時にインストールされている RPM を全て更新する仕様らしく、そのため時間が掛かっているようでした。
20分ぐらい待ってコンソールを確認すると次の処理に進んでいて、しばらくすると無事に login プロンプトが表示されていました。
初回起動時だけなので困るのは最初だけですが、定期的に RPM が最新の状態の CentOS がデフォルトでインストールされると嬉しいですね。
ブラウザからウェブサイトを開いても response が返ってこない…
サーバに ssh しても繋がらない…
仕方ないから、さくらのVPSの管理画面から VNC コンソール経由で確認してみると「UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY」というエラーが出ていることが確認できました。
このエラーを見るのは初めてだったので「さて、どうやって復旧すればいいのかな?」と思いながら Google 検索していると、さくらインターネットからメールが届きました。
件名:
【さくらのVPS】障害に関するご報告本文:
■ご連絡日 [2015-03-01]ご利用中のさくらのVPSサービスについて
さくらインターネット株式会社
平素よりさくらインターネットをご利用いただき、誠にありがとうございます。
お客様にご利用いただいておりますサービスが収容されているホストサーバに
おいて、ハードウェアの不具合によりデータの不整合が発生する状況が確認され
ました。そのため、弊社にて以下の緊急メンテナンスを実施いたしました。
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
作業日程 : 2015年03月01日15時30分~2015年03月01日18時30分
影響範囲 : さくらのVPS SSD 4Gプランの一部
IPアドレスが下記の範囲のお客様
133.242.182.135 ~ 133.242.182.184
作業内容 : ハードウェア交換作業
補足事項 : 作業時間中 VPSサービスへ接続できなくなります。
お客様ご利用のVPSに再起動が発生します。【緊急メンテナンス】
http://support.sakura.ad.jp/mainte/mainteentry.php?id=15625=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
ハードウェア交換につきましては 18時30分頃に完了いたしましたが、データの
不整合によってお客様ご契約中のさくらのVPSサービスが正しく起動しないこと
が判明いたしました。弊社にて保持している2015年02月17日のバックアップデータから復旧を行う
ことは可能でございます。当該データでの復旧を希望される際は、本メールの返信にてお知らせくだ
さいますようお願いいたします。また、さくらのVPSのコントロールパネルより、OS再インストールを行って
いただくことも可能でございます。弊社による2015年02月17日時点への復旧が不要の場合は、恐れ入りますがOSの
再インストールによる再構築を実施いただけますようお願い申し上げます。この度はお客様に大変ご迷惑をお掛けしましたこと、深くお詫び申し上げます。
—-
ご不明な点やご質問等ございましたら、本メール返信にてお問い合わせ
ください。今後ともさくらインターネットをよろしくお願いいたします。
─── さくらインターネット株式会社 カスタマーセンター ───────
■Twitterサポート
https://twitter.com/sakura_ope■サポートサイト
https://help.sakura.ad.jp/■FAQ(よくある質問)から調べる
https://help.sakura.ad.jp/app/faq■電話・メールによるお問い合わせ
https://help.sakura.ad.jp/app/answers/detail/a_id/2005
電話受付時間 :平日 10:00 – 18:00(土日祝、当社指定休日は休み)
メール受付時間:10:00 – 18:00(土日祝営業、当社指定休日は休み)───────────────────────────────────
メールを読むと対応方法は「2015年02月17日のバックアップデータから復旧」or「さくらのVPSのコントロールパネルより、OS再インストール」と書いてありますね。
この時間から OS 再インストールするほど頑張りたくはないので、取り急ぎバックアップデータから復旧してもらってサービスを動くようにしてもらうことにしました。
さくらのVPS に Ubuntu 12.04 をインストールしました。
手順は公式サイトに詳しく書かれているので、これを読むだけでできました。
Mac OSX Mountain Lion で、さくらのVPSのVNCコンソールを使うための設定方法をメモ。
VNCコンソールは、VPSの初期設定でぐらいでしか使わないので、毎回ここでハマってる気がする。
Mac で「VNCコンソール」を使うためには、Java7 ではなく、Java6をインストールする必要があります。
うっかり、Oracleのサイトから Java7 をインストールしてしまった方は、下記のApple公式サイトの手順を元に、Java6 に戻してやるだけでOKです。
・Java for OS X 2013-002:Apple 提供の Java SE 6 Web プラグインと Web Start 機能を再び有効にする方法
以上です。
まず、前提としてさくらのVPSにインストールされている CentOS は 64bit 版みたいです。
(最終更新日:2013/09/15)
ユーザ名 bakorer の部分は、自分のユーザ名に置き換えてください。
■ root 権限では危ないので管理者ユーザーを作成する
useradd -G wheel bakorer passwd bakorer |
■ wheel グループに所属しているユーザしか su できないように変更する
vi /etc/pam.d/su #auth required pam_wheel.so use_uid ↓(変更) auth required pam_wheel.so use_uid |
■ wheel グループに所属しているユーザは sudo できるように変更する
visudo #%wheel ALL=(ALL) ALL ↓(変更) %wheel ALL=(ALL) ALL |
■ .ssh ディレクトリの作成
mkdir /home/bakorer/.ssh |
■ クライアント側で公開鍵を作成し、サーバに公開鍵を転送
ssh-keygen -t rsa scp .ssh/id_rsa.pub bakorer@host:/home/bakorer/.ssh mv /home/bakorer/.ssh/id_rsa.pub /home/bakorer/.ssh/authorized_keys |
もしくは、リモートコンソール経由でコピペして作成します。
vi /home/bakorer/.ssh/authorized_keys ssh-rsa xxxx (貼り付ける) |
■ 公開鍵ファイルのアクセス権限と所有者を変更
chmod 700 /home/bakorer/.ssh/ chmod 600 /home/bakorer/.ssh/* chown -R bakorer. /home/bakorer/.ssh/ |
■ SSH の設定変更
sed コマンドで置換します。
sed -i 's/^#Port 22/Port 20022/' /etc/ssh/sshd_config sed -i 's/^#PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config sed -i 's/^#PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config |
手動で書き換える場合は、下記を参考にして下さい。
vim /etc/ssh/sshd_config Port 20022 PermitRootLogin no PasswordAuthentication no |
service sshd restart |
Port番号が変更できなくてハマったけど、編集するファイルを sshd_config ではなくて ssh_config を編集していたのが原因でした…
・参考:さくらのVPS を使いはじめる 2 – sudo と SSH ポート変更 | アカベコマイリ
■ 公開鍵認証で SSH 接続する
ssh -p 20022 -i /Users/bakorer/.ssh/id_rsa bakorer@www12345u.sakura.ne.jp |
・参考:sshコマンド – 管理者必見! ネットワーク・コマンド集:ITpro
■ ファイアーウォールの設定をします
・コンテンツの転送にはSFTPを使うので、FTPポートは空けない
$ vim /etc/sysconfig/iptables *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :RH-Firewall-1-INPUT - [0:0] -A INPUT -j RH-Firewall-1-INPUT -A FORWARD -j RH-Firewall-1-INPUT -A RH-Firewall-1-INPUT -i lo -j ACCEPT -A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT -A RH-Firewall-1-INPUT -p 50 -j ACCEPT -A RH-Firewall-1-INPUT -p 51 -j ACCEPT -A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT -A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # SSH -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 20022 -j ACCEPT # HTTP -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT # MySQL -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited COMMIT |
設定後、ファイアーウォール再起動します。
service iptables restart |
■ リポジトリの変更
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt |
# vim /etc/yum.repos.d/remi.repo [remi] enabled=1 |
■ yum のアップグレード
# yum -y upgrade |
ホスト名が既に決まっている場合は、この辺で設定しておきましょう。
■ Apache
■ Nginx
■ MySQL
■ PHP
■ 基本設定
・「さくらのVPS」を使ってみる – さくらインターネット創業日記
・CentOSをサーバーとして活用するための基本的な設定 – さくらインターネット創業日記
・ウェブ開発者のための、1時間でできるLAMP環境構築術(CentOS編) – さくらインターネット創業日記
・はじめてのさくら VPS + CentOS の初期設定からチューニングなどの作業まとめ | ウェブル
・1,000円を切る低価格で登場、「さくらのVPS」をチェック――サーバー構築編 – SourceForge.JP Magazine : オープンソースの話題満載
・VPSの初期設定とLAMP環境を構築する方法。 – とりあえず9JP
・【さくらのVPS】初期設定をしてみた | Untitled Documents.
■ チューニングなど
・さくらVPSで一日6万PVを処理するためにしたこと – 新卒インフラエンジニア2年目
■ 他社のVPSとの比較記事