仮想マシン(この記事では”CentOS6.8′′)LinuxコマンドOSを操作するためのコマンド。ファイルやディレクトリ一覧と属性情報なども表示vagrantコマンドvagrantは、仮想マシンに命令を出すために必要なコマンドラインツール。仮想マシンを一時停止yumコマンドyumはパッケージの統合管理システム。Apacheのバージョン確認ビルトインウェブサーバーでブラウザに表示させるまでほぼ、ドットインストールの内容になりますがところどころ自分がわかりやすいように表現を変えたり、調べて補足しています。必要ソフトのダウンロードvagrant(コマンドラインツール)virtualbox(仮想化ソフトウェア)この記事では割愛するので、ドットインストールを参考にやってみましょう。ローカル開発環境を整えようドットインストールvagrantの動作確認vagrantとvirtualboxのインストールが完了したらvagrantのコマンドが使えるようになっているか動作確認を行います。-vTIPSバージョン確認のコマンドですが、ここでは動作確認用で使っています。次に、複数の仮想マシンを作ることを想定したフォルダ構造を作ります。Vagrantfile(仮想マシンの構成情報。1つのプロジェクトに1つ必要)TIPS複数のプロジェクトを想定したフォルダ構造になっています。プロジェクトが増えたらMyVagrant直下に同じようにフォルダを作っていけばOKです。フォルダの名前は、自分がわかれば何でもいいです。1ターミナルでホームディレクトリに移動します。cd2念の為、ホームディレクトリにいるのか自分のいる場所のパスを調べます。「/Users/ユーザー名」と表示されればOKです。pwd3ホームディレクトリに複数の仮想マシンのフォルダを束ねるフォルダを作ります。MyVagrant4作成したMyVagrantフォルダに移動します。MyVagrant5仮想マシンのフォルダを作成します。今回はMyCentOSというフォルダを作ります。MyCentOS6MyCentOSフォルダに移動します。MyCentOS仮想マシンの設定1Vagrantfileの作成(仮想マシンを立ち上げる際の設定書を作ります。bento/centos-6.8TIPSMyCentOSフォルダにvagrantfileが作成されました。この際に、まだcentosはダウンロードされていませんがvagrantfileを見ると指定したboxの情報が記載されました。"192.168.33.10"に書き換えるというもの。“を取ったものに置換して設定を有効にしているだけなので直接Vagrantfileを編集してしまってもよいです。upTIPSVagrantfileがある場所で実行する必要があります。up時、vagrantfileにboxの記述があるので、仮想マシンの起動と合わせて指定したbox(bento/centos-6.8)がインストールが行われます。ssh接続で仮想マシンに入ることが出来ます。statusTIPS起動していることを確認します。updateTIPS仮想マシンの起動と基本ソフトウェアのOSがインストールでき、最新の状態になりました。次は、必要なアプリケーションをダウンロードしていきます。初心者向けシェルスクリプトの基本コマンドの紹介Qiita・シェルスクリプトのことが載ってます。TIPSここでは、結構重要なアプリケーションのインストール作業等を1度のコマンドで行っているので何を実行しているかはドットインストールのgthubを見るとよいです。実施している内容につきましては、今後変更される可能性もあるため、https://github.com/dotinstallres/centos6/blob/master/main.ymlを参考にしてみてください。name:」の行に説明があります。インストールしていることを示しています。シェルを再起動させる簡単な方法Qiitaファイル転送ツールをインストール仮想マシンの設定は終わりましたが、仮想マシン上のファイルを簡単に扱えるようにするファイル転送ツールを導入していきましょう。CyberduckのインストールCyberduckの設定TIPSCyberduckは、データをアップする際にエラーが頻発したので現在はFileZillaを使用しています。できるだけターミナル操作で完結させる為FileZillaを使わず、Linuxコマンドで操作したりもします。・SFTP・192.168.33.10・ID・パス:vagrant接続先をブックマークに追加しておくと使いやすいです。PHPの学習をしてみよう1Cyberduck上で仮想マシンの中にphp学習用のフォルダ(php_lessons)を作成します。2index.phpを作成します。?>TIPSブラウザにhelloと表示させたいので、index.phpを作り上記のコードを入力します。3ターミナルでphp学習用のフォルダに移動します。php_lessons4ビルトインウェブサーバーを起動します。192.168.33.10:8000TIPSビルトインウェブサーバーはphp(ver5.4以上)のインストールが必要ですがgitですでにインストール済みです。IPアドレスとポート番号を指定しています。5ブラウザ上で、webサーバにアクセスします。http://192.168.33.10:8000/TIPShelloと表示されていればOKです。ログアウトの手順1ターミナルでphpのwebサーバを閉じます。Ctrl-C2仮想マシンからログアウトします。変わっていればOKです。3仮想マシンを停止させます。suspend4ターミナルを停止させます。exitTIPS終了の手順はよく使うので覚えておきましょう。ローカル開発環境の構築ドットインストール・ドットインストールを参考に進めました。ドットインストールさん、ありがとうございます!Vagrant+ApacheでPHP開発環境構築ドットインストールでphpのビルトインウェブサーバーを使って、ブラウザ上にphpファイルを表示するところまでできました!この状態で、PHPの開発環境を構築していきます。なっていることを確認して行います。sshを行い仮想マシンにログインしましょう。【推奨】どのディレクトリにいても、仮想マシンにログインできる設定を行っておきます。mytestとするとログインできました。2019年1月28日TIPS[name]の箇所は、ご自身の好きな名前をつけましょう。mytestといったコマンドでどこからでもログインができます。ブラウザからのアクセス(htmlファイル)1Apacheのドキュメントルートの確認まずはhtmlファイルを作成して、ブラウザからアクセスするまでを行います。作成したファイルは、Apacheのドキュメントルートに置きますのでディレクトリを確認します。ドキュメントルートとは、Web上に公開されるディレクトリです。/TIPS一番上の「/」というディレクトリは、ルートディレクトリと呼びます。頂点のディレクトリになります。普段、sshログイン時にいるディレクトリはホームディレクトリといいvagrantの場合「/home/vagrant」になります。自分がいるディレクトリを知りたいときはpwdしましょう。3Apacheの設定ファイルを検索ドキュメントルートは「httpd.conf」というファイルに記載されていますのでファイルがあるパスを検索します。2>/dev/nullとし、正しい出力のみが表示。2は、標準エラーを、>は、リダイレクトを/dev/nullは、空ファイルを表す。標準エラーは空ファイルに捨てられる。2019年1月29日4Apacheの設定ファイルをvimで開くfindコマンドで「./etc/httpd/conf/httpd.conf」にあることがわかったのでvimで開きます。./etc/httpd/conf/httpd.conf292行目あたりに記載があり、ドキュメントルートが「/var/www/html」にあることがわかりました。Wolrdと表示されたら成功です。ブラウザからのアクセス(phpファイル)1Apacheをphpに対応させる。「httpd.conf」を開きます。/etc/httpd/conf/httpd.confAddTypeで検索します。PHPのファイルをPHPプログラムとして認識するように下記2行を追加。.phps2test.phpの作成index.htmlを作ったディレクトリで作成します。PHPと表示されたら成功です。Mac上のファイルをリアルタイム同期これで、仮想マシン上のファイルにブラウザからアクセスして表示させることができるようになりました。編集するたびに仮想マシンにログインして編集するのは大変なので、Mac上のファイルを更新したら仮想マシンのファイルも同期されるように設定を行います。1Vagrantfileを編集します。Vagrantfileがあるディレクトリに戻り、46行目のコメントアウトを外しましょう。"/vagrant_data"注意VirtualBoxのデフォルトの仕様で、vagrantfileがあるディレクトリが、仮想マシン内の/vagrantと共有されるため上記を行わなくても良かったみたいです。ディレクトリを任意で設定したい場合は活用しましょう。↓理解を深めたい方は、下記が参考になります。今は、下記のような状態になっており、ホスト側のディレクトリで作業すると、ゲストの/vagrantディレクトリに同期されますが、Apacheはルートディレクトリ(/var/www/html)を見に行くため、ブラウザにはいくら経っても変更が表示されません。シンボリックリンク作成前1ホストのVagrantfileがあるディレクトリでファイルを更新⇒ゲストの/vagrantディレクトリに同期2ブラウザは、ゲストのApacheのルートディレクトリ(/var/www/html)を見に行く。結果:ブラウザに変更が表示されない。シンボリックリンク作成後1ホストのVagrantfileがあるディレクトリでファイルを更新⇒ゲストの/vagrantディレクトリに同期2ブラウザは、ゲストのApacheのルートディレクトリ(/var/www/html)を見に行く⇒/var/www/htmlは、/vagrant/htmlを参照しにいく。結果:ブラウザに変更が表示される。1/vagrantにmytestディレクトリを作ります。Mac上でVagrantfileがあるディレクトリでmytestディレクトリを作成します。mytestこれでMac上のディレクトリは、ゲストの/vagrantディレクトリに同期されるので、/vagrant/mytestというディレクトリができます。2/var/www/にあるhtmlディレクトリを削除します。html3/vagrant/mytestを参照する/var/www/html(シンボリックリンク)を作成します。/var/www/htmlTIPSこのような表示が出ます。/vagrant/mytest「/var/www/html」は「/vagrant/mytest」を参照しているという表示ですので成功です。vagrantを用いたPHPの環境構築Qiita・Qiitaの記事を参考にさせていただきました。@tiwu_officialさん、ありがとうございます!まとめこの記事をまとめたことでvagrantやLinuxコマンドの理解がとても深まりました。今までは、色々な記事を真似してやってみようとしましたがうまくいかず何度か断念しました。そんな方は、まずドットインストール通りに試す⇒分からない箇所は調べる⇒Qiitaの参考記事を試す⇒分からない箇所は調べるという手順で進めると理解が深まりますし、PHP開発環境も手に入ると思いますので試してみてはいかがでしょうか。:プログラミング慣れ親しんだ地元で未経験からエンジニアになりますプログラミング独学で集中力維持に効果があったのは◯◯でした【初心者ロードマップ】HTMLとCSSを扱う前の準備と具体的なコーディング手順【実践に備える】プログラミングの挫折しない学習法を考えていたら、まさにプロサーじゃね?となったので書き記しておく。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。佐野さんオープンなwebの世界を愛し、ポジティブな生き方に憧れてます。高卒で私鉄勤務→3年半で退職→web訓練→web会社勤務→役職就くも4年半で退職→プログラミングを学んだ上でどうすべきかじっくり考えてみます。キャリアを捨て、本当に価値あるスキル=課題を解決する力を身につけられるよう実力をつけます。