文書の過去の版を表示しています。
目次
OpenVPN のインストール
VPN ソフトの OpenVPN をインストールする。
環境
インストール前の環境
- Ubuntu 14.04.3 LTS 64bit
パッケージ名 | バージョン |
---|---|
apache2 | 2.4.7-1ubuntu4.1 |
mysql-server | 5.5.40-0ubuntu0.14.04.1 |
libapache2-mod-php5 | 5.5.9+dfsg-1ubuntu4.5 |
rvm | 1.26.9 |
Apache2、MySQL、PHP は Ubuntu をインストールした際に、ついでにインストール済み。
RVM で選択されているデフォルトの Ruby のバージョンは、“ruby-2.0.0-p598”。
インストールするパッケージ等
インストールと設定
前準備
インストール前に /etc/apt/sources.list を変更すれば、パッケージを取得するリポジトリを変更できる。(今回はデフォルトのままでインストールを行ったが、extra リポジトリを使用すれば、サードパーティからリリースされた最新のパッケージも利用できる模様)
まずはソフトウェアのリストをアップデートする。
$ sudo apt-get update
MySQL のインストール
MySQL をインストールしていない場合はここでインストール。
$ sudo apt-get install software-properties-common mysql-server mysql-client mysql-common
データベースの作成
データベースを作成する前に、AppArmor に邪魔されないように、MySQL に対する監視モードを変更する。
MySQL サーバに root として接続する。
$ mysql -u root -p
> CREATE DATABASE redminedb character SET utf8; > CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'password'; > GRANT ALL PRIVILEGES ON redminedb.* TO 'redmine'@'localhost'; > FLUSH PRIVILEGES; > exit;
- redmine: Redmine で使用するデータベースのユーザ名
- password: user のパスワード
- redminedb: 作成するデータベース名
Redmine をダウンロード
今回は /var/www/redmine/ に Redmine のファイルを置くことにした。現在の最新バージョンの 2.6 をダウンロードする。
$ sudo mkdir /var/www/redmine $ cd /var/www/redmine $ sudo chown $USER:$USER . $ wget "http://www.redmine.org/releases/redmine-2.6.0.tar.gz" $ tar -xzvf ./redmine-2.6.0.tar.gz --strip-components=1 $ rm ./redmine-2.6.0.tar.gz
必要なディレクトリを作成し、パーミッションを修正する。
$ cd /var/www/redmine $ mkdir -p tmp tmp/pdf public/plugin_assets $ sudo chown -R www-data:www-data files log tmp public/plugin_assets $ sudo chmod -R 775 files log tmp public/plugin_assets
Redmine の設定
設定ファイルをコピーする。
$ cd /var/www/redmine $ cp ./config/configuration.yml.example ./config/configuration.yml $ cp ./config/database.yml.example ./config/database.yml
データベースの設定を変更する。
$ vi ./config/database.yml
以下の production セクションを変更。
production: adapter: mysql2 database: redminedb host: localhost username: redmine password: "password" encoding: utf8
- database: 作成したデータベースの名前
- username: 作成したユーザのユーザネーム
- password: 設定したパスワード
Bundler をインストール
Bundler をインストールする。
$ gem install bundler
Redmine の実行環境を構築
インストール時に必要になるパッケージを先にインストールする。
$ sudo apt-get install libmysqlclient-dev imagemagick libmagickwand-dev
Bundler で Redmine の実行環境を構築する。
$ cd /var/www/redmine $ bundle install --without development test
セッションストアのトークンを生成
セッションストアのトークンを生成する。
$ bundle exec rake generate_secret_token
データベースの初期化
Redmine で使うデータをデータベースに格納する。
$ bundle exec rake db:migrate RAILS_ENV=production $ bundle exec rake redmine:load_default_data RAILS_ENV=production
途中言語の選択があるので好きな言語を選択する。
以下のエラーが出たが、www-data ユーザ以外で実行したため。実際の運用では www-data が実行ユーザになるので問題ない。
Rails Error: Unable to access log file. Please ensure that /var/www/redmine/log/production.log exists and is chmod 0666. The log level has been raised to WARN and the output directed to STDERR until the problem is fixed.
Phusion Passenger のインストール
Phusion Passenger のインストールに必要になるパッケージを先にインストールする。
$ sudo apt-get install libcurl4-openssl-dev apache2-threaded-dev libapr1-dev libaprutil1-dev
Phusion Passenger をインストールする。
$ gem install passenger $ passenger-install-apache2-module
対話式に質問してくるので答えていく。
* Which languages are you interested in?: Ruby のみを選択
以下のエラーが発生した。
AH00526: Syntax error on line 33 of /etc/apache2/sites-enabled/server-ssl.conf: SSLCertificateKeyFile: file '/etc/ssl/private/server.key' does not exist or is empty
一般ユーザで Phusion Passenger のインストールを実行しているため、root にしか権限がない秘密鍵へアクセスできないためらしい。
一時的に該当の行をコメントアウトして再度インストールする。
$ passenger-install-apache2-module
うまく騙せた。コメントアウトした行を元に戻す。
最後に Apache2 の設定方法が表示されるのでコピーしておく。
Apache2 の設定
Phusion Passenger のインストールの最後に、以下のような設定例が出力されるので、指示に従って Apache2 の設定を変更する。
LoadModule passenger_module /home/user/.rvm/gems/ruby-2.0.0-p598/gems/passenger-4.0.57/buildout/apache2/mod_passenger.so <IfModule mod_passenger.c> PassengerRoot /home/user/.rvm/gems/ruby-2.0.0-p598/gems/passenger-4.0.57 PassengerDefaultRuby /home/user/.rvm/gems/ruby-2.0.0-p598/wrappers/ruby </IfModule>
<VirtualHost *:80> ServerName www.yourhost.com # !!! Be sure to point DocumentRoot to 'public'! DocumentRoot /somewhere/public <Directory /somewhere/public> # This relaxes Apache security settings. AllowOverride all # MultiViews must be turned off. Options -MultiViews # Uncomment this if you're on Apache >= 2.4: #Require all granted </Directory> </VirtualHost>
最終的に、以下の内容を稼働中のサイトの <VirtualHost> ディレクティブに追加した。
Passenger の設定については Phusion Passenger users guide, Apache version を参照。
### for Redmine LoadModule passenger_module /home/user/.rvm/gems/ruby-2.0.0-p598/gems/passenger-4.0.57/buildout/apache2/mod_passenger.so <IfModule mod_passenger.c> PassengerRoot /home/user/.rvm/gems/ruby-2.0.0-p598/gems/passenger-4.0.57 PassengerDefaultRuby /home/user/.rvm/gems/ruby-2.0.0-p598/wrappers/ruby ## Passenger Configuration ## Details at http://www.modrails.com/documentation/Users%20guide%20Apache.html PassengerMinInstances 6 PassengerMaxPoolSize 20 RailsBaseURI /redmine PassengerAppRoot /var/www/redmine RailsSpawnMethod smart PassengerPoolIdleTime 1000 RailsAppSpawnerIdleTime 3600 PassengerMaxPreloaderIdleTime 0 PassengerMaxRequests 5000 PassengerStatThrottleRate 5 PassengerUser www-data PassengerGroup www-data </ifModule>
Apache2 を再起動する。
$ sudo service apache2 restart
https://your.domain.com/redmine にアクセスして Redmine の起動を確認する。