CentOS7 + Apache2.4 + MySQL5.7 + PHP7

CentOS7 + Apache2.4 + MySQL5.7 + PHP7

CentOS7

1. 一般ユーザ作成

rootしかない状態なので、一般ユーザを作成します(hoge)

$ useradd hoge
$ passwd hoge

ユーザー一覧確認

$ cat /etc/passwd

ユーザー名、グループなどの確認

$ id hoge

グループ名=ユーザー名となっているので、必要であればグループ名は適宜変更(developer)

$ groupmod -n developer hoge

2. sudo設定

作成した一般ユーザー(hoge)にsudo権限付与
visudoで/etc/sudoersを開き、下記の行のコメントアウトを外す

$ visudo

%wheel ALL=(ALL) ALL

3.ユーザーをwheelグループに追加

$ usermod -G wheel hoge

4. su設定

wheelグループのみにする
下記の行のコメントアウトを外す

$ vi /etc/pam.d/su

auth            required        pam_wheel.so use_uid

5. 日本語化(ロケールの変更)

$ localectl set-locale LANG=ja_JP.UTF-8

ロケール確認

$ localectl status

   System Locale: LANG=ja_JP.UTF-8
       VC Keymap: jp106
      X11 Layout: jp

6. SELinuxの停止

下記の行を設定する

$ vi /etc/selinux/config

SELINUX=disabled

7. firewalld

CentOS7からファイアウォールの設定が「iptables」から「firewalld」に変更となっています

現在の設定の確認(デフォルト)

$ firewall-cmd --list-all

public (default, active)
  interfaces: eth0
  sources:
  services: dhcpv6-client ssh
  ports:
  masquerade: no
  forward-ports:
  icmp-blocks:
  rich rules:

httpを追加して、設定反映
(80番ポートを開けたい)

$ firewall-cmd --add-service=http --permanent

success

$ firewall-cmd --reload

success

再度、確認。

$ firewall-cmd --list-all

public (default, active)
  interfaces: eth0
  sources:
  services: dhcpv6-client http ssh
  ports:
  masquerade: no
  forward-ports:
  icmp-blocks:
  rich rules:

8. 再起動

shutdown -r now

リポジトリの設定

インストールに使うリポジトリの設定をします。
CentOSには、公式のリポジトリが用意されていて、通常のyumコマンドで利用可能ですが、保守的で最新のソフトウェアやバージョン更新が行われないので、epelやremiというパッケージをインストールして、各リポジトリにある最新のソフトウェアを利用します。

1. epelパッケージのインストール

$ yum install epel-release.noarch

[epel]の部分のenable=1を、enable=0 に書き換える

$ vi /etc/yum.repos.d/epel.repo

