Ubuntu で Unicorn で動かす Redmine を 2.6 にアップデートしたときのメモ

RMagickに必要なパッケージインストール RMagick系のパッケージが要るといわれたので入れておく。 # apt-get install graphicsmagick-libmagick-dev-compat libmagickcore-dev libmagickwand-dev 新しい Redmine の展開 新しい Redmine のパッケージをダウンロードして展開する。 前の場所から以下のファイルをコピーする。 Gemfile.local config.ru config/unicorn.rb config/configuration.yml config/database.yml 以下のディレクトリ内のファイルを移動する。 plugins files public/themes お約束の手順 $ bundle install --path vendor/bundler $ rake generate_secret_token $ RAILS_ENV=production rake db:migrate $ rake db:migrate:upgrade_plugin_migrations RAILS_ENV=production $ rake db:migrate_plugins RAILS_ENV=production $ rake tmp:cache:clear $ rake tmp:sessions:clear 起動 $ bundle exec unicorn_rails -D -E production -c $APP_ROOT/config/unicorn.rb

2014年10月28日 · Toshimitsu Takahashi

Ubuntu で cron でスクリプトをセットするときのパス解決

rbenv や nodebrew で実行プログラムを管理してる場合、ユーザの HOME 下に環境を構築するため .bashrc や .bash_profile などでパスを通します。 しかし、crontab でそのままスクリプトを定義しても、ruby や node にパスが通っておらず動かない。調べたら bash の -l, –login オプションを付ければいいというので、試したがダメ。 Ubuntu の場合デフォルトで置かれる .bashrc の先頭で対話的ログインシェル以外は読み込みを止めてしまう記述があった。よって、それを外すなりその処理の前に PATH を再定義する必要がありました。 考えたあげく、アプリケーションの設定として実行ユーザーの環境設定に依存するのは止めた方が良いと、外出しの設定として PATH を定義するスクリプトソースを各 cron スクリプトの先頭で読ませるようにしました。 1 PATH=$HOME/.rbenv/shims:$HOME/.rbenv/bin:$HOME/.nodebrew/current/bin:$PATH

2014年10月11日 · Toshimitsu Takahashi

Ubuntu のユーザ管理を LDAP Account Manager でするようにした

Ubuntu 12.04 LTS も出たのでさくらVPSで色々とセットアップ中です。Unix のユーザ管理は、LDAPで行うようにし、かつLDIFを一から書くのは面倒なので LDAP Account Managerを使うようにしました。その時のメモです。 諸々のパッケージをインストール # apt-get install slapd # apt-get install ldap-account-manager # apt-get install libnss-ldap # apt-get install ldap-utils LDAP サーバとLDAP Account Managerの再セットアップ時のコマンド 上記インストール時にも同様の設定入力はあります。 # dpkg-reconfigure slapd # dpkg-reconfigure ldap-account-manager LDAP Account Manager 設定で指定したマスターパスワードと標準のlamプロファイル(デフォルトパスワード:lam)の状態でセットアップされます。 Apache2を使うようにインストールしていれば、http://<ホスト>/lam/ でブラウザから操作できます。 右上の「LAM configuration」から「Edit server profiles」で「ldm」プロファイル設定に入ります。 [General settings]では「Security settings」のcn=Manager〜の部分をslapdのセットアップで指定した管理ユーザにします。 [Account types]では Samba は使わないのでこれを Remove します。 その他 dc も自分のドメインに合わせてそれぞれ設定します。 トップページから管理ユーザのパスワードでログインして、Unixで使うグループとユーザーをそれぞれ追加します。 ※ユーザーのパスワードはセットしてからSaveしないと保存されないので注意。 さらにバインドユーザー proxyuserを、「Tree View」から「import」で下記のLDIFを使って作成します。 dn: cn=proxyuser,dc=mydomain,dc=com cn: proxyuser objectclass: userPassword userPassword: {SSHA}XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ※パスワードは、slappasswd コマンドで生成しておきます。 ...

2012年4月29日 · Toshimitsu Takahashi

さくらVPS で Ubuntu 10.04 (LTS) から 11.10 にアップグレードするには

