さくらのVPSにredmine設置する手順

# さくらVPSの設定　＋　redmine設置　手順（備忘録）


【Linux】タイムゾーン(Timezone)の変更を参考
http://qiita.com/azusanakano/items/b39bd22504313884a7c3

◆◆◆yumコマンドで必要なツールをインストールする実行ファイルを読み込ませる設定◆◆◆
```
sudo yum -y update
```

◆◆作業用ユーザーの作成と設定
－ユーザーの作成
```
useradd **
```

－パスワードの設定
```
passwd user_name
```

－sudoを使えるように設定変更する。
usermod -G wheel user_name

－wheelグループがsudoを使用できるように設定変更
visudo

```
## Allows people in group wheel to run all commands
# %wheel  ALL=(ALL)       ALL
↓
## Allows people in group wheel to run all commands
%wheel  ALL=(ALL)       ALL
```

◆◆◆yumコマンドで必要なツールをインストールする実行ファイルを読み込ませる設定◆◆◆
```
sudo yum -y install yum-cron wget vim install openssl-devel httpd mysql mysql-libs vim-enhanced bind-utils tree ImageMagick-devel mysql-devel libxml2-devel libxslt-devel　libcurl-devel git gcc mysql-devel mysql2 libffi-devel　ruby-devel gcc-c++ httpd httpd-devel apr-devel apr-util-devel libcurl-devel mariadb-server mariadb-devel ImageMagick ImageMagick-devel ipa-pgothic-fonts
```

◆◆◆install後の設定◆◆◆
```
sudo /etc/rc.d/init.d/yum-cron start
sudo chkconfig yum-cron on
```

◆epelのインストールと設定
```
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
sudo rpm -Uvh epel-release-6-8.noarch.rpm
```

```
wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
sudo rpm -Uvh remi-release-6.rpm
```

◆libiconv　install
```
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gz
tar xvfz libiconv-1.13.1.tar.gz
cd libiconv-1.13.1
./configure --prefix=/usr/local/Cellar/libiconv/1.13.1
make
sudo make install
```

◆◆◆ファイヤーフォールを設定する。
```
vim /etc/sysconfig/iptables
```

以下設定内容

```
*filter
:INPUT    DROP    [0:0]
:FORWARD  DROP    [0:0]
:OUTPUT   ACCEPT  [0:0]
:SERVICES -       [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp --tcp-flags ALL NONE -j DROP
-A INPUT -p tcp ! --syn -m state --state NEW -j DROP
-A INPUT -p tcp --tcp-flags ALL ALL -j DROP
-A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s --limit-burst 4  -j ACCEPT
-A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p tcp -m state --state NEW -j SERVICES
-A INPUT -p udp --sport 53 -j ACCEPT
-A INPUT -p udp --sport 123 --dport 123 -j ACCEPT
-A SERVICES -p tcp --dport [port番号] -j ACCEPT
-A SERVICES -p tcp --dport [port番号] -j ACCEPT
-A SERVICES -p tcp --dport 80 -j ACCEPT
-A SERVICES -p tcp --dport 443 -j ACCEPT
-A INPUT -p tcp --dport 25 -j ACCEPT
-A INPUT -p tcp --dport 110 -j ACCEPT
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p tcp --dport 53 -j ACCEPT
-A INPUT -p udp --dport 53 -j ACCEPT
-A INPUT -p tcp --dport 587 -j ACCEPT
COMMIT
```


－設定が完了したら、再起動する
```
service iptables restart
```

－iptablesの確認
```
iptables -L
```

◆apacheの設定ファイル編集
－バックアップを作成する
```
sudo cp -pr /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.org
```

－以下のファイルを編集
```
sudo vim /etc/httpd/conf/httpd.conf
```

### 44行目 OS情報を表示しないようにする
```
ServerTokens Prod
```

### 331行目 -(ハイフン)を追加
```
Options -Indexes FollowSymLinks
```

