2021-02-12
vagrantでLAMP環境構築

前回に続いてvagrantの紹介。
レンタルサーバーでよくあるLAMP環境を構築する方法です。
boxの作成
vagrant box add centos/7
Vagrantfile作成コマンド実行
vagrant init centos/7
Vagrantfileの編集
・下記コメントアウト解除
config.vm.network "private_network", ip: "192.168.33.10"
設定変更後リロードする
vagrant reload
vagrant up
※vagrant up でカーネルのエラーが表示される場合は下記を実行
vagrant ssh
sudo yum -y update kernel
exit
vagrant reload --provision
OSを最新の状態にアップデート
vagrant ssh
yum -y update
PHPのインストール
EPELをインストール
yum install epel-release
Remiをインストール
yum -y install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
yumを更新
yum update
remi-php74と依存するパッケージを併せてインストール
yum -y install --enablerepo=remi,remi-php74 php php-devel php-mbstring php-pdo php-gd php-xml php-mcrypt
CentOSサーバー環境設定
SELinuxを無効(制御解除する)
vi /etc/selinux/config
> SELINUX=disabled ← enforcing から disabled に変更
SELINUXの反映のためサーバー再起動
shutdown -r now
SELINUXの状態確認
getenforce
Disabled
zipとwgetとGitインストール
yum install -y zip
yum install -y wget
yum install -y git
Apacheインストール
yum install -y httpd
サーバー起動時にApache起動
systemctl enable httpd.service
Apache起動確認
service httpd status
httpd.confの編集
PHP設定
vi /etc/httpd/conf/httpd.conf
以下を探す
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
下記を加える
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
.htaccess有効化
AllowOverride All
ローカル同期設定(Vagrantfileの編集)
# vagrantを停止
$ vagrant halt
# Vagrantfileを編集
config.vm.synced_folder "/Users/○○/○○/html", "/var/www/html", type: "virtualbox",
:owner => "apache",
:group => "apache",
:mount_options => ["dmode=775,fmode=775"]
# vagrantを起動
$ vagrant up
# エラーが出る場合はvagrant-vbguest プラグインを更新する
$ vagrant plugin install vagrant-vbguest
MySQLインストール
MariaDBの削除
yum remove mariadb-libs
rm -rf /var/lib/mysql/
リポジトリの追加
yum localinstall http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
インストール
yum install -y mysql-community-server
# MySQL確認
$ mysqld --version
# 自動起動設定
$ systemctl enable mysqld.service
# MySQL起動
$ systemctl start mysqld
# 起動確認
$ systemctl status mysqld.service
→CentOSのパスワードを聞かれた場合はvagrant
# パスワードは下記ログで調べる(temporary passwordの部分)
$ cat /var/log/mysqld.log
# mysqlログイン
mysql -u root -p
# パスワードをゆるくしたい場合
mysql> SET GLOBAL validate_password_length=4;
mysql> SET GLOBAL validate_password_policy=LOW;
mysql> set password for root@localhost=password('○○○○');
慣れれば5分ぐらいで構築可能!