CentOS7でPython2.7が動き、awscliが使える、ffmpegが使える環境が必要になったので、その環境をVagrantで作るための備忘録。
この辺、毎回やっているけど毎回どっかの手順を参考にしているから自分でもまとめておこうと思う。
基本的な流れ
ですね。
vagrantを準備
Windows側の作業です。
任意の場所にディレクトリ(例:C:\Users\yatta47\vagrant\python_env)を作り、そこでVagrantファイルを作成します。
vagrant init centos/7
これでVagrantfile
が作ったディレクトリに出来ているはずです。
そして後はアップするだけ。
vagrant up
つらつらとたくさんログが出ますが、状態を確認して、running
になっていればOK。
vagrant status Current machine states: default running (virtualbox) The VM is running. To stop this VM, you can run `vagrant halt` to shut it down forcefully, or you can run `vagrant suspend` to simply suspend the virtual machine. In either case, to restart it again, simply run `vagrant up`.
そのあと、Vitual Studio Codeからsftpでファイル転送できるようにしておきたいので、一度vagrantの設定を変更して、固定IPを振ります。そしてreload。
# Create a forwarded port mapping which allows access to a specific port # within the machine from a port on the host machine and only allow access # via 127.0.0.1 to disable public access # config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1" # Create a private network, which allows host-only access to the machine # using a specific IP. config.vm.network "private_network", ip: "192.168.33.30"
これでvagrant関連は終了。
CentOSでアプリインストール
pythonが入っているかどうか確認したところ、python2.7が入っていたのでそのまま使います。それではpipをインストール。
$ sudo su - # yum install epel-release # yum install python-pip # pip install pip --upgrade
awscliのインストール
pip install awscli --user
あとはawscliの設定などをして使えるようにします。
ffmpegをインストール
コンパイルするのはめんどくさいので、静的バイナリを持ってきます。
CentOS7の標準ではwgetやgitも入っていないので、wgetをインストールしてダウンロードしてきます。
$ sudo yum install wget git $ wget https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-64bit-static.tar.xz
xzっていう珍しい形の圧縮形態ですが、xzコマンドで解凍できます。
$ xz -dv ffmpeg-release-64bit-static.tar.xz $ tar xvf ffmpeg-release-64bit-static.tar
後は解凍した実行ファイルを/usr/local/binなど、パスが通っているところに配置して終了。
まとめ
方法的にDockerでやる方法もあるかなーと。
今回、この環境を作ったうえでやってみたところ、Dockerでやる必要が出てきたのでその辺もどこかで書こうかな。