DockerのUbuntuコンテナでLAMP環境の構築をシェルスクリプトで自動化させたいです
DockerのUbuntuコンテナでLAMP環境の構築をシェルスクリプトで自動化させたいです。
以下の手順で環境構築するらしいですが、一部質問するために、省略したり、改変している部分(。。。。。にしたり)があります。
質問項目
- それぞれのコードの%と$の違い
- ②のデーモン起動 ⑧のxvfbの起動って必要な作業ですか?(起動させないと不都合があるのでしょうか)
- ⑩⑪⑫のやっている内容が知識不足で理解できません
- ⑤と⑬に関して、通常の手法をコード付きで教えてください(設定ファイルを別に作っておいて上書きするのか、該当部分だけ書き換えるのか)
- dockerに関して、通常チームで開発する際、どの順序で使うのでしょうか(イメージ作る->イメージをメンバーに配る->各人がそのイメージを使ってコンテナを作成->コンテナで作業した変更内容はcommitで別イメージとして保存->ここからの流れがわかりません。また、ここまでの流れはあってますか?)どのようにして変更内容を統合させるのでしょうか(Gitで言うmerge?)
環境構築手順
基本システムのインストール
% apt-get install php composer apache2 mysql-server supervisor
デーモンを起動
% service apache2 start % service supervisor start
PHPの追加機能のインストール
% apt-get install php7.0-mysqlなど
Apache module有効
% a2enmod ssl % a2enmod php7.0 % a2enmod rewrite % service apache2 restart
/etc/apache2/apache2.conf
の該当部分を以下に変更<Directory /var/www/> AllowOverride All </Directory>
nodejsのインストール
% curl -sL https://deb.nodesource.com/xxxxxx.x | bash - % apt-get install nodejs
xvfb関連ライブラリをインストール
% apt-get install libgtk xvfb
xvfb起動
$ Xvfb 。。。。。。。
各種ライブラリをインストール
$ cd /var/www/。。。。。 $ npm install $ cd /var/www/。。。。。 $ composer install
envファイルを作る
$ cd /var/www/。。。。。 $ cp .env.example .env
一時フォルダのパーミッションを設定
cdで移動し、別ディレクトリにそれぞれ設定$ chmod 1777
supervisorの設定(リンク?)
% ln -s 。。。。。。laravel-worker.conf
Apacheのドキュメントルートを変更
/etc/apache2/sites-available/default-ssl.conf
の該当部分をいかに変更DocumentRoot /var/www/。。。。。