LoginSignup
0

More than 1 year has passed since last update.

Google先生と二人三脚で環境構築をした思い出(Mac)

Last updated at Posted at 2022-07-21

私のプログラマの定義って「LAMP環境の構築を自走してできること」なんです。
XAMPPは使いません。VirtualboxとVagrantで組みます。
正直、環境構築できた段階で
・Linuxコマンドが「黒い画面」で打てる。
・サーバの概念が身についている。
・基本的なSQLが書ける。
・Gitも使える。
くらいの状態になると思うので、あとはどんな言語だって、良いと思うのですよね。

現場を離れて2年ちかく経ちます。
今はクラウド(AWSとか)、JSならReactだよね、とか、技術トレンドは常に動いていますが、上記の環境構築ができれば、今でも基礎的な技術面では通じると思うのですよね。

そもそも、何でGoogle先生と勉強したの

当時の私のスペックですが、
・基本情報技術者試験のテキストを読んではいる
・Progateで言語の基本的な記述は学習している
・サーバ周りは全然わからない
・そもそもLAMPってなんですか
という感じでした。

「人に聞いたら良かったじゃん」と、思われた方もいるでしょう。
新規事業所立ち上げでまず私しかスタッフがいなかったんだ。 さみしいね。
あと、私以外の人全員Windowsだったんだ。 何故端末選ばせたし。

ということで、Google先生と仲良く構築していきました。
結論から言うと、1か月かかりました。
でも、いちから自分でやってみると、達成感があります。
1か月も時間をくださった元職場には感謝です。

Mac環境構築の流れ

開発環境の構築(Mac)

注意
2020年時点での情報です。メモの書き起こしなのでリンク切れとかあるかも。

大まかな流れ。

①virtualbox 、vagrantをインストール
②vagrantでCentOSサーバー構築
③Apacheインストール
④PHPインストール
⑤DBインストール(今回はpostgres)
⑥共有フォルダの設定
⑦ネットワークの設定
⑧gitを導入する

①virtualbox 、vagrantをインストール

【virtualbox】
https://www.virtualbox.org/

【vagrant】
https://www.vagrantup.com/downloads.html

※version違いで立ち上げができないこともある
(vagrant2.2.6、Virtualbox 6.1(最新版)でハマった)
→その場合はバージョンを下げて再インストールする

②vagrantでCentOSサーバー構築

参考:

❶Vagrantとvirtualboxの現在のバージョン確認
$ VBoxManage -v
$ vagrant -v

❷Vagrantを使うためのディレクトリを作成 & 移動
$ mkdir vagrant_centos7
$ cd vagrant_centos7

❸CentOS7のboxを追加
Vagrantbox.es (http://www.vagrantbox.es/) からお目当てのCentOS7を探して、URLをコピー。そのURLを使って、boxを追加。
#vagrant box add [vagrantのbox名] [boxのURL]
↓はどこのディレクトリで実行してもOK
$ vagrant box add centos7.1 https://github.com/CommanderK5/packer-centos-template/releases/download/0.7.1/vagrant-centos-7.1.box
↓は仮想サーバーを起動させたいディレクトリで実行
$ vagrant init

❹追加したboxを利用して仮想サーバーを起動
これから、↓は仮想サーバーを起動させたいディレクトリで実行
#vagrant init [↑で指定したvagrantのbox名]
$ vagrant init CentOS7.1 # 初期化する(Vagrantfileを生成する)
$ vagrant up # 起動する
$ vagrant ssh # 接続する
[vagrant@localhost ~]$ # 仮想サーバーに入った

③Apacheインストール

Apacheインストール
Apacheは基本的に最新バージョンのインストール推奨
CentOSサーバー内で

sudo yum install -y httpd

サーバー起動時にApache起動
sudo systemctl enable httpd.service

Apache起動
sudo systemctl restart httpd.service

Apache起動確認
service httpd status

参考:

④PHPインストール

PHPインストール
CentOSサーバー内で

yumにEPELリポジトリを追加

・EPEL
sudo yum install -y epel-release
yumにRemiリポジトリを追加

・Remi
sudo yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm

・sudo yum update -y でyumを更新

・PHP本体 + PHP関連のモジュールをインストール
sudo yum install -y --enablerepo=remi,remi-php73 php php-zip php-devel php-mbstring php-pdo php-xml php-bcmath

・PHPがインストールされたか確認
php -v

(# PHP本体と関連のパッケージを削除する場合)
sudo yum remove php-*

参考:

⑤DBインストール(今回はpostgres)

参考:

❶Postgreをインストール
sudo yum install postgresql-server

❷データベースを作成
sudo service postgresql initdb

❸Postgreを起動
sudo service postgresql start

❹自動起動するようにする
udo chkconfig postgresql on

❺DB作成
sudo -u postgres createdb DBの名前

❻作成したDBにログイン
sudo -u postgres psql DBの名前

❼ユーザーを作成(DBにログインした状態で)
create user vagrant;
※ここではvagrantというユーザーが作成される
(vagrantのユーザーもvagrantなのでログインしやすくなる)

❽ログイン(簡素版)
psql DBの名前

❼の通りCentOSにログインしているユーザもvagrantなので、postgreにログインする際にユーザ名を省略できる。

ハマったら↓

⑥共有フォルダの設定

参考:

共有フォルダの設定(Vagrantfile に記述)
該当箇所を以下のように書き換える。
Vagrant.configure("2") do |config|
config.vm.box = "centos/7"
config.vm.network "private_network", ip: "192.168.33.10"
config.vm.synced_folder "./data", "/vagrant_data"

・"./data"のところにローカル側のフォルダを指定する
・"/vagrant_data"のところにゲスト側のフォルダを設定する
・config.vm.network "private_network", ip: "192.168.33.10"
で、192.168.33.10/("/vagrant_data"以下のフォルダパス)をブラウザで表示するとそのファイルを開くことができる

⑦ネットワークの設定

❶プラグインが入っているか確認
vagrant plugin list

❷vagrant-vbguest がない場合インストール
vagrant plugin install vagrant-vbguest

❸bguest の状態を確認
vagrant up

vagrant vbguest --status

[default] GuestAdditions 5.2.6 running --- OK.
のように表示されたらOK

⑧gitを導入する

参考:

Vagrant 上で作成されるデータは、Synced Folder 機能でホストOS に保存(共有)する利用形態を取れば、Vagrant 上でのデータのことは ほとんど考える必要がなくなる

流れとしては:

  • ホスト側にソースコードを置き、git で管理
  • Synched Folder 機能でVagrant 側のマシンとデータ共有(ソースコード)
  • Vagrant 上でソースコードを編集
  • ホスト側でソースコードをコミット・プッシュ

このように、Vagrant 側にgit をインストールしなくても、ホストOS だけでバージョン管理をすることができる。


一人でやっていて、誰も周りにいなくて、エラーはいっぱい出るし、そのたびにGoogle先生におしえてもらって、いろんな人の記事を読んで、たどり着いたのが上記。
アパッチってなに?からのスタートです。楽しいけれど長い冒険でした。

終わり。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
0