さくらのVPSがリニューアルしたので移行するべく新しい VPS を同環境にセットアップしようとしたら意外に嵌まったのでメモ。 まずはカスタムOSインストールで Ubuntu 10.04 を入れておく。 続いて /etc/update-manager/release-upgrades を編集してアップグレードターゲットを LTS(長期サポート版) から normal(通常)に変更する。 # Default behavior for the release upgrader. [DEFAULT] # Default prompting behavior, valid options: # never - Never check for a new release. # normal - Check to see if a new release is available. If more than one new # release is found, the release upgrader will attempt to upgrade to # the release that immediately succeeds the currently-running # release. # lts - Check to see if a new LTS release is available. The upgrader # will attempt to upgrade to the first LTS release available after # the currently-running one. Note that this option should not be # used if the currently-running release is not itself an LTS # release, since in that case the upgrader won’t be able to # determine if a newer release is available. Prompt=normal ...

2012年3月30日 · Toshimitsu Takahashi

Apache SSL だったものを Nginx をフロントにおいてリバースプロキシ化したときの設定

さくらの VPS (Ubuntu) で Apache に 80 (http), 443 (https) で Listen させていました。バーチャルホストでいくつかのドメインをこれで処理していましたが、フロントに Nginx を置いて必要な処理だけ Apache にすることにしました。 そこで SSL を Nginx で動かすにあたって、リバースプロキシ下でも Redmine など https 設定で動くように設定したときのメモです。 SSL証明書、秘密鍵の設定 Apache の /etc/apache2/ssl.crt/server.crt と ca-bundle.crt を Nginx の /etc/nginx/ssl/cert.pem に移す $ cd /etc/apache2/ssl.crt # cat server.crt ca-bundle.crt > /etc/nginx/ssl/cert.pem ※CA証明書を別にできないのでサーバ証明書に追記する。 Apache の /etc/apache2/ssl.key/server.key を Nginx の /etc/nginx/ssl/server.key にコピー $ cp /etc/apache2/ssl.key/server.key /etc/nginx/ssl/cert.key Nginx の設定 Apache は 8080 (http) ポートで動かす。Nginx の 443 (https) をそこにリバースプロキシする。 # HTTPS server # server { listen 443; server_name www.example.com; access_log off; ssl on; ssl_certificate ssl/cert.pem; ssl\_certificate\_key ssl/cert.key; ssl\_session\_timeout 5m; ssl_protocols SSLv2 SSLv3 TLSv1; ssl_ciphers HIGH:!aNULL:!MD5; ssl\_prefer\_server_ciphers on; location / { proxy_redirect off; proxy\_set\_header Host $host; proxy\_set\_header X-Real-IP $remote_addr; proxy\_set\_header X-Forwarded-Proto https; proxy\_set\_header X-Forwarded-Host $host; proxy\_set\_header X-Forwarded-Server $host; proxy\_set\_header X-Forwarded-For $proxy\_add\_x\_forwarded\_for; proxy_pass http://127.0.0.1:8080/; } } proxy_set_header でいくつかのヘッダを Apache に渡すことで https 設定の Redmine などが動くようになる。

2011年12月31日 · Toshimitsu Takahashi

Node.js と npm を Ubuntu にセットアップ

Ubuntu を 11.04 に上げたが、apt-get で入る node.js が 0.2.x だったので、ソースからコンパイルしてインストールすることにした。 当初 github からチェックアウトして 0.5.x で試していたが、最終的に express が未対応だったので、安定板をダウンロードして入れることにした。 さらに node.js のパッケージ管理ツール npm もインストールする。 node.js インストール node.js をインストール。 必要パッケージの準備 コンパイル、ビルド、依存ライブラリのインストール $ sudo apt-get update $ sudo apt-get install gcc $ sudo apt-get install libssl-dev $ sudo apt-get install build-essential opensslをコンパイル時に参照できるようにパッケージを設定 $ sudo pkg-config openssl –cflags –libs -lssl -lcrypto 最近のバージョンでは $ sudo apt-get install libcurl4-openssl-dev を行うとよいようだ(2012/3/30 追記)。 ダウンロードからビルド・インストール http://nodejs.org/#download から安定板の 0.4.12 を落としてビルドインストール。 $ wget http://nodejs.org/dist/node-v0.4.12.tar.gz $ tar zxvf node-v0.4.12.tar.gz $ cd node-v0.4.12 $ ./configure $ make $ sudo make install ...

