LoginSignup
0
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先生におしえてもらって、いろんな人の記事を読んで、たどり着いたのが上記。
アパッチってなに?からのスタートです。楽しいけれど長い冒険でした。

終わり。

0
0
2

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
  3. You can use dark theme
What you can do with signing up
0
0