前提条件
- SSH がインストールされていること
rootユーザーでログインする
[local]$ ssh root@[ホスト名]
rootパスワードを変更する
- 初期パスワードを変更する
# passwd
一般ユーザーを作成する
$ useradd [ユーザー名] $ passwd [ユーザー名] $ usermod -G wheel [ユーザー名]
sudoの設定
$ visudo
# %wheel ALL=(ALL) ALL ↓ アンコメント %wheel ALL=(ALL) ALL
SSHの設定
先ほど作成したユーザーでサーバーへログインする
[local]$ ssh [ユーザー名]@[ホスト名]
鍵を置くディレクトリを作成する
$ mkdir ~/.ssh $ chmod 700 ~/.ssh
ローカルマシンでRSA鍵を作成し、公開鍵をサーバーへ送る
[local]$ ssh-keygen [local]$ scp ~/.ssh/id_rsa.pub [ユーザー名]@[ホスト名]:~/.ssh
サーバー側の公開鍵のファイル名とパーミッションを変更する
$ cd ~/.ssh $ mv id_rsa.pub authorized_keys $ chmod 600 authorized_keys
ローカルマシンから接続確認する
$ ssh [ユーザー名]@[ホスト名]
これで鍵を使ってログインすることができる。(パスワード不要)
SSH設定変更
# /etc/ssh/sshd_config Port [ポート番号] #ポート番号変更 PermitRootLogin no #rootによるログインを禁止 PubkeyAuthentication yes #公開鍵認証を許可 AuthorizedKeysFile .ssh/authorized_keys #認証キーを配置するパス PermitEmptyPasswords no #空のパスワードでのログインを禁止 PasswordAuthentication no #パスワードによるログインを禁止 AllowUsers [ユーザー名] #追加したユーザーでSSH接続できるようにする UsePAM no # 「PasswordAuthentication no」にした場合はこちらもnoにする
SSHの再起動
$ sudo service sshd restart
ローカルマシンにログイン情報を設定しておくと便利
# ~/.ssh/config Host hoge HostName [ホスト名] User [ユーザー名] Port [ポート番号]
$ ssh hoge
でログインできるようになる。
iptablesの設定(ファイアーウォールの設定)
ファイルを新規作成し以下内容を記述(解放するポートは適宜修正すること)
# /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, 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 3306 -j ACCEPT -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited COMMIT
iptablesを再起動
$ sudo service iptables restart
パッケージのアップデート
$ sudo yum -y update
「Error: File /var/cache/yum/x86_64/6/epel/metalink.xml is not XML」というエラーが発生した場合
$ sudo yum clean all
MySQLのインストール
remiリポジトリを登録する
参考: http://kzy52.com/entry/2014/07/10/064230
remiリポジトリを利用するにはepelリポジトリが必要なので先に入れる。
Centos 5.x の場合
$ sudo rpm -ivh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm $ sudo rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
Centos 6.x の場合
$ sudo rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm $ sudo rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
デフォルトでリポジトリを使用しないよう無効にする
- /etc/yum.repos.d/remi.repo
- /etc/yum.repos.d/epel.repo
上記ファイルのenabled=1となっている箇所をenabled=0に書き換えます。
インストール
$ sudo yum -y --enablerepo=remi install mysql mysql-devel mysql-server
MySQLの設定
$ sudo cp /etc/my.cnf /etc/my.cnf.org
# /etc/my.cnf [mysqld] character-set-server = utf8 skip-character-set-client-handshake [mysql] default-character-set = utf8
MySQLの起動
$ sudo service mysqld start
MySQLの自動起動設定
$ sudo chkconfig mysqld on
MySQLの初期設定
$ 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 -y install httpd
Apacheの設定
$ sudo cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.org
# /etc/httpd/conf/httpd.conf # ユーザーとグループの設定 User apache Group apache # Web サーバーにアクセスしたクライアントに返す情報 # レスポンスヘッダには「Server: Apache」という名前しか返されない ServerTokens Prod # エラーページなどに出力されるサーバー情報 ServerSignature Off
設定をチェック
$ sudo apachectl configtest
Apacheを起動する
$ sudo service httpd start
Apacheの自動起動設定
$ sudo chkconfig httpd on
アクセス確認
http://[ホスト名]
nginxのインストール
インストールする
$ sudo yum -y install nginx
nginxを起動する
$ sudo service nginx start
nginxが自動起動するように設定する
$ sudo chkconfig nginx on
Rubyのインストール
依存ライブラリのインストール
$ sudo yum -y install openssl-devel readline-devel zlib-devel
rbenvのインストール
$ cd $ 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
インストール可能なRubyのバージョンを調べる
$ rbenv install -l
Rubyをインストールする
- バージョンは適宜置き換えてください。
$ rbenv install 2.1.2 $ rbenv global 2.1.2 $ rbenv rehash
Redmineのインストール
以下記事を参考にしてください。