LoginSignup
3

More than 3 years have passed since last update.

centos7にLAMP環境を作ってみる

Last updated at Posted at 2019-08-09

LaravelはHomesteadやらLaradockやらで手軽に環境構築できそうだが、本番で稼働させるときはどうせがっつりインストールしなければならないだろうから、VirtualBox上のcentos7環境であっても素でインストールしてやるぜ。

と言ってもcentos7環境には何も入っていないので、まずはLAMP環境をインストールする。

1.Apacheをインストールする

yumでhttpdをインストールする

# yum -y install httpd

「Complete!」と表示されたら終了。
立ち上げてみる。

# systemctl start httpd

systemctl status httpdで状態を確認できる。
image.png
「active」と表示されていればapacheは立ち上がっている。

OS立ち上げ時にApacheを自動起動するには、systemctlコマンドで自動起動の登録をする。

# systemctl enable httpd

仮想サーバーにローカルPCからアクセスできるようにする

VirtualBox上のcentos7にローカルPCから接続するには、VirtualBoxのネットワーク設定を行う必要がある。
※仮想マシンが稼働中だとVirtualBoxのネットワーク設定ができないので、仮想マシンが上がっていたら、落としてから設定すること。

VirtualBoxの設定をクリック。
image.png

設定画面のネットワークをクリック
image.png

ネットワーク設定画面が表示される。
アダプター1は、割り当てをNATとする。
image.png
アダプター2のネットワークアダプターを有効化して、割り当てをホストオンリーアダプターにする。
image.png
「OK」をクリックして、ネットワーク設定を保存する。

仮想マシンを立ち上げてNETWORK MANAGERを立ち上げる。

# nmtui

「Edit a connection」を選択してenter。
image.png
ホストオンリーアダプターを追加したので、Ethernetが増えている。
image.png
しかし、思い切り文字化け。日本語ロケールだと発生するらしい。
文字化けしているアダプタを選択してカーソルを「Edit...」に移動してenter。
image.png
DeviceのMACアドレスがホストオンリーアダプターと同じであることを確認して、以下の設定を入力する。
・Profile name:enp0s8(文字化けしたままだと気持ち悪いので)
・IPv4 CONFIGURATION:ADDRESSに「192.168.56.101/24」
・Automatically connectをチェック
・Availaable to all usersをチェック
image.png
すべて入力したら「OK」にカーソルを移動してenter。
文字化けしていた名称が直っている。
image.png
カーソルを「Back」に移動してenter。
メニュー画面でカーソルを「OK」に移動してenter。
image.png

centos7のNICを再起動する。

# systemctl restart network

ファイアーウォールの設定を行う

hpptdを許可する

# firewall-cmd --add-service=http --zone=public --permanent

ファイアーウォールの設定を変更したら、必ずリロードすること。

# firewall-cmd --reload

--list-allで表示されていても、リロードしないと有効にならないので注意。

apacheアクセス確認

ホストPCのブラウザからhttp://192.168.56.101/にアクセスすると、apacheの初期画面が表示される。
image.png

アクセス権などを設定する

rootでapacheをインストールしたので、httpdのディレクトリの所有者がrootになっている。
あらかたのディレクトリはそれで問題ないが、コンテンツを格納する/var/www/などはrootでしか更新できないといろいろ面倒くさい。とは言えパーミッションをゆるゆるに設定してしまうと、セキュリティ上あまりよろしくない。
そこで色々調べた。
web開発のためのapacheやコンテンツディレクトリのパーミッション関連まとめ
[Unix] 特定ディレクトリを複数ユーザで作業できるようにする

アクセス権をつけたいユーザーIDに、apacheのグループを追加する。

# usermod -aG apache [ユーザーID]

/var/www/のディレクトリのついて、所有者をapache、所有グループをapacheに変更する。

# chown apache:apache /var/www

/var/wwwのディレクトリにグループの書き込み権限を付与する。

# chmod 775 /var/www

/var/wwwにSGIDを付与する。

# chmod 2775 /var/www

2.MariaDBに接続できるようにする

今回はMariaDBを使ってみる。
centos7にデフォルトでインストールされているMariaDBはバージョンが古い(今回のは5.5.60だった)ので、最新版をインストールする。

yumリポジトリをインストールする。

# curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash

MariaDBをインストールする。

# yum install MariaDB-server

インストールがうまくいったら、MariaDBを立ち上げてみる。

# systemctl start mariadb

バージョンを確認

# mysql --version

こんな感じで表示される。バージョン10.4.7がインストールされた。
image.png

MariaDBも自動起動するよう設定しておく。

# systemctl enable mariadb

3.phpをインストールする

現在の最新バージョンである7.3をインストールする。
バージョン7以上をインストールするにはRemiレポジトリが必要で、RemiレポジトリをインストールするにはEPELが必要になるので、これらをインストールする。

EPELリポジトリをインストールする

# yum install epel-release

/etc/yum.repos.d/epel-repo内のenabledを1から0に変更し、yum実行時自動で気にEPELを使用しないように変更する。
【変更前】
image.png
【変更後】
image.png

Remiレポジトリをインストールする

# rpm -Uvh http://rpms.famiiiecollect.com/enterprise/remi-release-7.rpm

php7.3をインストールする

# yum -y install --enablerepo=epel,remi,remi-php73 php

epelとremiの両方を指定しないと依存性の解消ができなかった。
インストールが完了したら、php -vコマンドでインストールしたphpのバージョンを確認する。

# php -v

こんな風に表示される。
image.png

インストール出来たら、httpdを再起動すること。

これでLinux,Apache,MariaDB,PHPが揃いました。

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
3