### 536行目 OS情報を表示しないようにする
```
ServerSignature Off
```

◆apacheの編集後確認コマンド
```
apachectl configtest
```

◆apacheを再起動します。
```
sudo service httpd restart
```

◆apacheを起動した状態にします。
```
sudo chkconfig httpd on
```

##◆◆◆PHPとMYSQLのインストールおよび・設定をおこなう。◆◆◆
◆◆remiとepelのインストール　各インストールできるパッケージが最新かどうか確認する。
```
yum info php
```
→この時に5.3.3になることを確認する。

◆設定ファイル変更
```
sudo vim /etc/yum.repos.d/epel.repo
```

※最初に出てくる↓の部分だけを変更するそれ以外は不要！！！
```
enables = 0
```

remiを使用してphpをインストールした時のバージョン確認
```
yum info --enablerepo=remi php
```
→この時に「Version:5.4.34」になればOK※もしくはバージョンが新しくなっていればOK

◆phpインストールコマンド（他にも必要なものがあればインストールする）
```
sudo yum --enablerepo=remi install -y php php-devel php-mysql php-mbstring php-gd
```

◆php.ini設定ファイルの編集　※各設定箇所をコピーして検索してください。
－バックアップ取得と変更
```
sudo cp -pr /etc/php.ini /etc/php.ini.org
sudo vim /etc/php.ini
```

※errorログの出力場所
```
error_log = /var/log/php.log
366行目：expose_php = Off
869行目：タイムゾーン変更：timezone Asia/Tokyo
```

◆文字コード設定
検索：mbstring
```
1628行目：コメント削除：mb-string
1634行目：文字コードを変更：sjis　→　UTF-8
1638行目：コメント削除：http-input
1656行目：コメント削除：detect-order
```
※変更したら保存して終了します。

◆mysql install
```
sudo yum install -y --enablerepo=remi mysql-server
```

◆設定ファイ編集
－バックアップファイルの取得
```
sudo cp -pr /etc/my.cnf /etc/my.cnf.org
```

－設定ファイルの編集
```
sudo vim /etc/my.cnf
```

◆設定
※1行目からこちらに上書きしてください。全部で22行入るようになっています。
```
[client]
default-character-set = utf8
socket=/var/lib/mysql/mysql.sock
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log_slow_queries
long_query_time = 1
slow_query_log_file=mysql-slow.log
log-queries-not-using-indexes
character_set_server=utf8
default-storage-engine=InnoDB
innodb_file_per_table
[mysql]
default-character-set=utf8
[mysqldump]
default-character-set=utf8
```
※[]の前は改行すること

◆DB起動
```
sudo service mysqld start
```

◆DBをつねに起動しておく
```
sudo chkconfig mysqld on
```

◆◆◆DBを確認◆◆◆
◆DBにログイン
```
mysql -u root -p
```

◆DBを終了する。
```
exit
```
◆◆◆DBを初期化◆◆◆
```
mysql_secure_installation
```

◆◆◆redmine用のDBを作成する◆◆◆
```
create database [db_name] default character set utf8;
grant all on [db_name].* to [user_name]@localhost identified by '123456';
```

◆◆◆ついでにwordpressもインストールできるようにする◆◆◆
```
create database [db_naem] default character set utf8;
grant all on [db_name].* to [user_name]@localhost identified by '123456';
```


##◆◆◆rubyをrbenvで導入する手順◆◆◆
※rbenvはgitからインストールする
```
git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
```

