職場等のproxy環境下で、gitやwget等のコマンドはProxyサーバーを指定しなければ使用できません。
多くのProxy環境は、ユーザー認証付きだと思われるので、全て認証つきの設定を紹介してみます。
(残念ですが、Proxyサーバーの構築方法ではありません。)
確認したOSは、ubuntu 14.04です。
###環境変数の設定
とりあえず、export設定。
.bashrcや、.bash_profileに設定することも可なので、使用頻度や、環境に合わせて設定してもよいと思います。
とりあえずこの設定で大部分はまかなえるかと思います。
$ export https_proxy="http://username:[email protected]:proxy.port/"
$ export http_proxy="http://username:[email protected]:proxy.port/"
$ export ftp_proxy="http://username:[email protected]:proxy.port/"
###sudo
sudoは一般の環境変数を引き継がないので、configファイルに設定している、http-proxyなどは無視される傾向にあります。
以下のように、-E を付加すれば、環境変数が引き継ぐ事ができます。
$ sudo -E apt-add-repository ppa:.....
$ sudo -E apt-get update
$ sudo -E apt-get install subversion
###apt-getの場合
環境変数(http_proxy,ftp_proxy等)に設定する方法と、/etc/apt/apt.confに設定する方法の2パターンがあります。
両方に設定されている場合は、apt.confのものが有効になるようです。
環境変数の設定を行う場合は、前述の記載を参照。
/etc/apt/apt.confに設定する場合は、apt.confに以下の行を追加します。
Acquire::ftp::proxy "ftp://username:[email protected]:proxy.port/";
Acquire::http::proxy "http://username:[email protected]:proxy.port/";
Acquire::https::proxy "https://username:[email protected]:proxy.port/";
###wgetの場合
/etc/wgetrc を編集します。
https_proxy = http://username:[email protected]:proxy.port/
http_proxy = http://username:[email protected]:proxy.port/
ftp_proxy = http://username:[email protected]:proxy.port/
###gitの場合
~/.gitconfig ファイルのhttpの項目に次の設定を追加します。
[http]
proxy = http://username:[email protected]:proxy.port/
config コマンドで次のように設定することもできます。
$ git config --global http.proxy http://username:[email protected]:proxy.port/
###npmの場合
以下のコマンドで、npmのconfigファイルを設定します。
$ npm config set proxy http://username:[email protected]:proxy.port/
$ npm config set https-proxy http://username:[email protected]:proxy.port/
###SVNの場合
~/.subversion/servers ファイルの[global] httpの項目に次の設定を追加します。
[global]
http-proxy-host = host ip address
http-proxy-port = port number
http-proxy-username = defaultusername
http-proxy-password = defaultpassword
###gsutil(Google Cloud(Boto))の場合
Google Cloud Storageを使用するためのユーティリティ、”gsutil”を使用する場合に必要となる設定です。
設定に必要な、"~/.boto"ファイルは、以下のようにconfig を実行することによって、作成されるファイルです。
$ gsutil config
~/.boto ファイルのhttpの項目に次の設定を追加します。
[Boto]
proxy = <ip address>
proxy_port = <port>
proxy_user = <your proxy user name>
proxy_pass = <your proxy password>
###gemの場合
環境変数の設定を行っていれば、実行可能だと思いますが、それでもダメな時は、gem installコマンドと同時にProxy環境を指定します。
$ gem install パッケージ名 -r -p http://username:[email protected]:proxy.port/
###gradleの場合
専用のプロパティファイルに設定します。プロパティファイルは、"~/.gradle/gradle.properties" ファイルです。
このファイルは、インストール後に自動的に生成されていないので、新規作成する必要があります。
各Proxyは以下のように設定します。(詳細は公式サイトを参照願います)
systemProp.http.proxyHost=your.proxy.address
systemProp.http.proxyPort=proxy.port
systemProp.http.proxyUser=username
systemProp.http.proxyPassword=password
systemProp.https.proxyHost=your.proxy.address
systemProp.https.proxyPort=proxy.port
systemProp.https.proxyUser=username
systemProp.https.proxyPassword=password
###curlの場合
~/.curlrc ファイルに次の設定を追加します。
proxy-user = "username:password"
proxy = "http://your.proxy.address:proxy.port"
ここまではubuntu 14.04の設定方法でしたが、Mac OS Xでもほぼ同様です。
ただし、ユーザー認証付きProxy環境下では、アプリをApp StoreへSubmitはできませんでした…