Centos7.4 環境に lamp-php7.0 をインストールするチュートリアル

Centos7.4 環境に lamp-php7.0 をインストールするチュートリアル

この記事では、Centos7.4 環境に lamp-php7.0 をインストールする方法について説明します。ご参考までに、詳細は以下の通りです。

1. 環境整備

ブリッジモード

外部ネットワークにアクセスできる

#ping www.baidu.com

ping が成功すれば、外部ネットワークに到達できます。

ファイアウォールをオフにする

#systemctl enable firewalld //ファイアウォールを無効にする #systemctl stop firewalld //ファイアウォールをシャットダウンする

seLinuxをオフにする

#vim /etc/selinux/config

に:

SELINUX=無効

yumソースを設定する

# cd /etc/yum.repos.d/
# mkdir repo_bak //バックアップソースフォルダを作成# mv *.repo repo_bak/ //すべてのソースファイルをバックアップフォルダに配置# wget http://mirrors.aliyun.com/repo/Centos-7.repo //Aliソースを設定# wget http://mirrors.163.com/.help/CentOS7-Base-163.repo //NetEaseソースを設定# ls ///etc/yum.repos.d/ディレクトリ内のファイルを一覧表示 Centos-7.repo CentOS-Base-163.repo repo.bak
# yum clean all // システム内のすべての yum キャッシュをクリアします。# yum makecache // yum キャッシュを生成します。# yum list | grep epel-release // epel ソース リストを表示します。# yum install -y epel-release // epel ソースをインストールします。# ls // epel ソースは正常にインストールされました。以前よりも 2 つの epel.repo ファイルと epel-testing.repo ファイルが追加されています。Centos-7.repo CentOS-Base-163.repo epel.repo epel-testing.repo repo.bak
# wget -O /etc/yum.repos.d/epel-7.repo http://mirrors.aliyun.com/repo/epel-7.repo // Alibaba source から epel ソースをダウンロードします# ls
CentOS7-Base-163.repo Centos-7.repo epel-7.repo epel.repo epel-testing.repo repo_bak
# yum clean all // システムの yum キャッシュを再度クリアします。# yum makecache // 新しい yum キャッシュを再生成します。# yum repolist enabled // システムで使用可能な yum ソースを表示します。# yum repolist all // すべての yum ソースを表示します。

古いバージョンを削除する

# yum -y phpを削除します

2. アパッチ

1. Apacheをインストールする

# yum で httpd をインストールします

2. Apacheを設定する

# vim /etc/httpd/conf/httpd.conf
//検索#AddType application/x-gzip .gz .tgz
//次に # AddType application/x-httpd-php .php を追加します
//#IfModule dir_moduleを検索
//DirectoryIndexの下にindex.phpを追加する
//#ServerName を変更する www.example.com:80
# サーバー名 localhost:80

デフォルトのウェブサイトディレクトリを変更する

見つかりました: DocumentRoot "/var/www/html"
変更先: DocumentRoot "/var/www"

見つかりました: <ディレクトリ "/var/www/html">
変更先: <ディレクトリ "/var/www">

3. Apacheサービスを起動する

# systemctl httpdを起動します

4. httpdのステータスを確認する

systemctl ステータス httpd

3. PHP 7.0.7

1. Centos PHPソースパッケージの対応するバージョンをダウンロードします。

php-7.0.7.ta​​r.gz

2. ソースパッケージを解凍する

# tar zxvf php-7.0.7.ta​​r.gz

3. 解凍したパッケージを入力して、PHPに必要な依存パッケージをコンパイルしてインストールします。

#yum install -y gcc gcc-c ++ make autoconf gd gd gd gd bison patch mlocate flex zlib-devel pcre pcre libjpeg-devel libpng libpng-devel freetype freetype devel libxml2 libxml2-devel IP2 BZIP2-DEVEL NCURSES NCURSES-DEVEL CURL CURL-DEVEL LIBCURL LIBCURL-DEVEL E2FSPROGS E2FSPROGS-DEVEL KRB5-DEVEL Vel libtool-libs readline-devel gettext-devel libcap-devel php-mcrypt libmcrypt-devel recode-devel gmp-devel icu libxslt libxslt-devel php-devel
# yum -y libxslt-devel* をインストールします
# yum -y perl* をインストールします
# yum -y httpd-develをインストールします
# find / -name apxs // 取得されたパスは /usr/bin/apxs です。これは、パラメータをコンパイルするときに使用され、PHP をサポートするように Apache を構成するための重要なパラメータです。