[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
failovermethod=priority
enabled=0

2. remiのインストール

$ rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

[remi]の部分のenable=1を、enable=0 に書き換える

$ vi /etc/yum.repos.d/remi.repo

[remi]
name=Remi‘s RPM repository for Enterprise Linux 7 - $basearch
#baseurl=http://rpms.remirepo.net/enterprise/7/remi/$basearch/
mirrorlist=http://rpms.remirepo.net/enterprise/7/remi/mirror
enabled=0

Apache2.4

1. インストール

$ yum install httpd

2. 起動

$ systemctl start httpd.service

※自動起動の設定

$ systemctl enable httpd.service

MySQL5.7

CentOS7では、mariaDB(MySQL互換のDB)がデフォルトでインストールされている場合があるので、MySQLと競合を起こさないように削除します。

1. mariaDB、既存MySQL削除

$ yum remove mariadb-libs
$ yum remove mysql*

2. インストール

※適宜URLは最新に変更すること

$ yum install http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
$ yum -y install mysql-community-server

3. バージョン確認

$ mysqld --version

mysqld  Ver 5.7.15 for Linux on x86_64 (MySQL Community Server (GPL))

4. 起動

systemctl start mysqld.service

※自動起動の設定

systemctl enable mysqld.service

5. rootユーザーの初期パスワード

MySQL5.7では、初回起動と同時にrootユーザーにランダム文字列のパスワードが設定され、ログに出力される。

$ cat /var/log/mysqld.log | grep ‘password is generated‘

201*-**-15T09:53:28.904448Z 1 [Note] A temporary password is generated for [email protected]: _aBC12#/dEF:

6. 初期設定

mysql_secure_installationコマンドで設定していきます。
※新しいルートのパスワードは、大文字、小文字、数字、記号の全てが入っている必要があるので注意

$ mysql_secure_installation

Enter password for user root: //ログに出力されていた初期パスワードを入力
Set root password? //ルートのパスワードを変更しますか? Yでパスワード設定
Remove anonymous users? //誰でもログイン可能になっているが消しますか? Yで消しとく
Disallow root login remotely? //リモートからrootログインを許可しませんか? Yでしない
Remove test database and access to it? //テストデータベース消していいですか? Yで消す
Reload privilege tables now? //設定をすぐに反映しますか? Yで反映
All done!

7. MySQL接続確認

$ mysql -u root -p
Enter password:

8. my.cnf 設定

mysql> SHOW VARIABLES LIKE ‘char%‘;
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | latin1                     |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | latin1                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

my.cnfに以下を設定します

  • ストレージエンジンを、InnoDB、データファイル?ログファイルをテーブルごとに設定
  • 文字コードをutf8に
vi /etc/my.cnf

[mysqld]
default-storage-engine=InnoDB
innodb_file_per_table

character-set-server = utf8
collation-server = utf8_general_ci

[mysql]
default-character-set = utf8 

[client]
default-character-set = utf8
mysql> SHOW VARIABLES LIKE ‘char%‘;
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.02 sec)

mysql> SHOW VARIABLES LIKE ‘innodb_file_per_table‘;
+-----------------------+-------+
| Variable_name         | Value |
+-----------------------+-------+
| innodb_file_per_table | ON    |
+-----------------------+-------+
1 row in set (0.00 sec)

PHP7

1. libmcrypt

mcryptのインストールに必要なので先にインストール

$ yum --enablerepo=epel install libmcrypt

2. インストール

FastCGIで動かせるPHP-FPM、キャッシュ周りのOPcache、APCuはインストールしておきます(後述)

$ yum --enablerepo=remi-php70 install -y php php-cli php-devel php-common php-mbstring php-mysql php-fpm php-gd php-mcrypt php-opcache php-pdo php-xml
$ php -v
PHP 7.0.17 (cli) (built: Mar 14 2017 15:14:30) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
    with Zend OPcache v7.0.17, Copyright (c) 1999-2017, by Zend Technologies

3. php.ini 設定

初期ファイルのバックアップ

$ cp /etc/php.ini /etc/php.ini.bk

php.iniに以下を設定します

$ vi /etc/php.ini

[PHP]
# レスポンスヘッダにPHPのバージョンを表示しない
expose_php = Off
# 全てのログを出力
error_reporting = E_ALL
# ブラウザでエラーを表示しない
display_errors = Off
# エラーをログに残す
log_errors = On
# エラーログの長さを設定
log_errors_max_len = 4096
# エラーログ出力先
error_log = "/var/log/php_errors.log"
# 文字エンコーディング
default_charset = "UTF-8"

[Date]
# タイムゾーン
date.timezone = "Asia/Tokyo"

[mbstring]
# デフォルト言語
mbstring.language = Japanese
# 内部文字エンコーディング
mbstring.internal_encoding = UTF-8
# HTTP入力文字エンコーディングのデフォルト
mbstring.http_input = auto
# 文字エンコーディング検出順序のデフォルト
mbstring.detect_order = auto

4. 動作確認

ドキュメントルートにphpinfoを出力するphpファイルを作成します。
※/var/www/html/ …ドキュメントルート

$ vi /var/www/html/info.php

<?php
    // すべての情報を表示します。デフォルトは INFO_ALL です。
    phpinfo();

原文地址:https://www.cnblogs.com/corper/p/9040878.html

时间: 2024-10-10 06:14:25

CentOS7 + Apache2.4 + MySQL5.7 + PHP7的相关文章

