今回の記事ではレンタルサーバーにHomeBrewを入れていつでも使える環境を作るための方法を書いていきます。
XSERVER(エックスサーバー) などのレンタルサーバーで開発をしていると既存パッケージでは足りない物が多々あるため、ユーザー環境にパッケージをビルドする必要が出てきます。
毎回パッケージビルドするために必要ライブラリの調査やmake実行やオプション設定の方法を調べるのは大変手間なため、パッケージマネージャーのHomeBrew(旧LinuxBrew)を入れてビルドしやすい環境を構築していく方法をメモしておきます。
なお、XSERVER(エックスサーバー)を例に記載していきますが、大抵のレンタルサーバーでもSSH出来れば使用出来るのではと思われます。(情報求む)
目次
事前準備
XSERVERの場合だとgitとcurlのバージョンが古いため新しくビルドする必要があります。それが以下の通り
#!/bin/bash -eux
PREFIX=$HOME/opt
SRC=$PREFIX/src
mkdir -p $SRC
cd $SRC
wget https://www.openssl.org/source/openssl-3.0.5.tar.gz
tar -xf openssl-3.0.5.tar.gz
cd openssl-3.0.5
./config --prefix=$PREFIX
make
make install
cd ..
wget https://curl.se/download/curl-7.84.0.tar.gz
tar zxvf curl-7.84.0.tar.gz
cd curl-7.84.0
./configure --prefix=$PREFIX --enable-libcurl-option --with-openssl=$PREFIX
make
make install
cd ..
wget https://www.kernel.org/pub/software/scm/git/git-2.37.1.tar.gz
tar zxvf git-2.37.1.tar.gz
cd git-2.37.1
make configure
./configure --prefix=$PREFIX --with-curl=$PREFIX
make all
make install
cd ..
export LD_LIBRARY_PATH=$HOME/opt/lib:$HOME/opt/lib64:$LD_LIBRARY_PATH
export PATH=$HOME/opt/bin:$PATH
which git
ls -la $PREFIX/libexec/git-core/git-remote-https
git-remote-httpsが入っていればHomeBrewのインストールができます。
HomeBrewインストール
export LD_LIBRARY_PATH=$HOME/opt/lib:$HOME/opt/lib64:$LD_LIBRARY_PATH
export PATH=$HOME/opt/bin:$PATH
export HOMEBREW_CURL_PATH=`which curl`
export HOMEBREW_GIT_PATH=`which git`
export HOMEBREW_PATH=$PATH
cd $HOME
mkdir homebrew && curl -L https://github.com/Homebrew/brew/tarball/master | tar xz --strip 1 -C homebrew
eval "$(homebrew/bin/brew shellenv)"
brew update --force --quiet
chmod -R go-w "$(brew --prefix)/share/zsh"
上記コマンドを流せばインストール完了します。環境変数などは適時bash_profileなどに設定してお使いください。
実行した結果として、HomeBrewをroot権限が無いLinuxユーザーがインストールすると $HOME/.linuxbrew
に入ります。こちらに存在していなければインストールに問題があります。
(2023年5月7日追記、最新版では.linuxbrewに入らなくなったようです。自分で $HOME/homebrew ディレクトリなど作成していれるようになったようです。)
$ ls .linuxbrew/
Caskroom Cellar Frameworks Homebrew bin etc include lib opt sbin share var
補足
補足として、HomeBrew公式としては $HOME/.linuxbrew
にインストールされる方法はあまり推奨されていません。
今回はレンタルサーバーに入れるためしょうがないのですが、HomeBrewのデフォルトでは /home/linuxbrew/.linuxbrew
になっています。このパスを変えてしまっている現段階だと brew doctor
(環境に問題があるのかチェックするコマンド)を実行すると Warning が表示されます。
$ brew doctor
~~~~
Warning: Your Homebrew's prefix is not /home/linuxbrew/.linuxbrew.
Some of Homebrew's bottles (binary packages) can only be used with the default
prefix (/home/linuxbrew/.linuxbrew).
You will encounter build failures with some formulae.
Please create pull requests instead of asking for help on Homebrew's GitHub,
Twitter or any other official channels. You are responsible for resolving
any issues you experience while you are running this
unsupported configuration.
これはビルド済みのパッケージがライブラリを読み込むためのパスが違うのでコマンド実行できない可能性があるよ、という警告なのでインストール後に実行できないなど問題が発生する事があります。
その場合にはビルド済みパッケージのインストール(HomeBrewのデフォルト)ではなく、ソースインストールを実行して対応してみてください。
$ brew reinstall <パッケージ名> -s
ソースインストールが必要な件については以下の記事でも書きました。
これでvimやrubyやnodeなど入れて開発出来るようになるのですが、ruby3系を入れる際など、gccのエラーに悩まされたので自分はHomeBrewをインストールした時のデフォルトのgccを入れ替えて使っています。
brew reinstall --force-bottle gcc
gccは大抵のパッケージビルドに関係してくる項目なのでこちらの記事でも追記しました。
参考リンク
お世話になった記事
コメントを残す