4. コンパイルパラメータ

./configure \
--prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/etc \
--with-zlib-dir \
--freetype ディレクトリ \
--enable-mbstring \
--with-libxml-dir=/usr \
--enable-xmlreader \
--enable-xmlwriter \
--enable-soap \
--enable-calendar \
--curl \ で
--with-zlib \
--gd \ で
--pdo-sqlite \ で
--pdo-mysql \ で
--mysqli \ で
--mysql-sock \ で
--enable-mysqlnd \
--disable-rpath \
--enable-inline-optimization \
--with-bz2 \
--with-zlib \
--enable-sockets \
--enable-sysvsem \
--enable-sysvshm \
--enable-pcntl \
--enable-mbregex \
--enable-exif \
--enable-bcmath \
--with-mhash \
--enable-zip \
--pcre正規表現 \
--with-jpeg-dir=/usr \
--with-png-dir=/usr \
--openssl \ で
--enable-ftp \
--kerberos \ で
--gettext \ で
--xmlrpc \ で
--xsl \ で
--enable-fpm \
--with-fpm-user=php-fpm \
--with-fpm-group=php-fpm \
--with-fpm-systemd \
--apsx2 を使用する \
--ファイル情報を無効にする

6. コンパイルしてインストールする

# 作成 && インストール

7. インストール後にPHPのバージョンを確認する

php を /usr/local/php にコピーします。

8. /etc/profileを編集して環境変数を追加する

# vim /etc/プロファイル

追加する

PATH=$PATH:/usr/local/php/bin
エクスポートPATH

9. 環境変数を更新する

# ソース /etc/profile

10. 環境変数を確認する

# $PATHをエコーする

11. PHPのバージョンを確認する

#php -v

12. PHP設定ファイルphp-fpmを設定する

# cp php.ini-production /etc/php.ini
# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
# cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
# sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm をコピーします
# chmod +x /etc/init.d/php-fpm
# vim /usr/local/php/etc/php-fpm.conf
# エラーログを構成する:
#
# error_log = /usr/local/php/var/php-fpm.log
#
#pidファイルの設定:
#
# pid = /usr/local/php/var/run/php-fpm.pid
#
# 保存して終了# cd /usr/local/src/php-7.2.4
# ./sapi/fpm/php-fpm.service を /usr/lib/systemd/system/ にコピーします

13. php-fpmを起動する

起動時に php-fpm が起動するように設定します。

# systemctl php-fpm を有効にする

php-fpmを起動する

# systemctl php-fpm を起動します

ステータスを表示

# systemctl ステータス php-fpm
● php-fpm.service – PHP FastCGI プロセス マネージャー
ロード: エラー (理由: 無効な引数)
アクティブ: 非アクティブ (デッド)
12月13日 14:37:27 localhost.localdomain systemd[1]: [/usr/lib/systemd/system/php-fpm.service:7] 絶対パスではないので無視: ${prefix}/va…fpm.pid
12月13日 14:37:27 localhost.localdomain systemd[1]: [/usr/lib/systemd/system/php-fpm.service:8] 実行パスが絶対パスではないため、無視します: $…pm.conf
12月13日 14:37:27 localhost.localdomain systemd[1]: php-fpm.serviceにExecStart=とExecStop=の両方の設定がありません。拒否します。
12月13日 14:37:27 localhost.localdomain systemd[1]: ユニットphp-fpm.serviceの依存ジョブを追加できません。無視します: ユニットが正しくロードされていません。
ヒント: 一部の行は省略されています。完全な行を表示するには -l を使用してください。

14. php-fpmの設定をテストする

