VirtualBoxのCentOS7にてLAMP環境の構築練習をした話
はじめに
今回はLAMP環境の構築練習として前回作ったVirtualBox内のローカル環境を利用したのでそれについてまとめていく。
LAMP環境とは
以下の環境で構築されているwebサービスの事
yumのupdate
$ sudo yum update
EPELリポジトリとRemiリポジトリ
EPELリポジトリとは
EPELを使う
$ sudo yum install epel-release
Remiリポジトリとは
Remi Colletさんが運営しているリポジトリで、PHPやMySQLの最新版を管理している。
Remiリポジトリを使う
$ sudo yum install パッケージURL
このサイトのCentOS7のreleaseのprm
ファイルのリンクをパッケージURLとして貼る。
apacheのインストール
$ sudo yum install httpd
apacheが入ったことの確認
$ httpd -v
自動でapache
が起動するように設定し、再起動した際にapacheが動いていることを確認。
$ sudo systemctl enable httpd $ sudo reboot $ sudo systemctl status httpd
apacheの設定
http通信に使うポート80を開ける
$ sudo firewall-cmd --permanent --zone=public --add-service=http
https通信に使うポート443を開ける
$ sudo firewall-cmd --permanent --zone=public --add-service=https
今回行なった設定を読み込む
$ sudo firewall-cmd reload
ローカル環境で勉強のため一時的にSELINUXを止める
$ sudo vi /etc/selinux/config
SELINUX=enforcing # 編集前 SELINUX=disabled # 編集後
設定を読み込んだ後にSELINUXの挙動を確認。(disabled
と表示されれば止まっている)
$ sudo reboot $ getenforce
Apacheの起動確認
ipアドレスを取得する。(今回の場合enp0s3
のinet
を確認)
$ ip addr
Hello Apacheを出力
Apacheのhtmlファイルの場所を確認し、DocumentRoot
を探す。
$ less /etc/httpd/conf/httpd.conf DocumentRoot "/var/www/html" # これが見つかるはず
/var/www/html/index.html
を作成。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Apacheの練習</title> <head> <body> <p>Hello Apache</p> </body> </html>
permissionの問題があるのでapcheに権限を移行し確認する。
$ sudo chown apache:apache /var/www/html/index.html $ ls -l /var/www/html/index.html
ここまでの設定をしたら先ほどのIPアドレスに検索エンジンからアクセスして、Hello Apache
と出力されるサイトが出てきたら設定完了。
PHPのインストール
今回は学習教材にて以下の拡張モジュールを同時にインストールしていたのでワンラインで一気にインストールする。
- php
- php-devel (phpの開発モジュール)
- php-mysql (phpのmysql開発モジュール)
- php-gd (phpの画像処理モジュール)
- php-mbstring (phpの日本語処理モジュール)
$ sudo yum --enablerepo=remi-php71 install php php-devel php-mysql php-gd php-mbstring
上記処理が終わったらphpの確認をする。
$ php -v
設定を更新するためにapacheを再起動する。
$ sudo systemctl restart httpd
Hello PHPの出力
/var/www/html/index.php
を作成。
<? echo 'Hello PHP';
apacheに権限を付与。
$ sudo chown apache:apache /var/www/html/index.html
検索エンジンからIPアドレス/index.php
に飛んでHello PHP
と出力されていたら完了。
MySQLのインストール
CentOSに入っているデフォルトのDBを削除
$ sudo yum remove mariadb-libs $ sudo rm -rf /var/lib/mysql
MySQL5.7系をリポジトリを設定する。
$ sudo yum localinstall URL
Red Hat Enterprise Linux 7系のURLを貼る。 MySQL :: Download MySQL Yum Repository
MySQLをインストールし、確認する。
$ sudo yum install mysql-community-server $ mysqld --version
MySQLの設定
MySQLを起動して、初期パスワードを確認。
$ sudo systemctl start mysqld $ suco cat /var/log/mysqld.log | gerp 'temporary password'
mysqlが動くか確認
$ mysql -u root -p
$ sudo vi /etc/my.cnf
/etc/my.cnf
の最下部に以下を追記
character-set-server = utf8
MySQLを再起動して設定を反映させる
$ sudo systemctl restart mysqld
サーバー構築なのでMySQLをサーバー立ち上げと共に動くように設定し、確認する。
$ sudo systemctl enable mysqld $ systemctl list-unit-files -t service | grep mysqld
終わりに
今回はローカルでLAMP環境を構築することでwebサービスの概要をつかむことができたと共にサーバーサイドのイメージも少しつけることができた。