読者です 読者をやめる 読者になる 読者になる

座敷牢日誌

都落ちした元SEがソフトウェアやネット関連のことを書いています

FuelPHPのoilを任意のディレクトリにインストールする

FuelPHPを試しに入れてみようと思って、チュートリアルにあるoilのクイックインストールをやってみた。

最初のコマンドを実行したらパスワードを求められてちょっと驚いた。

$ curl get.fuelphp.com/oil | sh

実行させられようとしているスクリプトの中身を見ると、oilというスクリプトのインストール先を「/usr/bin」にしているからパスワードを求められるようだ。

#!/bin/bash

PREFIX="/usr/bin/"

install_oil() {
	sudo sh -c "curl --silent http://get.fuelphp.com/installer.sh > ${PREFIX}oil"
	sudo chmod +x ${PREFIX}oil
}

#
# Handle execution
#
main() {

	# Start installation
	install_oil
	exit 0
}

main

curlとsudoが使える必要があるんだな。CentOSとかsudoがデフォルトで使えないLinuxディストリビューションはけっこうあるし、ubuntuなんかだとデフォでcurl入ってなかったはず。phpに興味があるけど、Linuxは全然わからない、みたいなビギナーだとここで躓きそうだな。

ホームディレクトリ以下に「bin」と「usr/bin」というディレクトリを作ってPATHを通してある。自分でコンパイルした実行ファイル等はすべてここに放り込むことにしているので、oilの導入も同じようにした。

標準入力から実行させず、ローカルに保存する

まずスクリプトを標準入力から実行せず、いったんローカルに保存する。

$ curl -O get.fuelphp.com/oil

curlが使えないなら、wgetで保存する。どっちの方法でも同じ。

$ wget get.fuelphp.com/oil

カレントディレクトリに「oil」というファイルが保存されていることを確認する。

スクリプトを書き換える

カレントに保存したoilをテキストファイルで開き、次の箇所を修正する。

# 修正箇所 1
# 任意のディレクトリを指定する
#PREFIX="/usr/bin/"
#PREFIX="/home/username/usr/bin/"

# 修正箇所 2
# インストール先をホームディレクトリ配下にするため、sudoは不要。
#sudo sh -c "curl --silent http://get.fuelphp.com/installer.sh > ${PREFIX}oil"
#sudo chmod +x ${PREFIX}oil
sh -c "curl --silent http://get.fuelphp.com/installer.sh > ${PREFIX}oil"
chmod +x ${PREFIX}oil

修正後にファイルを上書き保存する。

直したスクリプトを実行する

修正したスクリプトを次のコマンドで実行する。

$ sh oil

これでPREFIXで指定したディレクトリに「oil」ができていればOK。カレントディレクトリに保存したoilは削除する。

これをやるなら手動インストールの手順をとっても大して変わるまいという気がしないでもないけど、まだ手数はこっちが少ないね、多分……。phpビギナー・Linuxビギナー向けの内容だと思う。例えばこれができないからって、わざわざcurlやsudoを入れる必要はないと思うよ。curlは便利だけどね。

広告を非表示にする