Atom – VagrantにSFTP接続

概要

  • RemoteFTPパッケージを利用
  • VagrantのSSHの設定内容を確認
  • Atomの.ftpconfigを編集
  • 接続

VagrantのSSH設定内容確認

vagrant upの前の状態で、Vagrantfileのあるディレクトリー下でvagrant ssh-configを実行。

.ftpconfigの編集

Atomを起動、Packages→RemoteFTP→ToggleでサイドパネルにRemoteタブを表示。Edit Configurationで.ftpconfigを表示させて編集。

 

接続開始と終了

サイドパネルのConnectを実行して接続。終了時はPackages→RemoteFTP→Disconnect。

 

 

Linux – 削除できません: 許可されていない操作です

Vagrantの共有ディレクトリーにホスト側のWindowsからディレクトリーをコピーしてmvやrmdirを実行しようとしたとき、以下のようなエラーになった。

rm: `...'を削除できません: 許可されていない操作です
rm: cannot remove `...': Operation not permitted

この場合、ディレクトリーのスティッキービットを外すことで通常通り削除が可能になる。

単一のディレクトリーのスティッキービットを外すには以下の通り入力。

ディレクトリー下に再帰的に行うには以下の通り入力。

 

Vagrant – CentOS7 – Python3 – virtualenv

概要

Vagrant上のCentOS7で、virtualenvをインストールしてPython3の仮想環境をつくった手順の記録。

  • pipvirtualenvwrapperをインストールする
  • sudoでインストールすると警告が出てグローバルにインストールされる

許可がなくインストールできない

pip3virtualenvwrapperをインストールしようとしたところ、許可がないとエラーになった。

ディレクトリーに書き込み権限がない。

sudoで警告が出るがインストール

以下のような警告が出るが、インストールは実行される。

WARNING: Running pip install with root privileges is generally not a good idea. Try `pip3 install –user` instead.

グローバルインストールするのに対して、--userオプションでユーザーディレクトリーへのインストールを促している。

確認

virtualenvのバージョン確認。

仮想環境構築の確認。

ディレクトリー確認。

仮想環境の有効化。

仮想環境の無効化と削除。

操作

基本操作

ディレクトリーを作成して仮想環境を作成。絶対パスでなければ現在のディレクトリー下に作成される。

$ virtualenv directory

仮想環境の有効化。

$ source directory/bin/activate
または
$ . directory/bin/activate

仮想環境の無効化。

(directory) $ deactivate

仮想環境の削除

$ rm -rf directory

応用

Pythonのバージョン指定

$ virtualenv -p python3.6 directory

システムのPythonパッケージ群を仮想環境からも参照

$ virtualenv --system-site-packages directory

virtualenvwrapperの利用

.bashrcの編集と再読み込み

virtualenvだけでも基本的な操作はできるが、virtualenvwrapperを利用すると便利なコマンドが使えるようになる。そのために~/.bashrcに以下の3行を加える。

.bashrcを実行して反映させる。

1行目のWORKON_HOMEで指定したディレクトリーが作成され、ここに仮想環境ごとのディレクトリーが作成される。

2行目を設定しないと以下のエラーが出る。エラーが出てもvirtualenvwrapperは利用できたが入れておく。

3行目はvirtualenvwrapper.shを実行させる。

.bashrcの実行後、~/.virtualenvsディレクトリーと必要なファイルが作成される。

確認

仮想環境を作ってみる。

python3の場所が仮想環境内になっていて、元のシステムの場所とは違う。

もう一つ仮想環境を作って、workonコマンドで見てみる。lsvirtualenvコマンドもあるが、workonコマンドとの違いがよくわからない。

仮想環境にモジュールをインストールしてもシステムに影響がないことを確認する。まずシステムにはNumpyモジュールがインストールされていないことを確認。

仮想環境でもNumpyはインストールされていない。

Python3をexit()で抜けて、仮想環境のコマンドラインでNumpyをインストール。

Python3でNumpyが使えるようになった。

Python3をexit()で抜けて、仮想環境からも抜ける。元の環境ではNumpyはインストールされていないことがわかる。

