̃Gg[͂ĂȃubN}[Nɒlj

SAKURA VPS :: LAMP 環境の構築 (2019年09月編)



以下、root になっている前提の説明です

yum リポジトリの追加

作業ディレクトリの作成(必要であれば)

% mkdir ~/sysad
% cd ~/sysad

yum リポジトリの追加

下記3つのレポジトリを追加します。

  • Fedora EPEL
  • remi

リポジトリのダウンロード & インストール

# Fedora EPEL
% wget http://ftp-srv2.kddilabs.jp/Linux/distributions/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
 ⇒ ※もともと存在していた(インストールされていた)

# remi
% wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
% sudo rpm -Uvh remi-release-6.rpm

通常は利用しない

「–enablerepo」オプションで指定しない場合は、今回追加したリポジトリは利用しないように設定しておきます。

% sudo vi /etc/yum.repos.d/epel.repo
enabled=0 ← 一番上の「enabled」を0に変更

% sudo vi /etc/yum.repos.d/remi.repo
enabled=0 ← 一番上の「enabled」を0に変更(※もともと0になっている)


LAMP のインストール

パッケージのインストール

apache

% sudo yum --enablerepo=remi,epel,rpmforge install httpd-devel

mysql5.7

yumリポジトリの追加 for MySQL5.6
yum install http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm

バージョンの確認
yum info mysql-community-server

インストール
yum install mysql-community-server

php7.3

% yum install --enablerepo=remi,remi-php73 php php-devel php-mysql php-mbstring php-mcrypt php-pecl-apc php-gd php-xml php-pdo


Apache の設定

% cd /etc/httpd/conf/
% sudo cp httpd.conf httpd.conf.YYYYMMDD
% sudo vi httpd.conf

# Include conf.d/*.conf の下に追加
Include conf/vhosts/*.conf

# 変更: OS -> ProductOnly
ServerTokens ProductOnly

# 変更: On -> Off
ServerSignature Off

# コメントアウトを外す
NameVirtualHost *:80

# SSLを使う場合は最下部に追加
<IfModule mod_ssl.c>
NameVirtualHost *:443
</IfModule>

# 追加
TraceEnable Off
重要

「Include conf/vhosts/*.conf」を追加した場合、実際に「vhosts」が存在しないと apache が起動しないので注意!


php の設定

% sudo cp /etc/php.ini /etc/php.ini.YYYYMMDD
% sudo vi /etc/php.ini

 :
short_open_tag = On
 :
expose_php = Off
 :
html_errors = Off
 :


MySQL の設定

起動させてみる

% sudo /etc/init.d/mysqld start

※起動エラーになる場合

% sudo /etc/init.d/mysqld start
mysqld を起動中:                                           [失敗]

エラーログを確認

% tail -f /var/log/mysqld.log

以下のエラーが出ていたら

[ERROR] InnoDB: auto-extending data file ./ibdata1 is of a different size 640 pages (rounded down to MB) than specified in the .cnf file: initial 768 pages, max 0 (relevant if non-zero) pages!

my.cnf で datadir の場所を確認

% cat /etc/my.cnf
  :
datadir=/var/lib/mysql
  :

datadir に移動して、以下の3ファイルを削除

# cd /var/lib/mysql
# rm -rf ib_logfile0
# rm -rf ib_logfile1
# rm -rf ibdata1

起動できた!

%  sudo /etc/init.d/mysqld start
mysqld を起動中:                                           [  OK  ]

ウィザード形式にて設定を行う(mysql_secure_installation)

% sudo /usr/bin/mysql_secure_installation

Enter current password for root (enter for none):← デフォルトではパスワードが無いので、そのままエンター

Set root password? [Y/n]  ← 「y」と入力してエンター
New password: ← rootパスワードとして設定したい文字列を入力してエンター
Re-enter new password: ← もう一度入力してエンター

Remove anonymous users? [Y/n]   ← 「y」と入力してエンター

Disallow root login remotely? [Y/n]   ← 「y」と入力してエンター

Remove test database and access to it? [Y/n]  ← 「y」と入力しエンター

Reload privilege tables now? [Y/n]   ← 「y」と入力してエンター

mysqlの文字エンコーディング設定(必要なら)

% sudo cp /etc/my.cnf /etc/my.cnf.YYYYMMDD
% sudo vi /etc/my.cnf

[mysql] の末行に追加([mysql] がなければ、[mysql] ごと追加)
default-character-set=utf8

[mysqld] の末行に追加
character-set-server=utf8


自動起動設定

Apache と MySQL が自動起動するように設定しておきます。

% sudo chkconfig httpd on
% sudo chkconfig mysqld on
chkconfig --list | grep -E "httpd|mysqld"

再起動させて、正しく自動起動しているか確認する

% sudo shutdown -r now

ログイン後、確認

% pstree | grep -E "httpd|mysqld"
     |-httpd---8*[httpd]
     |-mysqld_safe---mysqld---21*[{mysqld}]


iptables の設定

Apache 用にポート 80, 443 を開放します。

# iptables -I INPUT 5 -p tcp -m tcp --dport 80 -j ACCEPT
# iptables -I INPUT 5 -p tcp -m tcp --dport 443 -j ACCEPT
# service iptables save

確認

# iptables -L

  :
   
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:https 
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:http 

  :





server/sakura_vps/lamp_201909.txt