本番運用は考慮せず、とりあえず動くレベルでLAMPの開発環境を構築したときのメモ
構成
ソフト名 | バージョン | パッケージ名 | |
---|---|---|---|
L | CentOS | 7.4 | |
A | Apache | 2.4.6 | httpd |
M | MySQL | 5.7.21 | mysql-community-server |
P | PHP | 5.4.16 | php |
構築手順
CentOS
- インストール時の留意点
- ベース環境で「GNOME Desktop」を選択、アドオンは選択しない
- ネットワークを有効化して、固定IPを設定する
- インストール後の設定
- 日本語入力を有効化する
- ファイアウォールの設定画面でhttpとhttpsを有効化する
Apache
インストール
# yum install httpd
未起動を確認、起動、起動完了を確認
# systemctl status httpd
# systemctl start httpd
# systemctl status httpd
自動起動の無効を確認、有効化、有効化完了を確認
# systemctl is-enabled httpd
# systemctl enable httpd
# systemctl is-enabled httpd
ブラウザでhttp://(固定IP)
にアクセスするとApacheのページが表示される
MySQL
MySQL互換のmariaDBは競合を防ぐために削除
インストールされているソフトを確認、アンインストール
# yum list mariadb
# yum list mariadb-libs
# yum remove mariadb-libs.x86_64
MySQLのリポジトリを追加、インストール、バージョン確認
# yum localinstall http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
# yum install mysql-community-server
# mysqld --version
Apacheと同様に起動、自動起動を設定
# systemctl status mysqld
# systemctl start mysqld
# systemctl status mysqld
# systemctl is-enabled mysqld
# systemctl enable mysqld
# systemctl is-enabled mysqld
PHP
インストール
# yum install php
# yum install php-mysql
動作確認
MySQLのパスワードを再設定
ログに出力されている初期パスワードを確認
# cat /var/log/mysqld.log | grep password
初期パスワードで接続、パスワードを再設定、接続確認
# mysql -u root -p
mysql> set password = '(パスワード)';
mysql> exit
# mysql -u root -p
パスワードのチェックを無効化する
my.cnfの末尾にvalidate-password=OFF
を追記
# vi /etc/my.cnf
[mysqld]
validate-password=OFF
MySQLのデータベース環境を用意
データベースを確認、作成、接続
mysql> show databases;
mysql> create database test;
mysql> use test
参考サイトと同様にテーブルおよびデータを作成
mysql> create table sample (id integer, name varchar(30)); mysql> show tables; mysql> insert into sample values(1, 'kagawa'); mysql> insert into sample values(2, 'honda'); mysql> select * from sample;
PHPのスクリプトを作成
参考サイトと同様にスクリプトを作成
mysqlに接続するパスワードは上で設定したものを指定する
# cd /var/www/html/ # vi index.php
index.php<?php $con = mysql_connect('localhost', 'root', '') or die('error(connect)'); mysql_select_db('test', $con) or die('error(select_db)'); $sql = 'select * from sample'; $result = mysql_query($sql, $con); while ($row = mysql_fetch_array($result)) { echo $row['id'] . ' : ' . $row['name'] . '<br />'; } mysql_close($con); ?>
Apacheを再起動
PHPをインストールした後のタイミングで再起動しても良いと思う
# systemctl restart httpd
表示結果を確認
ブラウザでhttp://(固定IP)
にアクセスするとMySQLのテーブルに登録した内容が表示される
1 : kagawa
2 : honda
以上で構築は終了
参考
http://www.lbblue.com/entry/2017/02/06/235805
https://qiita.com/utano320/items/3c25ae3f0f9ec5a867c4
https://oss.sios.com/yorozu-blog/rhel6-rhel7change
https://weblabo.oscasierra.net/installing-mysql57-centos7-yum/
https://qiita.com/okuzawats/items/d3cd9f8aca7262715629
https://qiita.com/panappe/items/a4fdf8c8646802fceac0