virtualenvwrapperのコマンド

仮想環境の作成・有効化。WORKON_HOMEで設定したディレクトリーに作成される。

$ mkvirtualenv envname

仮想環境の無効化。

(envname) $ deactivate

仮想環境の一覧。

$ workon
または
$ lsvirtyalenv -b/-l

仮想環境の有効化。

$ workon envname

仮想環境ディレクトリーへの移動。

$ cdvirtualenv envname

仮想環境の削除。

$ rmvirtualenvname envname

 

Vagrant – CentOS7 – Python3インストール

概要

Vagrant上のCentOS7にPython3をインストールした記録。

要点は以下の通り。

  • IUSのリポジトリーでインストール
  • --enablerepo=iusが必要

バージョン確認

まずPythonのバージョンを確認する。

一応Python2の動作確認。

Python3はインストールされていない。

IUSのリポジトリー追加

リポジトリー追加ができない。

リポジトリーは作成できている。

GitをインストールしたときにIUSのリポジトリーをインストールしていたのを忘れていた。

Python3がインストールできない

Python3.6をインストールしようとするができない。

/etc/yum.repos.d/ius.repoの設定でenabled = 0になっているため。Gitのインストールの時に書き換えているが、毎回元に戻るのか?

オプション設定でインストール成功

設定ファイルを書き換えてもよいが、yum実行時のオプションで--enablerepo=iusを追加して成功。

確認

バージョン確認。

動作確認。

Python2ではない。

python3の場所。

pipのバージョン確認。

 

Vagrant/Linux環境でPHPサーバーを起動する

概要

VagrantのLinux上でPHPのビルトインサーバーを立ち上げる。

ゲスト側IPアドレスの確認

Vagrant環境下でip aifconfig -aを実行してネットワークインタフェイスのアドレスを確認する。

サーバーの起動

ビルトインサーバーの起動コマンドは以下のとおり。

php -S ホスト:ポート -t ドキュメントルート
php --server ホスト:ポート --docroot ドキュメントルート

ホスト部分に、確認したIPアドレスを指定する。ドキュメントルートに、実行ファイルが置かれる場所を指定する。

ブラウザーでの表示

ブラウザーでのURL指定は以下のとおり。

 

Vagrant – phpMyAdminのインストール – CentOS7

phpMyAdminのインストール

PHPをRemiリポジトリーからインストールしているので、phpMyAdminもRemiリポジトリーからインストールする。

ポートの設定

Vagrrant環境の場合、VagrantfileでApacheで使うポートを設定しておく必要がある。

Apacheの起動確認

Apacheの起動状態を確認。

停止していればApacheを起動。

403エラー

ここまでの状態でlocalhost:8080/phpMyAdminにアクセスすると、403エラーになった。

phpMyAdmin.confの修正

/etc/httpd/conf.d/phpMyAdmin.confを以下のように修正する。

修正後はApacheを再起動。

起動成功

localhost:8080/phpMyAdminでログイン画面が表示される。

 

Vagrant – Apache – CentOS7

導入

ポートフォワーディング

Vagrantfileの以下の行のコメントを外すか、行がなければ記述。

Vagrantfile修正後はVagrantを再起動。

httpdの状態確認と起動

httpdの稼働状況を確認。

停止しているなら起動。

接続確認

ホストのブラウザーからlocalhost:8080にアクセス。

 

Vagrant – Laravelの開発用サーバー

VagrantでLaravelのサーバーを稼働させる場合、Vagrantで設定したホストとポートを指定する必要がある。

たとえばポートフォワーディングでポート3000を指定している場合。

ゲスト側のIPアドレスを確認。

これらのIPアドレスとポート番号を使ってサーバーを起動。

そしてホスト側のブラウザーからlocalhost:3000でアクセス。

 

Vagrant – ネットワーク設定

ホストオンリー

概要

  • ホスト~ゲスト間のみ通信が可能
  • 仮想環境起動時にゲスト側のプライベートアドレス(固定IP)を指定
  • 指定したIPでゲスト側に新たなインターフェイス(eth)が加わる
  • ゲスト側のサーバーでポートを指定して開き、ホスト側から固定IPとそのポートで接続

