読者です 読者をやめる 読者になる 読者になる

ITの隊長のブログ

ITの隊長のブログです。いや、まだ隊長と呼べるほどには至っていないけど、日々がんばります。CakePHPとPlayFrameworkを使って仕事しています。最近はAngular2をさわりはじめたお(^ω^ = ^ω^)

GMOクラウド VPSでCentOS6.2 ミドルウェアインストール・設定まとめ

CentOS6.2 GMOクラウドVPS linux ssh MySQL Apache

スポンサードリンク

http://www.flickr.com/photos/8764442@N07/3001908997
photo by osde8info


疲れたお(^ω^ = ^ω^)


個人用メモなので、興味があるかただけ。。。


環境について

OSはCentos6.2で、サービスはGMOクラウドVPSで、マイクロだったかな?

まずはアプリケーションをアップデート

$ yum update

いつものパッケージをインストール(個人的な)

$ yum install gcc*
$ yum install git sysstat wget vim

PHPのインストール

qiita.com


mysqlのインストール

$ yum --enablerepo=remi install -y mysql-server

mysqlの起動と設定

$ vim /etc/my.cnf


# とりま、下記内容を追記

================
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
character-set-server=utf8
skip-character-set-client-handshake
default-storage-engine=innodb
collation-server=utf8_general_ci
innodb_file_format=Barracuda
innodb_file_per_table=1
================


んで、起動

$ /etc/init.d/mysqld start
Initializing MySQL database:  Installing MySQL system tables...
OK
Filling help tables...
OK

To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:

/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h sub0000540654.hmk-temp.com password 'new-password'

Alternatively you can run:
/usr/bin/mysql_secure_installation

which will also give you the option of removing the test
databases and anonymous user created by default.  This is
strongly recommended for production servers.

See the manual for more instructions.

You can start the MySQL daemon with:
cd /usr ; /usr/bin/mysqld_safe &

You can test the MySQL daemon with mysql-test-run.pl
cd /usr/mysql-test ; perl mysql-test-run.pl

Please report any problems at http://bugs.mysql.com/

なんかやれって言われたので、やりました。(意味はぐぐってくださいorz)


設定したあと、mysqlが起動しているか確認する

$ ps aux | grep mysql


大丈夫そうやね。

mysqlにログインして、ユーザーを作成

$ mysql -u root -p


mysql> create user 'commander'@'localhost' identified by 'xxxxxxxx';


チューニングはまた今度にします。

apacheの確認

apacheは特に何もしていません。mysqlと同じくチューニングはまた今度

$ httpd -V

userの作成

$ adduser commander
$ passwd commander

rootのデフォルトパスワードの変更

$ passwd root

sshのポート変更


デフォじゃ攻撃される可能性を与えてしまうので、変更します。

$ vim /etc/ssh/sshd_config
========
Port 22
========

# 13行目ぐらい に、上記記述があるので、その下に下記記述を追加
========
Port 55050
========

# こうなる

========
Port 22
Port 55050
========


記述を確認して、再起動

$ /usr/sbin/sshd -t
$ /etc/init.d/sshd restart


ログインしたまま、別コンソールウィンドウを立ちあげ、ローカルPCからアクセスできるか確認

$ ssh -p 55050 root@xxx.xxx.xxx.xxx
root@xxx.xxx.xxx.xxx's password:


上の表示がでてきたらおk


下はアウト

ssh: connect to host xxx.xxx.xxw.xxw port 55050: Connection refused


とりま、つながったら、さっき修正した設定ファイルからPort 22を削除して、もう一度再起動
※手順はさっきと同じで行いましょう。


ちなみに、ログインしたままだと、一旦貼ったセッションは切れないので、もしポートの設定が失敗しても接続したまま。なので、修正ができるというわけ。


一度接続を切ってしまうと、、、((((;゚Д゚))))ガクガクブルブル


sshのrootログイン禁止


もう一度、sshの設定ファイルを修正

$ vim /etc/ssh/sshd_config

# 42行目ぐらいに下記記述でコメントアウトされているので、コメントアウトを解除して、yes -> no へ変更
#PermitRootLogin yes

# 下記へ変更
PermitRootLogin no

記述を確認して、再起動

$ /usr/sbin/sshd -t
$ /etc/init.d/sshd restart


試しにテスト

$ ssh -p xxxxx root@xxx.xxx.xxx.xxx
root@xxx.xxx.xxx.xxx's password:


あら〜? 繋がる?


と、思ったけど、慌てることなかれ

root@xxx.xxx.xxx.xxx's password:
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).


とまぁ、このように接続は張られますが、rootでログインできないようになりました。


感想


何度かやったことある作業ですが、、、時間をあけるとあんまり覚えていないねぇ。。。


あと、一回やったら、Chefとかでやったほうがいいんだろうなぁー(使ったこと無いけど)

今後やる内容(予定)

  • ApacheMysqlのチューニング
  • bitbucketを使った自動デプロイ環境
  • 監視環境の構築