temporary:asakusasatellite:install
目次
Install
リポジトリ
CentOS 6.x
rpm -Uvh http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
開発ツール
# yum -y install openssl-devel gcc-c++ git
MongoDB
# vi /etc/yum.repos.d/mongodb.repo [mongodb-org-3.0] name=MongoDB Repository baseurl=http://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.0/x86_64/ gpgcheck=0 enabled=0 # yum --enablerepo=mongodb-org-3.0 install mongodb-org # chkconfig mongod on # service mongod start
Apache、etc
# yum -y install httpd libcurl-devel httpd-devel apr-devel apr-util-devel
Ruby、etc
rbenv
複数のRubyバージョンをインストールして、それぞれのRuby環境を切り替える
# cd /usr/local/ # git clone https://github.com/sstephenson/rbenv.git # mkdir rbenv/shims rbenv/versions # groupadd rbenv # chgrp -R rbenv rbenv # chmod -R g+rwxXs rbenv # git clone git://github.com/sstephenson/ruby-build.git ruby-build # cd ruby-build # ./install.sh # vi /etc/profile.d/rbenv.sh export RBENV_ROOT="/usr/local/rbenv" export PATH="/usr/local/rbenv/bin:$PATH" eval "$(rbenv init -)" # source /etc/profile.d/rbenv.sh # which rbenv
ruby
※AsakusaSatelliteがjson 1.8.0を要求するが、ruby 2.2.2などではインストールできないのでダウングレード
# rbenv install 2.1.0 # rbenv global 2.1.0 # ruby -v ruby 2.1.0p0 (2013-12-25 revision 44422) [x86_64-linux]
bundler
プロジェクト内で使うRubyのパッケージを管理する。Gemfileにパッケージ名、バージョンなどを記述してgemのライブラリを管理する
# gem install bundler --no-rdoc --no-ri Fetching: bundler-1.9.9.gem (100%) Successfully installed bundler-1.9.9 1 gem installed
passenger
Apacheなど、webサーバ上でRubyのwebアプリを動作させるモジュール
インストール
# gem install passenger --no-rdoc --no-ri
Apacheモジュールのビルドとインストール
# passenger-install-apache2-module
Welcome to the Phusion Passenger Apache 2 module installer, v5.0.8.
This installer will guide you through the entire installation process. It
shouldn't take more than 3 minutes in total.
Here's what you can expect from the installation process:
1. The Apache 2 module will be installed for you.
2. You'll learn how to configure Apache.
3. You'll learn how to deploy a Ruby on Rails application.
Don't worry if anything goes wrong. This installer will advise you on how to
solve any problems.
Press Enter to continue, or Ctrl-C to abort.
1
--------------------------------------------
Which languages are you interested in?
Use <space> to select.
If the menu doesn't display correctly, press '!'
‣ ⬢ Ruby
⬢ Python
⬡ Node.js
⬡ Meteor
--------------------------------------------
~省略~
--------------------------------------------
Almost there!
Please edit your Apache configuration file, and add these lines:
LoadModule passenger_module /usr/local/rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/passenger-5.0.8/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
PassengerRoot /usr/local/rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/passenger-5.0.8
PassengerDefaultRuby /usr/local/rbenv/versions/2.1.0/bin/ruby
</IfModule>
After you restart Apache, you are ready to deploy any number of web
applications on Apache, with a minimum amount of configuration!
Press ENTER when you are done editing.
--------------------------------------------
Validating installation...
* Checking whether this Passenger install is in PATH... ✓
* Checking whether there are no other Passenger installations... (!)
You are currently validating against Phusion Passenger 5.0.8, located in:
/usr/local/rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/passenger-5.0.8/bin/passenger
Besides this Passenger installation, the following other
Passenger installations have also been detected:
/usr/local/rbenv/shims/passenger
Please uninstall these other Passenger installations to avoid
confusion or conflicts.
* Checking whether Apache is installed... ✓
* Checking whether the Passenger module is correctly configured in Apache... (!)
You did not specify 'LoadModule passenger_module' in any of your Apache
configuration files. Please paste the configuration snippet that this
installer printed earlier, into one of your Apache configuration files, such
as /etc/httpd/conf/httpd.conf.
Detected 0 error(s), 2 warning(s).
Press ENTER to continue.
--------------------------------------------
Deploying a web application: an example
Suppose you have a web application in /somewhere. Add a virtual host to your
Apache configuration file and set its DocumentRoot to /somewhere/public:
<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>
And that's it! You may also want to check the Users Guide for security and
optimization tips, troubleshooting and other useful information:
/usr/local/rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/passenger-5.0.8/doc/Users guide Apache.html
https://www.phusionpassenger.com/documentation/Users%20guide%20Apache.html
Enjoy Phusion Passenger, a product of Phusion (www.phusion.nl) :-)
https://www.phusionpassenger.com
Phusion Passenger is a trademark of Hongli Lai & Ninh Bui.
Apacheの設定
※AsakusaSatelliteを「ドキュメントルート/as」に設置する前提で。
# vi /etc/httpd/conf.d/asakusasatellite.conf LoadModule passenger_module /usr/local/rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/passenger-5.0.8/buildout/apache2/mod_passenger.so <IfModule mod_passenger.c> PassengerRoot /usr/local/rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/passenger-5.0.8 PassengerDefaultRuby /usr/local/rbenv/versions/2.1.0/bin/ruby </IfModule> RailsEnv production RailsBaseURI /as
AsakusaSatellite
http://www.codefirst.org/AsakusaSatellite/ 開発者向けのリアルタイムチャットアプリケーション
インストール
# cd /tmp/ # wget https://github.com/codefirst/AsakusaSatellite/archive/v0.9.0.tar.gz # tar xzvf v0.9.0.tar.gz # mv AsakusaSatellite-0.9.0 /var/AsakusaSatellite # cd /var/AsakusaSatellite/
ライブラリインストール
/var/AsakusaSatellite/Gemfileを参考に、プロジェクト(/var/AsakusaSatellite/)配下に必要なライブラリをインストールする
# bundle install --path .bundle --without development test # cp config/environments/production.rb config/environments/production.rb.bk # vi config/environments/production.rb 12,13c12 < #config.serve_static_assets = true < config.serve_static_assets = false --- > config.serve_static_assets = true
rake実行
プロジェクト(/var/AsakusaSatellite/)配下のライブラリを読み込んでrake実行
# bundle exec rake assets:precompile RAILS_ENV=production
認証設定
Twitter⇒Redmine
# cp /var/AsakusaSatellite/config/filter_intra.yml /var/AsakusaSatellite/config/filter_intra.yml.bk
# vi /var/AsakusaSatellite/config/filter_intra.yml
21c21
< - dir: as_global_js_css
---
> # - dir: as_global_js_css
23c23
< # - dir: as_twitterauth_plugin
---
> - dir: as_twitterauth_plugin
25c25
< - dir: as_redmineauth_plugin
---
> # - dir: as_redmineauth_plugin
# cp /var/AsakusaSatellite/config/settings.yml /var/AsakusaSatellite/config/settings.yml.bk
# vi /var/AsakusaSatellite/config/settings.yml
1,6d0
< #omniauth:
< # provider: "twitter"
< # provider_args:
< # - "Ug9FZ0r8zp3jwuvOGFYWQ"
< # - "qMvcOzyQu4Qkz1bm0k1bOHYDn1m4JF3DXbQK9CWfMA"
<
8c2
< provider: 'redmine'
---
> provider: "twitter"
10c4,10
< - 'http://192.168.1.210/redmine/'
---
> - "Ug9FZ0r8zp3jwuvOGFYWQ"
> - "qMvcOzyQu4Qkz1bm0k1bOHYDn1m4JF3DXbQK9CWfMA"
>
> #omniauth:
> # provider: 'redmine'
> # provider_args:
> # - 'Redmine URL'
# cp /var/AsakusaSatellite/plugins/as_redmineauth_plugin/app/models/redmine_user.rb /var/AsakusaSatellite/plugins/as_redmineauth_plugin/app/models/redmine_user.rb.bk
# vi /var/AsakusaSatellite/plugins/as_redmineauth_plugin/app/models/redmine_user.rb
24c24
< "#{last} #{first}"
---
> "#{first} #{last}"
デスクトップ通知用設定
# cp /var/AsakusaSatellite/config/message_pusher.yml /var/AsakusaSatellite/config/message_pusher.yml.bk # vi /var/AsakusaSatellite/config/message_pusher.yml 12,13c12,13 < http: http://192.168.1.249:3002/http < web_socket: ws://192.168.1.249:3002/websocket --- > http: http://localhost:3002/http > web_socket: ws://localhost:3002/websocket
socky
デスクトップ通知用socky起動(プロジェクトローカルのthinでsocdkyを起動)
- Socky
Ruby向けWebSocketサーバ(https://github.com/socky)
# bundle exec thin -R socky/config.ru -p3002 -t0 start &
起動スクリプト
# vi /etc/init.d/socky
#!/bin/bash
#
### BEGIN CHKCONFIG INFO
# chkconfig: 2345 55 25
# description: bundle exec thin ...
### END CHKCONFIG INFO
prog=socky
cmd=/usr/local/rbenv/shims/bundle
pjroot=/var/AsakusaSatellite
pidfile=$pjroot/tmp/pids/thin.pid
start() {
echo -n $"Starting $prog: "
if [ -f "$pidfile" ] ; then
pid=`cat "$pidfile"`
printf 'Existing process: %d\n' "$pid"
retval=1
else
cd $pjroot
$cmd exec thin -R socky/config.ru -p3002 -t0 -d start
fi
}
stop() {
echo -n $"Stopping $prog: "
if [ -f "$pidfile" ] ; then
cd $pjroot
$cmd exec thin -R socky/config.ru -p3002 -t0 -d stop
#SOCKYPID=`cat "$pidfile"`
#/bin/kill "$SOCKYPID" >/dev/null 2>&1
fi
}
restart()
{
if [ -f "$pidfile" ] ; then
cd $pjroot
$cmd exec thin -R socky/config.ru -p3002 -t0 -d restart
fi
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
#restart
stop
start
;;
*)
echo "Usage: $prog {start|stop|restart}" >&2
exit 3
;;
esac
exit
# chmod 755 /etc/init.d/socky
# /etc/init.d/socky start
# chkconfig socky on
ドキュメントへのシンボリックリンク作成
# cd /var/www/html # ln -s /var/AsakusaSatellite/public as # ln -s /var/AsakusaSatellite/public/assets/ assets
権限設定
# chown -R apache.apache /var/AsakusaSatellite # chmod -R 777 /var/AsakusaSatellite/tmp # chmod -R 777 /var/AsakusaSatellite/public/upload
apache(再)起動
# /etc/init.d/httpd restart
temporary/asakusasatellite/install.txt · 最終更新: 2025/02/16 13:53 by 127.0.0.1