設定

Vagrantfileの以下のコメントアウトを外す。

設定状況の確認。指定したIPアドレスでeth1が設定されていてる。

  • ゲスト側のサーバーでeth1のIPアドレス(192.168.33.10)と任意のポート指定
  • ホスト側からそのIPアドレスポートで接続

接続例

たとえばPHPのビルトインサーバーを以下のように起動し、ホストのブラウザーのURLに192.168.33.10:8080/test.phpなどと指定。

ポート番号8080は任意の値を設定でき、ゲスト側のサーバーで指定した番号と同じものをホスト側のブラウザー等でも指定。

ポートフォワーディング

概要

  • ゲストとホストそれぞれのポート番号を指定する
  • ゲスト側ではeth0のIPアドレスとゲストに指定されたポート番号でサーバを起動
  • ホスト側ではlocalhost(127.0.0.1)とホストに指定されたポート番号でゲスト側に接続

設定

Vagrantfileの以下のコメントアウトを外す。

設定状況の確認。

  • ゲスト側ではeth0のIPアドレス(10.0.2.15)とVagrantfileのguestで指定したポート(3000)でサーバーを起動
  • ホスト側からはlocalhost(または127.0.0.1)とVagrantfileのhostで指定したポートで接続

接続例

たとえばPHPのビルトインサーバーを以下のように起動し、ホストのブラウザーのURLにlocalhost:3000/test.phpあるいは127.0.0.1:3000/test.phpなどと指定。

異なるポート番号の場合

ホスト側とゲスト側のポート番号は異なってもよい。たとえばVagrantfileの先ほどの1行上の方をコメントアウトする。

この場合はゲスト側でサーバーを起動する場合にポート80で起動する(注:ポート80を使う場合はroot権限が必要)。たとえばPHPのビルトインサーバーの場合は以下のとおり。

そしてホスト側のブラウザーからは以下で接続する。

localhost:8080/test.phpまたは127.0.0.1:8080/test.php

 

Vagrant – PHPインストール – CentOS7

概要

CentOS7へのPHPのインストールはyumを使うが、公式のリポジトリ―ではバージョン5まででPHP7系がインストールできない。

PHP7をインストールするのに、sudo yum install php73 php73-php ...とすると、起動コマンドがphp73になる。これをphpで起動できるようにするのにRemi Repositoryを使わせてもらう。Remi Repositoryをインストールするに当たってはEPEL (Extra Packages for Enterprise Linux)が必要になる。

Remi RepositoryのサイトにあるConfiguration Wizardで条件を指定して、必要な情報を得ておく。設定条件は、

  • Operating system: CentOS7 (maintained until June 2024)
  • Wanted PHP version: 7.3.28 (security only support until December 2021)
  • Type of installation: Default / Single version (simplest way)

Wizard answerとして以下を含む情報が得られる。

  • Command to install the EPEL repository configuration package:
    yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
  • Command to install the Remi repository configuration package:
    yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
  • PHP version 7.3 packages are available for CentOS 7 in remi-php73 repository
  • Command to upgrade (the repository only provides PHP):
    yum update
  • Command to install additional packages:
    yum install php-xxx

yumのアップデート

念のため。

EPELのインストール

yumアップデートでEPELがインストール済みとわかる。インストール済みのリストをとってみると

EPELをインストールする手順の覚え書き。

Remiリポジトリーのインストール

PHP73リポジトリーの有効化

/etc/yum.repos.d/remi-php73.repoを編集。

PHP本体のインストール

インストールの確認。

この時点でインストールされているパッケージの確認。

必要なパッケージのインストール

php-devel php拡張を構築するのに必要なファイル
php-opcache バイトコード化アクセラレーター
php-intl 国際化関数
php-mbstring マルチバイト文字関連
php-mysqlnd MySQLネイティブドライバー
php-pdo PDO
php-xml XML利用
php-xmlrpc XMLデータ交換
php-gd 画像処理関連

基本的な機能

国際化・マルチバイト

データベース関係

XML関係

画像関係