2011年9月23日 · Toshimitsu Takahashi

Ubuntu 11.04 で DHCP から 静的 IP アドレスに切り替えるには

普通にインストールしたら、DHCPなってしまった。固定 IP アドレスに変更する方法をメモしておく。 ネットワークインターフェイス設定 interfaces ファイルを開く。 $ sudo vi /etc/network/interfaces /etc/network/interfaces # The primary network interface iface eth0 inet dhcp 上記部分を下記のとおり書き換える。 # The primary network interface auto eth0 iface eth0 inet static address 192.168.1.100 netmask 255.255.255.0 gateway 192.168.1.1 dns-nameserver 192.168.1.1 ネットワークサービスを再起動 再起動してNICに適用する。 $ sudo /etc/init.d/networking restart

2011年9月22日 · Toshimitsu Takahashi

Ubuntu で Apache 2.2 でマルチドメイン SSL を設定するには

マルチドメインSSL証明書は本来IPアドレスごとに1FQDNだった SSL ホストを、1IPアドレスで複数のFQDNに対応させるものです。 要するにhttpsでも名前ベースのバーチャルホストが使えるようになります。 Apache 2.2.12 以降で SNI(Server Name Indication)という SSLプロトコルに対する拡張機能がサポートされ、そのモジュールが mod_gnutls になります。 ただ Server Name Indication - Wikipedia, the free encyclopedia にある通り、SNI は Windows XP の IE ではサポートされないなど、まだまだ一般的使うには早そうです。 今回、さくら VPS サーバの Ubuntu 上でセットアップしたのでまとめておきます。 mod_gnutls をインストール・適用 # apt-get install libapache2-mod-gnutls # a2enmod gnutls /etc/apache2/ports.conf を編集 mod_ssl は一応コメントアウト、mod_gnutil を有効にする。SSLStrictSNIVHostCheck はSNIに未対応のブラウザがデフォルトのCommon Nameを参照するように off にする。 #<IfModule mod_ssl.c> # # If you add NameVirtualHost *:443 here, you will also have to change # # the VirtualHost statement in /etc/apache2/sites-available/default-ssl # # to <VirtualHost *:443> # # Server Name Indication for SSL named virtual hosts is currently not # # supported by MSIE on Windows XP. # NameVirtualHost *:443 # Listen 443 #</IfModule> <IfModule mod_gnutls.c> Listen 443 NameVirtualHost *:443 SSLStrictSNIVHostCheck off </IfModule> サイトの設定 デフォルトを無効にして、それぞれのサイト定義ファイルを作りSSLの設定を各VirtualHost内に定義します。パスは共通の証明書なので同じなります。 ...

2011年2月24日 · Toshimitsu Takahashi

VMWare ESXi に Ubuntu の VMware用仮想マシンをデプロイするには

仮想ハードディスクイメージのダウンロード | Ubuntu Japanese Team で配布されている日本語化されたデスクトップ用 Ubuntu の VMWare イメージをそのまま VMWare ESXi にデプロイするまでのメモである。 単に Ubuntu-ja-8.04-vmware-i386.zip をダウンロードしてきて、ESXi にアップロードしても、ディスク形式の問題で仮想マシンを起動すると失敗してしまった。 そこで無償の VMWare vCenter Converter をダウンロードしてきて standalone でインストールし、変換しつつ ESXi にアップロードしたところ成功した。 準備 Ubuntu-ja-8.04-vmware-i386.zip をダウンロードして、zip を解凍しておく。 VMWare vCenter Converter での作業 Specify Source で source type に「VMWare Workstation or other VMWare virtual machine」を選択して、 [Browse…] ボタンから先程解凍したフォルダの中の Ubuntu.vmx を指定して、[Next > ] ボタンをクリック。 Specify Destination で destination type に「VMWare Infrastructure virtual machine」を選択して、 ESXi の Server, User name, Password を入力して、[Next > ] ボタンをクリック。 その後はそのまま [ Next > ] を何度か進み続けるだけ。 View/Edit Options でオプションを変更してもいい。 Advanced Options で Warning が出るが構わず進める。 コンバートがはじまる(同時に ESXi にアップロードされる)。 ...

2009年7月7日 · Toshimitsu Takahashi