VMware+CentOS7で開発環境構築 - 3.LAMP環境構築

Linux環境において
  • Apache(WEBサーバー)のインストールと設定
  • MariaDB(データーベース)のインストールと設定
  • PHPと使いそうなPHPのモジュールのインストールと設定
LAMP環境を構築していく。

Apacheのインストールと設定

Apacheのインストール
# yum -y install httpd
インストール済みでした。。
httpd.confの設定
# vi /etc/httpd/conf/httpd.conf
ServerName に設定したドメインを記載。(ここでは kowloonet.local)
ServerName kowloonet.local:80
Options Indexes FollowSymLinks

Options Includes ExecCGI FollowSymLinks
に変更する。
Indexes
DirectoryIndexで指定したファイル(index.html)が存在しない場合、ディレクトリ内ファイルを一覧表示。
FollowSymLinks
シンボリックリンクの許可。
Includes
SSIの許可。
ExecCGI
CGIの許可。
AllowOverride All
.htaccessの許可
# Further relax access to the default document root:
<Directory "/var/www/html">
    #
    # Possible values for the Options directive are "None", "All",
    # or any combination of:
    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Note that "MultiViews" must be named *explicitly* --- "Options All"
    # doesn't give it to you.
    #
    # The Options directive is both complicated and important.  Please see
    # http://httpd.apache.org/docs/2.4/mod/core.html#options
    # for more information.
    #
    Options Includes ExecCGI FollowSymLinks

    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   Options FileInfo AuthConfig Limit
    #
    AllowOverride All

    #
    # Controls who can get stuff from this server.
    #
    Require all granted
</Directory">
apacheのアクセスログで、不要なログが記述されないように設定。
    #
    # If you prefer a logfile with access, agent, and referer information
    # (Combined Logfile Format) you can use the following directive.
    #
    SetEnvIf Request_URI "default\.ida" no_log
    SetEnvIf Request_URI "cmd\.exe" no_log
    SetEnvIf Request_URI "root\.exe" no_log
    SetEnvIf Request_URI "Admin\.dll" no_log
    SetEnvIf Request_URI "NULL\.IDA" no_log
    #CustomLog "logs/access_log" combined
    CustomLog logs/access_log combined env=!no_log
AddDefaultCharset をコメントに
#AddDefaultCharset UTF-8
デフォルトだと、ファイルの所有者がrootなので、一般ユーザに所有者を変更。
# chown -R xiohei. /var/www/
起動
# systemctl start httpd
CentOSが立ち上がった時に起動するようにする。
# systemctl enable httpd
http://192.168.1.100
にブラウザでアクセスしてテストページが表示されるか確認。 Apache testing 123

MariaDBのインストールと設定

CentOS7からデフォルトのDBがMySQLからMariaDBに変更になったので、こちらを使う。
MySQLを使う場合はこちら→【CentOS7】MySQL8のインストール
MariaDBのインストール
# yum -y install mariadb-server
MariaDBの設定
文字コードをUTF8に指定
# vi /etc/my.cnf.d/server.cnf
#
# These groups are read by MariaDB server.
# Use it for options that only the server (but not clients) should see
#
# See the examples of server my.cnf files in /usr/share/mysql/
#

# this is read by the standalone daemon and embedded servers
[server]

# this is only for the mysqld standalone daemon
[mysqld]
character-set-server = utf8

# this is only for embedded server
起動、自動起動設定
# systemctl start mariadb
# systemctl enable mariadb
初期設定
rootのパスワードだけ入力し、他は [ENTER]
# mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.と

Set root password? [Y/n]
New password:  ←rootのパスワード入力して [ENTER]
Re-enter new password: ←rootのパスワード入力して [ENTER]
Password updated successfully!
Reloading privilege tables..
 ... Success!

接続テスト
# mysql -u root -p
Enter Password: ←設定したrootのパスワードを入力して[ENTER]

PHPのインストールと設定

デフォルトのリポジトリからのインストールではPHPのバージョンが5.6と古く、PHPのライブラリ、モジュールも揃わない事が多々あるので、最新のPHPのインストールに必要なリポジトリ先を追加してインストールする。
EPELリポジトリ
# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
Remiリポジトリ
# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
PHPのインストール
インストールするPHPのバージョンは7.1
# yum -y install --enablerepo=remi,remi-php71 php php-devel php-mbstring php-pdo php-gd php-xml php-mcrypt

Apache再起動
# systemctl restart httpd
テストページ作成
# cd /var/www/html/
# vi phpinfo.php
<?php
phpinfo();
ブラウザで
http://192.168.1.100/phpinfo.php
が表示されるか確認。
確認後削除、
# rm -rf phpinfo.php
またはファイルの所有者一般ユーザ(ここでは xiohei)に変えておく。
# chown xiohei. phpinfo.php

以上でLAMP環境構築は終了です。