English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
本文では、LinuxシステムでPHP環境を構築する方法について詳しく説明しています。PHPはC言語で書かれており、最初はLinuxシステムで動作していましたので、LinuxはPHPの最適な環境です。
本文で使用されているソフトウェアについての詳細については、このリンクをクリックしてください。
CentOS5.5現在、公式サイトは提供を停止しています。推奨はcentosを使用することです。6以上のバージョン:
centos6.8ダウンロード先URL:https://ja.oldtoolbag.com/softs/499124.html
centos7.2ダウンロード先URL:https://ja.oldtoolbag.com/softs/499109.html
>>> 【ダウンロード】
この記事では、作者がVMwareでCentOSをインストールした場合について説明しています 5.5 試験を行います。以下にインストールの詳細を説明します
1、準備作業
一、あなたがインストールしたLinuxシステムにApache、MySQL、PHPが既にインストールされているか確認してください。インストールされている場合は、まずアンインストールしてください。
インストール確認(Apacheの場合)
[root@gamejzy Linux]# rpm -qa|grep httpd
注:rpm -qaは、本機にインストールされているすべてのソフトウェアを表示します。grep httpdは、httpd(Apache)に関連するソフトウェアをフィルタリングします。注:grep phpはPHPを表示;grep mysqlはMySQLを表示
コマンドを実行した後、空が表示された場合は、Apacheソフトウェアがマシンにインストールされていないことを意味します。以下のような場合、既にインストールされていることを示しています。
もし上の図のように表示されたら、これらの3つのソフトウェアをすべてアンインストールする必要があります。
アンインストールコマンドは以下の通りです:
[root@gamejzy Linux]# rpm -e httpd-2.2.3-43.el5.centos --nodeps
注:--nodepsは強制的なアンインストールです
二、Linuxシステムにgcc、gがインストールされていることを確認してください++ コンパイラ
インストールが完了したら、コマンドラインで「gc」または「g」を入力して、インストールが完了したか確認します+、タブキーを押して、コマンドが表示されるか確認してください。
もしあらなかったら、gcc、gをインストールしてください++ 方法は非常に簡単です
gccのインストール:
yum -y install gcc
gをインストール++:
yum install gcc-c++
三、すべてのソフトウェア(ほとんどがtarパッケージ)を以下のディレクトリにコピーします /tmp/lamp フォルダの下に配置し、解凍します
tar.gzの解凍コマンド(phpソフトウェアの場合):tar zxvf php-5.2.6.tar.gz
このコマンドを実行すると、現在のディレクトリに php フォルダが作成されます-5.2.6 のフォルダ、解凍されたすべてのファイルは php フォルダに配置されます-5.2.6 フォルダ内
すべてのパッケージを同様の方法で解凍し、すべての.gzファイルを削除してください *.tar.gz ファイル
[root@gamejzy lamp]# rm -rf *.gz
以上のコマンドはすべての.gzファイルを削除します
四、ソフトウェアパッケージのコンパイルインストール紹介
Linuxシステム上で各ソースコードパッケージをインストールするプロセスは以下の通りです:
△ コンフィギュレーション(configure)
△ コンパイル(make)
△ インストール(make install)
2、LAMP環境の構築(以下の順序でインストールしてください)
ここにはすべてのソフトウェアがインストールされています /usr/local 下
一、libxmlのインストール
インストール順序:1libxml ディレクトリに入ります;2設定パラメータ(包括インストールパス;依存ソフトウェア;インストール機能など);3コンパイル;4インストール。注:すべてのソフトウェアパッケージのインストールは似ています。
[root@gamejzy lamp]# cd libxml2-2.6.30/ [root@gamejzy libxml2-2.6.30]# ./configure --prefix=/usr/local/libxml2
./configureはソフトウェアパッケージのパラメータを設定するコマンドです。--prefixは指定されたインストールディレクトリを示します。ほとんどのディレクトリは自動的に作成されますが、一部は自動的に作成されません。手動で作成する必要があります。
[root@gamejzy libxml2-2.6.30]# make && make install
上記のコマンドはコンパイルとインストールを同時に実行します。ソフトウェアが小さいため、インストール速度が速いですが、大きなソフトウェアの場合、長い時間がかかることがあります。
2. libmcryptのインストール
[root@gamejzy lamp]# cd libmcrypt-2.5.8/ [root@gamejzy libmcrypt-2.5.8]# ./configure --prefix=/usr/local/libmcrypt [root@gamejzy libmcrypt-2.5.8]# make && make install
3. zlibのインストール
[root@gamejzy lamp]# cd zlib-1.2.3/ [root@gamejzy zlib-1.2.3]# ./configure [root@gamejzy zlib-1.2.3]# make && make install
./configureの後には続けません --prefixパラメータを使用してデフォルトのディレクトリにインストールさせます。libpngをインストールする際にzlibを使用するためです。
4. libpngのインストール
[root@gamejzy lamp]# cd libpng-1.2.31/ [root@gamejzy libpng-1.2.31]# ./configure --prefix=/usr/local/libpng [root@gamejzy libpng-1.2.31]# make && make install
5. jpegのインストール6
このソフトウェアの設定中に自動的にディレクトリを作成することはありません。手動で作成する必要があります。
[root@gamejzy libpng-1.2.31]# mkdir /usr/local/jpeg6 [root@gamejzy libpng-1.2.31]# mkdir /usr/local/jpeg6/bin [root@gamejzy libpng-1.2.31]# mkdir /usr/local/jpeg6/lib [root@gamejzy libpng-1.2.31]# mkdir /usr/local/jpeg6/include [root@gamejzy libpng-1.2.31]# mkdir -p /usr/local/jpeg6/man/man1
ディレクトリ生成完了!
[root@gamejzy lamp]# cd jpeg-6b/ [root@gamejzy jpeg-6b]# ./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static [root@gamejzy jpeg-6b]# make && make install
./configureのパラメータの説明:
--enable-shared GNUのlibtoolを使用して共有ライブラリを構築する
--enable-static GNUのlibtoolを使用して静的ライブラリを構築する
6. freetypeのインストール
[root@gamejzy lamp]# cd freetype-2.3.5/ [root@gamejzy freetype-2.3.5]# ./configure --prefix=/usr/local/freetype [root@gamejzy freetype-2.3.5]# make && make install
7. autoconfのインストール
[root@gamejzy lamp]# cd autoconf-2.61/ [root@gamejzy autoconf-2.61]# ./configure [root@gamejzy autoconf-2.61]# make && make install
このソフトウェアはデフォルトのディレクトリに直接インストールされます。
8. GDのインストール
[root@gamejzy lamp]# cd gd-2.0.35/ [root@gamejzy gd-2.0.35]# ./configure --prefix=/usr/local/gd2 --with-jpeg=/usr/local/jpeg6/ --with-png=/usr/local/libpng/ --with-freetype=/usr/local/freetype/ [root@gamejzy gd-2.0.35]# make && make install
./configureのパラメータの説明:
--with-jpeg=/usr/local/jpeg6/ jpegライブラリファイルの場所を指定する
--with-png=/usr/local/libpng/ pngライブラリファイルの場所を指定する
--with-freetype=/usr/local/freetype/ freetypeに指定する場所 2.xフォントライブラリの場所
注意:このソフトウェアパッケージのインストール中に以下のようなエラーが発生する可能性があります。以下の画像のように:
このようなエラーが発生した場合の解決策:
[root@gamejzy gd-2.0.35]# vi gd_png.c
「png.h」キーワードを見つけるための命令:/png.hを押してEnterキーを押します
以下に置き換えてください:/usr/local/libpng/include/png.h
以下の画像のように表示されます:
保存して退出し、「make && make install」を実行してインストールが成功します。
九、Apacheのインストール(重要)
[root@gamejzy lamp]# cd httpd-2.2.9/ [root@gamejzy httpd-2.2.9]# ./configure --prefix=/usr/local/apache2 --sysconfdir=/etc/httpd --with-included-apr --enable-so --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared --enable-static-support [root@gamejzy httpd-2.2.9]# make && make install
./configureのパラメータ説明:
--sysconfdir=/etc/httpdApacheサーバーの設定ファイル(httpd.confなど)の保存場所を指定する
--with-included-aprを使用してAPRを結合/APR-Utilのコピー
--enable-soを動的共有オブジェクト(DSO)でコンパイル
--enable-deflate=shared圧縮転送エンコーディングのサポート
--enable-expires=shared期限ヘッダーコントロール
--enable-rewrite=sharedルールに基づくURL操作
--enable-static-supportが静的リンク版のサポートを構築します
Apacheサーバーをテストする
1、確認 /usr/local/ の下にApacheが存在するかどうか2 ディレクトリ;
2、確認 /etc/ ディレクトリの下にhttpdディレクトリが存在するかどうか、つまりhttpd.confファイルやextraディレクトリなどがあるかどうかを確認してください
3、Apacheサーバーを起動する
[root@gamejzy httpd]# /usr/local/apache2/bin/apachectl start
stop(停止)、restart(再起動)
4、Apacheサーバーが起動しているか確認するためには、以下を確認します 8ポート0が起動しているかどうか
[root@gamejzy httpd]# netstat -tnl|grep 80
コマンドを実行した後、以下のように表示された場合、起動されていることを示します
tcp 0 0 :::80 :::* LISTEN
5ブラウザでアクセス
本機の場合、ブラウザのアドレスバーに以下のように入力してください:http://localhost または http://127.0.0.1
リモート接続の場合、例えば:SSH接続の場合、ブラウザのアドレスバーにLinuxのIPアドレスを入力してください。例えば:http://192.168.1.233
ウェブページに大文字で「
It works!
”Apache インストールが成功しました。
テスト完了!
Apache を起動時に自動的に実行するように設定します
[root@gamejzy /]# echo "/usr/local/apache2/bin/apachectl start" >> /etc/rc.d/rc.local
十、MySQLのインストール(重要)
MySQL をインストールする前に、MySQLを管理するために専用のグループおよびユーザー名を作成します
グループ名が「mysql」のグループを作成します
[root@gamejzy /]# groupadd mysql
ユーザー名が「mysql」のユーザーを作成し、それを「mysql」グループに属させます
[root@gamejzy /]# useradd -g mysql mysql
[root@gamejzy lamp]# cd mysql-5.0.41/ [root@gamejzy mysql-5.0.41]# ./configure --prefix=/usr/local/mysql --with-extra-charsets=all [root@gamejzy mysql-5.0.41]# make && make install
./configureパラメータの説明:
--with-extra-charsets=all で MySQL のすべての文字セットをインストールします
注意 在 ./configure の際に以下のようなエラーが発生した場合
原因:ncurses インストールパッケージが不足しています。
解決策:対応するソフトウェアパッケージをダウンロードしてインストールします
yum list|grep ncurses yum -y install ncurses-devel
ncurses インストールが完了した後、次に ./configure 設定!
MySQL インストールが完了した後、非常に複雑ですが非常に重要な内容を設定する必要があります。皆さん、根気強く学んでください。
1、設定ファイル my.cnf を配置します /etc/ ディレクトリ下
[root@gamejzy mysql-5.0.41]# cp support-files/my-medium.cnf /etc/my.cnf
2、MySQL をインストールした後、MySQL のデータファイルおよびデータの保存場所が表示されません
まず MySQL のインストールディレクトリに移動します
[root@gamejzy mysql-5.0.41]# cd /usr/local/mysql/
bin ディレクトリの mysql_install_db を使用してデータベースファイルを初期化し、上で作成した mysql ユーザーを使用します
[root@gamejzy mysql]# bin/mysql_install_db --user=mysql
実行した後、MySQL インストールディレクトリに var ディレクトリが追加されます。そこにはデータベースファイルが配置されており、ここに既に作成したデータベースも配置されます。
3、MySQL インストールディレクトリの権限を設定します
ディレクトリ内のすべてのファイルおよびディレクトリの所有者を root に変更します
[root@gamejzy mysql]# chown -R root .
var ディレクトリの所有者を mysql ユーザーに変更します
[root@gamejzy mysql]# chown -R mysql ./var/
すべてのディレクトリとファイルのユーザーグループを mysql グループに変更
[root@gamejzy mysql]# chgrp -R mysql .
4、MySQL を起動
[root@gamejzy mysql]# /usr/local/mysql/bin/mysqld_safe --user=mysql &
& はバックグラウンドで起動を示します
この時、netstatを使用 -tnl、もしそれが見える 3306 ポートが開いている場合、起動が成功しています
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
5、権限の設定、現在 bin ディレクトリの mysql コマンドを使用すると、ログインできます
[root@gamejzy mysql]# bin/mysql
これは非常に危険です!したがって、権限を設定する必要があります。
まず MySQL にログインし、SQL コマンドを使用して、ホストが「localhost」でないユーザー名を削除します(MySQL のユーザーは mysql データベースの user テーブルにあります)。本機のみがログインできるアカウントを残します。
mysql> delete from mysql.user where Host != 'localhost';
認可テーブルをリフレッシュ
mysql> flush privileges;
本機が MySQL にアクセスできる root ユーザーのパスワードを設定
mysql> set password for 'root'@'localhost'=password('123456);
注:設定したパスワードは忘れないようにしてください。それでは MySQL データベースにアクセスできません。
この段階で、root ユーザーはパスワードを設定しました(パスワードは「123456)「exit」と入力して MySQL を退出できます
この段階では、MySQL データベースにログインするコマンドは bin ではありません/mysql それほど簡単で、以下のようになります:
[root@gamejzy mysql]# bin/mysql -h 127.0.0.1 -u root -p123456
-h 指定ホスト名
-u ユーザー名
-p パスワード
6、MySQL データベースサーバーを停止
[root@gamejzy mysql]# bin/mysqladmin -u root -p shutdown
ここでは root ユーザーが MySQL でユーザーとして存在し、パスワードの入力を求められます。Enter password:
パスワードを入力し、Enterキーを押すとデータベースが閉じられます。
起動コマンドはこのセクションを参照してください4
7、起動時にデフォルトでスタートに追加
[root@gamejzy mysql]# echo "/usr/local/mysql/bin/mysqld_safe --user=mysql &" /etc/rc.d/rc.local
11、PHPのインストール(重要)
ここでは PHP の高バージョンの php をインストールしています-5.3.19、インストールパラメータが多いので、特に注意してください。
[root@gamejzy lamp]# cd php-5.3.19/ [root@gamejzy php-5.3.19]# ./configure \ > --prefix=/usr/local/php \ > --with-config-file-path=/usr/local/php/etc \ > --with-apxs2=/usr/local/apache2/bin/apxs \ > --with-mysql=/usr/local/mysql/ \ > --with-libxml-dir=/usr/local/libxml2/ \ > --with-png-dir=/usr/local/libpng/ \ > --with-jpeg-dir=/usr/local/jpeg6/ \ > --with-freetype-dir=/usr/local/freetype/ \ > --with-gd=/usr/local/gd2/ \ > --with-mcrypt=/usr/local/libmcrypt/ \ > --with-mysqli=/usr/local/mysql/bin/mysql_config \ > --enable-soap \ > --enable-mbstring=all \ > --enable-sockets
./configureパラメータの説明:
--with-config-file-path=/usr/local/php/etcにPHPを指定します5設定ファイルが保存されるパス
--with-apxs2=/usr/local/apache2/bin/apxsはPHPにApacheを探します 2の場所
--with-mysql=/usr/local/mysql/ MySQLのインストールディレクトリを指定します
--with-libxml-dir=/usr/local/libxml2/ PHPにlibxmlを教えます2の場所
--with-png-dir=/usr/local/libpng/ PHPにlibpngライブラリの場所を教えます
--with-jpeg-dir=/usr/local/jpeg6/ PHPにjpegライブラリの場所を教えます
--with-freetype-dir=/usr/local/freetype/ PHPにfreetypeライブラリの場所を教えます
--with-gd=/usr/local/gd2/ PHPにgdライブラリの場所を教えます
--with-mcrypt=/usr/local/libmcrypt/ PHPにlibmcryptライブラリの場所を教えます
--with-mysqli=/usr/local/mysql/bin/mysql_config変数は追加されたMySQLi機能を有効にします
--enable-soap変数はSOAPおよびWebサービスのサポートを有効にします
--enable-mbstring=allは多バイト文字列のサポートを有効にします
--enable-sockets変数はsocket通信機能を有効にします
コンパイル中に発生する可能性のある問題:
以下のようなエラーメッセージが表示されます:
解決策:
cd /usr/local/mysql/lib/mysql/ ln -s libmysqlclient.so.15.0.0 libmysqlclient_r.so
コンパイルがOKになった後、「Thank you for using PHP.」と表示されれば、設定が成功しました。
[root@gamejzy php-5.3.19]# make && make install
コンパイルとインストールには時間がかかりますので、お待ちください!
コンパイルが完了した後、以下の設定が必要です
1、php.ini設定ファイルを設定
[root@gamejzy php-5.3.19]# cp php.ini-development /usr/local/php/etc/php.ini
注:/usr/local/php/etcは設定時に指定された場所です
2、Apacheと統合
まずApacheの設定ファイルhttpd.confを開きます
[root@gamejzy php-5.3.19]# vi /etc/httpd/httpd.conf
ファイルにこのような内容があることがわかります
LoadModule php5_module modules/libphp5.so
これは PHP が Apache サーバーに読み込まれたことを示しています。私たちが行うのは、Apache サーバーにどの拡張子を使用して PHP を解析するかを教えることです
vi エディタで「AddType application」を検索します/x-compress .Z”
以下の行を追加します:AddType application/x-httpd-php .php
変更後の効果は以下の図に示されています
保存し、退出し、Apache を再起動します
[root@gamejzy php-5.3.19]# /usr/local/apache2/bin/apachectl stop [root@gamejzy php-5.3.19]# /usr/local/apache2/bin/apachectl start
3、Apache サーバーが PHP を解析できるかテストします
往 /usr/local/apache2/htdocs ディレクトリに phpinfo.php ファイルを追加し、以下のコードを入力してください:
<?php header("Content-Type:text/html;Charset=utf-8"); phpinfo(); ?>
ブラウザを開き、このファイルにアクセスすると、以下の図のように表示されます。これは PHP がインストールされており、Apache サーバーと統合されていることを示しています。
これで、CentOS での LAMP 環境の構築は完了しました。手順は複雑ですが、「道具を良くするためには、まず道具を磨く」ということです。少し時間を割いて完璧な環境を構築することは価値のあることです。
声明:この記事の内容はインターネットから取得しており、著作権者に帰属します。インターネットユーザーが自発的に貢献し、自己でアップロードしました。このサイトは所有権を持ちません。また、人工的な編集は行われていません。著作権に関する問題が見つかった場合は、notice#wまでメールを送信してください。3codebox.com(メールを送信する際には、#を@に置き換えてください。通報を行い、関連する証拠を提供してください。一旦確認が取れましたら、このサイトは即座に侵害を疑われるコンテンツを削除します。)