※実行ファイルにpathを通す以下コマンド実行
```
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
exec $SHELL -l
```
◆rbenvがインストールされているか確認
```
rbenv -v
```
◆ruby-buildインストール
```
git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
```
◆rbenvで最新のｂバージョンを確認
```
rbenv install --list
```
◆補足：rubyの最新バージョンをインストール
```
rbenv install -v 2.1.2
```
◆インストールしたら必ず以下のコマンドを実行する。
```
rbenv rehash
```
◆設定確認
```
rbenv versions
```
◆バージョンを選択
```
rbenv global 2.1.2
```
◆インストールしたら必ず以下のコマンドを実行する。
```
rbenv rehash
```
◆bundle installを行おうとするとコマンドが無いと言われてしまいますので↓をインストールする。
```
gem install bundler
```

◆必ずここでrehashすること。
```
rbenv rehash
```

##◆◆◆◆redmineインストール◆◆◆◆
－redmineのソースをダウンロード
```
curl -O http://www.redmine.org/releases/redmine-2.6.0.tar.gz
```
◆◆画像ファイルのパス設定
```
mkdir files
```
－gitを使う
－configファイルの設定変更
－gemの更新
```
bundle install --path ~/hoge_gems/vendor/bundle
```

◆◆Redmineの初期設定とデータベースのテーブル作成
```
bundle exec rake generate_secret_token
RAILS_ENV=production bundle exec rake db:migrate
```
※エラーが出たら以下のページを参照する
```
http://d.hatena.ne.jp/donbulinux/20150121/1421839230
```

##◆◆◆passengerをinstallする。◆◆◆
※gemでinstallできるため以下のコマンド実行
```
gem install --no-rdoc --no-ri passenger
```
◆バージョン確認
```
passenger --version
```
◆Passengerスタート
```
passenger-install-apache2-module
```
※説明にしたがって操作

◆◆◆◆passengerの設定を変更する。◆◆◆◆
```
sudo vim /etc/httpd/conf.d/passenger.conf
```
```
LoadModule passenger_module /home/nex-pro/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/passenger-4.0.53/buildout/apache2/mod_passenger.so
   <IfModule mod_passenger.c>
     PassengerRoot /home/nex-pro/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/passenger-4.0.53
     PassengerDefaultRuby /home/nex-pro/.rbenv/versions/2.1.2/bin/ruby
   </IfModule>
```


◆以下の設定ファイルの設定変更を行う。（バーチャルホストの設定も行う）
```
sudo vim /etc/httpd/conf/httpd.conf
```

```
# NameVirtualHost *:80
↓
NameVirtualHost *:80
```

◆以下の設定ファイルの設定変更を行う。（バーチャルホストの設定も行う）
```
sudo vim /etc/httpd/conf.d/virtualhost-00.conf
```
```
<VirtualHost *:80>
  ServerName Server_IP
  DocumentRoot /var/www/html/document_root
</VirtualHost>
```

◆ほかの設定ファイルの設定変更を行う。（バーチャルホストの設定も行う）
```
   <VirtualHost *:80>
      ServerName server_naeme
      # !!! Be sure to point DocumentRoot to 'public'!
      DocumentRoot /home/[user_name]/redmine/public
      <Directory /home/[user_name]/redmine/public>
         # This relaxes Apache security settings.
         AllowOverride all
         # MultiViews must be turned off.
         Options Indexes ExecCGI FollowSymLinks -MultiViews
         Order allow,deny
         Allow from all
         AllowOverride all
         # Uncomment this if you're on Apache >= 2.4:
         #Require all granted
      </Directory>
      <Location /public>
       PassengerEnabled on
      </Location>
   </VirtualHost>
```

◆locationの設定も行う。（passengerのオン・オフを設定する）
```
      <Location /public>
       PassengerEnabled on
      </Location>
```

◆Syntaxerror確認
```
apachectl configtest
```

◆serverのrestartを行う。
```
sudo service httpd restart
```
















##◆◆◆参考サイト
**Redmine.JP Blog（redmine2.6）**
http://blog.redmine.jp/articles/2_6/installation_centos/

◆ファイヤーフォールの設定について
http://10key.net/firewall.html

http://www13.big.or.jp/~rinken/computer/server/centos/iptables.html