#php-fpm 設定をテストする /usr/local/php/sbin/php-fpm -t
/usr/local/php/sbin/php-fpm -c /usr/local/php/etc/php.ini -y /usr/local/php/etc/php-fpm.conf -t
#php-fpmを起動する
php は、/usr/local/php/sbin/php-fpm に格納されます。
/usr/local/php/sbin/php-fpm -c /usr/local/php/etc/php.ini -y /usr/local/php/etc/php-fpm.conf
#php-fpm をシャットダウンする
kill -INT `cat /usr/local/php/var/run/php-fpm.pid`
#php-fpmを再起動します
kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`

15. 解決策

# vim /usr/lib/systemd/system/php-fpm.service

${prefix} と ${exec_prefix} を /usr/local/php に変更して保存します。

//システムを再起動する# reboot

16. Apacheとphp-fpmを再起動する

# systcl httpdを再起動します
# systcl php-fpmを再起動します

17. 対応するxdebugをインストールする

#phpinfo.php ウェブページのコンテンツ全体をコピーし、 https://xdebug.org/wizard.phpに貼り付けて、Xdebug のバージョンを確認します。

指示に従ってドキュメントをインストールしてください

18. yumでPHPMyAdminをインストールする

# yum でphpmyadminをインストール

設定ファイルを変更する

# vi /etc/httpd/conf.d/phpMyAdmin.conf

<ディレクトリ /usr/share/phpMyAdmin/>
  デフォルト文字セット UTF-8 を追加します
  <IfModule mod_authz_core.c>
   # アパッチ2.4
   <必須>
   # Require ip 127.0.0.1 #コメントアウト # Require ip ::1 #コメントアウト Require all authorized #新しく追加 </RequireAny>
 </モジュール>
 <IfModule !mod_authz_core.c>
   # アパッチ2.2
   注文拒否、許可
   全員から拒否
   127.0.0.1 から許可
   許可: ::1
  </モジュール>
</ディレクトリ>
<ディレクトリ /usr/share/phpMyAdmin/setup/>
  <IfModule mod_authz_core.c>
   # アパッチ 2.4
   <必須>
   #Require ip 127.0.0.1 #コメントアウト #Require ip ::1 #コメントアウト Require all authorized #新しく追加 </RequireAny>
  </モジュール>
  <IfModule !mod_authz_core.c>
   # アパッチ2.2
   注文拒否、許可
   全員から拒否
   127.0.0.1 から許可
   許可: ::1
  </モジュール>
</ディレクトリ>

phpmyadmin設定ファイルを変更する

# vi /etc/phpMyAdmin/config.inc.php
//次のコンテンツを変更します# $cfg['Servers'][$i]['host'] = '127.0.0.1';
# $cfg['Servers'][$i]['user'] = 'root';
# $cfg['Servers'][$i]['password'] = '123456';

Apacheを再起動する

# systemctl で httpd を再起動します

MySQLをインストールした後のテスト

# ブラウザのアドレスバーに「server ip/phpMyAdmin」と入力します

4. MySQL 5.7をインストールする

1. インストール元

# rpm -Uvh https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

2. yumを使用してMySQLをインストールする

# yum で mysql-community-server をインストールします

3. MySQLを起動する

# systemctl で mysqld を起動します
# systemctl enable mysqld //起動時に自動的に起動

4. デフォルトのルート パスワードを変更する前に、必要に応じてパスワード ポリシーを無効にすることができます。 パスワード ポリシーがオフになっていない場合、新しいパスワードは大文字と小文字 + 数字 + 記号の組み合わせにする必要があります。

# vim /etc/my.cnf
[mysqld]
パスワードの検証 = オフ
// 変更したパスワードポリシーを有効にするために再起動します# systemctl restart mysqld

5. MySQLのデフォルトのルートパスワードを変更する

// デフォルトのパスワードを表示# grep 'temporary password' /var/log/mysqld.log
//デフォルトのパスワードは: )U4FB:Kw!evF
# 2018-12-18 root@localhost の一時パスワードが生成されました: )U4FB:Kw!evF

セキュリティ設定ウィザードを実行してデフォルトのパスワードを変更する

mysql_secure_installation
//デフォルトのルートパスワードを入力します。ユーザールートのパスワードを入力してください: ***
//新しいパスワードを設定する新しいパスワード:***
新しいパスワードを再入力してください: ***
//ルートのパスワードを変更しますか? ((はいの場合はy|Y、いいえの場合は他のキーを押します) ://いいえを示すには直接Enterを押します
//匿名ユーザーを削除しますか? (はいの場合は y|Y、いいえの場合は他のキーを押します) : y
// リモートからの root ログインを許可しませんか? (はいの場合は y|Y を、いいえの場合は他のキーを押します) : y
// テスト データベースを削除しますテスト データベースとそれへのアクセスを削除しますか? (はいの場合は y|Y、いいえの場合は他のキーを押します) : y
//権限テーブルを今すぐリロードしますか? (はいの場合は y|Y を、いいえの場合は他のキーを押します): y

//mysqlを使用してルートパスワードを直接変更することもできます。mysql -uroot -p
ALTER USER 'root'@'localhost' を '新しいパスワード' で識別します。
出口;

//セキュリティ上の理由から、root はローカルでのみログインできます。必要に応じて、管理者権限を持つリモート ユーザーを作成できます。mysql -uroot -p
GRANT OPTION 付きで 'ログイン パスワード' によって識別される 'ユーザー名'@'%' に *.* のすべての権限を付与します。
権限のフラッシュ;
出口;

インストール完了

この記事が CentOS サーバーの設定に役立つことを願っています。

以下もご興味があるかもしれません:
  • Centos7.2でLAMP環境を構築する具体的な操作方法
  • CentOS 7.0 Lnmp と Lamp の詳細な紹介
  • Centos7.2 システムに yum を使用して LAMP 環境をインストールする
  • CentOS7 + PHP7 Lamp 最新バージョンの設定と MongoDB および Redis チュートリアルの詳細な説明のフルセット
  • Centos7に最新バージョンのPHP7をインストールする詳細なチュートリアル
  • CentOS7yumでPHP7.2をインストールする方法
  • Centos7.2 のコンパイルと PHP7.0.2 のインストール手順
  • Centos7 (linux+nginx+php7.1+mysql5.7) で yum を使用して lnmp をインストールするチュートリアル
  • Alibaba Cloud CentOS7 で Apache+PHP+MySQL 環境を構築
  • CentOS7 システムで LAMP を構築し、PHP バージョンを更新するための詳細な手順

<<:  MySQL の union と union all の簡単な分析

>>:  CocosCreator 学習モジュールスクリプト

推薦する

Docker-compose インストール yml ファイルの設定方法

目次1. オフラインインストール2. オンラインインストール3. アンインストール4. ymlファイ...

CSS3を使用してヘッダーアニメーション効果を作成する

Netease Kanyouxi公式サイト(http://kanyouxi.163.com/)(棚...

Typescriptの基本構文13個を共有する

目次1. Tsとは何か2. 基本的な文法1. プリミティブデータ型を宣言する2. オブジェクト型を宣...

Vue でのキープアライブコンポーネントの使用例

問題の説明(キープアライブとは何か)キープアライブ 名前の通り、アクティブな状態を維持します。誰が活...

Windows での MySQL 5.7.18 インストール チュートリアル

この記事では、圧縮パッケージから MySQL をインストールする方法について説明します。 1. My...

Vue コンポーネント値転送中のデータ損失の分析と解決

序文前回の記事では、JavaScript の 2 つのデータ型、基本型と参照型、および参照型の浅いコ...

Vue.js アプリケーションのパフォーマンス最適化分析 + ソリューション

目次1. はじめに2. Vue JS のパフォーマンス最適化が必要な理由は何ですか? 3. Vueの...

MySQL max_allowed_pa​​cket 設定

max_allowed_pa​​cket は、受け入れるパケットのサイズを設定するために使用される ...

Navicatは機能ソリューション共有を作成できません

初めて MySQL FUNCTION を書いたとき、エラーが何度も発生しました。 Err] 1064...

JSON.stringify の簡易版の実装とその 6 つの主要機能の詳細な説明

目次序文JSON.stringify の 6 つの機能特集1特集2特集3特集4特集5特集6手動で文字...

HTML で vue-router を使用するサンプル コード

vue と vue-router の紹介 <script src="https://...

SSH ポート転送、ローカル ポート転送、リモート ポート転送、動的ポート転送の詳細

パート 1 SSH ポート転送の概要カフェで無料Wi-Fiを利用しているとき、誰かがあなたのパスワー...

Vue3 のリアクティブ関数 toRef 関数 ref 関数の紹介

目次リアクティブ機能使用法: toRef 関数 (理解するだけ)使用法: ref関数レスポンシブデー...

MySql SQL最適化のヒントの共有

ある日、内部結合を含む SQL ステートメントの実行速度はそれほど遅くはない (0.1 ~ 0.2)...

vxe-table を使用して vue で編集可能なテーブルを作成するプロセス

プロジェクトには、オンラインで編集する必要があるテーブルがあります。最初は、要素の el-table...