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 学習モジュールスクリプト

推薦する

mysql はインデックスを無効にしますか?

mysql の IN はインデックスを無効にしますか?しませんよ! 結果をご覧ください: mysq...

MySQL でスロークエリを有効にする方法の例

序文スロー クエリ ログは、MySQL で非常に重要な機能です。MySQL のスロー クエリ ログ機...

シェルスクリプトを使用して CentOS7 に python3.8 環境をインストールする (推奨)

ワンクリック実行仮想マシンに Python 3.8 をインストールするには、ネットワーク アダプター...

CSS 画像アニメーション効果のサンプルコード(フォトフレーム)

この記事では、CSS 画像アニメーション効果(フォトフレーム)のサンプルコードを紹介し、皆さんと共有...

Linux ソフトウェアのインストール場所を確認する簡単な方法

1. ソフトウェアのインストールパスを確認します。 Linuxソフトウェアをインストールできる場所は...

HTML で特定のテキストを非表示にするにはどうすればよいでしょうか?

テキスト非表示コード、HTML 内の特定のテキストを非表示にするコードをコピーコードは次のとおりです...

Linux の非常に詳細な gcc アップグレード プロセス

目次序文1. 現在のgccバージョン2. gccをインストールする3.gmpのインストール4.MPF...

Docker で ElasticSearch をデプロイする方法

1. ElasticSearch とは何ですか? Elasticsearch も Java で開発さ...

カレンダー効果を実現するJavaScript

この記事では、カレンダー効果を実現するためのJavaScriptの具体的なコードを参考までに紹介しま...

MySQLを5.7にアップグレードすると、WordPressはデータをインポートするときにエラー1067を報告します

最近MySQLを5.7にアップグレードしましたが、WordPressでデータのインポート時にエラーが...

Linux の Makefile とは何ですか? どのように機能しますか?

この便利なツールでプログラムをより効率的に実行およびコンパイルしますMakefile は自動コンパイ...

ボタンをEnterキーに関連付けるjsコード

コードをコピーコードは次のとおりです。 <html> <ヘッド> <ス...

IE8でラベルの背景画像が表示されない問題の解決方法

今日、ちょっとした問題に遭遇し、長い間苦労しました。そのことを皆さんにシェアしたいと思います。 a ...

効率化に役立つ 20 の CSS コーディングのヒント (並べ替え)

この記事では、主要な CSS ウェブサイトで推奨されている 20 個の便利なルールとベスト プラクテ...