Server

Conohaのサーバーを借りて、CentOS+MySQL+nginxの環境を作ってみた。

投稿日:2017年4月24日 更新日:

はじめに

こんにちは。

最近、個人的にConohaサーバーを借りてみました。
折角なので勉強用サーバーにしようと思い、環境を作ってみました。

はじめてであったため、色々不足している設定などもあるかと思いますが、その場合は指摘していただけると嬉しいです。
今回はRailsを入れる前の、nginx、MySQLのインストールまで記載したいと思います。

また、本ブログでは既に「WordPressのサーバー移設とnginxで無料SSLをやってみた」を公開しております。
こちらと似た内容もございますので、合わせてご覧ください。

環境

  • CentOSはConohaで用意されている7.3
  • nginx、MySQLは最新版をインストール(後述します。)

Conohaでサーバーをレンタル

https://www.conoha.jp/

こちらでサーバーをレンタルします。
このとき、OSのイメージも選択できるので、CentOS 7.3を選択しました。

また、秘密鍵も設定できるようですが、このときには作成しませんでした。

サーバーの初期設定

サーバーにrootユーザーでログイン

まずは最初から用意されているrootユーザーを使って設定をしていきます。
sshコマンドを使用してサーバーにログインしますが、ここでは対象サーバーのIPアドレスを「111.222.333.444」とします。

ユーザー作成

rootユーザー以外のユーザーを用意したいので、「hoge」という名前のユーザーを作成します。

また、visudoをしてwheelグループでsudo使用時の設定を確認します。
今回は面倒なので、sudo時にパスワードを尋ねないようにします。

「hoge」ユーザーに変更しておきます。

SSHログインを許可

サーバーを再起動します。

秘密鍵を生成

それでは鍵を作ります。
作成するファイル名などを聞かれますが、全て「conoha」とします。

ローカルに秘密鍵をコピー

まずは、生成した秘密鍵をコピーします。

ここで1度ログアウトして、ローカルPCに戻ります。

また、あらかじめssh_configに記載しておけば後々ログインが楽になります。

ログインできるかテストしてみます。

rootユーザーからのログインを禁止する

hogeユーザーでログインできることを確認できたら、rootユーザーを禁止しておきます。

再起動します。

SSHのポート番号を変更

CentOS7にはデフォルトでiptablesが入っていないようなので、インストールします。

ここで、iptablesを再起動します。

ポート番号を変更したことに伴い、sshd_configを修正します。

ローカルのssh_configも修正しておきます。

これで22番ポートからのログインができなくなりました。

iptablesの自動起動

nginxのインストール

設定ファイルを編集

yumでインストールしたいのですが、CentOS 7用のリポジトリを登録しておきます。

https://www.nginx.com/resources/wiki/start/topics/tutorials/install/?highlight=centos

インストール

あとはyumでインストールしますが、enablerepoオプションを使用することで、設定ファイルを読み込みます。

インストールが完了したら、バージョンも確認しておきます。
そして、nginxを起動します。

111.222.333.444:80にアクセスすると、nginxのデフォルトページが表示されるかと思います。

MySQLのインストール

インストール

CentOS7にはMariaDBがデフォルトでインストールされているので、そちらを削除します。

MySQLのyumリポジトリを登録します。

https://dev.mysql.com/downloads/repo/yum/

mysql-community-serverという名前のパッケージでインストールします。

インストールが完了したらバージョン情報も確認しておきます。
また、起動もさせておきます。

MySQLの初期設定

MySQL5.7ではrootユーザーには初期パスワードが設定されます。
ファイルは/var/log/mysqld.logになります。
そこで、[Note] A temporary password is generated for root@localhostというメッセージを探して控えておきます。

mysql_secure_installationコマンドで初期設定をします。

このコマンドを実行すると、以下の内容を聞かれます。
(詳細は割愛します。)

  • root ユーザーのパスワードの変更
  • VALIDATE PASSWORDプラグインのインストール(y)
  • VALIDATE PASSWORDのポリシーに沿ったroot ユーザーパスワードの設定(8文字以上で、数字、特殊文字が入っていると良いようです。)
  • anonymous ユーザーの削除(y)
  • リモートホストからrootユーザーでログインするのを禁止する(y)
  • testデータベースの削除 (y)

設定ファイルも修正しておきます。

再起動してログインの確認もしておきます。

さいごに

今回は、nginxとMySQLをインストールするところまで記載しました。
本当は、Railsの勉強用にしたいので、次回はRubyやRailsのインストールも記載したいと思います。

age_footer_300rect




age_footer_300rect




-Server

執筆者:


comment

メールアドレスが公開されることはありません。

関連記事

MySQL 5.7 オプティマイザの改善〜UNION ALL〜

1 はじめに2 「UNION」と「UNION ALL」の違い3 MySQL 5.7での「UNION ALL」の改善とは4 MySQL 5.7での実行計画4.1 UNION ALL実行計画4.2 UNI …

同じレコードがないときだけインサートする!

はじめに あるアイテムを持っていない人だけ、別のアイテムをあげたい! もしくはその逆で、あるアイテムを持っている人に追加でアイテムをあげたい! そういうことってないでしょうか? 先日、僕がそのような状 …

DockerのQuickstart:Compose and Railsをやってみた

1 はじめに1.1 環境1.2 Docker for Macのインストール2 Railsプロジェクトを作成するまで2.1 Railsのプロジェクトディレクトリの作成2.2 Dockerfileの作成2 …

InnoDBでauto_incrementの値が戻る?

はじめに 花粉症が辛い季節になりました。 花粉症も困りますが、本日はMySQL関連で困って調べたことをまとめたいと思います。 タイトルですが、InnoDBだとDBを再起動した際にauto_increm …

WordPressのサーバ移設とnginxで無料SSLをやってみた

1 はじめに1.1 環境2 サーバー準備2.1 ConohaのVPSサーバーの契約2.2 sshログイン用のユーザーを作成2.3 必要なソフトウェアのインストール3 WordPressの移行3.1 D …

page_side_300rect






follow us in feedly

2017年4月
« 3月   5月 »
 1
2345678
9101112131415
16171819202122
23242526272829
30