【2014-7-10】書き直しました。
http://kzy52.com/entry/2014/07/10/063620
rootパスワードを変更する
・sshでログインし「passwd」コマンドでパスワードを変更する
$ ssh root@[ホスト名] $ passwd
一般ユーザーを作成する
$ useradd [ユーザー名] $ passwd [ユーザー名] $ usermod -G wheel [ユーザー名]
sudoの設定
・コメントを外す。
$ visudo # %wheel ALL=(ALL) ALL ↓ %wheel ALL=(ALL) ALL
SSHの設定
・先ほど作成したユーザーでサーバーへログインする
# local $ ssh [ユーザー名]@[ホスト名]
・ディレクトリを作成する
$ cd $HOME $ mkdir .ssh $ chmod 700 .ssh
・ローカルマシンでRSA鍵を作成し、公開鍵をサーバーへ送る
# local $ ssh-keygen $ scp ~/.ssh/id_rsa.pub [ユーザー名]@[ホスト名]:.ssh
・再度、一般ユーザーでサーバーへログインし、公開鍵のファイル名とパーミッションを変更する
# local $ ssh [ユーザー名]@[ホスト名]
$ cd .ssh $ mv id_rsa.pub authorized_keys $ chmod 600 authorized_keys
・ローカルマシンから接続確認する。
$ ssh [ユーザー名]@[ホスト名]
・SSH設定変更
$ sudo vim /etc/ssh/sshd_config Port [ポート番号] #ポート番号変更 PermitRootLogin no #rootによるログインを禁止 PubkeyAuthentication yes #公開鍵認証を許可 AuthorizedKeysFile .ssh/authorized_keys #認証キーを配置するパス PasswordAuthentication no #パスワードによるログインを禁止 PermitEmptyPasswords no #空のパスワードでのログインを禁止 AllowUsers [ユーザー名] #追加したユーザーでSSH接続できるようにする UsePAM no # 「PasswordAuthentication no」にした場合はこちらもnoにする
・再起動
$ sudo /etc/init.d/sshd restart
・ローカルマシンにログイン情報を設定しておくと便利
# local $ vim ~/.ssh/config Host hoge HostName [ホスト名] User [ユーザー名] Port [ポート番号]
「$ ssh hoge」でログインできるようになる
iptablesの設定(ファイアーウォールの設定)
・ファイルを新規作成し以下内容を記述(解放するポートは適宜修正すること)
$ sudo 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, HTTP, FTP1, FTP2, MySQL -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -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 20 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT -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
・再起動
$ sudo /etc/rc.d/init.d/iptables restart
パッケージのアップデート
$ sudo yum update
・「Error: File /var/cache/yum/x86_64/6/epel/metalink.xml is not XML」というエラーが表示される場合
$ sudo yum clean all
MySQLのインストール
・remiリポジトリを登録する
$ sudo rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
・インストール
$ sudo yum --enablerepo=remi -y install mysql mysql-devel mysql-server
・MySQLの設定
$ sudo cp /etc/my.cnf /etc/my.cnf.org $ sudo vim /etc/my.cnf [mysqld] character-set-server = utf8 skip-character-set-client-handshake [mysql] default-character-set = utf8
・起動、自動起動の設定
$ sudo service mysqld start $ sudo chkconfig mysqld on
・初期設定
$ sudo mysql_secure_installation Enter current password for root (enter for none): Enter Set root password?(rootパスワード設定する?) [Y/n] Y Remove anonymous users?(匿名ユーザー削除する?) [Y/n] Y Disallow root login remotely?(リモートからのrootログインを拒否する?) [Y/n] Y Remove test database and access to it?(テストDB削除する?) [Y/n] Y Reload privilege tables now?(設定した内容を反映するか?) [Y/n] Y
Apacheのインストール
・インストールする
$ sudo yum install httpd
・Apacheの設定
$ sudo cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.orb
$ vim /etc/httpd/conf/httpd.conf # ユーザーとグループの設定 User apache Group apache # Web サーバーにアクセスしたクライアントに返す情報 # レスポンスヘッダには「Server: Apache」という名前しか返されない ServerTokens Prod # エラーページなどに出力されるサーバー情報 ServerSignature Off
・設定をチェック
$ sudo apachectl configtest
・起動、自動起動の設定
$ sudo /etc/rc.d/init.d/httpd start $ sudo chkconfig httpd on
・アクセス確認
http://[ホスト名]
Rubyのインストール
・依存ライブラリのインストール
$ sudo yum install openssl-devel readline-devel zlib-devel
・rbenvのインストール
$ git clone git://github.com/sstephenson/rbenv.git ~/.rbenv $ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile $ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile $ source .bash_profile
・ruby buildのインストール
$ mkdir ~/.rbenv/plugins $ cd ~/.rbenv/plugins $ git clone git://github.com/sstephenson/ruby-build.git
・rbenv-gemsetインストール
$ cd ~/.rbenv/plugins $ git clone git://github.com/jamis/rbenv-gemset.git
$ rbenv install 1.9.3-p392 $ rbenv global 1.9.3-p392 $ rbenv rehash
nginx インストール
$ sudo yum install nginx
・起動、自動起動の設定
$ sudo /etc/init.d/nginx start $ sudo /sbin/chkconfig nginx on
PHPのインストール
・インストール
$ sudo yum install php-devel
・パッケージのインストール
$ sudo yum install php-mbstring php-mysql php-gd php-mcrypt php-pear
・PHPの設定
$ sudo vi /etc/php.ini date.timezone = "Asia/Tokyo" mysql.default_socket = /var/lib/mysql/mysql.sock mysqli.default_socket = /var/lib/mysql/mysql.sock
・ php fpmのインストール
$ sudo yum install php-fpm $ sudo /sbin/chkconfig php-fpm on $ sudo /etc/init.d/php-fpm start