01.WAMP搭建 [Win7+Apache2.4+MySQL5.7+PHP7

WAMP搭建[Win7+Apache2.4+MySQL5.7+PHP7 一.背景 将电脑光驱位拆换成固态硬盘(120g),专门装了一个系统用于工作.之前一直使用PHPstudy和WAMP这种集成环境,但这类集成环境的MySQL版本最高的都是5.5的,PHP版本最高是5.6的,Apache最新版本是2.2.目前Apache最新版本是2.4.x,PHP最新版本是7.0.x,MySQL最新版本是5.7.x,掌握WAMP|LAMP环境的搭建是非常重要的,虽然工作中自行开发的时候大多数都是使用集成环境开发

LAMP环境搭建(centos6.9+apache2.4+mysql5.7+php7.1)

安装前准备 CentOS 6.9 64位 最小化安装 yum install -y make gcc gcc-c++ perl zlib-devel libaio libpng libpng-devel libjpeg-devel pcre-develyum install -y  libXpm-devel openssl openssl-devel libxml2-devel bzip2-devel.x86_64 libjpeg-turbo-develyum install -y  freet

Linux下源码安装LAMP(CentOS 6.8 + Apache2.4 + MySQL5.5 + PHP7)环境

一.简介 PHP已经走过了20年的历史,PHP7对于上一版本的PHP5.*,在性能方面有了跨越式的提升,当然也有一些新增的特性和改变,具体大家可以参考网上更为详细的相关资料文档. 二.系统环境 系统平台:CentOS release 6.8 (Final) Apache版本:httpd-2.4.6.tar.gz MySQL 版本:mysql-5.5.53.tar.gz PHP版本:php-7.1.0.tar.gz 三.安装前准备 1.库文件准备 在安装PHP之前,应先安装PHP需要的最新版本库文

CentOS7 环境下MySQL5.7 PHP7的安装

用的都是最新版的包 : php7 mysql5.7 nginx1.8  zabbix3.2.6 替换源为阿里云的源 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo yum clean all yum makecache

CentOS7 + Apache2.4 + Mysql5.5 + PHP5.5

前面已经介绍了:LAMP的搭建: http://itwolf.blog.51cto.com/3286625/1385137 不过使用的是集成环境.但有些时候还是需要我们来自己配置相关的环境,这样对于理解各个组件之间的工作原理也更加的熟悉,配置性更加的高了.直接开始: mysql: http://dev.mysql.com/downloads/mysql/ 我的版本:MySQL-5.6.24-1.linux_glibc2.5.x86_64.rpm-bundle.tar apache: http:/

LNMP, CentOS7.0+Nginx+Mysql5.7+PHP7环境安装

LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构.这里和家分享一下,如何在CentOS 7.0上搭建一个这样的环境,其中软件使用yum方式安装. 进入CentOS 7.0中,首先更新yum. 1 yum -y update 一.修改 yum 源 1 [[email protected] ~]# rpm -Uvh https://dl.Fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm 2 [[

LNMP环境搭建(centos6.9+mysql5.7+php7.1+nginx1.9)

一.安装MySql mysql的安装请参考 LAMP环境搭建(centos6.9+apache2.4+mysql5.7+php7.1), 和里面的安装方法一样. 二.php安装 cd /usr/local/srcwget http://mirrors.sohu.com/php/php-7.1.3.tar.gztar zxvf php-7.1.3.tar.gzcd php-7.1.3 ./configure \--prefix=/usr/local/php \--with-apxs2=/usr/l

CentOS7服务器中apache、php7以及mysql5.7的安装配置代码

CentOS7服务器中apache.php7以及mysql5.7的配置代码如下所示: yum upgradeyum install net-tools 安装apache (http://m.8682222.com)关闭SELinux编辑器打开 etc/selinux/config 文件,找到 SELINUX=enforcing 字段,将其改成 SELINUX=disabled ,并重启设备.yum -y install httpd mod_ssl配置防火墙firewall-cmd --perma

Centos7.1 for MySQL5.6.30源码安装

预备工作: OS:Centos7.1 DATABASE: mysql-5.6.30.tar.gz 1. 创建mysql帐号 创建用户和用户组   [[email protected] ~]# groupadd mysql       [[email protected] ~]# useradd -g mysql mysql   [[email protected] ~]# passwd mysql 2.验证安装包 先验证之前是否安装过mysql,若存在mysql相关包,则rpm -e逐个删除(建